multi-tape 1.8.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -1,21 +1,25 @@
1
1
  # Agent Steering Rules
2
2
 
3
+ ## git commands
4
+
5
+ Always pass a --no-pager option to git, e.g. run `git --no-pager diff`.
6
+
3
7
  ## Changelog Maintenance
4
8
 
5
- When making changes to the codebase, always update the `Changelog.md` file to reflect the modifications:
6
-
7
- - Add new entries under the `## [Unreleased]` section
8
- - Follow the [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) format
9
- - Use these categories as appropriate:
10
- - `### Features` - for new features
11
- - `### Fixes` - for bug fixes
12
- - `### Breaking Changes` - for breaking API changes
13
- - `### Deprecated` - for soon-to-be removed features
14
- - `### Removed` - for removed features
15
- - `### Security` - for security fixes
16
- - Use bullet points starting with `-` for each change
17
- - Keep descriptions concise but clear
18
- - When a version is released, the maintainer will move unreleased items to a dated version section
9
+ When making changes to the codebase, always update the `CHANGELOG.md` file to reflect the modifications:
10
+
11
+ - Add new entries under the `## [Unreleased]` section
12
+ - Follow the [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) format
13
+ - Use these categories as appropriate:
14
+ - `### Features` - for new features
15
+ - `### Fixes` - for bug fixes
16
+ - `### Breaking Changes` - for breaking API changes
17
+ - `### Deprecated` - for soon-to-be removed features
18
+ - `### Removed` - for removed features
19
+ - `### Security` - for security fixes
20
+ - Use bullet points starting with `-` for each change
21
+ - Keep descriptions concise but clear
22
+ - When a version is released, the maintainer will move unreleased items to a dated version section
19
23
 
20
24
  Example entry:
21
25
 
@@ -24,11 +28,11 @@ Example entry:
24
28
 
25
29
  ### Features
26
30
 
27
- - Add new --parallel option for concurrent test execution
31
+ - Add new --parallel option for concurrent test execution
28
32
 
29
33
  ### Fixes
30
34
 
