Skip to content

Commit

Permalink
WIP: Begin translation queue refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
LizBaker committed Jun 14, 2021
1 parent a77fdd8 commit 6f12f41
Showing 1 changed file with 28 additions and 14 deletions.
42 changes: 28 additions & 14 deletions scripts/actions/add-files-to-translation-queue.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,26 @@ const getUpdatedQueue = async (url, queue) => {
const files = await resp.json();

const mdxFiles = files
? files
.filter((file) => path.extname(file.filename) === '.mdx')
.filter((file) => file.status !== 'removed')
.reduce((files, file) => {
const contents = fs.readFileSync(
path.join(process.cwd(), file.filename)
);
const { data } = frontmatter(contents);

return data.translate && data.translate.length
? [...files, { ...file, locales: data.translate }]
: files;
}, [])
? files.filter((file) => path.extname(file.filename) === '.mdx')
: [];

const addedMdxFiles = mdxFiles.reduce((files, file) => {
const mdxFilesToAdd = mdxFiles
.filter((file) => file.status !== 'removed')
.reduce((files, file) => {
const contents = fs.readFileSync(
path.join(process.cwd(), file.filename)
);
const { data } = frontmatter(contents);
// if no translate frontmatter or if translate exists and is empty- check that versions of the file don't exist in any locale

// if translate exists check that versions of the file don't exist in any locale we use but isn't included

return data.translate && data.translate.length
? [...files, { ...file, locales: data.translate }]
: files;
}, []);

const addedMdxFiles = mdxFilesToAdd.reduce((files, file) => {
return file.locales.reduce(
(acc, locale) => ({
...acc,
Expand All @@ -48,6 +52,16 @@ const getUpdatedQueue = async (url, queue) => {
.filter((f) => f.status === 'removed')
.map(prop('filename'));

// if file was deleted, make sure versions don't exist in any locale
removedMdxFileNames.forEach((fileName) =>
fs.unlink(path.join(process.cwd(), fileName), (err) => {
if (err) {
console.log(`failed to delete ${fileName}`, err);
}
console.log(`${fileName} was deleted`);
})
);

const queueFiles =
Object.entries(queue).length !== 0 ? Object.entries(queue) : [];

Expand Down

0 comments on commit 6f12f41

Please sign in to comment.