The .tap Folder
tl;dr - Tap puts stuff in
.tap. It's probably best to
.tap folder is used to store various things that tap uses.
Every process that is spawned in the course of running tests is
assigned a UUID and information about it is stored for later
analysis. This is used by tap to be able to know which tests need
to be re-run when you do
tap --changed, for example.
The data is created by
Each of the files in this folder have a filename corresponding to
the uuid, and contain a JSON-encoded
These nodes have a
parent fields, creating a tree
structure of processes. You can explore the tree by using the
command in the REPL.
TAP> i test/config.ts test/config.ts: date: 2023-10-05T22:58:15.094Z command: /usr/local/bin/node args: - --import=file:///Users/isaacs/dev/tapjs/tapjs/node_modules/@tapjs/mock/dist/esm/import.mjs - --loader=file:///Users/isaacs/dev/tapjs/tapjs/node_modules/ts-node/esm.mjs - --no-warnings - --enable-source-maps - --import=file:///Users/isaacs/dev/tapjs/tapjs/node_modules/@tapjs/processinfo/dist/esm/import.mjs - /Users/isaacs/dev/tapjs/tapjs/src/run/test/config.ts cwd: /Users/isaacs/dev/tapjs/tapjs/src/run pid: 93041 ppid: 93003 code: 0 runtime: 3737.6802079999998 TAP> i 686a4eb3-e82f-4b6b-b365-2c38195776f9 686a4eb3-e82f-4b6b-b365-2c38195776f9: date: 2023-10-05T22:58:31.447Z command: /usr/local/bin/node args: - /Users/isaacs/dev/tapjs/tapjs/src/run/dist/esm/index.js - blah.test.js cwd: /Users/isaacs/dev/tapjs/tapjs/src/run/.tap/fixtures/test-run.ts-fail-to-find-all-named-test-files pid: 93259 ppid: 93149 parent: ee929bda-9b80-43af-a5d7-da233c1f80f9 code: 1 runtime: 490.024416
The coverage generated by each test process is stored to this
folder, with a
<uuid>.json filename corresponding to the file
for the process in
These are V8 coverage dump files, with a
attached to be able to turn V8's byte-offset-based coverage
reporting into line/column reporting used by the istanbul
It's the same format used by the
but limited only to the files in your program that you've opted
to provide coverage for, instead of everything in
node_modules and node's built-in modules. You can use this
folder as an argument to any other program that knows how to
interpret this format, or put coverage files in this folder and
tap will include them in its coverage reporting.
When generating coverage reports, the files generated go in here.
||no file generated, just writes to terminal|
This is the folder where the
plugin puts its test fixture files.
Whenever tests are run, the raw TAP output is
saved to this folder. This is what the
tap replay command uses to replay the
results of the previous test run.
Ignoring or Saving#
There's little harm in exposing the
.tap folder, as the only
sensitive data it typically contains (other than your code
itself) is file and folder paths.
However, becuase it does contain file and folder paths, it's
system specific, and generally not something you'd want to check
into source control, so I recommend adding
/.tap to your