Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

supertape

coderaiser3.4kMIT10.10.0TypeScript support: included

📼 Supertape simplest high speed test runner with superpowers

function, promise, async, await, then, tap, tape, testing

readme

📼 Supertape NPM version Build Status Coverage Status License: MIT

supertape

Tape-inspired TAP-compatible simplest high speed test runner with superpowers.

📼 Supertape is a fast, minimal test runner with the soul of tape. It's designed to be as compatible as possible with tape while still having some key improvements, such as:

📼 Supertape doesn't contain:

For a list of all built-in assertions, see Operators.

How 📼Supertape test looks like?

You can use both CommonJS and ESM, here is ESM example:

import {test} from 'supertape';

const sump = (a, b) => a + b;

test('calc: sum', (t) => {
    const result = sum(1, 2);
    const expected = 3;

    t.equal(result, expected);
    t.end();
});

Install

npm i supertape -D

Usage

Usage: supertape [options] [path]
Options
   -h, --help                  display this help and exit
   -v, --version               output version information and exit
   -f, --format                use a specific output format - default: progress-bar/tap on CI
   -r, --require               require module
   --no-check-scopes           do not check that messages contains scope: 'scope: message'
   --no-check-assertions-count do not check that assertion count is no more then 1
   --no-check-duplicates       do not check messages for duplicates
   --no-worker                 disable worker thread

Environment variables

  • SUPERTAPE_TIMEOUT - timeout for long running processes, defaults to 3000 (3 seconds);
  • SUPERTAPE_CHECK_DUPLICATES - toggle check duplicates;
  • SUPERTAPE_CHECK_SCOPES - check that test message has a scope: scope: subject;
  • SUPERTAPE_CHECK_ASSERTIONS_COUNT - check that assertion count is no more then 1;
  • SUPERTAPE_CHECK_SKIPED - check that skiped count equal to 0, exit with status code;
  • SUPERTAPE_LOAD_LOOP_TIMEOUT - timeout for load tests, defaults to 5ms, when mocha used as runner - 50ms optimal;
test('tape: error', (t) => {
    t.equal(error.code, 'ENOENT');
    t.end();
});

🤷 How to migrate from tape?

You can convert your codebase from tape to 📼Supertape with help of 🐊Putout, which has built-in @putout/plugin-tape, which has a lot of rules that helps to write tests. Here is result example.

ESLint rules

eslint-plugin-putout has rules for 📼Supertape:

Operators

The assertion methods of 📼 Supertape are heavily influenced by tape. However, to keep a minimal core of assertions, there are no aliases and some superfluous operators have been removed (such as t.throws()).

The following is a list of the base methods maintained by 📼 Supertape. Others, such as assertions for stubbing, are maintained in special operators. To add custom assertion operators, see Extending.

Core Operators

t.equal(result: any, expected: any, message?: string)

Asserts that result and expected are strictly equal. If message is provided, it will be outputted as a description of the assertion.

Note: uses Object.is(result, expected)

t.notEqual(result: any, expected: any, message?: string)

Asserts that result and expected are not strictly equal. If message is provided, it will be outputted as a description of the assertion.

Note: uses !Object.is(result, expected)

t.deepEqual(result: any, expected: any, message?: string)

Asserts that result and expected are loosely equal, with the same structure and nested values. If message is provided, it will be outputted as a description of the assertion.

Note: uses node's deepEqual() algorithm with strict comparisons (===) on leaf nodes

t.notDeepEqual(result: any, expected: any, message?: string)

Asserts that result and expected not loosely equal, with different structure and/or nested values. If message is provided, it will be outputted as a description of the assertion.

Note: uses node's deepEqual() algorithm with strict comparisons (===) on leaf nodes

t.ok(result: boolean | any, message?: string)

Asserts that result is truthy. If message is provided, it will be outputted as a description of the assertion.

t.notOk(result: boolean | any, message?: string)

Asserts that result is falsy. If message is provided, it will be outputted as a description of the assertion.

t.pass(message: string)

Generates a passing assertion with message as a description.

t.fail(message: string)

Generates a failing assertion with message as a description.

t.end()

Declares the end of a test explicitly. Must be called exactly once per test. (See: Single Call to t.end())

t.match(result: string, pattern: string | RegExp, message?: string)

