istanbuljs/nyc

Add a new `profile` option.

开放

#144 创建于 2016年1月19日

 (1 条评论) (3 个反应) (0 位负责人)JavaScript (363 个派生)batch import
Great First Contributionenhancementhelp wanted

仓库指标

星标
 (5,765 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

Since stumbling into this process while trying to improve NYC's performance, I have continued to discover ways that coverage data can answer questions beyond "is it tested?".

I think it would be really interesting to add a new profile command.

The signature would be:

nyc profile <profiled-dependency> <command ...>

It would not add coverage for the local library, but the dependency.

Assume some module uses AVA as it's test runner:

$ nyc profile ava ./node_modules/.bin/ava test/*.js

This executes ava ./node_modules/.bin/ava test/*.js using NYC's spawn-wrap goodness, but instead of excluding node_modules, our require hook hooks everything in node_modules/ava/ (but not node_modules/ava/node_modules).

This basically turns nyc into a quick and dirty profiling tool, allowing you to identify hot loops in your code and identify lines that are only used by your test suite.

贡献者指南