Jordan Eldredge

Can’t use Shiki (and likely other Wasm-based tools) in Next 13 server components

|

It seems Next 13 bundles server code using Webpack. This does not play well with Shiki which uses require.resolve to locate a Wasm file in a sibling package and pull it in via fs.readFileSync. I suspect many Wasm based packages end up needing to do something like this, since Node does not offer a first-class way to require binary Wasm code.

The error it throws is:

error - unhandledRejection: Error: ENOENT: no such file or directory, open
'(sc_server)/node_modules/vscode-oniguruma/release/onig.wasm

Update Nov. 14th 2014: It looks like GitHub user pengx17 has found a solution here for there blog: https://github.com/shikijs/shiki/pull/358#issuecomment-1294413167 the full stack of commits are here. I’m working on adapting this for my blog.