mediawiki-extensions-Popups/.nycrc.json
Stephen Niedzielski 95047ba360 Fix: code coverage
Replace Istanbul with nyc, Istanbul's CLI. nyc appears to have some
bugs that this patch works around:

  - When all files in the project are considered, not just those
    imported via tests, the coverage rates and line numbers vary between
    runs. This patch disables the `all` option for now and points to the
    bug:
    https://github.com/istanbuljs/nyc/issues/537#issuecomment-390814662.

  - Source map line numbers appear to be incorrect except when `all` is
    enabled and working correctly (see previous bullet).

  - `sourceMap` must be disabled to avoid ENAMETOOLONG errors when nyc
    tries to include them as encoded strings. The patch disables the
    setting and points to: https://github.com/istanbuljs/nyc/issues/847.
    Using babel-plugin-istanbul and source-map-support appears to have
    no effect (the former in tests/node-qunit/run.js and .babelrc).

  - CI fails with
    `Error: EACCES: permission denied, mkdir '/nonexistent'`. Specify
    `SPAWN_WRAP_SHIM_ROOT` instead of constructing a subdirectory from a
    nonexistent home directory.

Bug: T196952
Bug: T193519
Change-Id: Idf2e3accd4a6277cbef91c1156fcd206c9e7d882
2018-06-19 18:10:02 -05:00

32 lines
1 KiB
JSON

{
"//": "todo: enable caching. There are too many other issues to verify that",
"//": "caching works correctly.",
"cache": false,
"//": "todo: check coverage on all files not just those included in tests.",
"//": "Enable when",
"//": "https://github.com/istanbuljs/nyc/issues/537#issuecomment-390814662",
"//": "is fixed.",
"all": false,
"//": "Ignore files in vendor/, resources/, and elsewhere.",
"include": [ "src/**/*.js" ],
"//": "Set the coverage percentage by category thresholds.",
"statements": 90,
"branches": 85,
"functions": 85,
"lines": 90,
"//": "Fail if the coverage is below threshold.",
"check-coverage": true,
"//": "Work around source maps being included ",
"//": "https://github.com/istanbuljs/nyc/issues/847:",
"//": " Error: ENAMETOOLONG: name too long, open '.../vagrant/mediawiki/extensions/Popups/src/data:application/json;...'",
"//": "Unfortunately, the reported line numbers appear to be",
"//": "nondeterministic across runs when all is enabled and incorrect when",
"//": "disabled.",
"sourceMap": false
}