nyc shareable configuration for github.com/nodutilus
ΠΠΎΠ½ΡΠΈΠ³ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΠΊΡΡΡΠΈΡ ΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ESM ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠΈΠ»ΠΈΡΡ nyc Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ babel-plugin-istanbul.
ΠΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ: istanbul tutorials/es2015
ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
- ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ Π½Π° 100% (Ρ ΡΠ»Π°Π³ΠΎΠΌ --all --instrument false), ΠΈΠ½Π°ΡΠ΅ ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ
- ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
coverage/**
,**/{rollup,webpack}.config.js
- Π€ΠΎΡΠΌΠ°Ρ ΠΎΡΡΠ΅ΡΠ°
text
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅
"type": "module"
- ΠΠ° Π»Π΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠΎΡΠΌΠ°Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ
nyc
ΠΈ@babel/register
, Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π·babel
. - ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ:
npx nodutilus-nyc
nodutilus-nyc
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅: npx nodutilus-nyc
ΠΠ½ΡΡΡΠΈ:
npx cross-env NODE_ENV=nyc_esm_test npx nyc node test
npx nyc check-coverage
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
-
--html
- ΠΠΎΠ±Π°Π²ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρnpx nyc report --reporter=html
, Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ HTML
ΠΡΠΈΠΌΠ΅Ρ:
npx nodutilus-nyc --html
ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
package.json
:
"devDependencies": {
"@nodutilus/nyc-config": "latest"
}
.nycrc.json
:
{
"extends": "@nodutilus/nyc-config"
}
babel.config.json
:
{
"extends": "@nodutilus/nyc-config/babel"
}
ΠΠ°ΠΆΠ½ΠΎ! ΠΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΉΠ»
babel.config.json
, ΡΡΠΎΠ±Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅node_modules
GitHub Actions
ΠΡΠΈΠΌΠ΅Ρ Π² jobs:
check:
name: Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@master
with:
node-version: ">=14"
- name: Install dependencies
run: npm install
- name: Coverage
run: npx nodutilus-nyc