Asserts that result matches the regex pattern. If pattern is not a valid regex, the assertion fails. If message is provided, it will be outputted as a description of the assertion.

t.notMatch(result: string, pattern: string | RegExp, message?: string)

Asserts that result does not match the regex pattern. If pattern is not a valid regex, the assertion always fails. If message is provided, it will be outputted as a description of the assertion.

t.comment(message: string)

Print a message without breaking the TAP output. Useful when using a tap-reporter such as tap-colorize, where the output is buffered and console.log() will print in incorrect order vis-a-vis TAP output.

Special Operators

To simplify the core of 📼 Supertape, other operators are maintained in separate packages. The following is a list of all such packages:

Here is a list of built-int operators:

Package Version
@supertape/operator-stub npm

Formatters

There is a list of built-int formatters to customize output:

Package Version
@supertape/formatter-tap npm
@supertape/formatter-fail npm
@supertape/formatter-short npm
@supertape/formatter-progress-bar npm
@supertape/formatter-json-lines npm

API

test(message: string, fn: (t: Test) => void, options?: TestOptions)

Create a new test with message string. fn(t) fires with the new test object t once all preceding tests have finished. Tests execute serially.

Here is Possible options similar to Environment Variables but relates to one test:

  • checkDuplicates;
  • checkScopes;-
  • checkAssertionsCount;
  • timeout;

test.only(message, fn, options?)

Like test(name, cb) except if you use .only this is the only test case that will run for the entire process, all other test cases using tape will be ignored.

test.skip(message, fn, options?)

Generate a new test that will be skipped over.

test.extend(extensions)

Extend base assertions with more:

const {extend} = require('supertape');
const test = extend({
    transform: (operator) => (a, b, message = 'should transform') => {
        const {is, output} = operator.equal(a + 1, b - 1);

        return {
            is,
            output,
        };
    },
});

test('assertion', (t) => {
    t.transform(1, 3);
    t.end();
});

Example

const test = require('supertape');

test('lib: arguments', async (t) => {
    throw Error('hello');
    // will call t.fail with an error
    // will call t.end
});

test('lib: diff', (t) => {
    t.equal({}, {hello: 'world'}, 'should equal');
    t.end();
});

// output
`
- Expected
+ Received

- Object {}
+ Object {
+   "hello": "world",
+ }
`;

🚪Exit Codes

📼Supertape can have one of next exit codes:

Code Name Description
0 OK no errors found
1 FAIL test failed
2 WAS_STOP test was halted by user
3 UNHANDLED unhandled exception occurred
4 INVALID_OPTION wrong option provided
5 SKIPED works only with SUPERTAPE_CHECK_SKIPED env variable when skiped files 1 and more

Here is how exit code can look like:

import {SKIPED} from 'supertape/exit-codes';

const env = {
    ESCOVER_SUCCESS_EXIT_CODE: SKIPED,
    SUPERTAPE_CHECK_SKIPED: 1,
};

export default {
    test: () => [env, `escover tape 'test/**/*.js' 'lib/**/*.spec.js'`],
};

License

MIT

changelog

2025.01.05, v10.10.0

feature:

  • 9f505eb supertape: operators: ^

2025.01.05, v10.9.0

feature:

  • a2b5dcd supertape: worker: add support of Error
  • 7d8c672 supertape: putout v37.8.2

2024.12.04, v10.8.0

feature:

  • 2716d90 supertape: eslint-plugin-putout v23.2.0
  • d251291 supertape: format: improve support

2024.08.22, v10.7.3

fix:

  • 34aaae5 package: glob v10

2024.07.19, v10.7.2

feature:

  • 887fe8b supertape: glob v11.0.0
  • 4b44c46 supertape: putout v36.0.2
  • 5f38549 supertape: @putout/cli-validate-args v2.0.0

2024.07.03, v10.7.1

fix:

  • cfc859b supertape: subscribe: empty

feature:

  • 14f15d6 supertape: c8 v10.1.2

2024.06.04, v10.7.0

feature:

  • dcb4dfb supertape: add ability to use console.log in worker mode
  • 188ab81 @supertape/formatter-progress-bar: add comment
  • 79a0e2f supertape: rm unused quiet
  • 5f3d825 @putout/formatter-progress-bar: ✅ ok in WebStorm

2024.06.04, v10.6.1

