From 9b15ce53af7f7cd9a474d62d4cca50ed26b1582d Mon Sep 17 00:00:00 2001 From: Oliver Eyton-Williams Date: Sun, 21 Dec 2025 05:42:09 +0100 Subject: [PATCH] refactor: skip curriculum import to save compile time (#64742) --- client/tools/external-curriculum/build.ts | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/client/tools/external-curriculum/build.ts b/client/tools/external-curriculum/build.ts index bf67a319639..225beadfcbb 100644 --- a/client/tools/external-curriculum/build.ts +++ b/client/tools/external-curriculum/build.ts @@ -1,4 +1,13 @@ -import curriculum from '../../../shared-dist/config/curriculum.json'; +import { readFileSync } from 'node:fs'; +import { join } from 'node:path'; + +const CURRICULUM_PATH = '../../../shared-dist/config/curriculum.json'; +// const __dirname = dirname(fileURLToPath(import.meta.url)); +// Curriculum is read using fs, because it is too large for VSCode's LSP to handle type inference which causes annoying behavior. +const curriculum = JSON.parse( + readFileSync(join(__dirname, CURRICULUM_PATH), 'utf-8') +); + import { buildExtCurriculumDataV1, Curriculum as CurriculumV1, @@ -20,10 +29,6 @@ if (isSelectiveBuild) { 'Skipping external curriculum build (selective build mode active)' ); } else { - buildExtCurriculumDataV1( - curriculum as unknown as CurriculumV1 - ); - buildExtCurriculumDataV2( - curriculum as unknown as CurriculumV2 - ); + buildExtCurriculumDataV1(curriculum as CurriculumV1); + buildExtCurriculumDataV2(curriculum as CurriculumV2); }