-
Notifications
You must be signed in to change notification settings - Fork 314
/
Copy pathindex.mjs
76 lines (66 loc) · 2.29 KB
/
index.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import { createNavTree } from "./create-nav-tree.mjs";
import { createSolidCollectionDir } from "./utils/create-dir.mjs";
import { writeFile } from "./utils/write-file.mjs";
import { createFlatEntryList } from "./create-flat-entry-list.mjs";
import { createI18nEntries } from "../create-i18n-entries.mjs";
import { createI18nTree } from "../create-i18n-tree.mjs";
export const languages = ["pt-br"];
const projects = ["solid-router", "solid-start", "solid-meta"];
export const COLLECTIONS_ROOT = "src/routes";
(async () => {
const tree = await createNavTree(COLLECTIONS_ROOT);
await createSolidCollectionDir();
const defaultFlatEntries = {
learn: createFlatEntryList(tree.learn, []),
reference: createFlatEntryList(tree.reference, []),
};
const projectTrees = {};
const projectFlatEntries = {};
for (const project of projects) {
projectTrees[project] = await createNavTree(
`${COLLECTIONS_ROOT}/${project}`
);
projectFlatEntries[project] = {
learn: await createFlatEntryList(projectTrees[project].learn, []),
reference: await createFlatEntryList(projectTrees[project].reference, []),
};
writeFile(`${project}-tree.ts`, projectTrees[project]);
writeFile(`${project}-flat-entries.ts`, projectFlatEntries[project]);
for (const locale of languages) {
const entryTitles = await createI18nEntries(
projectFlatEntries[project],
locale,
project
);
writeFile(`${project}-flat-entries-${locale}.ts`, entryTitles);
writeFile(`${project}-tree-${locale}.ts`, {
learn: await createI18nTree(
projectTrees[project].learn,
locale,
project
),
reference: await createI18nTree(
projectTrees[project].reference,
locale,
project
),
});
}
}
for (const locale of languages) {
const entryTitles = await createI18nEntries(defaultFlatEntries, locale);
writeFile(`flat-entries-${locale}.ts`, entryTitles);
writeFile(`tree-${locale}.ts`, {
learn: await createI18nTree(tree.learn, locale),
reference: await createI18nTree(tree.reference, locale),
});
}
await Promise.all([
writeFile("tree.ts", tree),
writeFile("entriesList.js", defaultFlatEntries, true),
writeFile("flat-entries.ts", defaultFlatEntries),
Object.keys(projectTrees).forEach((project) =>
writeFile(`${project}-entries.ts`, projectTrees[project])
),
]);
})();