31
- - Fix race condition in test output handling
35
+ - Fix race condition in test output handling
32
36
  ```
33
37
 
34
38
  ## Making a release
package/CHANGELOG.md CHANGED
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.10.0] 2025-11-15
11
+
12
+ ### Features
13
+
14
+ - Show output file name for failing tests when using -o option
15
+ - Add -O option to specify output directory for tap files
16
+
17
+ ## [1.9.0] 2025-11-14
18
+
19
+ ### Features
20
+
21
+ - Add -e option for errors-only mode that only prints output from failing tests plus the summary
22
+ - Show help message when run without arguments
23
+
10
24
  ## [1.8.0] 2025-11-14
11
25
 
12
26
  ### Features
package/README.md CHANGED
@@ -35,6 +35,9 @@ with output sent to stdout and print a summary at the end
35
35
  of the test-file with '.tap' appended. The result will still be printed to
36
36
  STDOUT.
37
37
 
38
+ - -O <dir> send output to a specified directory. For example, `-O tapFiles/` will
39
+ write the output for `build/test/test-file.js` to `tapFiles/build/test/test-file.js.tap`.
40
+
38
41
  - --node-arg=--opt Send an option to node when invoking the test-file. Can be
39
42
  used more than once.
40
43
 
@@ -52,6 +55,9 @@ with output sent to stdout and print a summary at the end
52
55
  succeeded and which failed. Can be combined with -o to write output to files
53
56
  without printing to stdout.
54
57
 
58
+ - -e Errors-only mode. Only prints output from failing tests, plus the summary at the end.
59
+ Useful for CI environments where you only want to see failures.
60
+
55
61
  - --controller="command with parameters" Run a command before starting the tests. Wait for the command to print something on stdout before starting the tests. Kill the command when all tests are done.
56
62
 
57
63
  ## Exit code
package/build/index.js CHANGED
@@ -17,7 +17,11 @@ const child_process_1 = require("child_process");
17
17
  const glob_1 = require("./lib/glob");
18
18
  const run_test_1 = require("./lib/run-test");
19
19
  const minimist_1 = __importDefault(require("minimist"));
20
- const argv = (0, minimist_1.default)(process.argv.slice(2), { boolean: ['o', 'j', 'q'], default: { p: 1, t: 0 } });
20
+ const argv = (0, minimist_1.default)(process.argv.slice(2), {
21
+ boolean: ['o', 'j', 'q', 'e'],
22
+ string: ['O'],
23
+ default: { p: 1, t: 0 },
24
+ });
21
25
  const results = new Map();
22
26
  const nodeArgs = new Array();
23
27
  if (argv['node-arg']) {
@@ -28,7 +32,37 @@ if (argv['node-arg']) {
28
32
  nodeArgs.push(argv['node-arg']);
29
33
  }
30
34
  }
35
+ function printHelp() {
36
+ console.log(`
37
+ multi-tape - Run tape tests in multiple files
38
+
39
+ Usage: multi-tape [options] <test-files...>
40
+
41
+ Options:
42
+ -o Send output to one file per test-file (.tap extension)
43
+ -O <dir> Send output to directory (e.g., -O tapFiles/)
44
+ --node-arg=<arg> Pass an option to node (can be used multiple times)
45
+ -p=<N> Run N tests in parallel (default: 1)
46
+ -j Generate JUnit XML output (.xml extension)
47
+ -t <ms> Timeout in milliseconds for each test file
48
+ -q Quiet mode - only show test results as they complete
49
+ -e Errors-only mode - only show output from failing tests
50
+ --controller=<cmd> Run a command before tests, kill it when done
51
+
52
+ Examples:
53
+ multi-tape test/*.js
54
+ multi-tape -p 4 test/*.js
55
+ multi-tape -e -p 2 test/*.js
56
+ multi-tape -o test/*.js
57
+
58
+ For more information, visit: https://github.com/mattiash/node-multi-tape
59
+ `);
60
+ }
31
61
  const files = (0, glob_1.globArgs)(argv._).sort();
62
+ if (files.length === 0) {
63
+ printHelp();
64
+ process.exit(0);
65
+ }
32
66
  const inProgress = new Set();
33
67
  const aborted = new Set();
34
68
  function printInProgress() {
@@ -42,11 +76,17 @@ function printTestResult(file, res) {
42
76
  if (exitCode === 0 && r.ok) {
43
77
  console.log(`OK ${file} (${timeStr}) ${r.pass}/${r.count}`);
44
78
  }
45
- else if (!r.ok) {
46
- console.log(`FAIL ${file} (${timeStr}) ${r.pass || 0}/${r.count || 0}`);
47
- }
48
79
  else {
49
- console.log(`FAIL ${file} exited with error ${exitCode}`);
80
+ if (!r.ok) {
81
+ console.log(`FAIL ${file} (${timeStr}) ${r.pass || 0}/${r.count || 0}`);
82
+ }
83
+ else {
84
+ console.log(`FAIL ${file} exited with error ${exitCode}`);
85
+ }
86
+ if (argv.o || argv.O) {
87
+ const tapFile = argv.O ? `${argv.O}${file}.tap` : `${file}.tap`;
88
+ console.log(` See ${tapFile}`);
89
+ }
50
90
  }
51
91
  }
52
92
  function thread() {
@@ -54,7 +94,7 @@ function thread() {
54
94
  let file;
55
95
  while ((file = files.shift())) {
56
96
  inProgress.add(file);
57
- const result = yield (0, run_test_1.runTest)(file, nodeArgs, argv.p === 1, argv.o, argv.j, argv.t, argv.q);
97
+ const result = yield (0, run_test_1.runTest)(file, nodeArgs, argv.p === 1, argv.o || !!argv.O, argv.j, argv.t, argv.q, argv.e, argv.O);
58
98
  inProgress.delete(file);
59
99
  results.set(file, result);
60
100
  if (argv.q) {
@@ -75,14 +115,14 @@ function run() {
75
115
  stdio: ['ignore', 'pipe', 'pipe'],
76
116
  });
77
117
  (_a = controller.stdout) === null || _a === void 0 ? void 0 : _a.on('data', (data) => {
78
- if (!argv.q) {
118
+ if (!argv.q && !argv.e) {
79
119
  console.log(`controller: ${data}`);
80
120
  }
81
121
  controllerRunning = true;
82
122
  resolve();
83
123
  });
84
124
  (_b = controller.stderr) === null || _b === void 0 ? void 0 : _b.on('data', (data) => {
85
- if (!argv.q) {
125
+ if (!argv.q && !argv.e) {
86
126
  console.error(`controller: ${data}`);
87
127
  }
88
128
  });
@@ -97,7 +137,7 @@ function run() {
97
137
  }
98
138
  yield Promise.all(new Array(argv.p).fill(0).map(() => thread()));
99
139
  if (controller && controllerRunning) {
100
- if (!argv.q) {
140
+ if (!argv.q && !argv.e) {
101
141
  console.log('controller: stopping');
102
142
  }
103
143
  controller.once('close', () => printSummary());
@@ -144,4 +184,4 @@ if (process.env.MT_DEBUG_INTERVAL) {
144
184
  }, parseInt(process.env.MT_DEBUG_INTERVAL)).unref();
145
185
  }
146
186
  void run();
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFFQSxpREFBcUM7QUFDckMscUNBQXFDO0FBQ3JDLDZDQUFnRDtBQUNoRCx3REFBZ0M7QUFFaEMsTUFBTSxJQUFJLEdBQUcsSUFBQSxrQkFBUyxFQU1uQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBRWhGLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO0FBRXpDLE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUE7QUFFcEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUNuQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFDdEMsQ0FBQztTQUFNLENBQUM7UUFDSixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQ25DLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBQSxlQUFRLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0FBQ3JDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUE7QUFFcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtBQUVqQyxTQUFTLGVBQWU7SUFDcEIsVUFB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
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFFQSxpREFBcUM7QUFDckMscUNBQXFDO0FBQ3JDLDZDQUFnRDtBQUNoRCx3REFBZ0M7QUFFaEMsTUFBTSxJQUFJLEdBQUcsSUFBQSxrQkFBUyxFQVFuQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7SUFDN0IsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQ2IsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO0NBQzFCLENBQUMsQ0FBQTtBQUVGLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO0FBRXpDLE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUE7QUFFcEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUNuQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFDdEMsQ0FBQztTQUFNLENBQUM7UUFDSixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQ25DLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxTQUFTO0lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F1QmYsQ0FBQyxDQUFBO0FBQ0YsQ0FBQztBQUVELE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDLENB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
@@ -4,4 +4,4 @@ export interface Result {
4
4
  executionTime: number;
5
5
  result: FinalResults;
6
6
  }
7
- export declare function runTest(filename: string, nodeArgs: string[], logConsole: boolean, outputToFile: boolean, junitOutput: boolean, timeout: number, quiet?: boolean): Promise<Result>;
7
+ export declare function runTest(filename: string, nodeArgs: string[], logConsole: boolean, outputToFile: boolean, junitOutput: boolean, timeout: number, quiet?: boolean, errorsOnly?: boolean, outputDir?: string): Promise<Result>;
@@ -48,9 +48,10 @@ const tee = require('tee');
48
48
  const streams = __importStar(require("stream-buffers"));
49
49
  const child_process_1 = require("child_process");
50
50
  const fs_1 = require("fs");
51
+ const promises_1 = require("node:fs/promises");
51
52
  const path_1 = require("path");
52
53
  function runTest(filename_1, nodeArgs_1, logConsole_1, outputToFile_1, junitOutput_1, timeout_1) {
53
- return __awaiter(this, arguments, void 0, function* (filename, nodeArgs, logConsole, outputToFile, junitOutput, timeout, quiet = false) {
54
+ return __awaiter(this, arguments, void 0, function* (filename, nodeArgs, logConsole, outputToFile, junitOutput, timeout, quiet = false, errorsOnly = false, outputDir) {
54
55
  const extraEnv = {};
55
56
  if (junitOutput) {
56
57
  extraEnv.PT_XUNIT_FILE = filename + '.xml';
@@ -80,17 +81,28 @@ function runTest(filename_1, nodeArgs_1, logConsole_1, outputToFile_1, junitOutp
80
81
  resolve({ exitCode, signal });
81
82
  });
82
83
  });
83
- const output = logConsole && !quiet
84
+ const output = logConsole && !quiet && !errorsOnly
84
85
  ? process.stdout
85
86
  : new streams.WritableStreamBuffer();
86
- if (!quiet) {
87
+ if (!quiet && !errorsOnly) {
87
88
  output.write(`\n#\n# ${filename}\n#\n`);
88
89
  }
90
+ else if (errorsOnly) {
91
+ output.write(`\n#\n# ${filename}\n#\n`);
92
+ }
93
+ if (outputToFile && outputDir) {
94
+ const tapFilename = `${outputDir}${filename}.tap`;
95
+ const tapDir = (0, path_1.dirname)(tapFilename);
96
+ yield (0, promises_1.mkdir)(tapDir, { recursive: true });
97
+ }
89
98
  const parsed = new Promise((resolve) => {
90
99
  const p = new tap_parser_1.Parser(resolve);
91
100
  if (outputToFile) {
101
+ const tapFilename = outputDir
102
+ ? `${outputDir}${filename}.tap`
103
+ : `${filename}.tap`;
92
104
  proc.stdout
93
- .pipe(tee(p, (0, fs_1.createWriteStream)(filename + '.tap')))
105
+ .pipe(tee(p, (0, fs_1.createWriteStream)(tapFilename)))
94
106
  .pipe(output);
95
107
  }
96
108
  else {
@@ -106,7 +118,9 @@ function runTest(filename_1, nodeArgs_1, logConsole_1, outputToFile_1, junitOutp
106
118
  if (aborted) {
107
119
  exitCode = exitCode || 1;
108
120
  }
109
- if (!logConsole && !quiet) {
121
+ const shouldPrintOutput = (!logConsole && !quiet && !errorsOnly) ||
122
+ (errorsOnly && (exitCode !== 0 || !result.ok));
123
+ if (shouldPrintOutput) {
110
124
  const lines = output.getContentsAsString('utf8');
111
125
  if (lines) {
112
126
  for (const line of lines.split('\n')) {
@@ -114,7 +128,10 @@ function runTest(filename_1, nodeArgs_1, logConsole_1, outputToFile_1, junitOutp
114
128
  }
115
129
  }
116
130
  }
117
- if (signal) {
131
+ if (signal && !quiet && !errorsOnly) {
132
+ console.log(`${filename} exited with signal ${signal}`);
133
+ }
134
+ else if (signal && errorsOnly && (exitCode !== 0 || !result.ok)) {
118
135
  console.log(`${filename} exited with signal ${signal}`);
119
136
  }
120
137
  return {
@@ -124,4 +141,4 @@ function runTest(filename_1, nodeArgs_1, logConsole_1, outputToFile_1, junitOutp
124
141
  };
125
142
  });
126
143
  }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcnVuLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsMEJBMEdDO0FBM0hELDJDQUFpRDtBQUVqRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDMUIsd0RBQXlDO0FBQ3pDLGlEQUFxQztBQUNyQywyQkFBc0M7QUFDdEMsK0JBQStCO0FBVy9CLFNBQXNCLE9BQU87eURBQ3pCLFFBQWdCLEVBQ2hCLFFBQWtCLEVBQ2xCLFVBQW1CLEVBQ25CLFlBQXFCLEVBQ3JCLFdBQW9CLEVBQ3BCLE9BQWUsRUFDZixRQUFpQixLQUFLO1FBRXRCLE1BQU0sUUFBUSxHQUFHLEVBQTRCLENBQUE7UUFDN0MsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLFFBQVEsQ0FBQyxhQUFhLEdBQUcsUUFBUSxHQUFHLE1BQU0sQ0FBQTtZQUMxQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUEsZUFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9DLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7UUFFNUIsTUFBTSxJQUFJLEdBQUcsSUFBQSxxQkFBSyxFQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xELEdBQUcsa0NBQ0ksT0FBTyxDQUFDLEdBQUcsR0FDWCxRQUFRLENBQ2Q7U0FDSixDQUFDLENBQUE7UUFFRixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQ3RCLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDUixJQUFJLEtBQUssR0FDTCxPQUFPLEdBQUcsQ0FBQztnQkFDUCxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtv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
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcnVuLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQkEsMEJBK0hDO0FBakpELDJDQUFpRDtBQUVqRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDMUIsd0RBQXlDO0FBQ3pDLGlEQUFxQztBQUNyQywyQkFBc0M7QUFDdEMsK0NBQXdDO0FBQ3hDLCtCQUF3QztBQVd4QyxTQUFzQixPQUFPO3lEQUN6QixRQUFnQixFQUNoQixRQUFrQixFQUNsQixVQUFtQixFQUNuQixZQUFxQixFQUNyQixXQUFvQixFQUNwQixPQUFlLEVBQ2YsUUFBaUIsS0FBSyxFQUN0QixhQUFzQixLQUFLLEVBQzNCLFNBQWtCO1FBRWxCLE1BQU0sUUFBUSxHQUFHLEVBQTRCLENBQUE7UUFDN0MsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLFFBQVEsQ0FBQyxhQUFhLEdBQUcsUUFBUSxHQUFHLE1BQU0sQ0FBQTtZQUMxQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUEsZUFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9DLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7UUFFNUIsTUFBTSxJQUFJLEdBQUcsSUFBQSxxQkFBSyxFQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xELEdBQUcsa0NBQ0ksT0FBTyxDQUFDLEdBQUcsR0FDWCxRQUFRLENBQ2Q7U0FDSixDQUFDLENBQUE7UUFFRixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQ3RCLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDUixJQUFJLEtBQUssR0FDTCxPQUFPLEdBQUcsQ0FBQztnQkFDUCxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDWixPQUFPLENBQUMsR0FBRyxDQUNQLDhCQUE4QixJQUFBLGVBQVEsRUFDbEMsUUFBUSxDQUNYLG1CQUFtQixDQUN2QixDQUFBO29CQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7b0JBQ3BCLE9BQU8sR0FBRyxJQUFJLENBQUE7b0JBQ2QsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQ1AscUNBQXFDLElBQUEsZUFBUSxFQUN6QyxRQUFRLENBQ1gsbUJBQW1CLENBQ3ZCLENBQUE7d0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtvQkFDeEIsQ0FBQyxFQUFFLEtBQU0sQ0FBQyxDQUFBO2dCQUNkLENBQUMsRUFBRSxPQUFPLENBQUM7Z0JBQ2IsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtZQUVuQixJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQWdCLEVBQUUsTUFBYyxFQUFFLEVBQUU7Z0JBQ2pELElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1IsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUN2QixDQUFDO2dCQUNELE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO1lBQ2pDLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUNKLENBQUE7UUFFRCxNQUFNLE1BQU0sR0FDUixVQUFVLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVO1lBQy9CLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNoQixDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtRQUU1QyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLFFBQVEsT0FBTyxDQUFDLENBQUE7UUFDM0MsQ0FBQzthQUFNLElBQUksVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLFFBQVEsT0FBTyxDQUFDLENBQUE7UUFDM0MsQ0FBQztRQUdELElBQUksWUFBWSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sV0FBVyxHQUFHLEdBQUcsU0FBUyxHQUFHLFFBQVEsTUFBTSxDQUFBO1lBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUEsY0FBTyxFQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ25DLE1BQU0sSUFBQSxnQkFBSyxFQUFDLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQzVDLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBZSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2pELE1BQU0sQ0FBQyxHQUFHLElBQUksbUJBQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUU3QixJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNmLE1BQU0sV0FBVyxHQUFHLFNBQVM7b0JBQ3pCLENBQUMsQ0FBQyxHQUFHLFNBQVMsR0FBRyxRQUFRLE1BQU07b0JBQy9CLENBQUMsQ0FBQyxHQUFHLFFBQVEsTUFBTSxDQUFBO2dCQUV2QixJQUFJLENBQUMsTUFBTTtxQkFDTixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFBLHNCQUFpQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7cUJBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNyQixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ3pDLENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM1QixDQUFDLENBQUMsQ0FBQTtRQUVGLE1BQU0sWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFBO1FBQ2pDLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxZQUFZLENBQUE7UUFDL0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQTtRQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUE7UUFDM0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLFFBQVEsR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFBO1FBQzVCLENBQUM7UUFDRCxNQUFNLGlCQUFpQixHQUNuQixDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3RDLENBQUMsVUFBVSxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBRWxELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNwQixNQUFNLEtBQUssR0FDUCxNQUNILENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDN0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDckIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxNQUFNLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSx1QkFBdUIsTUFBTSxFQUFFLENBQUMsQ0FBQTtRQUMzRCxDQUFDO2FBQU0sSUFBSSxNQUFNLElBQUksVUFBVSxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLHVCQUF1QixNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQzNELENBQUM7UUFDRCxPQUFPO1lBQ0gsUUFBUTtZQUNSLGFBQWEsRUFBRSxPQUFPLEdBQUcsU0FBUztZQUNsQyxNQUFNO1NBQ1QsQ0FBQTtJQUNMLENBQUM7Q0FBQSJ9
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const purple_tape_1 = require("purple-tape");
4
+ (0, purple_tape_1.test)('shall fail', (t) => {
5
+ t.equal(1, 2, '1 shall be 2');
6
+ });
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1mYWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC1mYWlsL3Rlc3QtZmFpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUFrQztBQUVsQyxJQUFBLGtCQUFJLEVBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDckIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0FBQ2pDLENBQUMsQ0FBQyxDQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "multi-tape",
3
- "version": "1.8.0",
3
+ "version": "1.10.0",
4
4
  "description": "Runner for tape-tests",
5
5
  "bin": {
6
6
  "multi-tape": "build/index.js"