@tapjs
Workspace for node-tap development.
Do this at least once to get everything set up and ready to go:
npm run bootstrap
(Note: npm install
will not work until you do this, because
the generated TypeScript eats its own tail.)
Build the test class (required after any plugin or core changes):
npm run build
Any other builds:
npm run prepare -w src/{whatever}
After adding or removing workspaces:
npm i
Run all tests in all workspaces:
npm test
Run all tests, saving snapshots:
npm run snap
Build and serve docs:
npm start
@tapjs/core
@tapjs/test
Test
class.@tapjs/config
@tapjs/run
@tapjs/asserts
methods).@tapjs/stack
stack-utils
.@tapjs/processinfo
@tapjs/typescript
--typecheck
config option@tapjs/before
t.before()
@tapjs/before-each
t.beforeEach()
@tapjs/after
t.after()
and t.teardown()
(which are the same thing@tapjs/after-each
t.afterEach()
@tapjs/spawn
t.spawn()
@tapjs/stdin
t.stdin()
@tapjs/asserts
t.equal()
,t.match()
, etc.@tapjs/snapshot
t.matchSnapshot()
@tapjs/fixture
t.testdir()
features@tapjs/mock
t.mockRequire()
and t.mockImport()
@tapjs/intercept
t.intercept()
and t.capture()
functionality (sort of@tapjs/sinon
plugin.)@tapjs/filter
t.only()
and support for the --grep
and --only
cli@tapjs/nock
t.nock()
method (descendent of@npmjs/tap-nock
, and a significant inspiration for tap's@tapjs/clock
t.clock
@tapjs/sinon
t.sinon
that automatically restores at the end@tapjs/esbuild-kit
@esbuild-kit/cjs-loader
@esbuild-kit/esm-loader
ts-node
.npm init
packages. This@tapjs/create-plugin
npm init
library facilitating npm init @tapjs/plugin
skipLibCheck
Run npm run bootstrap
to build the @tapjs/test
module with
the default set of plugins, so that the other libraries can build
properly. (This only has to be done once, unless the build script
or set of default plugins are changed, of course.)
Because there's a bootstrapping cycle between @tapjs/core
,
@tapjs/test
, and all of the plugins, they MUST use
skipLibCheck: true
in their tsconfigs. It should not be used in
other packages.