Skip to content

Commit 3328ad5

Browse files
committed
chore: use nullish assignment for highlighterPromise
1 parent 3d5c667 commit 3328ad5

File tree

1 file changed

+59
-61
lines changed

1 file changed

+59
-61
lines changed

server/utils/shiki.ts

Lines changed: 59 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -23,72 +23,70 @@ export async function getShikiHighlighter(): Promise<HighlighterCore> {
2323
return highlighter
2424
}
2525

26-
if (!highlighterPromise) {
27-
highlighterPromise = createHighlighterCore({
28-
themes: [
29-
import('@shikijs/themes/github-dark'),
30-
import('@shikijs/themes/github-light').then(t =>
31-
replaceThemeColors(t.default ?? t, {
32-
'#22863A': '#227436', // green
33-
'#E36209': '#BA4D02', // orange
34-
'#D73A49': '#CD3443', // red
35-
'#B31D28': '#AC222F', // red
36-
}),
37-
),
38-
],
39-
langs: [
40-
// Core web languages
41-
import('@shikijs/langs/javascript'),
42-
import('@shikijs/langs/typescript'),
43-
import('@shikijs/langs/json'),
44-
import('@shikijs/langs/jsonc'),
45-
import('@shikijs/langs/html'),
46-
import('@shikijs/langs/css'),
47-
import('@shikijs/langs/scss'),
48-
import('@shikijs/langs/less'),
26+
highlighterPromise ??= createHighlighterCore({
27+
themes: [
28+
import('@shikijs/themes/github-dark'),
29+
import('@shikijs/themes/github-light').then(t =>
30+
replaceThemeColors(t.default ?? t, {
31+
'#22863A': '#227436', // green
32+
'#E36209': '#BA4D02', // orange
33+
'#D73A49': '#CD3443', // red
34+
'#B31D28': '#AC222F', // red
35+
}),
36+
),
37+
],
38+
langs: [
39+
// Core web languages
40+
import('@shikijs/langs/javascript'),
41+
import('@shikijs/langs/typescript'),
42+
import('@shikijs/langs/json'),
43+
import('@shikijs/langs/jsonc'),
44+
import('@shikijs/langs/html'),
45+
import('@shikijs/langs/css'),
46+
import('@shikijs/langs/scss'),
47+
import('@shikijs/langs/less'),
4948

50-
// Frameworks
51-
import('@shikijs/langs/vue'),
52-
import('@shikijs/langs/jsx'),
53-
import('@shikijs/langs/tsx'),
54-
import('@shikijs/langs/svelte'),
55-
import('@shikijs/langs/astro'),
56-
import('@shikijs/langs/glimmer-js'),
57-
import('@shikijs/langs/glimmer-ts'),
49+
// Frameworks
50+
import('@shikijs/langs/vue'),
51+
import('@shikijs/langs/jsx'),
52+
import('@shikijs/langs/tsx'),
53+
import('@shikijs/langs/svelte'),
54+
import('@shikijs/langs/astro'),
55+
import('@shikijs/langs/glimmer-js'),
56+
import('@shikijs/langs/glimmer-ts'),
5857

59-
// Shell/CLI
60-
import('@shikijs/langs/bash'),
61-
import('@shikijs/langs/shell'),
58+
// Shell/CLI
59+
import('@shikijs/langs/bash'),
60+
import('@shikijs/langs/shell'),
6261

63-
// Config/Data formats
64-
import('@shikijs/langs/yaml'),
65-
import('@shikijs/langs/toml'),
66-
import('@shikijs/langs/xml'),
67-
import('@shikijs/langs/markdown'),
62+
// Config/Data formats
63+
import('@shikijs/langs/yaml'),
64+
import('@shikijs/langs/toml'),
65+
import('@shikijs/langs/xml'),
66+
import('@shikijs/langs/markdown'),
6867

69-
// Other languages
70-
import('@shikijs/langs/diff'),
71-
import('@shikijs/langs/sql'),
72-
import('@shikijs/langs/graphql'),
73-
import('@shikijs/langs/python'),
74-
import('@shikijs/langs/rust'),
75-
import('@shikijs/langs/go'),
76-
],
77-
langAlias: {
78-
gjs: 'glimmer-js',
79-
gts: 'glimmer-ts',
80-
},
81-
engine: createJavaScriptRegexEngine(),
68+
// Other languages
69+
import('@shikijs/langs/diff'),
70+
import('@shikijs/langs/sql'),
71+
import('@shikijs/langs/graphql'),
72+
import('@shikijs/langs/python'),
73+
import('@shikijs/langs/rust'),
74+
import('@shikijs/langs/go'),
75+
],
76+
langAlias: {
77+
gjs: 'glimmer-js',
78+
gts: 'glimmer-ts',
79+
},
80+
engine: createJavaScriptRegexEngine(),
81+
})
82+
.then(createdHighlighter => {
83+
highlighter = createdHighlighter
84+
return createdHighlighter
85+
})
86+
.catch(error => {
87+
highlighterPromise = null
88+
throw error
8289
})
83-
.then(createdHighlighter => {
84-
highlighter = createdHighlighter
85-
return createdHighlighter
86-
})
87-
.catch(error => {
88-
highlighterPromise = null
89-
throw error
90-
})
91-
}
9290

9391
return highlighterPromise
9492
}

0 commit comments

Comments
 (0)