From 0c5a51a76e4715f38e83451fd4ba633b331990ce Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sun, 29 Sep 2024 09:25:32 +0800 Subject: [PATCH] feat(perf): skip bundling for assets (#795) --- .gitignore | 8 +- eslint.config.js | 7 +- .../engine-javascript/test/compare.test.ts | 32 +- packages/shiki/package.json | 1 + packages/shiki/rollup.config.mjs | 22 +- packages/shiki/scripts/prepare.ts | 8 +- packages/shiki/scripts/prepare/langs.ts | 23 +- packages/shiki/scripts/prepare/themes.ts | 14 +- packages/shiki/src/assets/themes.ts | 366 --------------- packages/shiki/src/bundle-full.ts | 10 +- packages/shiki/src/bundle-web.ts | 11 +- .../src/{assets => }/langs-bundle-full.ts | 424 +++++++++--------- .../src/{assets => }/langs-bundle-web.ts | 102 ++--- packages/shiki/src/langs.ts | 2 +- packages/shiki/src/themes.ts | 367 ++++++++++++++- packages/shiki/test/core-sync.test.ts | 12 +- packages/shiki/test/core.test.ts | 15 +- packages/shiki/test/get-highlighter.test.ts | 7 +- packages/shiki/test/injections.test.ts | 12 +- packages/shiki/test/wasm1.test.ts | 6 +- packages/shiki/test/wasm2.test.ts | 6 +- packages/shiki/test/wasm3.test.ts | 6 +- packages/shiki/test/wasm4.test.ts | 6 +- packages/shiki/test/wasm5.test.ts | 6 +- packages/shiki/test/wasm6.test.ts | 6 +- pnpm-lock.yaml | 3 + vitest.config.ts | 3 +- 27 files changed, 733 insertions(+), 752 deletions(-) delete mode 100644 packages/shiki/src/assets/themes.ts rename packages/shiki/src/{assets => }/langs-bundle-full.ts (53%) rename packages/shiki/src/{assets => }/langs-bundle-web.ts (54%) diff --git a/.gitignore b/.gitignore index abd761d2c..451ecb150 100644 --- a/.gitignore +++ b/.gitignore @@ -11,9 +11,11 @@ logs node_modules temp tmp -packages/shiki/src/assets/langs -packages/shiki/src/assets/themes -packages/shiki/src/assets/*.json +packages/shiki/src/langs +packages/shiki/src/themes +packages/shiki/src/*.json +packages/shiki/src/langs +packages/shiki/src/themes cache .eslintcache report-engine-js-compat.json diff --git a/eslint.config.js b/eslint.config.js index 0380e4cb3..5d95a5800 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -22,12 +22,17 @@ export default antfu( }, }, ignores: [ - 'packages/shiki/src/assets/*.ts', '**/fixtures/**', '**/vendor/**', '**/test/out/**', 'docs/languages.md', 'docs/themes.md', + // Generated Files + 'packages/shiki/src/langs/**', + 'packages/shiki/src/themes/**', + 'packages/shiki/src/langs-bundle-full.ts', + 'packages/shiki/src/langs-bundle-web.ts', + 'packages/shiki/src/themes.ts', ], }, { diff --git a/packages/engine-javascript/test/compare.test.ts b/packages/engine-javascript/test/compare.test.ts index 9be2c5c47..97754690e 100644 --- a/packages/engine-javascript/test/compare.test.ts +++ b/packages/engine-javascript/test/compare.test.ts @@ -46,8 +46,8 @@ export interface Cases { const cases: Cases[] = [ { name: 'json-basic', - theme: () => import('../../shiki/src/assets/themes/nord'), - lang: () => import('../../shiki/src/assets/langs/json'), + theme: () => import('../../shiki/src/themes/nord.mjs'), + lang: () => import('../../shiki/src/langs/json.mjs'), cases: [ '{"foo":{"bar":1}}', '[undefined, null, true, false, 0, 1, 1.1, "foo", [], {}]', @@ -55,8 +55,8 @@ const cases: Cases[] = [ }, { name: 'html-basic', - theme: () => import('../../shiki/src/assets/themes/nord'), - lang: () => import('../../shiki/src/assets/langs/html'), + theme: () => import('../../shiki/src/themes/nord.mjs'), + lang: () => import('../../shiki/src/langs/html.mjs'), cases: [ '
bar
', 'foobar', @@ -64,24 +64,24 @@ const cases: Cases[] = [ }, { name: 'ts-basic', - theme: () => import('../../shiki/src/assets/themes/nord'), - lang: () => import('../../shiki/src/assets/langs/typescript'), + theme: () => import('../../shiki/src/themes/nord.mjs'), + lang: () => import('../../shiki/src/langs/typescript.mjs'), cases: [ 'const foo: string = "bar"', ], }, { name: 'jsonc', - theme: () => import('../../shiki/src/assets/themes/nord'), - lang: () => import('../../shiki/src/assets/langs/jsonc'), + theme: () => import('../../shiki/src/themes/nord.mjs'), + lang: () => import('../../shiki/src/langs/jsonc.mjs'), cases: [ '// comment\n{"foo":"bar"}', ], }, { name: 'vue', - theme: () => import('../../shiki/src/assets/themes/vitesse-dark'), - lang: () => import('../../shiki/src/assets/langs/vue'), + theme: () => import('../../shiki/src/themes/vitesse-dark.mjs'), + lang: () => import('../../shiki/src/langs/vue.mjs'), cases: [ ``, ``, @@ -89,8 +89,8 @@ const cases: Cases[] = [ }, { name: 'toml', - theme: () => import('../../shiki/src/assets/themes/nord'), - lang: () => import('../../shiki/src/assets/langs/toml'), + theme: () => import('../../shiki/src/themes/nord.mjs'), + lang: () => import('../../shiki/src/langs/toml.mjs'), cases: [ [ `# This is a TOML document`, @@ -104,8 +104,8 @@ const cases: Cases[] = [ }, { name: 'sql', - theme: () => import('../../shiki/src/assets/themes/nord'), - lang: () => import('../../shiki/src/assets/langs/sql'), + theme: () => import('../../shiki/src/themes/nord.mjs'), + lang: () => import('../../shiki/src/langs/sql.mjs'), cases: [ 'SELECT * FROM foo', [ @@ -119,8 +119,8 @@ const cases: Cases[] = [ { skip: true, name: 'markdown', - theme: () => import('../../shiki/src/assets/themes/nord'), - lang: () => import('../../shiki/src/assets/langs/markdown'), + theme: () => import('../../shiki/src/themes/nord.mjs'), + lang: () => import('../../shiki/src/langs/markdown.mjs'), cases: [ [ '# Header', diff --git a/packages/shiki/package.json b/packages/shiki/package.json index 0e9cacd05..de11cbad6 100644 --- a/packages/shiki/package.json +++ b/packages/shiki/package.json @@ -129,6 +129,7 @@ "@types/hast": "catalog:" }, "devDependencies": { + "rollup-plugin-copy": "^3.5.0", "tm-grammars": "catalog:", "tm-themes": "catalog:", "vscode-oniguruma": "catalog:" diff --git a/packages/shiki/rollup.config.mjs b/packages/shiki/rollup.config.mjs index 9ffeab52f..af753af86 100644 --- a/packages/shiki/rollup.config.mjs +++ b/packages/shiki/rollup.config.mjs @@ -35,6 +35,7 @@ const external = [ '@shikijs/engine-oniguruma', '@shikijs/vscode-textmate', 'shiki/wasm', + /[/\\]src[/\\](langs|themes)[/\\]/g, ] const plugins = [ @@ -52,27 +53,20 @@ export default defineConfig([ { input: [ ...entries, - // add language files entries - ...fg.sync('src/assets/langs/*.js'), ], output: { dir: 'dist', format: 'esm', - entryFileNames: (f) => { - if (f.facadeModuleId?.match(/[\\/]langs[\\/]/)) - return `langs/${f.name}.mjs` - return '[name].mjs' - }, - chunkFileNames: (f) => { - if (f.moduleIds.some(i => i.match(/[\\/]langs[\\/]/))) - return `langs/${f.name}.mjs` - else if (f.moduleIds.some(i => i.match(/[\\/]themes[\\/]/))) - return 'themes/[name].mjs' - return 'chunks/[name].mjs' - }, + entryFileNames: '[name].mjs', }, plugins: [ ...plugins, + copy({ + targets: [ + { src: './src/langs', dest: 'dist' }, + { src: './src/themes', dest: 'dist' }, + ], + }), ], external, }, diff --git a/packages/shiki/scripts/prepare.ts b/packages/shiki/scripts/prepare.ts index 5fd287885..07a7ee092 100644 --- a/packages/shiki/scripts/prepare.ts +++ b/packages/shiki/scripts/prepare.ts @@ -2,9 +2,9 @@ import fs from 'fs-extra' import { prepareLangs } from './prepare/langs' import { prepareTheme } from './prepare/themes' -await fs.ensureDir('./src/assets/langs') -await fs.emptyDir('./src/assets/langs') -await fs.ensureDir('./src/assets/themes') -await fs.emptyDir('./src/assets/themes') +await fs.ensureDir('./src/langs') +await fs.emptyDir('./src/langs') +await fs.ensureDir('./src/themes') +await fs.emptyDir('./src/themes') await prepareLangs() await prepareTheme() diff --git a/packages/shiki/scripts/prepare/langs.ts b/packages/shiki/scripts/prepare/langs.ts index 170ff0c15..8f68710bb 100644 --- a/packages/shiki/scripts/prepare/langs.ts +++ b/packages/shiki/scripts/prepare/langs.ts @@ -96,9 +96,8 @@ export async function prepareLangs() { console.log(json.name, json.embeddedLangs) await fs.writeFile( - `./src/assets/langs/${lang.name}.js`, - `${COMMENT_HEAD} -${deps.map(i => `import ${i.replace(/\W/g, '_')} from './${i}'`).join('\n')} + `./src/langs/${lang.name}.mjs`, + `${deps.map(i => `import ${i.replace(/\W/g, '_')} from './${i}.mjs'`).join('\n')} const lang = Object.freeze(JSON.parse(${JSON.stringify(JSON.stringify(json))})) @@ -108,7 +107,7 @@ ${[ ' lang', ].join(',\n') || ''} ] -`.replace(/\n{2,}/g, '\n\n'), +`.replace(/\n{2,}/g, '\n\n').trimStart(), 'utf-8', ) @@ -116,10 +115,9 @@ ${[ if (isInvalidFilename(alias)) continue await fs.writeFile( - `./src/assets/langs/${alias}.js`, - `${COMMENT_HEAD} -// ${alias} is an alias of ${lang.name} -export { default } from './${lang.name}' + `./src/langs/${alias}.mjs`, + `/* Alias ${alias} for ${lang.name} */ +export { default } from './${lang.name}.mjs' `, 'utf-8', ) @@ -129,9 +127,8 @@ export { default } from './${lang.name}' if (isInvalidFilename(name)) continue await fs.writeFile( - `./src/assets/langs/${name}.d.ts`, - `${COMMENT_HEAD} -import type { LanguageRegistration } from '@shikijs/core' + `./src/langs/${name}.d.mts`, + `import type { LanguageRegistration } from '@shikijs/core' const langs: LanguageRegistration [] export default langs `, @@ -169,14 +166,14 @@ export default langs id: i.name, name: i.displayName || i.name, aliases: i.aliases, - import: `__(() => import('./langs/${i.name}')) as DynamicImportLanguageRegistration__`, + import: `__(() => import('./langs/${i.name}.mjs')) as DynamicImportLanguageRegistration__`, }) as const) .sort((a, b) => a.id.localeCompare(b.id)) const type = info.flatMap(i => [...i.aliases || [], i.id]).sort().map(i => ` | '${i}'`).join('\n') await fs.writeFile( - `src/assets/${fileName}.ts`, + `src/${fileName}.ts`, `${COMMENT_HEAD} import type { DynamicImportLanguageRegistration, BundledLanguageInfo } from '@shikijs/core' diff --git a/packages/shiki/scripts/prepare/themes.ts b/packages/shiki/scripts/prepare/themes.ts index 91a2ade40..57749d82f 100644 --- a/packages/shiki/scripts/prepare/themes.ts +++ b/packages/shiki/scripts/prepare/themes.ts @@ -8,18 +8,16 @@ export async function prepareTheme(): Promise { const theme = await fs.readJSON(`./node_modules/tm-themes/themes/${t.name}.json`) await fs.writeFile( - `./src/assets/themes/${t.name}.js`, - `${COMMENT_HEAD} + `./src/themes/${t.name}.mjs`, + `/* Theme: ${theme.name} */ export default Object.freeze(JSON.parse(${JSON.stringify(JSON.stringify(theme))})) `, 'utf-8', ) await fs.writeFile( - `./src/assets/themes/${t.name}.d.ts`, - `${COMMENT_HEAD} -import type { ThemeRegistration } from '@shikijs/core' - + `./src/themes/${t.name}.d.mts`, + `import type { ThemeRegistration } from '@shikijs/core' const theme: ThemeRegistration export default theme `, @@ -30,11 +28,11 @@ export default theme id: t.name, displayName: theme.displayName, type: theme.type, - import: `__(() => import('./themes/${t.name}')) as unknown as DynamicImportThemeRegistration__`, + import: `__(() => import('./themes/${t.name}.mjs')) as unknown as DynamicImportThemeRegistration__`, } })) await fs.writeFile( - 'src/assets/themes.ts', + 'src/themes.ts', `${COMMENT_HEAD} import type { DynamicImportThemeRegistration, BundledThemeInfo } from '@shikijs/core' diff --git a/packages/shiki/src/assets/themes.ts b/packages/shiki/src/assets/themes.ts deleted file mode 100644 index 858858bc2..000000000 --- a/packages/shiki/src/assets/themes.ts +++ /dev/null @@ -1,366 +0,0 @@ -// Generated by scripts/prepare.ts -import type { DynamicImportThemeRegistration, BundledThemeInfo } from '@shikijs/core' - -export const bundledThemesInfo: BundledThemeInfo[] = [ - { - "id": "andromeeda", - "displayName": "Andromeeda", - "type": "dark", - "import": (() => import('./themes/andromeeda')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "aurora-x", - "displayName": "Aurora X", - "type": "dark", - "import": (() => import('./themes/aurora-x')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "ayu-dark", - "displayName": "Ayu Dark", - "type": "dark", - "import": (() => import('./themes/ayu-dark')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "catppuccin-frappe", - "displayName": "Catppuccin Frappé", - "type": "dark", - "import": (() => import('./themes/catppuccin-frappe')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "catppuccin-latte", - "displayName": "Catppuccin Latte", - "type": "light", - "import": (() => import('./themes/catppuccin-latte')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "catppuccin-macchiato", - "displayName": "Catppuccin Macchiato", - "type": "dark", - "import": (() => import('./themes/catppuccin-macchiato')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "catppuccin-mocha", - "displayName": "Catppuccin Mocha", - "type": "dark", - "import": (() => import('./themes/catppuccin-mocha')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "dark-plus", - "displayName": "Dark Plus", - "type": "dark", - "import": (() => import('./themes/dark-plus')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "dracula", - "displayName": "Dracula Theme", - "type": "dark", - "import": (() => import('./themes/dracula')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "dracula-soft", - "displayName": "Dracula Theme Soft", - "type": "dark", - "import": (() => import('./themes/dracula-soft')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "everforest-dark", - "displayName": "Everforest Dark", - "type": "dark", - "import": (() => import('./themes/everforest-dark')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "everforest-light", - "displayName": "Everforest Light", - "type": "light", - "import": (() => import('./themes/everforest-light')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "github-dark", - "displayName": "GitHub Dark", - "type": "dark", - "import": (() => import('./themes/github-dark')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "github-dark-default", - "displayName": "GitHub Dark Default", - "type": "dark", - "import": (() => import('./themes/github-dark-default')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "github-dark-dimmed", - "displayName": "GitHub Dark Dimmed", - "type": "dark", - "import": (() => import('./themes/github-dark-dimmed')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "github-dark-high-contrast", - "displayName": "GitHub Dark High Contrast", - "type": "dark", - "import": (() => import('./themes/github-dark-high-contrast')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "github-light", - "displayName": "GitHub Light", - "type": "light", - "import": (() => import('./themes/github-light')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "github-light-default", - "displayName": "GitHub Light Default", - "type": "light", - "import": (() => import('./themes/github-light-default')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "github-light-high-contrast", - "displayName": "GitHub Light High Contrast", - "type": "light", - "import": (() => import('./themes/github-light-high-contrast')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "houston", - "displayName": "Houston", - "type": "dark", - "import": (() => import('./themes/houston')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "laserwave", - "displayName": "LaserWave", - "type": "dark", - "import": (() => import('./themes/laserwave')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "light-plus", - "displayName": "Light Plus", - "type": "light", - "import": (() => import('./themes/light-plus')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "material-theme", - "displayName": "Material Theme", - "type": "dark", - "import": (() => import('./themes/material-theme')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "material-theme-darker", - "displayName": "Material Theme Darker", - "type": "dark", - "import": (() => import('./themes/material-theme-darker')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "material-theme-lighter", - "displayName": "Material Theme Lighter", - "type": "light", - "import": (() => import('./themes/material-theme-lighter')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "material-theme-ocean", - "displayName": "Material Theme Ocean", - "type": "dark", - "import": (() => import('./themes/material-theme-ocean')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "material-theme-palenight", - "displayName": "Material Theme Palenight", - "type": "dark", - "import": (() => import('./themes/material-theme-palenight')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "min-dark", - "displayName": "Min Dark", - "type": "dark", - "import": (() => import('./themes/min-dark')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "min-light", - "displayName": "Min Light", - "type": "light", - "import": (() => import('./themes/min-light')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "monokai", - "displayName": "Monokai", - "type": "dark", - "import": (() => import('./themes/monokai')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "night-owl", - "displayName": "Night Owl", - "type": "dark", - "import": (() => import('./themes/night-owl')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "nord", - "displayName": "Nord", - "type": "dark", - "import": (() => import('./themes/nord')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "one-dark-pro", - "displayName": "One Dark Pro", - "type": "dark", - "import": (() => import('./themes/one-dark-pro')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "one-light", - "displayName": "One Light", - "type": "light", - "import": (() => import('./themes/one-light')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "plastic", - "displayName": "Plastic", - "type": "dark", - "import": (() => import('./themes/plastic')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "poimandres", - "displayName": "Poimandres", - "type": "dark", - "import": (() => import('./themes/poimandres')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "red", - "displayName": "Red", - "type": "dark", - "import": (() => import('./themes/red')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "rose-pine", - "displayName": "Rosé Pine", - "type": "dark", - "import": (() => import('./themes/rose-pine')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "rose-pine-dawn", - "displayName": "Rosé Pine Dawn", - "type": "light", - "import": (() => import('./themes/rose-pine-dawn')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "rose-pine-moon", - "displayName": "Rosé Pine Moon", - "type": "dark", - "import": (() => import('./themes/rose-pine-moon')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "slack-dark", - "displayName": "Slack Dark", - "type": "dark", - "import": (() => import('./themes/slack-dark')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "slack-ochin", - "displayName": "Slack Ochin", - "type": "light", - "import": (() => import('./themes/slack-ochin')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "snazzy-light", - "displayName": "Snazzy Light", - "type": "light", - "import": (() => import('./themes/snazzy-light')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "solarized-dark", - "displayName": "Solarized Dark", - "type": "dark", - "import": (() => import('./themes/solarized-dark')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "solarized-light", - "displayName": "Solarized Light", - "type": "light", - "import": (() => import('./themes/solarized-light')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "synthwave-84", - "displayName": "Synthwave '84", - "type": "dark", - "import": (() => import('./themes/synthwave-84')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "tokyo-night", - "displayName": "Tokyo Night", - "type": "dark", - "import": (() => import('./themes/tokyo-night')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "vesper", - "displayName": "Vesper", - "type": "dark", - "import": (() => import('./themes/vesper')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "vitesse-black", - "displayName": "Vitesse Black", - "type": "dark", - "import": (() => import('./themes/vitesse-black')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "vitesse-dark", - "displayName": "Vitesse Dark", - "type": "dark", - "import": (() => import('./themes/vitesse-dark')) as unknown as DynamicImportThemeRegistration - }, - { - "id": "vitesse-light", - "displayName": "Vitesse Light", - "type": "light", - "import": (() => import('./themes/vitesse-light')) as unknown as DynamicImportThemeRegistration - } -] - -export type BundledTheme = - | 'andromeeda' - | 'aurora-x' - | 'ayu-dark' - | 'catppuccin-frappe' - | 'catppuccin-latte' - | 'catppuccin-macchiato' - | 'catppuccin-mocha' - | 'dark-plus' - | 'dracula' - | 'dracula-soft' - | 'everforest-dark' - | 'everforest-light' - | 'github-dark' - | 'github-dark-default' - | 'github-dark-dimmed' - | 'github-dark-high-contrast' - | 'github-light' - | 'github-light-default' - | 'github-light-high-contrast' - | 'houston' - | 'laserwave' - | 'light-plus' - | 'material-theme' - | 'material-theme-darker' - | 'material-theme-lighter' - | 'material-theme-ocean' - | 'material-theme-palenight' - | 'min-dark' - | 'min-light' - | 'monokai' - | 'night-owl' - | 'nord' - | 'one-dark-pro' - | 'one-light' - | 'plastic' - | 'poimandres' - | 'red' - | 'rose-pine' - | 'rose-pine-dawn' - | 'rose-pine-moon' - | 'slack-dark' - | 'slack-ochin' - | 'snazzy-light' - | 'solarized-dark' - | 'solarized-light' - | 'synthwave-84' - | 'tokyo-night' - | 'vesper' - | 'vitesse-black' - | 'vitesse-dark' - | 'vitesse-light' - -export const bundledThemes = Object.fromEntries(bundledThemesInfo.map(i => [i.id, i.import])) as Record diff --git a/packages/shiki/src/bundle-full.ts b/packages/shiki/src/bundle-full.ts index 6e06dc639..e91c48e17 100644 --- a/packages/shiki/src/bundle-full.ts +++ b/packages/shiki/src/bundle-full.ts @@ -1,18 +1,16 @@ import type { CreateHighlighterFactory, HighlighterGeneric } from '@shikijs/types' import type {} from 'hast' -import type { BundledLanguage } from './assets/langs-bundle-full' +import type { BundledLanguage } from './langs-bundle-full' import type { BundledTheme } from './themes' -import { bundledLanguages } from './assets/langs-bundle-full' import { createdBundledHighlighter, createSingletonShorthands, warnDeprecated } from './core' import { createOnigurumaEngine } from './engine-oniguruma' +import { bundledLanguages } from './langs-bundle-full' import { bundledThemes } from './themes' -import { getWasmInlined } from './wasm-dynamic' -export * from './assets/langs-bundle-full' export * from './core' +export * from './langs-bundle-full' export * from './themes' - -export { getWasmInlined } +export { getWasmInlined } from './wasm-dynamic' export type Highlighter = HighlighterGeneric diff --git a/packages/shiki/src/bundle-web.ts b/packages/shiki/src/bundle-web.ts index dbbd85c6f..1c1dee942 100644 --- a/packages/shiki/src/bundle-web.ts +++ b/packages/shiki/src/bundle-web.ts @@ -1,19 +1,16 @@ import type { CreateHighlighterFactory, HighlighterGeneric } from '@shikijs/types' import type {} from 'hast' - -import type { BundledLanguage } from './assets/langs-bundle-web' +import type { BundledLanguage } from './langs-bundle-web' import type { BundledTheme } from './themes' -import { bundledLanguages } from './assets/langs-bundle-web' import { createdBundledHighlighter, createSingletonShorthands, warnDeprecated } from './core' import { createOnigurumaEngine } from './engine-oniguruma' +import { bundledLanguages } from './langs-bundle-web' import { bundledThemes } from './themes' -import { getWasmInlined } from './wasm-dynamic' -export * from './assets/langs-bundle-web' export * from './core' +export * from './langs-bundle-web' export * from './themes' - -export { getWasmInlined } +export { getWasmInlined } from './wasm-dynamic' export type Highlighter = HighlighterGeneric diff --git a/packages/shiki/src/assets/langs-bundle-full.ts b/packages/shiki/src/langs-bundle-full.ts similarity index 53% rename from packages/shiki/src/assets/langs-bundle-full.ts rename to packages/shiki/src/langs-bundle-full.ts index df1606e6e..0d10dc2b9 100644 --- a/packages/shiki/src/assets/langs-bundle-full.ts +++ b/packages/shiki/src/langs-bundle-full.ts @@ -5,52 +5,52 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ { 'id': 'abap', 'name': 'ABAP', - 'import': (() => import('./langs/abap')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/abap.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'actionscript-3', 'name': 'ActionScript', - 'import': (() => import('./langs/actionscript-3')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/actionscript-3.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'ada', 'name': 'Ada', - 'import': (() => import('./langs/ada')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/ada.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'angular-html', 'name': 'Angular HTML', - 'import': (() => import('./langs/angular-html')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/angular-html.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'angular-ts', 'name': 'Angular TypeScript', - 'import': (() => import('./langs/angular-ts')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/angular-ts.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'apache', 'name': 'Apache Conf', - 'import': (() => import('./langs/apache')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/apache.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'apex', 'name': 'Apex', - 'import': (() => import('./langs/apex')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/apex.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'apl', 'name': 'APL', - 'import': (() => import('./langs/apl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/apl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'applescript', 'name': 'AppleScript', - 'import': (() => import('./langs/applescript')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/applescript.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'ara', 'name': 'Ara', - 'import': (() => import('./langs/ara')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/ara.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'asciidoc', @@ -58,27 +58,27 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'adoc' ], - 'import': (() => import('./langs/asciidoc')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/asciidoc.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'asm', 'name': 'Assembly', - 'import': (() => import('./langs/asm')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/asm.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'astro', 'name': 'Astro', - 'import': (() => import('./langs/astro')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/astro.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'awk', 'name': 'AWK', - 'import': (() => import('./langs/awk')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/awk.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'ballerina', 'name': 'Ballerina', - 'import': (() => import('./langs/ballerina')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/ballerina.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'bat', @@ -86,12 +86,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'batch' ], - 'import': (() => import('./langs/bat')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/bat.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'beancount', 'name': 'Beancount', - 'import': (() => import('./langs/beancount')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/beancount.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'berry', @@ -99,27 +99,27 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'be' ], - 'import': (() => import('./langs/berry')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/berry.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'bibtex', 'name': 'BibTeX', - 'import': (() => import('./langs/bibtex')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/bibtex.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'bicep', 'name': 'Bicep', - 'import': (() => import('./langs/bicep')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/bicep.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'blade', 'name': 'Blade', - 'import': (() => import('./langs/blade')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/blade.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'c', 'name': 'C', - 'import': (() => import('./langs/c')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/c.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'cadence', @@ -127,12 +127,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'cdc' ], - 'import': (() => import('./langs/cadence')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/cadence.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'clarity', 'name': 'Clarity', - 'import': (() => import('./langs/clarity')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/clarity.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'clojure', @@ -140,22 +140,22 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'clj' ], - 'import': (() => import('./langs/clojure')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/clojure.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'cmake', 'name': 'CMake', - 'import': (() => import('./langs/cmake')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/cmake.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'cobol', 'name': 'COBOL', - 'import': (() => import('./langs/cobol')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/cobol.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'codeowners', 'name': 'CODEOWNERS', - 'import': (() => import('./langs/codeowners')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/codeowners.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'codeql', @@ -163,7 +163,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'ql' ], - 'import': (() => import('./langs/codeql')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/codeql.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'coffee', @@ -171,7 +171,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'coffeescript' ], - 'import': (() => import('./langs/coffee')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/coffee.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'common-lisp', @@ -179,12 +179,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'lisp' ], - 'import': (() => import('./langs/common-lisp')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/common-lisp.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'coq', 'name': 'Coq', - 'import': (() => import('./langs/coq')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/coq.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'cpp', @@ -192,12 +192,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'c++' ], - 'import': (() => import('./langs/cpp')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/cpp.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'crystal', 'name': 'Crystal', - 'import': (() => import('./langs/crystal')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/crystal.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'csharp', @@ -206,22 +206,22 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'c#', 'cs' ], - 'import': (() => import('./langs/csharp')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/csharp.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'css', 'name': 'CSS', - 'import': (() => import('./langs/css')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/css.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'csv', 'name': 'CSV', - 'import': (() => import('./langs/csv')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/csv.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'cue', 'name': 'CUE', - 'import': (() => import('./langs/cue')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/cue.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'cypher', @@ -229,32 +229,32 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'cql' ], - 'import': (() => import('./langs/cypher')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/cypher.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'd', 'name': 'D', - 'import': (() => import('./langs/d')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/d.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'dart', 'name': 'Dart', - 'import': (() => import('./langs/dart')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/dart.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'dax', 'name': 'DAX', - 'import': (() => import('./langs/dax')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/dax.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'desktop', 'name': 'Desktop', - 'import': (() => import('./langs/desktop')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/desktop.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'diff', 'name': 'Diff', - 'import': (() => import('./langs/diff')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/diff.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'docker', @@ -262,32 +262,32 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'dockerfile' ], - 'import': (() => import('./langs/docker')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/docker.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'dotenv', 'name': 'dotEnv', - 'import': (() => import('./langs/dotenv')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/dotenv.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'dream-maker', 'name': 'Dream Maker', - 'import': (() => import('./langs/dream-maker')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/dream-maker.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'edge', 'name': 'Edge', - 'import': (() => import('./langs/edge')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/edge.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'elixir', 'name': 'Elixir', - 'import': (() => import('./langs/elixir')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/elixir.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'elm', 'name': 'Elm', - 'import': (() => import('./langs/elm')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/elm.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'emacs-lisp', @@ -295,12 +295,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'elisp' ], - 'import': (() => import('./langs/emacs-lisp')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/emacs-lisp.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'erb', 'name': 'ERB', - 'import': (() => import('./langs/erb')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/erb.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'erlang', @@ -308,17 +308,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'erl' ], - 'import': (() => import('./langs/erlang')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/erlang.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'fennel', 'name': 'Fennel', - 'import': (() => import('./langs/fennel')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/fennel.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'fish', 'name': 'Fish', - 'import': (() => import('./langs/fish')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/fish.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'fluent', @@ -326,7 +326,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'ftl' ], - 'import': (() => import('./langs/fluent')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/fluent.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'fortran-fixed-form', @@ -336,7 +336,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'for', 'f77' ], - 'import': (() => import('./langs/fortran-fixed-form')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/fortran-fixed-form.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'fortran-free-form', @@ -348,7 +348,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'f08', 'f18' ], - 'import': (() => import('./langs/fortran-free-form')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/fortran-free-form.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'fsharp', @@ -357,47 +357,47 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'f#', 'fs' ], - 'import': (() => import('./langs/fsharp')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/fsharp.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'gdresource', 'name': 'GDResource', - 'import': (() => import('./langs/gdresource')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/gdresource.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'gdscript', 'name': 'GDScript', - 'import': (() => import('./langs/gdscript')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/gdscript.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'gdshader', 'name': 'GDShader', - 'import': (() => import('./langs/gdshader')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/gdshader.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'genie', 'name': 'Genie', - 'import': (() => import('./langs/genie')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/genie.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'gherkin', 'name': 'Gherkin', - 'import': (() => import('./langs/gherkin')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/gherkin.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'git-commit', 'name': 'Git Commit Message', - 'import': (() => import('./langs/git-commit')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/git-commit.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'git-rebase', 'name': 'Git Rebase Message', - 'import': (() => import('./langs/git-rebase')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/git-rebase.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'gleam', 'name': 'Gleam', - 'import': (() => import('./langs/gleam')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/gleam.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'glimmer-js', @@ -405,7 +405,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'gjs' ], - 'import': (() => import('./langs/glimmer-js')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/glimmer-js.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'glimmer-ts', @@ -413,22 +413,22 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'gts' ], - 'import': (() => import('./langs/glimmer-ts')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/glimmer-ts.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'glsl', 'name': 'GLSL', - 'import': (() => import('./langs/glsl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/glsl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'gnuplot', 'name': 'Gnuplot', - 'import': (() => import('./langs/gnuplot')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/gnuplot.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'go', 'name': 'Go', - 'import': (() => import('./langs/go')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/go.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'graphql', @@ -436,22 +436,22 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'gql' ], - 'import': (() => import('./langs/graphql')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/graphql.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'groovy', 'name': 'Groovy', - 'import': (() => import('./langs/groovy')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/groovy.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'hack', 'name': 'Hack', - 'import': (() => import('./langs/hack')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/hack.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'haml', 'name': 'Ruby Haml', - 'import': (() => import('./langs/haml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/haml.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'handlebars', @@ -459,7 +459,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'hbs' ], - 'import': (() => import('./langs/handlebars')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/handlebars.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'haskell', @@ -467,57 +467,57 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'hs' ], - 'import': (() => import('./langs/haskell')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/haskell.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'haxe', 'name': 'Haxe', - 'import': (() => import('./langs/haxe')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/haxe.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'hcl', 'name': 'HashiCorp HCL', - 'import': (() => import('./langs/hcl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/hcl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'hjson', 'name': 'Hjson', - 'import': (() => import('./langs/hjson')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/hjson.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'hlsl', 'name': 'HLSL', - 'import': (() => import('./langs/hlsl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/hlsl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'html', 'name': 'HTML', - 'import': (() => import('./langs/html')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/html.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'html-derivative', 'name': 'HTML (Derivative)', - 'import': (() => import('./langs/html-derivative')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/html-derivative.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'http', 'name': 'HTTP', - 'import': (() => import('./langs/http')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/http.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'hxml', 'name': 'HXML', - 'import': (() => import('./langs/hxml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/hxml.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'hy', 'name': 'Hy', - 'import': (() => import('./langs/hy')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/hy.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'imba', 'name': 'Imba', - 'import': (() => import('./langs/imba')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/imba.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'ini', @@ -525,12 +525,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'properties' ], - 'import': (() => import('./langs/ini')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/ini.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'java', 'name': 'Java', - 'import': (() => import('./langs/java')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/java.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'javascript', @@ -538,42 +538,42 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'js' ], - 'import': (() => import('./langs/javascript')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/javascript.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jinja', 'name': 'Jinja', - 'import': (() => import('./langs/jinja')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jinja.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jison', 'name': 'Jison', - 'import': (() => import('./langs/jison')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jison.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'json', 'name': 'JSON', - 'import': (() => import('./langs/json')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/json.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'json5', 'name': 'JSON5', - 'import': (() => import('./langs/json5')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/json5.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jsonc', 'name': 'JSON with Comments', - 'import': (() => import('./langs/jsonc')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jsonc.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jsonl', 'name': 'JSON Lines', - 'import': (() => import('./langs/jsonl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jsonl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jsonnet', 'name': 'Jsonnet', - 'import': (() => import('./langs/jsonnet')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jsonnet.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jssm', @@ -581,12 +581,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'fsl' ], - 'import': (() => import('./langs/jssm')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jssm.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jsx', 'name': 'JSX', - 'import': (() => import('./langs/jsx')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jsx.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'julia', @@ -594,7 +594,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'jl' ], - 'import': (() => import('./langs/julia')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/julia.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'kotlin', @@ -603,7 +603,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'kt', 'kts' ], - 'import': (() => import('./langs/kotlin')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/kotlin.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'kusto', @@ -611,12 +611,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'kql' ], - 'import': (() => import('./langs/kusto')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/kusto.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'latex', 'name': 'LaTeX', - 'import': (() => import('./langs/latex')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/latex.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'lean', @@ -624,37 +624,37 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'lean4' ], - 'import': (() => import('./langs/lean')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/lean.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'less', 'name': 'Less', - 'import': (() => import('./langs/less')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/less.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'liquid', 'name': 'Liquid', - 'import': (() => import('./langs/liquid')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/liquid.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'log', 'name': 'Log file', - 'import': (() => import('./langs/log')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/log.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'logo', 'name': 'Logo', - 'import': (() => import('./langs/logo')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/logo.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'lua', 'name': 'Lua', - 'import': (() => import('./langs/lua')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/lua.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'luau', 'name': 'Luau', - 'import': (() => import('./langs/luau')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/luau.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'make', @@ -662,7 +662,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'makefile' ], - 'import': (() => import('./langs/make')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/make.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'markdown', @@ -670,42 +670,42 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'md' ], - 'import': (() => import('./langs/markdown')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/markdown.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'marko', 'name': 'Marko', - 'import': (() => import('./langs/marko')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/marko.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'matlab', 'name': 'MATLAB', - 'import': (() => import('./langs/matlab')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/matlab.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'mdc', 'name': 'MDC', - 'import': (() => import('./langs/mdc')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/mdc.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'mdx', 'name': 'MDX', - 'import': (() => import('./langs/mdx')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/mdx.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'mermaid', 'name': 'Mermaid', - 'import': (() => import('./langs/mermaid')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/mermaid.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'mojo', 'name': 'Mojo', - 'import': (() => import('./langs/mojo')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/mojo.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'move', 'name': 'Move', - 'import': (() => import('./langs/move')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/move.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'narrat', @@ -713,7 +713,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'nar' ], - 'import': (() => import('./langs/narrat')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/narrat.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'nextflow', @@ -721,22 +721,22 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'nf' ], - 'import': (() => import('./langs/nextflow')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/nextflow.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'nginx', 'name': 'Nginx', - 'import': (() => import('./langs/nginx')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/nginx.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'nim', 'name': 'Nim', - 'import': (() => import('./langs/nim')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/nim.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'nix', 'name': 'Nix', - 'import': (() => import('./langs/nix')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/nix.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'nushell', @@ -744,7 +744,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'nu' ], - 'import': (() => import('./langs/nushell')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/nushell.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'objective-c', @@ -752,37 +752,37 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'objc' ], - 'import': (() => import('./langs/objective-c')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/objective-c.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'objective-cpp', 'name': 'Objective-C++', - 'import': (() => import('./langs/objective-cpp')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/objective-cpp.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'ocaml', 'name': 'OCaml', - 'import': (() => import('./langs/ocaml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/ocaml.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'pascal', 'name': 'Pascal', - 'import': (() => import('./langs/pascal')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/pascal.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'perl', 'name': 'Perl', - 'import': (() => import('./langs/perl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/perl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'php', 'name': 'PHP', - 'import': (() => import('./langs/php')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/php.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'plsql', 'name': 'PL/SQL', - 'import': (() => import('./langs/plsql')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/plsql.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'po', @@ -791,17 +791,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'pot', 'potx' ], - 'import': (() => import('./langs/po')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/po.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'postcss', 'name': 'PostCSS', - 'import': (() => import('./langs/postcss')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/postcss.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'powerquery', 'name': 'PowerQuery', - 'import': (() => import('./langs/powerquery')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/powerquery.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'powershell', @@ -810,17 +810,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'ps', 'ps1' ], - 'import': (() => import('./langs/powershell')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/powershell.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'prisma', 'name': 'Prisma', - 'import': (() => import('./langs/prisma')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/prisma.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'prolog', 'name': 'Prolog', - 'import': (() => import('./langs/prolog')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/prolog.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'proto', @@ -828,7 +828,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'protobuf' ], - 'import': (() => import('./langs/proto')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/proto.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'pug', @@ -836,17 +836,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'jade' ], - 'import': (() => import('./langs/pug')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/pug.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'puppet', 'name': 'Puppet', - 'import': (() => import('./langs/puppet')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/puppet.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'purescript', 'name': 'PureScript', - 'import': (() => import('./langs/purescript')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/purescript.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'python', @@ -854,32 +854,32 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'py' ], - 'import': (() => import('./langs/python')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/python.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'qml', 'name': 'QML', - 'import': (() => import('./langs/qml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/qml.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'qmldir', 'name': 'QML Directory', - 'import': (() => import('./langs/qmldir')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/qmldir.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'qss', 'name': 'Qt Style Sheets', - 'import': (() => import('./langs/qss')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/qss.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'r', 'name': 'R', - 'import': (() => import('./langs/r')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/r.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'racket', 'name': 'Racket', - 'import': (() => import('./langs/racket')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/racket.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'raku', @@ -887,17 +887,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'perl6' ], - 'import': (() => import('./langs/raku')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/raku.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'razor', 'name': 'ASP.NET Razor', - 'import': (() => import('./langs/razor')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/razor.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'reg', 'name': 'Windows Registry Script', - 'import': (() => import('./langs/reg')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/reg.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'regexp', @@ -905,22 +905,22 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'regex' ], - 'import': (() => import('./langs/regexp')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/regexp.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'rel', 'name': 'Rel', - 'import': (() => import('./langs/rel')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/rel.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'riscv', 'name': 'RISC-V', - 'import': (() => import('./langs/riscv')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/riscv.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'rst', 'name': 'reStructuredText', - 'import': (() => import('./langs/rst')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/rst.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'ruby', @@ -928,7 +928,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'rb' ], - 'import': (() => import('./langs/ruby')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/ruby.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'rust', @@ -936,32 +936,32 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'rs' ], - 'import': (() => import('./langs/rust')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/rust.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'sas', 'name': 'SAS', - 'import': (() => import('./langs/sas')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/sas.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'sass', 'name': 'Sass', - 'import': (() => import('./langs/sass')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/sass.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'scala', 'name': 'Scala', - 'import': (() => import('./langs/scala')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/scala.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'scheme', 'name': 'Scheme', - 'import': (() => import('./langs/scheme')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/scheme.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'scss', 'name': 'SCSS', - 'import': (() => import('./langs/scss')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/scss.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'shaderlab', @@ -969,7 +969,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'shader' ], - 'import': (() => import('./langs/shaderlab')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/shaderlab.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'shellscript', @@ -980,7 +980,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'shell', 'zsh' ], - 'import': (() => import('./langs/shellscript')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/shellscript.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'shellsession', @@ -988,17 +988,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'console' ], - 'import': (() => import('./langs/shellsession')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/shellsession.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'smalltalk', 'name': 'Smalltalk', - 'import': (() => import('./langs/smalltalk')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/smalltalk.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'solidity', 'name': 'Solidity', - 'import': (() => import('./langs/solidity')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/solidity.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'soy', @@ -1006,12 +1006,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'closure-templates' ], - 'import': (() => import('./langs/soy')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/soy.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'sparql', 'name': 'SPARQL', - 'import': (() => import('./langs/sparql')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/sparql.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'splunk', @@ -1019,22 +1019,22 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'spl' ], - 'import': (() => import('./langs/splunk')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/splunk.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'sql', 'name': 'SQL', - 'import': (() => import('./langs/sql')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/sql.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'ssh-config', 'name': 'SSH Config', - 'import': (() => import('./langs/ssh-config')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/ssh-config.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'stata', 'name': 'Stata', - 'import': (() => import('./langs/stata')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/stata.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'stylus', @@ -1042,42 +1042,42 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'styl' ], - 'import': (() => import('./langs/stylus')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/stylus.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'svelte', 'name': 'Svelte', - 'import': (() => import('./langs/svelte')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/svelte.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'swift', 'name': 'Swift', - 'import': (() => import('./langs/swift')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/swift.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'system-verilog', 'name': 'SystemVerilog', - 'import': (() => import('./langs/system-verilog')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/system-verilog.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'systemd', 'name': 'Systemd Units', - 'import': (() => import('./langs/systemd')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/systemd.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'tasl', 'name': 'Tasl', - 'import': (() => import('./langs/tasl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/tasl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'tcl', 'name': 'Tcl', - 'import': (() => import('./langs/tcl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/tcl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'templ', 'name': 'Templ', - 'import': (() => import('./langs/templ')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/templ.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'terraform', @@ -1086,17 +1086,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'tf', 'tfvars' ], - 'import': (() => import('./langs/terraform')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/terraform.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'tex', 'name': 'TeX', - 'import': (() => import('./langs/tex')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/tex.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'toml', 'name': 'TOML', - 'import': (() => import('./langs/toml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/toml.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'ts-tags', @@ -1104,27 +1104,27 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'lit' ], - 'import': (() => import('./langs/ts-tags')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/ts-tags.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'tsv', 'name': 'TSV', - 'import': (() => import('./langs/tsv')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/tsv.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'tsx', 'name': 'TSX', - 'import': (() => import('./langs/tsx')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/tsx.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'turtle', 'name': 'Turtle', - 'import': (() => import('./langs/turtle')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/turtle.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'twig', 'name': 'Twig', - 'import': (() => import('./langs/twig')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/twig.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'typescript', @@ -1132,7 +1132,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'ts' ], - 'import': (() => import('./langs/typescript')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/typescript.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'typespec', @@ -1140,7 +1140,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'tsp' ], - 'import': (() => import('./langs/typespec')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/typespec.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'typst', @@ -1148,17 +1148,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'typ' ], - 'import': (() => import('./langs/typst')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/typst.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'v', 'name': 'V', - 'import': (() => import('./langs/v')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/v.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'vala', 'name': 'Vala', - 'import': (() => import('./langs/vala')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/vala.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'vb', @@ -1166,17 +1166,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'cmd' ], - 'import': (() => import('./langs/vb')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/vb.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'verilog', 'name': 'Verilog', - 'import': (() => import('./langs/verilog')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/verilog.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'vhdl', 'name': 'VHDL', - 'import': (() => import('./langs/vhdl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/vhdl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'viml', @@ -1185,17 +1185,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'vim', 'vimscript' ], - 'import': (() => import('./langs/viml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/viml.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'vue', 'name': 'Vue', - 'import': (() => import('./langs/vue')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/vue.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'vue-html', 'name': 'Vue HTML', - 'import': (() => import('./langs/vue-html')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/vue-html.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'vyper', @@ -1203,12 +1203,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'vy' ], - 'import': (() => import('./langs/vyper')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/vyper.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'wasm', 'name': 'WebAssembly', - 'import': (() => import('./langs/wasm')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/wasm.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'wenyan', @@ -1216,12 +1216,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ '文言' ], - 'import': (() => import('./langs/wenyan')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/wenyan.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'wgsl', 'name': 'WGSL', - 'import': (() => import('./langs/wgsl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/wgsl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'wikitext', @@ -1230,7 +1230,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'mediawiki', 'wiki' ], - 'import': (() => import('./langs/wikitext')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/wikitext.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'wolfram', @@ -1238,17 +1238,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'wl' ], - 'import': (() => import('./langs/wolfram')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/wolfram.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'xml', 'name': 'XML', - 'import': (() => import('./langs/xml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/xml.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'xsl', 'name': 'XSL', - 'import': (() => import('./langs/xsl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/xsl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'yaml', @@ -1256,17 +1256,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'yml' ], - 'import': (() => import('./langs/yaml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/yaml.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'zenscript', 'name': 'ZenScript', - 'import': (() => import('./langs/zenscript')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/zenscript.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'zig', 'name': 'Zig', - 'import': (() => import('./langs/zig')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/zig.mjs')) as DynamicImportLanguageRegistration } ] diff --git a/packages/shiki/src/assets/langs-bundle-web.ts b/packages/shiki/src/langs-bundle-web.ts similarity index 54% rename from packages/shiki/src/assets/langs-bundle-web.ts rename to packages/shiki/src/langs-bundle-web.ts index 5460b9203..877a6b20a 100644 --- a/packages/shiki/src/assets/langs-bundle-web.ts +++ b/packages/shiki/src/langs-bundle-web.ts @@ -5,27 +5,27 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ { 'id': 'angular-html', 'name': 'Angular HTML', - 'import': (() => import('./langs/angular-html')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/angular-html.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'angular-ts', 'name': 'Angular TypeScript', - 'import': (() => import('./langs/angular-ts')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/angular-ts.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'astro', 'name': 'Astro', - 'import': (() => import('./langs/astro')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/astro.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'blade', 'name': 'Blade', - 'import': (() => import('./langs/blade')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/blade.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'c', 'name': 'C', - 'import': (() => import('./langs/c')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/c.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'coffee', @@ -33,7 +33,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'coffeescript' ], - 'import': (() => import('./langs/coffee')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/coffee.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'cpp', @@ -41,17 +41,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'c++' ], - 'import': (() => import('./langs/cpp')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/cpp.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'css', 'name': 'CSS', - 'import': (() => import('./langs/css')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/css.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'glsl', 'name': 'GLSL', - 'import': (() => import('./langs/glsl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/glsl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'graphql', @@ -59,12 +59,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'gql' ], - 'import': (() => import('./langs/graphql')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/graphql.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'haml', 'name': 'Ruby Haml', - 'import': (() => import('./langs/haml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/haml.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'handlebars', @@ -72,32 +72,32 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'hbs' ], - 'import': (() => import('./langs/handlebars')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/handlebars.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'html', 'name': 'HTML', - 'import': (() => import('./langs/html')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/html.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'html-derivative', 'name': 'HTML (Derivative)', - 'import': (() => import('./langs/html-derivative')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/html-derivative.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'http', 'name': 'HTTP', - 'import': (() => import('./langs/http')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/http.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'imba', 'name': 'Imba', - 'import': (() => import('./langs/imba')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/imba.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'java', 'name': 'Java', - 'import': (() => import('./langs/java')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/java.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'javascript', @@ -105,37 +105,37 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'js' ], - 'import': (() => import('./langs/javascript')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/javascript.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jinja', 'name': 'Jinja', - 'import': (() => import('./langs/jinja')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jinja.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jison', 'name': 'Jison', - 'import': (() => import('./langs/jison')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jison.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'json', 'name': 'JSON', - 'import': (() => import('./langs/json')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/json.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jsonc', 'name': 'JSON with Comments', - 'import': (() => import('./langs/jsonc')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jsonc.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jsonl', 'name': 'JSON Lines', - 'import': (() => import('./langs/jsonl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jsonl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'jsx', 'name': 'JSX', - 'import': (() => import('./langs/jsx')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/jsx.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'julia', @@ -143,12 +143,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'jl' ], - 'import': (() => import('./langs/julia')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/julia.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'less', 'name': 'Less', - 'import': (() => import('./langs/less')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/less.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'markdown', @@ -156,32 +156,32 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'md' ], - 'import': (() => import('./langs/markdown')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/markdown.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'marko', 'name': 'Marko', - 'import': (() => import('./langs/marko')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/marko.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'mdc', 'name': 'MDC', - 'import': (() => import('./langs/mdc')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/mdc.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'mdx', 'name': 'MDX', - 'import': (() => import('./langs/mdx')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/mdx.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'php', 'name': 'PHP', - 'import': (() => import('./langs/php')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/php.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'postcss', 'name': 'PostCSS', - 'import': (() => import('./langs/postcss')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/postcss.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'pug', @@ -189,7 +189,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'jade' ], - 'import': (() => import('./langs/pug')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/pug.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'python', @@ -197,12 +197,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'py' ], - 'import': (() => import('./langs/python')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/python.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'r', 'name': 'R', - 'import': (() => import('./langs/r')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/r.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'regexp', @@ -210,17 +210,17 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'regex' ], - 'import': (() => import('./langs/regexp')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/regexp.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'sass', 'name': 'Sass', - 'import': (() => import('./langs/sass')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/sass.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'scss', 'name': 'SCSS', - 'import': (() => import('./langs/scss')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/scss.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'shellscript', @@ -231,12 +231,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'shell', 'zsh' ], - 'import': (() => import('./langs/shellscript')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/shellscript.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'sql', 'name': 'SQL', - 'import': (() => import('./langs/sql')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/sql.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'stylus', @@ -244,12 +244,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'styl' ], - 'import': (() => import('./langs/stylus')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/stylus.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'svelte', 'name': 'Svelte', - 'import': (() => import('./langs/svelte')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/svelte.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'ts-tags', @@ -257,12 +257,12 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'lit' ], - 'import': (() => import('./langs/ts-tags')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/ts-tags.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'tsx', 'name': 'TSX', - 'import': (() => import('./langs/tsx')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/tsx.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'typescript', @@ -270,32 +270,32 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'ts' ], - 'import': (() => import('./langs/typescript')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/typescript.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'vue', 'name': 'Vue', - 'import': (() => import('./langs/vue')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/vue.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'vue-html', 'name': 'Vue HTML', - 'import': (() => import('./langs/vue-html')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/vue-html.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'wasm', 'name': 'WebAssembly', - 'import': (() => import('./langs/wasm')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/wasm.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'wgsl', 'name': 'WGSL', - 'import': (() => import('./langs/wgsl')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/wgsl.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'xml', 'name': 'XML', - 'import': (() => import('./langs/xml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/xml.mjs')) as DynamicImportLanguageRegistration }, { 'id': 'yaml', @@ -303,7 +303,7 @@ export const bundledLanguagesInfo: BundledLanguageInfo[] = [ 'aliases': [ 'yml' ], - 'import': (() => import('./langs/yaml')) as DynamicImportLanguageRegistration + 'import': (() => import('./langs/yaml.mjs')) as DynamicImportLanguageRegistration } ] diff --git a/packages/shiki/src/langs.ts b/packages/shiki/src/langs.ts index e31b2c912..0bd255bc5 100644 --- a/packages/shiki/src/langs.ts +++ b/packages/shiki/src/langs.ts @@ -1 +1 @@ -export * from './assets/langs-bundle-full' +export * from './langs-bundle-full' diff --git a/packages/shiki/src/themes.ts b/packages/shiki/src/themes.ts index 88118b9de..a3d2ee7c6 100644 --- a/packages/shiki/src/themes.ts +++ b/packages/shiki/src/themes.ts @@ -1 +1,366 @@ -export * from './assets/themes' +// Generated by scripts/prepare.ts +import type { DynamicImportThemeRegistration, BundledThemeInfo } from '@shikijs/core' + +export const bundledThemesInfo: BundledThemeInfo[] = [ + { + "id": "andromeeda", + "displayName": "Andromeeda", + "type": "dark", + "import": (() => import('./themes/andromeeda.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "aurora-x", + "displayName": "Aurora X", + "type": "dark", + "import": (() => import('./themes/aurora-x.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "ayu-dark", + "displayName": "Ayu Dark", + "type": "dark", + "import": (() => import('./themes/ayu-dark.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "catppuccin-frappe", + "displayName": "Catppuccin Frappé", + "type": "dark", + "import": (() => import('./themes/catppuccin-frappe.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "catppuccin-latte", + "displayName": "Catppuccin Latte", + "type": "light", + "import": (() => import('./themes/catppuccin-latte.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "catppuccin-macchiato", + "displayName": "Catppuccin Macchiato", + "type": "dark", + "import": (() => import('./themes/catppuccin-macchiato.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "catppuccin-mocha", + "displayName": "Catppuccin Mocha", + "type": "dark", + "import": (() => import('./themes/catppuccin-mocha.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "dark-plus", + "displayName": "Dark Plus", + "type": "dark", + "import": (() => import('./themes/dark-plus.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "dracula", + "displayName": "Dracula Theme", + "type": "dark", + "import": (() => import('./themes/dracula.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "dracula-soft", + "displayName": "Dracula Theme Soft", + "type": "dark", + "import": (() => import('./themes/dracula-soft.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "everforest-dark", + "displayName": "Everforest Dark", + "type": "dark", + "import": (() => import('./themes/everforest-dark.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "everforest-light", + "displayName": "Everforest Light", + "type": "light", + "import": (() => import('./themes/everforest-light.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "github-dark", + "displayName": "GitHub Dark", + "type": "dark", + "import": (() => import('./themes/github-dark.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "github-dark-default", + "displayName": "GitHub Dark Default", + "type": "dark", + "import": (() => import('./themes/github-dark-default.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "github-dark-dimmed", + "displayName": "GitHub Dark Dimmed", + "type": "dark", + "import": (() => import('./themes/github-dark-dimmed.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "github-dark-high-contrast", + "displayName": "GitHub Dark High Contrast", + "type": "dark", + "import": (() => import('./themes/github-dark-high-contrast.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "github-light", + "displayName": "GitHub Light", + "type": "light", + "import": (() => import('./themes/github-light.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "github-light-default", + "displayName": "GitHub Light Default", + "type": "light", + "import": (() => import('./themes/github-light-default.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "github-light-high-contrast", + "displayName": "GitHub Light High Contrast", + "type": "light", + "import": (() => import('./themes/github-light-high-contrast.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "houston", + "displayName": "Houston", + "type": "dark", + "import": (() => import('./themes/houston.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "laserwave", + "displayName": "LaserWave", + "type": "dark", + "import": (() => import('./themes/laserwave.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "light-plus", + "displayName": "Light Plus", + "type": "light", + "import": (() => import('./themes/light-plus.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "material-theme", + "displayName": "Material Theme", + "type": "dark", + "import": (() => import('./themes/material-theme.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "material-theme-darker", + "displayName": "Material Theme Darker", + "type": "dark", + "import": (() => import('./themes/material-theme-darker.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "material-theme-lighter", + "displayName": "Material Theme Lighter", + "type": "light", + "import": (() => import('./themes/material-theme-lighter.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "material-theme-ocean", + "displayName": "Material Theme Ocean", + "type": "dark", + "import": (() => import('./themes/material-theme-ocean.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "material-theme-palenight", + "displayName": "Material Theme Palenight", + "type": "dark", + "import": (() => import('./themes/material-theme-palenight.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "min-dark", + "displayName": "Min Dark", + "type": "dark", + "import": (() => import('./themes/min-dark.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "min-light", + "displayName": "Min Light", + "type": "light", + "import": (() => import('./themes/min-light.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "monokai", + "displayName": "Monokai", + "type": "dark", + "import": (() => import('./themes/monokai.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "night-owl", + "displayName": "Night Owl", + "type": "dark", + "import": (() => import('./themes/night-owl.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "nord", + "displayName": "Nord", + "type": "dark", + "import": (() => import('./themes/nord.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "one-dark-pro", + "displayName": "One Dark Pro", + "type": "dark", + "import": (() => import('./themes/one-dark-pro.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "one-light", + "displayName": "One Light", + "type": "light", + "import": (() => import('./themes/one-light.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "plastic", + "displayName": "Plastic", + "type": "dark", + "import": (() => import('./themes/plastic.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "poimandres", + "displayName": "Poimandres", + "type": "dark", + "import": (() => import('./themes/poimandres.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "red", + "displayName": "Red", + "type": "dark", + "import": (() => import('./themes/red.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "rose-pine", + "displayName": "Rosé Pine", + "type": "dark", + "import": (() => import('./themes/rose-pine.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "rose-pine-dawn", + "displayName": "Rosé Pine Dawn", + "type": "light", + "import": (() => import('./themes/rose-pine-dawn.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "rose-pine-moon", + "displayName": "Rosé Pine Moon", + "type": "dark", + "import": (() => import('./themes/rose-pine-moon.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "slack-dark", + "displayName": "Slack Dark", + "type": "dark", + "import": (() => import('./themes/slack-dark.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "slack-ochin", + "displayName": "Slack Ochin", + "type": "light", + "import": (() => import('./themes/slack-ochin.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "snazzy-light", + "displayName": "Snazzy Light", + "type": "light", + "import": (() => import('./themes/snazzy-light.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "solarized-dark", + "displayName": "Solarized Dark", + "type": "dark", + "import": (() => import('./themes/solarized-dark.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "solarized-light", + "displayName": "Solarized Light", + "type": "light", + "import": (() => import('./themes/solarized-light.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "synthwave-84", + "displayName": "Synthwave '84", + "type": "dark", + "import": (() => import('./themes/synthwave-84.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "tokyo-night", + "displayName": "Tokyo Night", + "type": "dark", + "import": (() => import('./themes/tokyo-night.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "vesper", + "displayName": "Vesper", + "type": "dark", + "import": (() => import('./themes/vesper.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "vitesse-black", + "displayName": "Vitesse Black", + "type": "dark", + "import": (() => import('./themes/vitesse-black.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "vitesse-dark", + "displayName": "Vitesse Dark", + "type": "dark", + "import": (() => import('./themes/vitesse-dark.mjs')) as unknown as DynamicImportThemeRegistration + }, + { + "id": "vitesse-light", + "displayName": "Vitesse Light", + "type": "light", + "import": (() => import('./themes/vitesse-light.mjs')) as unknown as DynamicImportThemeRegistration + } +] + +export type BundledTheme = + | 'andromeeda' + | 'aurora-x' + | 'ayu-dark' + | 'catppuccin-frappe' + | 'catppuccin-latte' + | 'catppuccin-macchiato' + | 'catppuccin-mocha' + | 'dark-plus' + | 'dracula' + | 'dracula-soft' + | 'everforest-dark' + | 'everforest-light' + | 'github-dark' + | 'github-dark-default' + | 'github-dark-dimmed' + | 'github-dark-high-contrast' + | 'github-light' + | 'github-light-default' + | 'github-light-high-contrast' + | 'houston' + | 'laserwave' + | 'light-plus' + | 'material-theme' + | 'material-theme-darker' + | 'material-theme-lighter' + | 'material-theme-ocean' + | 'material-theme-palenight' + | 'min-dark' + | 'min-light' + | 'monokai' + | 'night-owl' + | 'nord' + | 'one-dark-pro' + | 'one-light' + | 'plastic' + | 'poimandres' + | 'red' + | 'rose-pine' + | 'rose-pine-dawn' + | 'rose-pine-moon' + | 'slack-dark' + | 'slack-ochin' + | 'snazzy-light' + | 'solarized-dark' + | 'solarized-light' + | 'synthwave-84' + | 'tokyo-night' + | 'vesper' + | 'vitesse-black' + | 'vitesse-dark' + | 'vitesse-light' + +export const bundledThemes = Object.fromEntries(bundledThemesInfo.map(i => [i.id, i.import])) as Record diff --git a/packages/shiki/test/core-sync.test.ts b/packages/shiki/test/core-sync.test.ts index 583d4e01b..6afca6624 100644 --- a/packages/shiki/test/core-sync.test.ts +++ b/packages/shiki/test/core-sync.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it } from 'vitest' -import js from '../src/assets/langs/javascript' - -import nord from '../src/assets/themes/nord' -import { createHighlighterCoreSync, createJavaScriptRegexEngine } from '../src/core' +import { createJavaScriptRegexEngine } from '../../engine-javascript/src' +import { createHighlighterCoreSync } from '../src/core' +import js from '../src/langs/javascript.mjs' +import nord from '../src/themes/nord.mjs' describe('should', () => { const engine = createJavaScriptRegexEngine() @@ -24,12 +24,12 @@ describe('should', () => { langs: [ js, // Load the grammar upfront (await outside of the function) - await import('../src/assets/langs/c').then(r => r.default), + await import('../src/langs/c.mjs').then(r => r.default), ], engine, }) - shiki.loadLanguageSync(await import('../src/assets/langs/python').then(m => m.default)) + shiki.loadLanguageSync(await import('../src/langs/python.mjs').then(m => m.default)) shiki.loadThemeSync(await import('../dist/themes/vitesse-light.mjs').then(m => m.default)) expect(shiki.getLoadedLanguages()) diff --git a/packages/shiki/test/core.test.ts b/packages/shiki/test/core.test.ts index b4585c4d9..bb351c86a 100644 --- a/packages/shiki/test/core.test.ts +++ b/packages/shiki/test/core.test.ts @@ -2,12 +2,11 @@ import { describe, expect, it } from 'vitest' // eslint-disable-next-line antfu/no-import-dist import { wasmBinary } from '../../engine-oniguruma/dist/wasm-inlined.mjs' -import js from '../src/assets/langs/javascript' -import ts from '../src/assets/langs/typescript' -import mtp from '../src/assets/themes/material-theme-palenight' -import nord from '../src/assets/themes/nord' - import { createHighlighterCore } from '../src/core' +import js from '../src/langs/javascript.mjs' +import ts from '../src/langs/typescript.mjs' +import mtp from '../src/themes/material-theme-palenight.mjs' +import nord from '../src/themes/nord.mjs' describe('should', () => { it('works', async () => { @@ -28,7 +27,7 @@ describe('should', () => { themes: [nord], langs: [ js, - import('../src/assets/langs/c'), + import('../src/langs/c.mjs'), ], loadWasm: { // https://github.com/WebAssembly/esm-integration/tree/main/proposals/esm-integration @@ -36,7 +35,7 @@ describe('should', () => { }, }) - await shiki.loadLanguage(() => import('../src/assets/langs/python')) + await shiki.loadLanguage(() => import('../src/langs/python.mjs')) await shiki.loadTheme(() => import('../dist/themes/vitesse-light.mjs').then(m => m.default)) expect(shiki.getLoadedLanguages()) @@ -65,7 +64,7 @@ describe('should', () => { const shiki = await createHighlighterCore({ themes: [nord], langs: [ - import('../src/assets/langs/cpp'), + import('../src/langs/cpp.mjs'), ], }) diff --git a/packages/shiki/test/get-highlighter.test.ts b/packages/shiki/test/get-highlighter.test.ts index af277bf21..7baa901df 100644 --- a/packages/shiki/test/get-highlighter.test.ts +++ b/packages/shiki/test/get-highlighter.test.ts @@ -1,10 +1,9 @@ import { getSingletonHighlighter } from 'shiki' import { expect, it } from 'vitest' -import js from '../src/assets/langs/javascript' -import mtp from '../src/assets/themes/material-theme-palenight' -import nord from '../src/assets/themes/nord' - import { getSingletonHighlighterCore } from '../src/core' +import js from '../src/langs/javascript.mjs' +import mtp from '../src/themes/material-theme-palenight.mjs' +import nord from '../src/themes/nord.mjs' it('getSingletonHighlighterCore', async () => { const shiki1 = await getSingletonHighlighterCore({ diff --git a/packages/shiki/test/injections.test.ts b/packages/shiki/test/injections.test.ts index c936be589..c9405e850 100644 --- a/packages/shiki/test/injections.test.ts +++ b/packages/shiki/test/injections.test.ts @@ -1,11 +1,11 @@ import { codeToHtml, createHighlighterCore } from 'shiki' import { expect, it } from 'vitest' -import angularHtml from '../src/assets/langs/angular-html' -import angularTs from '../src/assets/langs/angular-ts' -import html from '../src/assets/langs/html' -import ts from '../src/assets/langs/typescript' -import vue from '../src/assets/langs/vue' -import vl from '../src/assets/themes/vitesse-light' +import angularHtml from '../src/langs/angular-html.mjs' +import angularTs from '../src/langs/angular-ts.mjs' +import html from '../src/langs/html.mjs' +import ts from '../src/langs/typescript.mjs' +import vue from '../src/langs/vue.mjs' +import vl from '../src/themes/vitesse-light.mjs' // Basically we need to make sure that the syntax inside `v-if` and `{{}}` is highlighted correctly. // This is done by a `vue-injections` patch that injects extra grammar into HTML. diff --git a/packages/shiki/test/wasm1.test.ts b/packages/shiki/test/wasm1.test.ts index a92c2a66b..d1a2e1d98 100644 --- a/packages/shiki/test/wasm1.test.ts +++ b/packages/shiki/test/wasm1.test.ts @@ -1,11 +1,9 @@ import { expect, it } from 'vitest' // eslint-disable-next-line antfu/no-import-dist import { wasmBinary } from '../../engine-oniguruma/dist/wasm-inlined.mjs' - -import js from '../src/assets/langs/javascript' -import nord from '../src/assets/themes/nord' - import { createHighlighterCore } from '../src/core' +import js from '../src/langs/javascript.mjs' +import nord from '../src/themes/nord.mjs' it('wasm', async () => { const shiki = await createHighlighterCore({ diff --git a/packages/shiki/test/wasm2.test.ts b/packages/shiki/test/wasm2.test.ts index de7fb36de..6fae2f83c 100644 --- a/packages/shiki/test/wasm2.test.ts +++ b/packages/shiki/test/wasm2.test.ts @@ -1,11 +1,9 @@ import { expect, it } from 'vitest' // eslint-disable-next-line antfu/no-import-dist import { wasmBinary } from '../../engine-oniguruma/dist/wasm-inlined.mjs' - -import js from '../src/assets/langs/javascript' -import nord from '../src/assets/themes/nord' - import { createHighlighterCore } from '../src/core' +import js from '../src/langs/javascript.mjs' +import nord from '../src/themes/nord.mjs' it('wasm', async () => { const shiki = await createHighlighterCore({ diff --git a/packages/shiki/test/wasm3.test.ts b/packages/shiki/test/wasm3.test.ts index 99d0025c3..40f7af134 100644 --- a/packages/shiki/test/wasm3.test.ts +++ b/packages/shiki/test/wasm3.test.ts @@ -1,11 +1,9 @@ import { expect, it } from 'vitest' // eslint-disable-next-line antfu/no-import-dist import { wasmBinary } from '../../engine-oniguruma/dist/wasm-inlined.mjs' - -import js from '../src/assets/langs/javascript' -import nord from '../src/assets/themes/nord' - import { createHighlighterCore } from '../src/core' +import js from '../src/langs/javascript.mjs' +import nord from '../src/themes/nord.mjs' it('wasm', async () => { const shiki = await createHighlighterCore({ diff --git a/packages/shiki/test/wasm4.test.ts b/packages/shiki/test/wasm4.test.ts index 0f7c173f6..afd53cb7a 100644 --- a/packages/shiki/test/wasm4.test.ts +++ b/packages/shiki/test/wasm4.test.ts @@ -1,11 +1,9 @@ import { expect, it } from 'vitest' // eslint-disable-next-line antfu/no-import-dist import { wasmBinary } from '../../engine-oniguruma/dist/wasm-inlined.mjs' - -import js from '../src/assets/langs/javascript' -import nord from '../src/assets/themes/nord' - import { createHighlighterCore } from '../src/core' +import js from '../src/langs/javascript.mjs' +import nord from '../src/themes/nord.mjs' it('wasm', async () => { const shiki = await createHighlighterCore({ diff --git a/packages/shiki/test/wasm5.test.ts b/packages/shiki/test/wasm5.test.ts index c0894144b..adddf51e3 100644 --- a/packages/shiki/test/wasm5.test.ts +++ b/packages/shiki/test/wasm5.test.ts @@ -1,11 +1,9 @@ import { expect, it } from 'vitest' // eslint-disable-next-line antfu/no-import-dist import { wasmBinary } from '../../engine-oniguruma/dist/wasm-inlined.mjs' - -import js from '../src/assets/langs/javascript' -import nord from '../src/assets/themes/nord' - import { createHighlighterCore } from '../src/core' +import js from '../src/langs/javascript.mjs' +import nord from '../src/themes/nord.mjs' it('loadWasm: WebAssembly.Module', async () => { const shiki = await createHighlighterCore({ diff --git a/packages/shiki/test/wasm6.test.ts b/packages/shiki/test/wasm6.test.ts index c537e2e0e..7429ca01e 100644 --- a/packages/shiki/test/wasm6.test.ts +++ b/packages/shiki/test/wasm6.test.ts @@ -1,11 +1,9 @@ import { expect, it } from 'vitest' // eslint-disable-next-line antfu/no-import-dist import { wasmBinary } from '../../engine-oniguruma/dist/wasm-inlined.mjs' - -import js from '../src/assets/langs/javascript' -import nord from '../src/assets/themes/nord' - import { createHighlighterCore } from '../src/core' +import js from '../src/langs/javascript.mjs' +import nord from '../src/themes/nord.mjs' it('loadWasm: { default: WebAssembly.Module }', async () => { const shiki = await createHighlighterCore({ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 71ae868b7..9c792d3d4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -650,6 +650,9 @@ importers: specifier: ^3.0.4 version: 3.0.4 devDependencies: + rollup-plugin-copy: + specifier: ^3.5.0 + version: 3.5.0 tm-grammars: specifier: 'catalog:' version: 1.17.27 diff --git a/vitest.config.ts b/vitest.config.ts index aa4c384d5..6eafe2c89 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -45,7 +45,8 @@ export default defineConfig({ // Vendored code 'packages/engine-oniguruma/src/oniguruma/onig.ts', - '**/src/assets/**', + '**/src/langs/**', + '**/src/themes/**', '**/wasm-inlined.ts', // Integration packages that are hard to cover, or tested elsewhere