Skip to content

Commit ac64564

Browse files
committed
fixup! fixup! conditional js engine
1 parent c479aa9 commit ac64564

File tree

5 files changed

+20
-43
lines changed

5 files changed

+20
-43
lines changed

apps/site/open-next.config.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,4 @@ import incrementalCache from '@opennextjs/cloudflare/overrides/incremental-cache
33

44
const cloudflareConfig = defineCloudflareConfig({ incrementalCache });
55

6-
export default {
7-
...cloudflareConfig,
8-
buildCommand: 'pnpm exec cross-env CF=true pnpm build:default',
9-
};
6+
export default { ...cloudflareConfig, buildCommand: 'pnpm build:default' };

packages/rehype-shiki/eslint.config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import globals from 'globals';
2-
31
import baseConfig from '../../eslint.config.js';
42

53
export default [
@@ -11,7 +9,9 @@ export default [
119
// and top-level await
1210
ecmaVersion: 'latest',
1311
},
14-
globals: globals.nodeBuiltin,
12+
globals: {
13+
WebAssembly: 'readonly',
14+
},
1515
},
1616
rules: {
1717
// Shiki's export isn't named, it's a re-export

packages/rehype-shiki/package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,5 @@
2020
"hast-util-to-string": "^3.0.1",
2121
"shiki": "~3.4.2",
2222
"unist-util-visit": "^5.0.0"
23-
},
24-
"devDependencies": {
25-
"globals": "^16.2.0"
2623
}
2724
}

packages/rehype-shiki/src/index.mjs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { createJavaScriptRegexEngine } from '@shikijs/engine-javascript';
21
import { createOnigurumaEngine } from '@shikijs/engine-oniguruma';
2+
import { wasmBinary } from '@shikijs/engine-oniguruma/wasm-inlined';
33
import cLanguage from 'shiki/langs/c.mjs';
44
import coffeeScriptLanguage from 'shiki/langs/coffeescript.mjs';
55
import cPlusPlusLanguage from 'shiki/langs/cpp.mjs';
@@ -21,14 +21,13 @@ const { shiki, getLanguageDisplayName, highlightToHast, highlightToHtml } =
2121
createHighlighter({
2222
// On the server, we use the faster (but less web-optimized) WASM engine
2323
//
24-
// TODO(@avivkeller): This engine is not currently supported on OpenNext.
25-
// If/when OpenNext supports `WebAssembly.instantiate`, we should switch
26-
// this.
27-
//
28-
// See: https://github.com/opennextjs/opennextjs-cloudflare/blob/main/packages/cloudflare/src/cli/build/patches/plugins/wrangler-external.ts#L30
29-
engine: process?.env.CF
30-
? createJavaScriptRegexEngine()
31-
: await createOnigurumaEngine(import('shiki/wasm')),
24+
// TODO(@avivkeller): `shiki/wasm` is not supported in OpenNext, so we
25+
// manually instantiate the binary.
26+
engine: await createOnigurumaEngine(imports =>
27+
WebAssembly.instantiate(new WebAssembly.Module(wasmBinary), imports).then(
28+
wasm => wasm.exports
29+
)
30+
),
3231
langs: [
3332
...cLanguage,
3433
...coffeeScriptLanguage,

pnpm-lock.yaml

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

0 commit comments

Comments
 (0)