Skip to content

Commit cf5e582

Browse files
committedFeb 18, 2025·
perf(devtools): optimize shiki bundle size
1 parent 467a278 commit cf5e582

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed
 

Diff for: ‎client/composables/shiki.ts

+10-15
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,29 @@
1-
import type { Highlighter, Lang } from 'shiki'
2-
import { getHighlighter } from 'shiki'
1+
import type { HighlighterCore } from 'shiki'
2+
import { createHighlighterCore } from 'shiki/core'
3+
import { createJavaScriptRegexEngine } from 'shiki/engine/javascript'
34
import { computed, ref, toValue } from 'vue'
45
import type { MaybeRef } from '@vueuse/core'
56
import { devtools } from './rpc'
67

7-
export const shiki = ref<Highlighter>()
8+
export const shiki = ref<HighlighterCore>()
89

910
export function loadShiki() {
1011
// Only loading when needed
11-
return getHighlighter({
12+
return createHighlighterCore({
1213
themes: [
13-
'vitesse-dark',
14-
'vitesse-light',
14+
import('@shikijs/themes/vitesse-light'),
15+
import('@shikijs/themes/vitesse-dark'),
1516
],
1617
langs: [
17-
'css',
18-
'javascript',
19-
'typescript',
20-
'html',
21-
'vue',
22-
'vue-html',
23-
'bash',
24-
'diff',
18+
import('@shikijs/langs/json'),
2519
],
20+
engine: createJavaScriptRegexEngine(),
2621
}).then((i) => {
2722
shiki.value = i
2823
})
2924
}
3025

31-
export function renderCodeHighlight(code: MaybeRef<string>, lang?: Lang) {
26+
export function renderCodeHighlight(code: MaybeRef<string>, lang: 'json') {
3227
return computed(() => {
3328
const colorMode = devtools.value?.colorMode || 'light'
3429
return shiki.value!.codeToHtml(toValue(code), {

0 commit comments

Comments
 (0)
Please sign in to comment.