Detalhes do pacote

test-exclude

istanbuljs148.5mISC7.0.1

test for inclusion or exclusion of paths using globs

exclude, include, glob, package

readme (leia-me)

test-exclude

The file include/exclude logic used by nyc and babel-plugin-istanbul.

Build Status Coverage Status Standard Version Greenkeeper badge

Usage

const TestExclude = require('test-exclude');
const exclude = new TestExclude();
if (exclude().shouldInstrument('./foo.js')) {
    // let's instrument this file for test coverage!
}

TestExclude(options)

The test-exclude constructor accepts an options object. The defaults are taken from @istanbuljs/schema.

options.cwd

This is the base directory by which all comparisons are performed. Files outside cwd are not included.

Default: process.cwd()

options.exclude

Array of path globs to be ignored. Note this list does not include node_modules which is added separately. See @istanbuljs/schema/default-excludes.js for default list.

options.excludeNodeModules

By default node_modules is excluded. Setting this option true allows node_modules to be included.

options.include

Array of path globs that can be included. By default this is unrestricted giving a result similar to ['**'] but more optimized.

options.extension

Array of extensions that can be included. This ensures that nyc only attempts to process files which it might understand. Note use of some formats may require adding parser plugins to your nyc or babel configuration.

Default: ['.js', '.cjs', '.mjs', '.ts', '.tsx', '.jsx']

TestExclude#shouldInstrument(filename): boolean

Test if filename matches the rules of this test-exclude instance.

const exclude = new TestExclude();
exclude.shouldInstrument('index.js'); // true
exclude.shouldInstrument('test.js'); // false
exclude.shouldInstrument('README.md'); // false
exclude.shouldInstrument('node_modules/test-exclude/index.js'); // false

In this example code:

  • index.js is true because it matches the default options.extension list and is not part of the default options.exclude list.
  • test.js is excluded because it matches the default options.exclude list.
  • README.md is not matched by the default options.extension
  • node_modules/test-exclude/index.js is excluded because options.excludeNodeModules is true by default.

TestExculde#globSync(cwd = options.cwd): Array[string]

This synchronously retrieves a list of files within cwd which should be instrumented. Note that setting cwd to a parent of options.cwd is ineffective, this argument can only be used to further restrict the result.

TestExclude#glob(cwd = options.cwd): Promise<Array[string]>

This function does the same as TestExclude#globSync but does so asynchronously. The Promise resolves to an Array of strings.

test-exclude for enterprise

Available as part of the Tidelift Subscription.

The maintainers of test-exclude and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.

changelog (log de mudanças)

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

7.0.1 (2024-06-10)

Bug Fixes

  • add windowsPathsNoEscape to preserve behaviour on Windows (15dcfaa)

7.0.0 (2024-06-09)

⚠ BREAKING CHANGES

  • deps: Node 18 is now the minimum required version.

Bug Fixes

  • deps: update deps making Node 18 minimum (#56) (ad7dfe1)

6.0.0 (2019-12-20)

Features

6.0.0-alpha.3 (2019-12-09)

6.0.0-alhpa.3 (2019-12-08)

Bug Fixes

  • Ignore options that are explicitly set undefined. (#40) (b57e936)

6.0.0-alpha.2 (2019-12-07)

⚠ BREAKING CHANGES

  • test-exclude now exports a class so it is necessary to use new TestExclude() when creating an instance.

Bug Fixes

  • Directly export class, document API. (#39) (3acc196), closes #33
  • Pull default settings from @istanbuljs/schema (#38) (ffca696)

6.0.0-alpha.1 (2019-09-24)

Features

6.0.0-alpha.0 (2019-06-19)

Bug Fixes

  • win32: Detect files on different drive as outside project (#422) (5b4ee88), closes #418
  • Ignore tests matching .cjs, .mjs and *.ts by default (#381) (0f077c2)

Features

  • ignore files under tests directories by default (#419) (8ad5fd2)
  • Remove configuration loading functionality (#398) (f5c93c3), closes #392
  • Update dependencies, require Node.js 8 (#401) (bf3a539)

BREAKING CHANGES

  • Node.js 8 is now required
  • Remove configuration loading functionality

5.2.3 (2019-04-24)

Note: Version bump only for package test-exclude

5.2.2 (2019-04-09)

Note: Version bump only for package test-exclude

5.2.1 (2019-04-03)

Bug Fixes

  • Remove **/node_modules/** from defaultExclude. (#351) (deb3963), closes #347

5.2.0 (2019-03-12)

Features

  • Add TestExclude.globSync to find all files (#309) (2d7ea72)
  • Support turning of node_modules default exclude via flag (#213) (9b4b34c)

5.1.0 (2019-01-26)

Features

5.0.1 (2018-12-25)

Note: Version bump only for package test-exclude

5.0.0 (2018-06-26)

  • test-exclude: bump read-pkg-up dependency (#184) (bb58139), closes #184

BREAKING CHANGES

  • Support for Node.js 4.x is dropped.

4.2.2 (2018-06-06)

Note: Version bump only for package test-exclude

4.2.1 (2018-03-04)

Bug Fixes

4.2.0 (2018-02-13)

Features

  • add additional patterns to default excludes (#133) (4cedf63)

4.1.1 (2017-05-27)

Bug Fixes

  • add more general support for negated exclude rules (#58) (08445db)

4.1.0 (2017-04-29)

Features

  • add possibility to filter coverage maps when running reports post-hoc (#24) (e1c99d6)

4.0.3 (2017-03-21)

4.0.2 (2017-03-21)

4.0.0 (2017-01-19)

Features

  • add coverage to default excludes (#23) (59e8bbf)

BREAKING CHANGES

  • additional coverage folder is now excluded

3.3.0 (2016-11-22)

Features

  • allow include/exclude rules to be a string rather than array (#22) (f8f99c6)

3.2.2 (2016-11-14)

Bug Fixes

  • we no longer need to add node_modules/** rule (d0cfbc3)

3.2.1 (2016-11-14)

Bug Fixes

  • fix bug matching files in root, introduced by dotfiles setting (27b249c)

3.2.0 (2016-11-14)

Features

3.1.0 (2016-11-14)

Features

  • we now support dot folders (f2c1598)

3.0.0 (2016-11-13)

Features

BREAKING CHANGES

  • **/node_modules/** is again added by default, but can be counteracted with !**/node_modules/**.

2.1.3 (2016-09-30)

Bug Fixes

  • switch lodash.assign to object-assign (#16) (45a5488)

2.1.2 (2016-08-31)

Bug Fixes

  • exclude-config: Use the defaultExcludes for anything passed in that is not an array (#15) (227042f)

2.1.1 (2016-08-12)

Bug Fixes

  • it should be possible to cover the node_modules folder (#13) (09f2788)

2.1.0 (2016-08-12)

Features

  • export defaultExclude, so that it can be used in yargs' default settings (#12) (5b3743b)

2.0.0 (2016-08-12)

Bug Fixes

  • use Array#reduce and remove unneeded branch in prepGlobPatterns (#5) (c0f0f59)

Features

  • don't exclude anything when empty array passed (#11) (200ec07)

BREAKING CHANGES

  • we now allow an empty array to be passed in, making it possible to disable the default exclude rules -- we will need to be mindful when pulling this logic into nyc.

1.1.0 (2016-06-08)

Features

  • set configFound if we find a configuration key in package.json (#2) (64da7b9)

1.0.0 (2016-06-06)

Features

  • initial commit, pulled over some of the functionality from nyc (3f1fce3)
  • you can now load include/exclude logic from a package.json stanza (#1) (29b543d)