Thin wrapper over the ipk-loaded @biomejs/wasm-web.

Synopsis

biome <subcommand> [options] [files...]

echo "code" | biome <subcommand> --stdin-file-path <path>

Description

Lints and formats JavaScript/TypeScript using whichever @biomejs/wasm-web version is installed in the nearest node_modules via ipk (see man ipk).

Subcommands

check Lint + format check together.

format Print formatted output to stdout (or write with --write).

Flags

--write Write formatted output back to disk (format / check).

--stdin-file-path <path> Virtual file path for stdin mode.

-h, --help Show this help.

-v, --version Show installed @biomejs/wasm-web version.

Install

Inert until the backing packages are installed in node_modules:

$ ipk add @biomejs/wasm-web@2.5.1 @biomejs/js-api@6.0.0 esbuild-wasm@0.28.1

All three packages must be present — loading the wasm-web ESM glue also needs the esbuild-wasm transpiler. There is no bundled binary and no CDN fallback.

Examples

$ biome format --write greet-src.jsh

Format a file in place. If biome reports "no lintable files found" for a .jsh path, biome does not recognize the extension — use the stdin form below or a temporary .js-suffixed copy instead.

$ cat greet-src.jsh | biome format --stdin-file-path=greet-src.js

Format .jsh content by giving biome a virtual .js path so it knows how to parse the input, without needing an actual .js file on disk.

$ cp greet-src.jsh /tmp/greet-src.js && biome check /tmp/greet-src.js

Lint + format-check via a real .js-suffixed copy — reports file is not formatted (run with --write to fix) if it differs from biome's formatting.

Notes

Biome's file-type detection is extension-based and does not know about .jsh. Always route .jsh content through --stdin-file-path=<name>.js (stdin mode) or a temporary .js copy — passing a .jsh path directly yields "no lintable files found" with no further explanation.

See Also

ipk, esbuild, tsc, jsh, node, commands