Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document steps in nyc execution #138

Open
dtgriscom opened this issue May 11, 2018 · 1 comment
Open

Document steps in nyc execution #138

dtgriscom opened this issue May 11, 2018 · 1 comment

Comments

@dtgriscom
Copy link

I'm using nyc to capture code coverage in my TypeScript project, and it's working well (excellent tool). However, now that I want to do more sophisticated things (e.g. merge multiple coverage captures into a single report) I'm finding that there's a total lack of documentation on just what steps nyc takes when it runs, and how to control them.

After a lot of sniffing around the various fragments of doc and --help output, I believe the default process is something like the following:

  1. Delete contents of .nyc_output
  2. Run node, loading target .js file
    a. Whenever node loads a .js file, instrument it (default is to cache results)
    b. Run target code, accumulating coverage data in __coverage__ object
    c. Continue until target project exits
  3. Write captured coverage data to a single .nyc_output/ReallyLongRandomHexFileName.json file
  4. Read .nyc_output/*.json files back in (?), merging all data into single representation of coverage
  5. Generate each requested report

Did I get this right? If so, how can I control this sequence? For instance, I'd like to:

  • Disable deletion of previous .nyc_output/ReallyLongRandomHexFileName.json files (--clean=false option, I believe, although I'm not sure of the syntax)
  • Disable report generation (--silent option, I believe)
  • Just generate reports from all merged .nyc_output/ReallyLongRandomHexFileName.json files (the report command, I believe)

If I got all this right, then please consider this a request for documentation; basic issues like this probably get in the way of a lot of potential nyc users. (In theory I could write the doc myself and submit a pull request, but I don't have a good feel for where in the doc tree it should be placed.)

@JaKXz
Copy link
Member

JaKXz commented Jan 3, 2019

@dtgriscom I appreciate this issue, sorry it's taken so long to get back to you.

I would love to see a PR here, under the docs/advanced features section: https://github.com/istanbuljs/istanbuljs.github.io/tree/development/content/docs/advanced

@JaKXz JaKXz transferred this issue from istanbuljs/nyc Jan 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants