All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
17.1.0 (2024-09-19)
17.0.0 (2024-04-19)
- minimum Node version now 18
- minimum Node version now 18 (9ef340e)
16.0.0 (2024-04-10)
- minimum Node version now 18
- minimum Node version now 18 (9ef340e)
15.1.0 (2020-06-01)
15.0.1 (2020-04-02)
- Data merge concurrency limit to prevent OOM (#1293) (df34c1c), closes #1263
- Ignore insignificant lines when coalesce text report (#1300) (3a577f0), closes istanbuljs/istanbuljs#525
15.0.0 (2019-12-20)
- The
flow
andjsx
parser plugins are no longer enabled by default. - Node.js 8 is now required to run nyc
- Remove NYC_ROOT_ID and NYC_INSTRUMENTER environmental variables.
- The
root
field has been removed from processinfo files.
- Add
--use-spawn-wrap=true
option (#1169) (df4de4d) - Add
.cjs
,.mjs
,.ts
,.tsx
,.jsx
to default extensions (#1110) (914b776), closes #1103 - Allow
nyc instrument
to instrument code in place (#1149) (7783284) - Drop node.js 6, upgrade dependencies (#1134) (00c3b34)
- Filenames relative to project cwd in coverage reports (#1212) (5258e9f)
- Use @istanbuljs/schema for yargs setup (#1194) (fd40d49)
- Use istanbul-lib-processinfo (#1145) (7943413)
- Use source base name to prefix cache files (#1144) (5c1b7a9)
- Avoid
source-map
module duringsignal-exit
handler (#1191) (83eb629) - Better error handling for main execution, reporting (#1229) (dfd629d)
- Correct handling of source-maps for pre-instrumented files (#1216) (8411a26), closes #1208
- Drop coverage produced by
nyc --all
for files that were tested (#1155) (fc1bbbf), closes #1113 #1124 #1148 - Honor eager setting (false by default) (#1179) (c18fb0a)
- Remove vestigial environment variables (#1078) (cfd3da0)
14.1.1 (2019-05-09)
- check-coverage: make the --temp-dir option visible (#1101) (b5b67de)
- cli: Report error if unwanted positional arguments are received (#1100) (57debc1), closes #401
14.1.0 (2019-04-24)
- Do not crash when nyc is run inside itself. (#1068) (c4fcf5e), closes #1067
- Exit with code 1 when nyc doesn't know what to do. (#1070) (21fb2c8)
- Purge source-map cache before reporting if cache is disabled. (#1080) (3d9eaa4)
- Use correct config property for parser plugins (#1082) (a7bc7ae)
14.0.0 (2019-04-15)
- Add
cwd
option to instrument command (#1024) (051d95a) - Add config values to hash salt (#988) (7ac325d), closes #522
- Exclude negated not working with '--all' switch (#977) (91de23c)
- Make --all work for transpiled code (#1047) (18e04ba)
- Resolve absolute paths in nyc instrument (#1012) (3cb1861), closes #1014
- Set processinfo pid/ppid to actual numbers (#1057) (32f75b0)
- Use a single instance of nyc for all actions of main command. (#1059) (b909575)
- Add
delete
option to instrument command (#1005) (d6db551) - Add
include
andexclude
options to instrument command (#1007) (8da097e) - Add processinfo index, add externalId (#1055) (8dcf180)
- Add support for nyc.config.js (#1019) (3b203c7)
- Add support to exclude files on coverage report generation (#982) (509c6aa)
- Add test-exclude args to check-coverage and report subcommands. (0fc217e)
- Always build the processinfo temp dir (#1061) (c213469)
- Enable
es-modules
option for nyc instrument command (#1006) (596b120) - Fix excludeAfterRemap functionality. (36bcc0b)
- Implement
nyc instrument --complete-copy
(#1056) (2eb13c6) - Remove bundling (#1017) (b25492a)
- Support turning off node_modules default exclude via
exclude-node-modules
option (#912) (b7e16cd) - Add support for
--exclude-node-modules
to subcommands. (#1053) (e597c46)
- The
--exclude-after-remap
option is now functional and enabled by default. This causes theinclude
,exclude
andextension
lists to be processed after using source maps to determine the original filename of sources. - Add a file named 'index.json' to the .nyc_output/processinfo directory, which has a different format from the other files in this dir.
- Change the data type of the pid/ppid fields in processinfo files
nyc instrument
now honorsinclude
andexclude
settings, potentially resulting in some files that were previously instrumented being ignored.- The
plugins
option has been renamed toparser-plugins
. - The logic involving include/exclude processing has changed. Results should be verified to ensure all desired sources have coverage data.
nyc instrument
now enables the--es-module
option by default. This can cause failures to instrument scripts which violate'use strict'
rules.
13.3.0 (2019-02-14)
13.2.0 (2019-01-27)
- Create directory for merge destination. (#979) (921d386), closes #976
- missing command temp-directory (#928) (28b6d09), closes #927
- nyc processing files not covered by include when
all
is enabled. (#914) (40afc5f), closes #913 #782
- avoid hardcoded HOME for spawn-wrap working dir (#957) (ff834aa), closes #951
- document the fact that cacheDir is configurable (#968) (35cd49a)
- Option Plugins (#948) (df2730d)
13.1.0 (2018-09-06)
13.0.1 (2018-07-24)
- add flag to allow control of instrumenter esModules option, default to looser parsing (#863) (6b6cd5e)
- Enable es-modules by default. (#889) (d0b76e2), closes #796
- Update caching-transform options. (#873) (52b69ef)
- use uuid/v4 to generate unique identifiers. (#883) (7483ed9)
13.0.0 (2018-06-08)
- allow rows with 100% statement, branch, and function coverage to be skipped in text report (#859) (893345a)
- --hook-run-in-context, and --hook-run-in-this-context are no longer true by default (they should be enabled if you're using a library like requirejs).
12.0.2 (2018-06-03)
- don't bundle istanbul-lib-instrument due to Node 6 issues (b4c325b)
- stop bundling istanbul-lib-instrument due to npm issue on Node 6 (#854) (ddc9331)
12.0.1 (2018-05-31)
12.0.0 (2018-05-31)
- babel@7 drops Node.js 4 support
11.9.0 (2018-05-31)
11.8.0 (2018-05-14)
11.7.3 (2018-05-10)
11.7.2 (2018-05-08)
11.7.1 (2018-04-17)
11.7.0 (2018-04-16)
- allow 0-line files to be ignored in coverage output (#808) (24e5979)
- load coverage files individually instead of all at once, addressing memory issues (#806) (05fea60)
11.6.0 (2018-03-13)
- removes unused split-lines dependency. (#787) (b4032ce)
- update to yargs version that allows extending configs with no extension (#790) (2d51562)
11.5.0 (2018-02-13)
- add command line options to control compacting and comment removal (#754) (2030e0c)
- resolve custom cache directory to absolute path (#766) (dd48707)
11.4.1 (2017-12-14)
11.4.0 (2017-11-28)
11.3.0 (2017-10-23)
- add --exclude-after-remap option for users who pre-instrument their codebase (#697) (cdfdff3)
- add option to hook vm.runInContext (#680) (f04b7a9)
- allow instrument-only to produce sourcemaps (#674) (f31d7a6)
11.2.1 (2017-09-06)
- apply exclude logic before remapping coverage (#667) (a10d478)
- create temp directory when --no-clean flag is set #663 (#664) (3bd1527)
11.2.0 (2017-09-05)
- add possibility to filter coverage-maps (#637) (dd40dc5)
- allow cwd to be configured see #620 (0dcceda)
11.1.0 (2017-07-16)
- add support for per file coverage checking (#591) (bbadc1f)
- upgrade to version of spawn-wrap that supports .EXE (#626) (8768afe)
11.0.3 (2017-06-25)
- update help link to list of reporters (#601) (b1eb4d6)
- upgrade to spawn-wrap version that works with babel-register (#617) (923b062)
11.0.2 (2017-06-02)
11.0.1 (2017-06-01)
11.0.0 (2017-05-31)
- add support for ES6 modules (f18f780)
- new version of find-up requires dropping 0.10/0.12 support (which we had already been planning).
10.3.2 (2017-05-05)
10.3.1 (2017-05-04)
- introduced a bug that resulted in source-maps not being loaded approriately on second test run (#566) (1bf74fd)
10.3.0 (2017-04-29)
10.2.0 (2017-03-28)
- fix bug related to merging coverage reports see #482 (81229a0)
- revert defaulting to empty file-coverage report, this caused too many issues (25aec77)
- allow babel cache to be enabled (#517) (98ebdff)
- exclude the coverage/ folder by default 🚀 (#502) (50adde4)
- upgrade to version of yargs with extend support (#541) (95cc09a)
10.1.2 (2017-01-18)
- revert defaulting to empty file-coverage report, this caused too many issues (25aec77)
10.1.1 (2017-01-18)
10.1.0 (2017-01-17)
- address edge-cases related to --all when instrumentation is disabled (#482) (8c58d68)
- pass configuration options to --check-coverage (#483) (1022b16)
- allow eager instantiation of instrumenter (#490) (8b58c05)
- reporting watermarks can now be set in nyc config stanza (#469) (0a1d72a)
- upgrade to istanbul-lib-instrument with support for 'const foo = function () {}' name preservation. upgrade to istanbul-lib-hook with fix for ts-node. (#494) (d8d2de0)
10.0.2 (2017-01-02)
10.0.1 (2016-12-27)
10.0.0 (2016-11-22)
- debug-log should be production dependency (a3c7f83)
- nyc's cache is now enabled by default
9.0.1 (2016-11-14)
- addresses several test-exclude edge-cases. addresses perf issue with yargs (#442)
9.0.0 (2016-11-13)
- adds support for source-map production (#439) (31488f5)
- allow an alternate cache folder to be provided (#443) (b6713a3)
- node_modules is again excluded by default when custom exclude is provided (#442) (2828538)
- /node_modules/ is again excluded by default.
8.4.0 (2016-10-30)
- hot-fix bad release of nyc (c487eb3)
- reverts _maybeInstrumentSource logic, so that exclude is still applied (#429) (b90d26f)
- update core istanbul libraries (#426) (4945dac)
- coverage information is now returned for process tree (#416) (92dedda)
- read coverage header when using "noop" instrumenter (#420) (63a8758)
8.3.1 (2016-10-06)
- swap to version of test-exclude that does not warn (#410) (78aac45)
- update istanbul-lib-source-maps to 1.0.2 (#411) (9c89945)
8.3.0 (2016-09-15)
- add a feature which allows us to bust the cache when breaking changes are introduced (#394) (b7a413a)
- add shim for check-coverage on node 0.10 (#386) (9ebaea8)
- upgrade to newer versions of source-map, signal-exit, and instrument (#389) (a9bdf0f), closes #379
- add support for .nycrc (#391) (1c2349b)
- refactored config to fix precedence of config vs. args (#388) (99dbbb3), closes #379
8.2.0 (2016-09-02)
8.1.0 (2016-08-14)
8.0.0 (2016-08-12)
- make
nyc instrument
work in subdirectories (#343) (a82cf49) - upgrade to versions of coverage/instrument that solve out-of-bound errors (#349) (bee0328)
- node_modules is no longer automatically excluded, and an empty array of exclude rules can now be provided.
7.1.0 (2016-07-24)
- make --all flag work with files with extensions other than .js (#326) (d0a8674)
- work around for Windows path issue nodejs/node#6624 (6b1fed0)
- nyc no longer tries to run arguments passed to the instrumented bin (#322) (e0a8c0b)
- use istanbul-lib-hook to wrap require and support vm hooks (#308) (2b64cf8)
7.0.0 (2016-07-09)
- adds instrument command line option (#298) (e45b51b)
- nyc is being refactored to become the official Istanbul 1.0 bin (#286) (61a05ea)
- significant chunks of nyc's API have been reworked, to use the Istanbul 1.0 API: source-map support, instrumentation, the check-coverage command, etc.
6.6.1 (2016-06-14)
- the package tree of bundled dependencies was incorrect (7bdccf5)
6.6.0 (2016-06-14)
6.5.1 (2016-06-14)
6.5.0 (2016-06-13)
- cleanup dependencies (#254) (a20d03d)
- discard more bad source map positions (#255) (0838a0e)
- Update AppVeyor config with ~faster npm install (#252) (df591f4)
6.4.4 (2016-05-07)
6.4.3 (2016-05-06)
- must bundle dependencies on npm<3.x or they will flatten (we need a better long-term solution)(9826f11)
6.4.2 (2016-05-02)
- update: update strip-bom to version 3.0.0 (#240)(24f55e7)
- upgrade spawn-wrap to version that works with new shelljs (#242)(b16053c)
6.4.1 (2016-04-27)
6.4.0 (2016-04-11)
- adds CLI integration testing, where there was no integration testing before. (3403ca1)
- cli: --include and --exclude are now accepted as CLI options, thanks @rpominov \o/ see #207 (f8a02b4)
6.3.0 (2016-04-08)
- better docs for excluding, thanks @kentdodds \o/ (22b06fe)
- updating dependencies (spawn wrap with npm patches \o/) (ac841b8)
6.2.1 (2016-04-05)
- bundling: .gitignore was interfering with bundle (0e4adae)
6.2.0 (2016-04-05)
- bundle dependencies: start bundling dependencies, which should address some issues we have seen with (6116077)
- exit code: use test program’s exit code even with
--check-coverage
(00bbeb2)
- conventional changelog: introducing conventional-changelog for changelog generation (f594c5e)
- exclude patterns: introduces new exclude-patterns based on @kentcdodds' coding conventions. (51b1777)
- update dependencies: new foreground-child and spawn-wrap have landed \o/ (1a0ad0b)
- #194 hot-fix for --all with multiple extensions (@bcoe)
- #191 upgrade to non-singleton verison of yargs (@bcoe)
- #185 default to long-form option names so that they can be overridden in package.json (@rapzo)
- #180 fix bug with findUp (@bcoe)
- #178 --all should handle extensions other than .js. (@lloydcotten)
- #177 add .editorconfig (@JaKXz)
- #167 all of nyc's settings can now be configured in package.json (@bcoe)
- #164 coverage tracking now uses absolute paths, awesome \o/ (@novemberborn)
- #163 support for extensions other than .js (@lloydcotten)
- #159 skip should continue working with source-maps (@novemberborn)
- #160 don't instrument files outside of the current working directory (@novemberborn)
- #152 upgrade to newest version of foreground-child (@isaacs)
- #150 guard against illegal positions in source-map (@novemberborn)
- #147 fix for foreground-child on Windows (@isaacs)
- #145 allow coverage output directory to be specified (@bcoe)
- #143 run files included via --all through transpilers (@bcoe)
- #139 documentation updates (@tcurdt)
- #138 Split CLI from spawn wrapper (@isaacs)
- #132 Move config to top level nyc argument. (@jamestalmage)
- #126 Add --check-coverage shorthand, which fails tests if coverage slips below threshold (@bcoe)
- #123 Upgrade spawn-wrap, foreground-child (@isaacs)
- #122 Use module for finding cache directory (@jamestalmage)
- #121 Fix for --all functionality. (@jamestalmage)
- #108 Adds cache functionality. this is a big one, thanks! (@jamestalmage)
- #118 Stop bundling spawn-wrap dependency (@bcoe)
- #114 Update to latest versions of tap, glob, rimraf (@isaacs)
- #107 Get test-suite running on Windows (@bcoe)
- #94 Windows failed if argument had no replace() method. (@bcoe)
- #87 make spawn() work on Windows (@bcoe)
- #84 glob based include/exclude of files (@Lalem001)
- #78 improvements to sourcemap tests (@novemberborn)
- #73 improvements to require tests (@novemberborn)
- #65 significant improvements to require hooks (@novemberborn)
- #64 upgrade Istanbul (@novemberborn)
- #58 adds support for Babel (@bcoe)
- #47 make the default exclude rules work on Windows (@bcoe)
- #45 pull in patched versions of spawn-wrap and foreground-child, which support Windows (@bcoe)
- #44 Adds --all option which adds 0% coverage reports for all files in project, regardless of whether code touches them (@ronkorving)
- #38 fixes for windows spawning (@rmg)
- #33 spawn istanbul in a way that is less likely to break [email protected] (@bcoe)
- #31 Combine instrumentation and reporting steps, based on @Raynos' suggestion (@bcoe)
- #30 Added check-coverage functionality, thanks @Raynos! (@bcoe)
- #27 upgraded tap, and switched tests to using tap --coverage (@bcoe)
- #25 support added for multiple reporters, thanks @jasisk! (@jasisk)
- b2e4707 change location of nyc_output to .nyc_output. Added note about coveralls comments. (@sindresorhus)
- 376e328 handle corrupt JSON files in nyc_output (@bcoe)
- b39dec5 new signal-exit handles process.exit() in process.on('exit') (@isaacs)
- ad13b30 added CHANGELOG.md \o/ (@bcoe)
- 53fef48 put tests around @shackpank's work on .istanbul.yml (@bcoe)
- da81c54 upgrade spawn-wrap and foreground-child (@isaacs)
- 4f69327 pin tap until new version of nyc can be pulled in (@bcoe)
- cd70a41 upgrade signal-exit (@bcoe)
- #11 Merge pull request #11 from bcoe/exlude-docs (@bcoe)
- 4d920ef ensure that writing code coverage always happens last (@bcoe)
- 94d2693 [email protected] (@isaacs)
- 62c2cb0 upgrade signal-exit dependency (@bcoe)
- ae05346 pulled in new version of signal-exit (@bcoe)
- 8ca6e16 pulled in signal-exit module (@bcoe)
- 0f701da pulled in new spawn-wrap, various bug fixes (@isaacs)
- 2611ba4 handle signals when writing coverage report (@bcoe)
- 8b362d6 istanbul has a text lcov report now \o/ (@bcoe)
- 48b21cf added coverage and build badges (@bcoe)