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