Noodle Printing Machine

    coverage-node

    8.0.0 • Public • Published

    coverage-node

    A simple CLI to run Node.js and report code coverage.

    Installation

    To install coverage-node with npm, run:

    npm install coverage-node --save-dev

    In a package.json script, replace the node command with coverage-node:

     {
       "scripts": {
    -    "test": "node test.mjs"
    +    "test": "coverage-node test.mjs"
       }
     }

    Requirements

    Supported operating systems:

    • Linux
    • macOS

    Supported runtime environments:

    • Node.js versions ^14.17.0 || ^16.0.0 || >= 18.0.0.

    Projects must configure TypeScript to use types from the ECMAScript modules that have a // @ts-check comment:

    Ignored files

    Code coverage analysis ignores:

    • node_modules directory files, e.g. node_modules/foo/index.mjs.
    • test directory files, e.g. test/index.mjs.
    • Files with .test prefixed before the extension, e.g. foo.test.mjs.
    • Files named test (regardless of extension), e.g. test.mjs.

    Ignored lines

    In source code, a comment (case insensitive) can be used to ignore code coverage ranges that start on the the next line:

    // coverage ignore next line
    if (false) console.log("Never runs.");

    CLI

    Command coverage-node

    Substitutes the normal node command; any node CLI options can be used to run a test script. If the script doesn’t error a code coverage analysis is reported to the console, and if coverage is incomplete and there isn’t a truthy ALLOW_MISSING_COVERAGE environment variable the process exits with code 1.

    Examples

    npx can be used to quickly check code coverage for a script:

    npx coverage-node test.mjs

    A package.json script:

    {
      "scripts": {
        "test": "coverage-node test.mjs"
      }
    }

    A package.json script that allows missing coverage:

    {
      "scripts": {
        "test": "ALLOW_MISSING_COVERAGE=1 coverage-node test.mjs"
      }
    }

    Exports

    The npm package coverage-node features optimal JavaScript module design. It doesn’t have a main index module, so use deep imports from the ECMAScript modules that are exported via the package.json field exports:

    Install

    npm i coverage-node

    DownloadsWeekly Downloads

    966

    Version

    8.0.0

    License

    MIT

    Unpacked Size

    20.5 kB

    Total Files

    11

    Last publish

    Collaborators

    • jaydenseric