Skip to content

Commit 83a88c7

Browse files
committed
Debump to shiki@2
1 parent 8dfbb11 commit 83a88c7

3 files changed

Lines changed: 107 additions & 98 deletions

File tree

package-lock.json

Lines changed: 88 additions & 86 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/bundle/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@
7777
"3.0.2",
7878
"needs to bump manually"
7979
],
80+
"shiki": [
81+
"2",
82+
"tsd is complaining about shiki@3 lack of typing for named exports, https://arethetypeswrong.github.io/?p=shiki%403.9.1 says the same thing"
83+
],
8084
"swiper": [
8185
"^8.2.6",
8286
"required by Adaptive Cards but they forget to include in adaptivecards@3.0.2"
@@ -107,7 +111,7 @@
107111
"prop-types": "15.8.1",
108112
"punycode": "2.3.1",
109113
"sanitize-html": "2.17.0",
110-
"shiki": "3.9.0",
114+
"shiki": "2.5.0",
111115
"swiper": "8.4.7",
112116
"url-search-params-polyfill": "8.2.5",
113117
"use-ref-from": "0.1.0",

packages/bundle/src/codeHighlighter/shiki.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
// `shiki/core` entry does not include any themes or languages or the wasm binary.
2-
import { createHighlighterCore, type ThemeRegistrationRaw } from 'shiki/core';
3-
import { createJavaScriptRegexEngine } from 'shiki/engine-javascript.mjs';
2+
import { createHighlighterCore, type DynamicImportThemeRegistration, type ThemeRegistration } from 'shiki/core';
3+
import { createJavaScriptRegexEngine } from 'shiki/engine/javascript';
44

55
// directly import the theme and language modules, only the ones you imported will be bundled.
6-
import themeGitHubDark from 'shiki/themes/github-dark-default.mjs';
7-
import themeGitHubLight from 'shiki/themes/github-light-default.mjs';
86

9-
import languageJavaScript from 'shiki/langs/js.mjs';
10-
import languagePython from 'shiki/langs/py.mjs';
11-
import languageTypeScript from 'shiki/langs/ts.mjs';
7+
// TODO: [P*] Check if this hurts tree shaking.
8+
import { bundledLanguages } from 'shiki/langs';
9+
import { bundledThemes } from 'shiki/themes';
10+
11+
async function adjustTheme(getTheme: DynamicImportThemeRegistration): Promise<ThemeRegistration> {
12+
const { default: theme } = await getTheme();
1213

13-
function addjustTheme(theme: ThemeRegistrationRaw): ThemeRegistrationRaw {
1414
return {
1515
...theme,
1616
colors: {
@@ -20,10 +20,13 @@ function addjustTheme(theme: ThemeRegistrationRaw): ThemeRegistrationRaw {
2020
};
2121
}
2222

23-
function createHighlighter() {
23+
async function createHighlighter() {
2424
return createHighlighterCore({
25-
themes: [addjustTheme(themeGitHubDark), addjustTheme(themeGitHubLight)],
26-
langs: [languageJavaScript, languagePython, languageTypeScript],
25+
themes: [
26+
await adjustTheme(bundledThemes['github-dark-default']),
27+
await adjustTheme(bundledThemes['github-light-default'])
28+
],
29+
langs: [bundledLanguages.javascript, bundledLanguages.python, bundledLanguages.typescript],
2730
engine: createJavaScriptRegexEngine()
2831
});
2932
}

0 commit comments

Comments
 (0)