diff --git a/packages/editor/scripts/build.mjs b/packages/editor/scripts/build.mjs index 6c6cb28ab..b2f682c22 100755 --- a/packages/editor/scripts/build.mjs +++ b/packages/editor/scripts/build.mjs @@ -43,6 +43,21 @@ for (const name in pathsToCopy) { } const languagesList = await langen(ROOT_DIR, path.join(ROOT_DIR, "languages")); +const languageIndex = `export async function loadLanguage(language) { + switch (language) { + ${languagesList + .map(({ filename, alias }) => { + return [ + ...(alias || []).map((a) => `case "${a}":`), + `case "${filename}":`, + `return typeof require === "function" ? require("./${filename}.js") : await import("./${filename}.js");` + ].join("\n"); + }) + .join("\n\n")} + } +}`; + +fs.writeFileSync(path.join(ROOT_DIR, "languages", "index.js"), languageIndex); fs.writeFileSync( path.join(ROOT_DIR, "src", "extensions", "code-block", "languages.json"),