The
assert
module from Node.js, for the browser.
With browserify, simply require('assert')
or use the assert
global and you will get this module.
The goal is to provide an API that is as functionally identical to the Node.js assert
API as possible. Read the official docs for API documentation.
To use this module directly (without browserify), install it as a dependency:
npm install assert
If you want to avoid ambiguity whether you mean to use this library or Node.js assert
API you can
- use this library explicitly by
require(assert/)
(note the trailing/
), or - use Node.js
assert
API explicitly byrequire(node:assert)
.
Due to differences between browsers, some error properties such as message
and stack
will be inconsistent. However the assertion behaviour is as close as possible to Node.js and the same error code
will always be used.
Bundlers like webpack 5
and Vite.js
(and possibly others) don't automatically include polyfills for Node.js APIs. Like most packages on npm, this module depends on other Node.js APIs, so it won't work with these bundlers without also including a polyfill for the process
Node.js global. You can use this library to polyfill the process
global.
Note that this is not a flaw in this package - this package will work without any manual configuration with browserify
and webpack 4
and other working bundlers. Unfortunately, some bundlers decided to require an explicit allow-list of all Node.js API specific packages instead of having them work out of the box, hence the incompatibility. See browserify#55 for some more context.
To contribute, work on the source files. Then build and run the tests against the built files. Be careful to not introduce syntax that will be transpiled down to unsupported syntax. For example, for...of
loops will be transpiled to use Symbol.iterator
which is unavailable in IE.
Builds the project into the build
dir.
Watches source files for changes and rebuilds them into the build
dir.
Builds the source files into the build
dir and then runs the tests against the built project.
Runs the tests against the built project without rebuilding first.
This is useful if you're debugging in the transpiled code and want to re-run the tests without overwriting any changes you may have made.
Runs the tests against the unbuilt source files.
This will only work on modern Node.js versions.
Run browser tests against the all targets in the cloud.
Requires airtap credentials to be configured on your machine.
Run a local browser test server. No airtap configuration required.
When paired with npm run dev
any changes you make to the source files will be automatically transpiled and served on the next request to the test server.
MIT © Joyent, Inc. and other Node contributors