diff --git a/package.json b/package.json index 0c6f4f21..f8a20bff 100644 --- a/package.json +++ b/package.json @@ -92,8 +92,8 @@ "lint-staged": "^15.2.0", "monaco-editor-core": "^0.45.0", "prettier": "^3.1.1", - "shikiji": "^0.9.17", - "shikiji-monaco": "^0.9.17", + "shiki": "^1.0.0-rc.0", + "@shikijs/monaco": "^1.0.0-rc.0", "simple-git-hooks": "^2.9.0", "sucrase": "^3.35.0", "typescript": "^5.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e893fcb9..d133c222 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ devDependencies: '@rollup/plugin-replace': specifier: ^5.0.5 version: 5.0.5 + '@shikijs/monaco': + specifier: ^1.0.0-rc.0 + version: 1.0.0-rc.0 '@types/codemirror': specifier: ^5.60.15 version: 5.60.15 @@ -68,12 +71,9 @@ devDependencies: prettier: specifier: ^3.1.1 version: 3.1.1 - shikiji: - specifier: ^0.9.17 - version: 0.9.17 - shikiji-monaco: - specifier: ^0.9.17 - version: 0.9.17 + shiki: + specifier: ^1.0.0-rc.0 + version: 1.0.0-rc.0 simple-git-hooks: specifier: ^2.9.0 version: 2.9.0 @@ -724,6 +724,16 @@ packages: string-argv: 0.3.2 dev: true + /@shikijs/core@1.0.0-rc.0: + resolution: {integrity: sha512-j/7te+hvEYlQTvk/wPoA+1rOklZTz8QuyqVvV81KcEN/g1WXKVnqp9WZ7jFuv0ZVLqBtDx/V8viRDROJniyMLA==} + dev: true + + /@shikijs/monaco@1.0.0-rc.0: + resolution: {integrity: sha512-vR10MkTN2jUVqauSGm1lZwmoemjKbqINzkmuGVjSL6SpPMdaXEzN0aX48Wok20n2TWStDAbcTDiCXMcL9DItzw==} + dependencies: + '@shikijs/core': 1.0.0-rc.0 + dev: true + /@types/argparse@1.0.38: resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} dev: true @@ -3041,20 +3051,10 @@ packages: engines: {node: '>=8'} dev: true - /shikiji-core@0.9.17: - resolution: {integrity: sha512-r1FWTXk6SO2aYqfWgcsJ11MuVQ1ymPSdXzJjK7q8EXuyqu8yc2N5qrQy5+BL6gTVOaF4yLjbxFjF+KTRM1Sp8Q==} - dev: true - - /shikiji-monaco@0.9.17: - resolution: {integrity: sha512-5HLHQSLtg8QdOU+dkLxIiWovkqqKacYLuuJtVMYBayviZKTTBdY9IxvUSFq0Maj/LDC2OI0HEEs51DqwPSCRow==} - dependencies: - shikiji-core: 0.9.17 - dev: true - - /shikiji@0.9.17: - resolution: {integrity: sha512-0z/1NfkhBkm3ijrfFeHg3G9yDNuHhXdAGbQm7tRxj4WQ5z2y0XDbnagFyKyuV2ebCTS1Mwy1I3n0Fzcc/4xdmw==} + /shiki@1.0.0-rc.0: + resolution: {integrity: sha512-aeEjERF5qeK+YChgEv94LOjcEcjZBLd0acPaHginz0N8FvyTn2iSLhO0AtoqfvlZ8cWGCJRKLWtDApnQVQB6/Q==} dependencies: - shikiji-core: 0.9.17 + '@shikijs/core': 1.0.0-rc.0 dev: true /signal-exit@3.0.7: diff --git a/src/monaco/highlight.ts b/src/monaco/highlight.ts index f63fda0d..80f31473 100644 --- a/src/monaco/highlight.ts +++ b/src/monaco/highlight.ts @@ -1,20 +1,19 @@ import * as monaco from 'monaco-editor-core' -import { getHighlighterCore } from 'shikiji/core' -import { getWasmInlined } from 'shikiji/wasm' -import { shikijiToMonaco } from 'shikiji-monaco' +import { getHighlighterCore } from 'shiki/core' +import { shikiToMonaco } from '@shikijs/monaco' -import langVue from 'shikiji/langs/vue.mjs' -import themeDark from 'shikiji/themes/dark-plus.mjs' -import themeLight from 'shikiji/themes/light-plus.mjs' +import langVue from 'shiki/langs/vue.mjs' +import themeDark from 'shiki/themes/dark-plus.mjs' +import themeLight from 'shiki/themes/light-plus.mjs' export async function registerHighlighter() { const highlighter = await getHighlighterCore({ themes: [themeDark, themeLight], langs: [langVue], - loadWasm: getWasmInlined, + loadWasm: import('shiki/wasm'), }) monaco.languages.register({ id: 'vue' }) - shikijiToMonaco(highlighter, monaco) + shikiToMonaco(highlighter, monaco) return { light: themeLight.name!, dark: themeDark.name!,