Native ESM from npm
npm install vanilla-testImport the package directly in Node. Bundlers resolve its bare imports normally; native browser ESM uses the complete import-map contract in the guide with no build step.
Read the import-map contract →JavaScript · Node + browser
Write a standards-only suite once and run it unchanged in Node.js and the browser. vanilla-test works with bundlers and without a bundler. No transpiler, source rewrite, or browser shim sits between the test and the runtime.
npm install vanilla-testImport the package directly in Node. Bundlers resolve its bare imports normally; native browser ESM uses the complete import-map contract in the guide with no build step.
Read the import-map contract →The core returns an immutable result. A Node adapter maps it to an exit status; a browser adapter renders or records it. Host policy never leaks into the shared test source.
See complete adapters →JavaScript documentation
These pages are the canonical detailed JavaScript documentation. Rust and C# selectors remain available from every paired page.
Install, write the shared suite, and run Node plus Chrome.
Open guide →Complete browser, Node, async, failure, and type-check patterns.
Open examples →Lifecycle, result, errors, completion events, and validators.
Open API →Independent native V8 reports and gates for Node and Chrome.
Open coverage →Shared-core, tooling, package, and browser evidence.
Open testing →Raw samples, source, machine provenance, and reproducible commands.
Open benchmarks →