gotwarlost / istanbul

Yet another JS code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. Supports all JS coverage use cases including unit tests, server side functional tests and browser tests. Built for scale.
Other
8.7k stars 786 forks source link

'flow' report/web app for interactively fixing coverage #629

Closed aparajita closed 8 years ago

aparajita commented 8 years ago

My typical workflow with istanbul is:

In the context of this workflow, I found the html report has a few weaknesses:

In an effort to address all of these weaknesses, I created a new report format called "flow" (for "workflow"), which is actually a full-blown web app. IMHO, it's the killer app for istanbul.

Detailed documentation is included. Please give it a try!

aparajita commented 8 years ago

Looks like I need to fix some stylistic errors.

coveralls commented 8 years ago

Coverage Status

Coverage decreased (-0.3%) to 97.199% when pulling cf8401c7497daef41f02b1e83f3a40281d3c4456 on aparajita:flow-report into 0e8c3503d9e1c50e3a446f94e1429ceb1bd7fda0 on gotwarlost:master.

aparajita commented 8 years ago

Looks like it's failing with the versions of node used with travis, I'll fix that. It's passing all tests with node v5.x.

coveralls commented 8 years ago

Coverage Status

Coverage decreased (-0.3%) to 97.198% when pulling 53cd0525496e084b45351419bab83001d8a5a36d on aparajita:flow-report into 0e8c3503d9e1c50e3a446f94e1429ceb1bd7fda0 on gotwarlost:master.

aparajita commented 8 years ago

@gotwarlost Any chance you can look at this? Would you consider adding me as a committer to the project? I rely heavily on istanbul and I'd be happy to help out.

gotwarlost commented 8 years ago

Oops, sorry for not replying. Been busy with working on istanbul 1.0. In which I plan to allow outside-of-core reports using --report foo as long as you write the report in a module called istanbul-foo-report. I need to check on the status of this extension mechanism but it can be trivially added.

Thing is, I already have a hard time maintaining current reports and do not want to increase the core footprint. Which I why I prefer new reports to be written using the extension mechanism.

However, the reporting interface has changed for 1.0 and the new reports can be found here:

https://github.com/istanbuljs/istanbul-reports

See also: https://github.com/istanbuljs/istanbul-lib-report for context on the visitor mechanism.

Yeah, I still need to publish the docs. For now, the library has decent JSdoc

aparajita commented 7 years ago

I'll look into using the extension mechanism in 1.0, thanks.