# Feature catalog — istanbuljs/nyc

> Canonical page: https://codevetter.com/unpack/nyc/feature-catalog

# Feature catalog — istanbuljs/nyc

Scanned commit 908620475199fa7b9ea0ea8b21d6d8ad6921e3ae (2026-05-17). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The primary interface wraps an existing executable or test runner to collect coverage. Users can control file selection, account for unloaded files, preload transpilers, and choose reports or threshold enforcement. Separate commands instrument source trees, regenerate reports, check stored coverage, and merge raw results. Source maps and documented external uploader workflows connect coverage to transpiled projects and hosted reporting services.
- Normal CLI execution accepts a child command and preserves its arguments; --silent suppresses reporting, and --no-clean retains stored results across runs. — [bin/nyc.js#L37-L42](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/bin/nyc.js#L37-L42) [bin/nyc.js#L91-L92](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/bin/nyc.js#L91-L92) [bin/nyc.js#L120-L122](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/bin/nyc.js#L120-L122) [README.md#L332-L345](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/README.md#L332-L345)
- File selection supports include/exclude patterns, additional extensions, and optional node_modules inclusion; --all adds initial coverage for eligible unloaded files, including an explicit ESM reading branch. — [index.js#L58-L69](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/index.js#L58-L69) [index.js#L181-L211](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/index.js#L181-L211) [README.md#L170-L188](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/README.md#L170-L188)
- --require loads additional modules for transpilation or other setup; configurable require and VM hooks support ordinary modules, RequireJS/AMD, and vm.runInContext workloads. — [index.js#L122-L132](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/index.js#L122-L132) [index.js#L331-L340](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/index.js#L331-L340) [test/nyc-integration.js#L158-L177](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/test/nyc-integration.js#L158-L177)
- nyc instrument accepts a file or directory and writes transformed source to an output tree or stdout; options include complete-copy, explicit in-place operation, deletion, and exit-on-error. — [lib/commands/instrument.js#L9-L61](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/lib/commands/instrument.js#L9-L61) [index.js#L214-L267](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/index.js#L214-L267) [docs/instrument.md#L17-L28](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/docs/instrument.md#L17-L28)
- nyc report invokes each configured reporter with watermarks, skipEmpty, skipFull, projectRoot, and terminal width; show-process-tree additionally renders stored process ancestry. — [lib/commands/report.js#L6-L28](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/lib/commands/report.js#L6-L28) [index.js#L446-L477](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/index.js#L446-L477)
- Coverage checks support lines, functions, branches, and statements globally or per file; a percentage below its threshold sets process.exitCode to 1 and prints a diagnostic. — [lib/commands/check-coverage.js#L18-L27](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/lib/commands/check-coverage.js#L18-L27) [index.js#L480-L505](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/index.js#L480-L505)
- nyc merge validates an input directory and writes combined Istanbul coverage to an output file defaulting to coverage.json; its builder defaults exclude-after-remap to false. — [lib/commands/merge.js#L9-L45](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/lib/commands/merge.js#L9-L45)
- Source-map handling accepts inline maps or referenced .map files and optionally emits instrumented-code maps; Codecov and Coveralls integration docs invoke external uploaders on nyc report output. — [lib/source-maps.js#L31-L34](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/lib/source-maps.js#L31-L34) [lib/instrumenters/istanbul.js#L26-L33](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/lib/instrumenters/istanbul.js#L26-L33) [docs/setup-codecov.md#L7-L11](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/docs/setup-codecov.md#L7-L11) [docs/setup-coveralls.md#L13-L20](https://github.com/istanbuljs/nyc/blob/908620475199fa7b9ea0ea8b21d6d8ad6921e3ae/docs/setup-coveralls.md#L13-L20)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
