/Knowledge/sources/honojs__hono/llms-full/webassembly-w-wasi-setup--part-04--7a6bceadf032.md
WebAssembly (w/ WASI): Setup (part 04) - hono-docs
WebAssembly (w/ WASI): Setup (part 04) Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full.txt 1 setup Summary...
WebAssembly (w/ WASI): Setup (part 04)
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#1-setup
Summary
Once you have a basic TypeScript configuration file (tsconfig.json), please ensure it has the following configuration: - compilerOptions.module set to "nodenext" Since componentize-js (and jco which re-uses it) supports only si...
Content
Once you have a basic TypeScript configuration file (tsconfig.json), please ensure it has the following configuration:
compilerOptions.moduleset to"nodenext"
Since componentize-js (and jco which re-uses it) supports only single JS files,
bundling is necessary, so [rolldown][rolldown] can be used to create a single file bundle.
A Rolldown configuration (rolldown.config.mjs) like the following can be used:
import { defineConfig } from 'rolldown'
export default defineConfig({
input: 'src/component.ts',
external: /wasi:.*/,
output: {
file: 'dist/component.js',
format: 'esm',
},
})
::: info
Feel free to use any other bundlers that you're more comfortable with (rolldown, esbuild, rollup, etc)
:::
Metadata
{
"chunk_index": 3,
"citation": "https://hono.dev/llms-full.txt#1-setup",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / WebAssembly (w/ WASI) > 1. Setup (4)",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 445,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "WebAssembly (w/ WASI): Setup (part 04)",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}