feature:

  • 9113041 supertape: @supertape/formatter-progress-bar v6.0.0
  • a61477a formatter-progress-bar: get rid of WebStorm hacks
  • 342cda0 supertape: check-dts v0.8.0
  • adfb128 supertape: husky v9.0.11
  • c6f3052 supertape: @putout/eslint-flat v2.0.0

2024.05.09, v10.6.0

feature:

  • 81503f1 supertape: eslint-plugin-n: drop
  • 2a378d1 supertape: pullout v5.0.1
  • 68a1fa9 supertape: formatter: harness: readableObjectMode: rm
  • 41af461 supertape: eslint v9.1.1

2024.03.22, v10.5.0

feature:

  • b4e7436 supertape: when cannot import parallel, try series (nodejs/node#52187)
  • ebb9d46 supertape: remove dependency on deep-equal (#10)

2024.03.07, v10.4.0

feature:

  • ebb9d46 supertape: remove dependency on deep-equal

2024.03.01, v10.3.0

feature:

  • 4aeb021 supertape: add per-test timeout option (#9)

2024.02.29, v10.2.2

fix:

  • 8b457ff supertape: formatter: comment

2024.02.28, v10.2.1

fix:

  • 9b0bf03 supertape: tap: success (#8)

2024.02.21, v10.2.0

feature:

  • 6b6715b @supertape/formatter-time: chalk v5.3.0
  • de5d7ad @supertape/formatter-progress-bar: chalk v5.3.0
  • 833b60b supertape: extend: test, stub
  • eebaf9e @supertape/progress-bar: improve WebStorm support

2024.02.15, v10.1.0

feature:

  • e55d74d supertape: @supertape/formatter-progress-bar v5.0.0
  • e8d4f09 @supertape/formatter-progress-bar: drop support of node < 18
  • 3b9155c @supertape/formatter-progress-bar: add support of WebStorm
  • 9405efc supertape: supertape v10.0.0

2024.01.26, v10.0.0

feature:

  • 174a856 supertape: help
  • 0e55c2f supertape: isStop
  • 64c7acb supertape: add support of worker_threads
  • 1e4429d supertape: putout v35.0.0

2024.01.05, v9.5.0

feature:

  • 3abf553 supertape: operator: improve fail message when operator returns function
  • 74893c0 supertape: c8 v9.0.0

2023.12.28, v9.4.0

feature:

  • 600c6fb supertape: format: add aditional check to call async operators with await

2023.12.28, v9.3.0

fix:

  • 3318f1b @supertape/formatter-time: time

feature:

  • fac6958 supertape: find-up v7.0.0
  • 93088e0 supertape: formatter: harness: handle case when write after end

2023.12.22, v9.2.0

feature:

  • 1e0cbdf supertape: formatter: time: add

2023.12.21, v9.1.0

feature:

  • 3ec1988 supertape: handle case with curried async function used as operator
  • 5543c40 supertape: currify v4.0.0
  • 8383cea supertape: supertape v9.0.0

2023.12.10, v9.0.0

feature:

  • 08a2626 supertape: drop support of node < 18
  • 761d4a0 supertape: eslint-plugin-putout v22.0.0
  • 1b4deaa supertape: putout v34.0.0
  • d088c31 supertape: madrun v10.0.0

2023.12.08, v8.10.0

feature:

  • 02028a6 supertape: SUPERTAPE_LOAD_LOOP_TIMEOUT: add

2023.12.04, v8.9.0

feature:

  • 549609b supertape: match: improve convert to RegExp

2023.12.01, v8.8.0

feature:

  • 3caf16d supertape: glob v10.3.10

2023.11.27, v8.7.0

feature:

  • 8fdc8b1 @supertape/formatter-progress-bar: drop @babel/core
  • 0653677 @supertape/formatter-progress-bar: ci-info v4.0.0
  • e59f976 supertape: improve diff output
  • 7241f73 supertape: putout v33.0.0

2023.10.30, v8.6.1

feature:

  • 0c6c891 supertape: eslint-plugin-putout v21.0.1
  • 7ff4b4e package: @putout/cli-keypress v2.0.0

2023.09.18, v8.6.0

feature:

  • a449f09 package: eslint-plugin-putout v20.0.0
  • 5c43495 package: putout v32.0.6

2023.08.28, v8.5.0

feature:

  • 9e4e5e5 package: @supertape/engine-loader v2.0.0
  • 016d5d0 package: @supertape/formatter-progress-bar v4.0.0
  • e7d60b3 @supertape/formatter-progress-bar: drop support of node < 16
  • 256a437 @supertape/engine-loader: drop support of node < 16
  • c926b8e supertape: types: operator: promise

2023.08.07, v8.4.1

feature:

  • 7e7cec1 supertape: validator: simplify
  • 0cfa5f1 package: eslint-plugin-putout v19.0.3
  • 1bba62a package: putout v31.0.3

2023.07.10, v8.4.0

feature:

  • f3faec5 package: c8 v8.0.0
  • 74f7265 package: eslint-plugin-n v16.0.1
  • 098bc4a package: eslint-plugin-putout v18.0.0
  • 1a73835 package: putout v30.2.3
  • 4ca9bb2 package: typescript v5.1.6
  • 4b4842e package: putout v29.0.4
  • ebaca5b (package) check-dts v0.7.0

2023.02.03, v8.3.0

fix:

  • @supertape/formatter-fail: export: default -> named

feature:

  • validate: add support of any symbol before ":"

2022.11.14, v8.2.0

feature:

  • supertape: types: improve support of skip, only in WebStorm
  • (package) putout v28.0.0
  • (package) lerna v6.0.1

2022.09.15, v8.1.0

feature:

  • supertape: add ability to return value from operator
  • package: @supertape/operator-stub v3.0.0
  • @supertape/operator-stub: type: Result -> OperationResult

2022.09.07, v8.0.1

feature:

  • package: @supertape/operator-stub v3.0.0
  • @supertape/operator-stub: type: Result -> OperationResult
  • (package) supertape v8.0.0

2022.09.07, v8.0.0

fix:

  • @supertape/formatter-short: drop support of node < 16
  • @supertape/formatter-tap: drop support of node < 16
  • @supertape/formatter-tap: get back commonjs, since @supertape/formatter-fail is commonjs

feature:

  • package: @supertape/formatter-progress-bar v3.0.0
  • formatters: convert to ESM
  • supertape: add ability to use 'createFormatter()' to create formatters
  • @putout/formatter-progress-bar: convert to ESM
  • package: @supertape/formatter-fail v3.0.0
  • @supertape/formatter-json-lines: drop support of node < 16
  • @supertape/formatter-fail: drop support of node < 16
  • package: @supertape/formatter-tap v3.0.1
  • package: @supertape/formatter-json-lines v2.0.0
  • package: @supertape/formatter-short v2.0.0
  • package: @supertape/formatter-tap v3.0.0
  • @supertape/formatter-short: convert to ESM
  • @supertape/formatter-tap: convert to ESM
  • @supertape/formatter-json-lines: convert to ESM
  • supertape: add support of ESM formatters
  • supertape: actual -> result

2022.08.29, v7.7.1

feature:

  • package: jest-diff v29.0.1

2022.08.28, v7.7.0

feature:

  • supertape: validate: check scope: add support of @
  • (package) eslint-plugin-putout v16.0.1
  • (package) putout v27.2.0

2022.07.09, v7.6.0

feature:

  • (package) glob v8.0.3

2022.06.21, v7.5.1

fix:

  • (supertape) extend: return type

2022.06.21, v7.5.0

feature:

  • (supertape) extend: add type

2022.06.10, v7.4.1

fix:

  • (supertape) get back: SKIPPED -> SKIPED

2022.06.09, v7.4.0

fix:

  • (supertape) SKIPED -> SKIPPED

feature:

  • (package) jest-diff v28.1.1
  • (package) @iocmd/wait v2.1.0

2022.05.30, v7.3.0

feature:

  • (package) eslint-plugin-putout v15.4.0
  • (package) lerna v5.0.0
  • (supertape) exit codes: add SKIPED
  • (package) putout v26.0.0

2022.04.06, v7.2.3

fix:

  • (@supertape/engine-loader) rm unused @cloudcmd/stub

feature:

  • (package) @supertape/operator-stub v2.0.0
  • (package) @cloudcmd/stub v4.0.0
  • (@supertape/operator-stub) drop support of node < 16

2022.04.06, v7.2.2

feature:

  • (package) @cloudcmd/stub v4.0.0

2022.03.29, v7.2.1

fix:

  • (package) rm useless chalk

2022.03.01, v7.2.0

feature:

  • (supertape) validator: check scopes: example -> received

2022.02.28, v7.1.1

fix:

  • (supertape) SUPERTAPE_CHECK_ASSERTIONS_COUNT (#2)

feature:

  • (supertape) eslint-plugin-putout v14.0.0

2022.02.18, v7.1.0

feature:

  • (supertape) exclude node_modules

2022.02.17, v7.0.1

fix:

  • (supertape) drop support of node < 16

feature:

  • (package) madrun v9.0.0
  • (package) putout v25.0.0

2022.02.14, v7.0.0

fix:

  • chore(actions) add ability to fix

feature:

  • supertape: check-scopes, check-assertions-count: enable by default

2022.01.15, v6.13.1

fix:

  • (supertape) revert: add exit code 5 for skip"

2022.01.15, v6.13.0

feature:

  • (supertape) add exit code 5 for skip
  • (@supertape/operator-stub) notCalled: no arg

2022.01.14, v6.12.1

fix:

  • (@supertape) engine-loader: windows support
  • (supertape) windows support

2022.01.14, v6.12.0

feature:

  • (supertape) get rid of simport
  • (package) putout v24.1.0
  • (package) eslint-plugin-putout v13.0.1
  • (@supertape/engine-loader) get rid of simport
  • (@supertape/formatter-progress-bar) add newline befor fail count

2022.01.04, v6.11.0

fix:

  • (supertape) types: any -> unknown
  • (@supertape/operator-stub) types: any -> unknown

feature:

  • (package) yargs-parser v21.0.0
  • (supertape) notOk: add ability to stringify content of passed value
  • (package) putout v23.0.0
  • (package) check-dts v0.6.5
  • (package) check-dts v0.6.5
  • (package) check-dts v0.6.5
  • (@supertape/formatter-progress-bar) add color constant
  • (package) eslint-plugin-putout v12.0.0
  • (package) putout v22.0.0
  • (package) check-dts v0.6.3
  • (supertape) putout v21

2021.10.23, v6.10.0

feature:

  • (supertape) checkAssertionsCount: add ability to check that assertions count not less then one

2021.10.19, v6.9.4

fix:

  • (supertape) types: from/to -> result/expected

2021.10.18, v6.9.3

fix:

  • (supertape) types: TestOptions

2021.10.07, v6.9.2

feature:

  • (supertape) add ability to match empty match

2021.09.25, v6.9.1

fix:

  • (supertape) wrong assertions count

2021.09.25, v6.9.0

feature:

  • (supertape) fail when couple t.end() operators found

2021.09.25, v6.8.2

feature:

  • (supertape) check that no assertions called after t.end() in async operators

2021.09.24, v6.8.1

fix:

  • (supertape) ability to disable check-assertions-count per test

2021.09.24, v6.8.0

fix:

  • (supertape) check that no assertions called after t.end()

feature:

  • (supertape) add support of check assertions count
  • (@supertape/operator-stub) add calledBefore, calledAfter
  • (@supertape/operator-stub) notCalled: add additional check: called with args

2021.09.20, v6.7.4

fix:

  • (supertape) line number when tested function throws

2021.09.20, v6.7.3

fix:

  • (supertape) test should have ability to override validations, like checkDuplicates

2021.09.19, v6.7.2

fix:

  • (supertape) validator: check scope: add support of slash

2021.09.18, v6.7.1

fix:

  • (supertape) validator: check scopes: nested

2021.09.18, v6.7.0

feature:

  • (supertape) add --check-scopes flag that checks that test message contains scope

2021.09.16, v6.6.0

feature:

  • (supertape) add ability to show path of a duplicate

2021.09.15, v6.5.0

feature:

  • (supertape) add support of file links to WebStorm: at: -> at

2021.09.15, v6.4.0

fix:

  • (supertape) improve at when found duplicates

feature:

  • (supertape) add ability to toggle check duplicates with env variables SUPERTAPE_CHECK_DUPLICATES
  • (@supertape/formatter-progress-bar) add support of SUPERTAPE_PROGRESS_BAR_STACK'

2021.09.15, v6.3.1

fix:

  • (supertape) improve at when found duplicates

feature:

  • (@supertape/formatter-progress-bar) add support of SUPERTAPE_PROGRESS_BAR_STACK'

2021.09.14, v6.3.0

feature:

  • (supertape) add support of mock-import

2021.09.14, v6.2.0

feature:

  • (@supertape/formatter-short) add

2021.09.14, v6.1.1

fix:

  • (supertape) at point on wrong file
  • (@supertape/operator-stub) arguments -> args

feature:

  • (@supertape/operator-stub) calledWith: add handling of arguments not array
  • (package) eslint-plugin-putout v10.0.1
  • (package) putout v20.0.1

2021.09.07, v6.1.0

feature:

  • (@supertape/operator-stub) calledWithNoArgs: add support of message not string
  • (package) putout v19.7.1
  • (supertape) types: add support of skip, only

2021.08.24, v6.0.5

fix:

  • (supertape) duplicator: rm useless cache

2021.08.24, v6.0.4

fix:

  • (supertape) checkDuplicates enabled by default when running without runtime

feature:

  • (package) putout v19.0.0
  • (package) supertape v6.0.3

2021.08.19, v6.0.3

fix:

  • (@putout/operator-stub) types: calledWith: args

feature:

  • (supertape) add Stub
  • (@putout/operator-stub) add Stub

2021.08.19, v6.0.2

feature:

  • (@putout/operator-stub) types: add stub

2021.08.18, v6.0.1

fix:

  • (supertape) rm --check-duplicates, as it is enabled by default

2021.08.18, v6.0.0

feature:

  • (supertape) add typescript types
  • (package) eslint-plugin-putout v9
  • (supertape) add type
  • (supertape) enable duplicates check by default

2021.08.17, v5.8.1

fix:

  • (supertape) options passed into test should override init

2021.08.17, v5.8.0

fix:

  • (@putout/operator-stub) to general -> too general

feature:

  • (supertape) duplicates: improve determine of file path

2021.08.16, v5.7.0

fix:

  • (supertape) operators: notMatch: should match -> should not match

feature:

  • (supertape) add ability to show duplication test only once

2021.08.12, v5.6.0

feature:

  • (supertape) match/notMatch: add ability to match string
  • (supertape) operators: add notMatch
  • (supertape) add ability to check fo duplicates messages with -d, --check-duplicates
  • (supertape) add ability to check for duplicate test messages

2021.07.23, v5.5.0

feature:

  • (supertape) operators: add handling of function returned as operator result

2021.05.28, v5.4.1

feature:

  • (package) jest-diff v27.0.1
  • (package) eslint-plugin-putout v8.0.1
  • (package) putout v18.0.0

2021.05.08, v5.4.0

feature:

  • (supertape) improve error message when operator returns nothing
  • (package) putout v17.0.0

2021.04.28, v5.3.0

feature:

  • (supertape) add support of async operators
  • (package) husky v6.0.0
  • (package) putout v16.10.1

2021.04.23, v5.2.0

feature:

  • (package) strip-ansi v7.0.0

2021.03.09, v5.1.0

feature:

  • feature(supertape) add match
  • feature(package) lerna v4.0.0
  • feature(package) supertape v5.0.0

2021.02.23, v5.0.0

feature:

  • feature(supertape) bin: convert to ESM
  • feature(supertape) add ability to guess command line option

2021.02.22, v4.9.2

feature:

  • (package) putout v15.2.0
  • (supertape) @putout/keypress -> @putout/cli-keypress
  • (package) ci-info v3.1.1
  • (package) eslint-plugin-putout v7.1.1
  • (package) husky v5.0.9
  • (package) putout v15.1.1
  • (package) putout v14.0.3
  • (package) eslint-plugin-putout v7.1.1

2021.01.29, v4.9.1

fix:

  • (supertape) harness: rm useless try-catch wrapper

2021.01.29, v4.9.0

feature:

  • (supertape) improve debugging experience: make timers bigger when under debug

2021.01.28, v4.8.2

fix:

  • (harness) Error: stream.push() after EOF

feature:

  • (@supertape/formatter-progress-bar) add ability to hide cursor

2021.01.23, v4.8.1

feature:

  • (supertape) improve windows support with help of simport
  • (@supertape/engine-loader) improve windows support

2021.01.20, v4.8.0

feature:

  • (supertape) equal but not deepEqual: empty diff -> result information

2021.01.16, v4.7.0

feature:

  • (supertape) deepEqual: ok when no visual differences

2021.01.09, v4.6.0

feature:

  • (supertape) add ability to show skiped count when using only

2021.01.09, v4.5.1

fix:

  • (supertape) run-tests: delay after end of tests
  • (supertape) run-tests: delay after end of tests

2021.01.08, v4.5.0

fix:

  • (@supertape/progress-bar) ok ✅

feature:

  • (supertape) add ability to handle timeouts with SUPERTAPE_TIMEOUT
  • (@supertape/formatter-progress-bar) add ability to disable with SUPERTAPE_PROGRESS_BAR=0 env variable

2020.12.29, v4.4.0

feature:

  • (supertape) putout v13.1.1
  • (supertape) add ability to show failed on ctrl+c

2020.12.29, v4.3.1

fix:

  • (supertape) rm unhandled promise rejections handler
  • (@supertape/formatter-progress-bar) message -> test
  • (@supertape/formatter-progress-bar) index -> count

2020.12.28, v4.3.0

feature:

  • (package) @supertape/formatter-tap v2.0.0
  • (package) @supertape/formatter-progress-bar v2.0.0
  • (package) @supertape/formatter-fail v2.0.0
  • (package) @supertape/formatter-tap v2.0.0
  • (supertape) test: message -> test
  • (supertape) add @supertape/formatter-json-lines

2020.12.28, v4.2.0

feature:

  • (supertape) add ability to apply last formatter

2020.12.27, v4.1.1

feature:

  • (supertape) add ability to show unhandledRejections

2020.12.24, v4.1.0

feature:

  • (supertape) add ability to destructure test while require

2020.12.24, v4.0.1

fix:

  • (supertape) add ability to handle case when there is no tests in fed file

2020.12.23, v4.0.0

feature:

  • (@supertape/formatter-progress-bar) add min count to show progress bar
  • (@supertape/formatter-progress-bar) add ability to disable progress bar on CI
  • (supertape) set progress-bar default formatter
  • (@supertape/formatter-progress-bar) add emoji

2020.12.22, v3.13.1

fix:

  • (npmignore) add .spec.

2020.12.22, v3.13.0

feature:

  • (supertape) move out formatters into separate packages

2020.12.22, v3.12.0

feature:

  • (supertape) add ability to show skip at the end

2020.12.22, v3.11.0

fix:

  • (@supertape/operator-stub) calledWith: do not show arguments when not called
  • (@supertape/operator-stub) calledWith: first args -> last args

feature:

  • (@supertape/operator-stub) add ability to check if provided fn is stub
  • (@supertape/operator-stub) t.called - marked with fail as it is a bad practice
  • (@putout/operator-stub) add calledWithNoArgs

2020.12.18, v3.10.0

feature:

  • (supertape) add @supertape/operator-stub

2020.12.18, v3.9.2

fix:

  • (supertape) rm dotignore

2020.12.16, v3.9.1

fix:

  • (supertape) reporter: progress bar: add tap header
  • (supertape) reporter: progress-bar: message

2020.12.16, v3.9.0

feature:

  • (supertape) add formatter progress-bar
  • (supertape) convert to monorepo

2020.12.11, v3.8.2

fix:

  • (supertape) reporters: harness: should proceed only when reporter return not zero length chunk

2020.12.11, v3.8.1

fix:

  • (supertape) operators: notOk: expected: true -> false
  • (supertape) formatter -> format
  • (supertape) reporter: rm is

2020.12.11, v3.8.0

feature:

  • (supertape) add fail formatter

2020.12.08, v3.7.3

fix:

  • (supertape) loop: no tests

2020.12.07, v3.7.2

fix:

  • (npmignore) fixture

2020.12.07, v3.7.1

fix:

  • (format) parseAt: no new lines

2020.12.07, v3.7.0

feature:

  • (supertape) add deduplication

2020.12.07, v3.6.2

fix:

  • (supertape) cli: a couple glob args

feature:

  • (package) putout v12.0.1

2020.12.06, v3.6.1

fix:

  • (supertape) extend: only, skip

2020.12.06, v3.6.0

fix:

  • (supertape) rm jsonEqual

feature:

  • (supertape) natural assertions

2020.12.05, v3.5.0

feature:

  • (supertape) add ability to extend

2020.12.05, v3.4.3

fix:

  • (supertape) diff: different types of values

2020.12.05, v3.4.2

fix:

  • (supertape) -v, --version: add new line

feature:

  • (package) bin: add supertape

2020.12.05, v3.4.1

feature:

  • (supertape) exports: add cli

2020.12.05, v3.4.0

feature:

  • (supertape) move out cli from bin
  • (supertape) add -v, --version

2020.12.04, v3.3.1

fix:

  • (supertape) operators: equal, notEqual: actual, expected -> expected, actual

2020.12.04, v3.3.0

feature:

  • (package) rm unused minimist
  • (supertape) operators: add notDeepEqual
  • (supertape) move out operators

2020.12.03, v3.2.0

feature:

  • (supertape) add t.pass()

2020.12.03, v3.1.3

fix:

  • (supertape) add ok in the end of output

2020.12.03, v3.1.2

fix:

  • (supertape) yarser-parser -> yargs-parser

2020.12.03, v3.1.1

fix:

  • (supertape) rm ignore

2020.12.03, v3.1.0

feature:

  • (supertape) totally rewrite

2020.12.02, v3.0.3

fix:

  • (supertape) rm await

2020.12.01, v3.0.2

fix:

  • (supertape) rm strict mode

2020.12.01, v3.0.1

fix:

  • (package) exports: bin: js -> mjs

2020.12.01, v3.0.0

feature:

  • (supertape) drop support of node < 14
  • (package) eslint-plugin-putout v6.8.1
  • (package) putout v11.12.1
  • (package) madrun v8.0.0

2020.05.10, v2.0.1

fix:

  • (package) add exports

2020.05.09, v2.0.0

feature:

  • (supertape) drop support of node < 10
  • (package) jest-diff v26.0.1
  • (package) putout v8.2.0
  • (package) madrun v6.0.1
  • (package) @cloudcmd/stub v3.0.0
  • (package) eslint-plugin-putout v4.0.2
  • (package) eslint v7.0.0

2020.04.28, v1.3.10

feature:

  • (supertape) add try-to-tape back

2020.04.25, v1.3.9

fix:

  • (supertape) rm esm

2020.04.25, v1.3.8

feature:

  • (supertape) get back tape

2020.04.25, v1.3.7

feature:

  • (supertape) rm try-to-tape

2020.04.25, v1.3.6

feature:

  • (package) try-to-catch v3.0.0

2020.04.25, v1.3.5

fix:

2020.04.25, v1.3.4

feature:

  • (package) tape v5.0.0

2020.04.24, v1.3.3

fix:

  • (supertape) diff

2020.04.24, v1.3.2

fix:

  • (super-import) await

2020.04.24, v1.3.1

fix:

  • (supertape) superimport

2020.04.24, v1.3.0

feature:

  • (supertape) add support of ESM
  • (package) jest-diff v25.4.0
  • (package) nyc v15.0.1
  • (package) deep-equal v2.0.3
  • (package) eslint-plugin-node v11.1.0

2019.12.15, v1.2.4

feature:

  • (package) nodemon v2.0.2
  • (package) madrun v5.0.1
  • (package) eslint-plugin-putout v3.0.0
  • (package) putout v7.3.1
  • (package) strip-ansi v6.0.0
  • (package) madrun v3.0.6
  • (package) putout v6.12.1
  • (supertape) add madrun
  • (package) eslint v6.2.2
  • (package) nyc v14.1.1

2019.03.12, v1.2.3

fix:

  • (package) bin

2019.03.12, v1.2.2

fix:

  • (supertape) bin

feature:

  • (package) jest-diff v24.4.0

2019.01.16, v1.2.1

fix:

  • (supertape) expected, actual

2019.01.16, v1.2.0

feature:

  • (supertape) add jsonEqual

2019.01.15, v1.1.1

fix:

  • (supertape) rm convert

2019.01.15, v1.1.0

feature:

  • (supertape) improve deep-equal support

2019.01.13, v1.0.3

fix:

  • (supertape) show diff with help of t.comment

2019.01.13, v1.0.2

fix:

  • (supertape) equals -> equal

2019.01.12, v1.0.1

fix:

  • (package) add tape