Skip to content

Commit 9b15ce5

Browse files
refactor: skip curriculum import to save compile time (freeCodeCamp#64742)
1 parent 0a62067 commit 9b15ce5

File tree

1 file changed

+12
-7
lines changed
  • client/tools/external-curriculum

1 file changed

+12
-7
lines changed

client/tools/external-curriculum/build.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
1-
import curriculum from '../../../shared-dist/config/curriculum.json';
1+
import { readFileSync } from 'node:fs';
2+
import { join } from 'node:path';
3+
4+
const CURRICULUM_PATH = '../../../shared-dist/config/curriculum.json';
5+
// const __dirname = dirname(fileURLToPath(import.meta.url));
6+
// Curriculum is read using fs, because it is too large for VSCode's LSP to handle type inference which causes annoying behavior.
7+
const curriculum = JSON.parse(
8+
readFileSync(join(__dirname, CURRICULUM_PATH), 'utf-8')
9+
);
10+
211
import {
312
buildExtCurriculumDataV1,
413
Curriculum as CurriculumV1,
@@ -20,10 +29,6 @@ if (isSelectiveBuild) {
2029
'Skipping external curriculum build (selective build mode active)'
2130
);
2231
} else {
23-
buildExtCurriculumDataV1(
24-
curriculum as unknown as CurriculumV1<CurriculumPropsV1>
25-
);
26-
buildExtCurriculumDataV2(
27-
curriculum as unknown as CurriculumV2<CurriculumPropsV2>
28-
);
32+
buildExtCurriculumDataV1(curriculum as CurriculumV1<CurriculumPropsV1>);
33+
buildExtCurriculumDataV2(curriculum as CurriculumV2<CurriculumPropsV2>);
2934
}

0 commit comments

Comments
 (0)