diff --git a/.eslintignore b/.eslintignore
index c5a8f425..df3e9ca9 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,5 +1,6 @@
node_modules/
vendor/
packages/istanbul-api/test/sample-code/bad.js
+packages/istanbul-reports/lib/html-spa/assets/bundle.js
coverage
dist
diff --git a/.eslintrc b/.eslintrc
index 1c82efb2..cc9b68c0 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -3,8 +3,14 @@
"eslint:recommended",
"plugin:prettier/recommended",
"plugin:import/errors",
- "plugin:import/warnings"
+ "plugin:import/warnings",
+ "plugin:react/recommended"
],
+ "settings": {
+ "react": {
+ "version": "16.8"
+ }
+ },
"parserOptions": {
"ecmaVersion": 7,
"sourceType": "module"
@@ -24,6 +30,24 @@
"browser": true
}
},
+ {
+ "files": "packages/istanbul-reports/lib/html-spa/src/**",
+ "parser": "babel-eslint",
+ "parserOptions": {
+ "ecmaVersion": 2019,
+ "sourceType": "module",
+ "ecmaFeatures": {
+ "jsx": true
+ }
+ },
+ "env": {
+ "browser": true
+ },
+ "rules": {
+ "react/prop-types": "off",
+ "react/jsx-no-target-blank": "off"
+ }
+ },
{
"files": "!packages/istanbul-reports/lib/html/assets/**",
"rules": {
diff --git a/package-lock.json b/package-lock.json
index 24485e6e..de6faba7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2494,6 +2494,32 @@
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
"dev": true
},
+ "babel-eslint": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz",
+ "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.0.0",
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "eslint-scope": "3.7.1",
+ "eslint-visitor-keys": "^1.0.0"
+ },
+ "dependencies": {
+ "eslint-scope": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
+ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ }
+ }
+ },
"babelify": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz",
@@ -4442,6 +4468,32 @@
"prettier-linter-helpers": "^1.0.0"
}
},
+ "eslint-plugin-react": {
+ "version": "7.12.4",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz",
+ "integrity": "sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "doctrine": "^2.1.0",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^2.0.1",
+ "object.fromentries": "^2.0.0",
+ "prop-types": "^15.6.2",
+ "resolve": "^1.9.0"
+ },
+ "dependencies": {
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ }
+ }
+ },
"eslint-scope": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
@@ -4999,8 +5051,7 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"aproba": {
"version": "1.2.0",
@@ -5021,14 +5072,12 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -5043,20 +5092,17 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"core-util-is": {
"version": "1.0.2",
@@ -5173,8 +5219,7 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"ini": {
"version": "1.3.5",
@@ -5186,7 +5231,6 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -5201,7 +5245,6 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -5209,14 +5252,12 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -5235,7 +5276,6 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -5316,8 +5356,7 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"object-assign": {
"version": "4.1.1",
@@ -5329,7 +5368,6 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"wrappy": "1"
}
@@ -5415,8 +5453,7 @@
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -5452,7 +5489,6 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -5472,7 +5508,6 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -5516,14 +5551,12 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"yallist": {
"version": "3.0.3",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -7087,6 +7120,15 @@
"verror": "1.10.0"
}
},
+ "jsx-ast-utils": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz",
+ "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3"
+ }
+ },
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
@@ -8605,6 +8647,18 @@
"object-keys": "^1.0.11"
}
},
+ "object.fromentries": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.0.tgz",
+ "integrity": "sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.11.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.1"
+ }
+ },
"object.getownpropertydescriptors": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
@@ -9192,6 +9246,17 @@
"read": "1"
}
},
+ "prop-types": {
+ "version": "15.7.2",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
+ "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.8.1"
+ }
+ },
"property-information": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz",
@@ -9307,6 +9372,12 @@
}
}
},
+ "react-is": {
+ "version": "16.8.6",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
+ "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==",
+ "dev": true
+ },
"read": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
diff --git a/package.json b/package.json
index 9e39fbfc..bbb04447 100644
--- a/package.json
+++ b/package.json
@@ -29,6 +29,7 @@
"@babel/core": "^7.4.3",
"@babel/preset-env": "^7.4.3",
"@babel/register": "^7.4.0",
+ "babel-eslint": "^10.0.1",
"chai": "^4.2.0",
"clone": "^2.1.2",
"coveralls": "^3.0.3",
@@ -39,6 +40,7 @@
"eslint-config-prettier": "^4.1.0",
"eslint-plugin-import": "^2.17.2",
"eslint-plugin-prettier": "^3.0.1",
+ "eslint-plugin-react": "^7.12.4",
"is-windows": "^1.0.2",
"js-yaml": "^3.13.1",
"lerna": "^3.13.3",
@@ -56,6 +58,9 @@
"**/coverage/**",
"**/dist/**",
"**/html/assets/**",
+ "**/html-spa/assets/**",
+ "**/html-spa/src/**",
+ "**/html-spa/rollup.config.js",
"**/test/**"
],
"reporter": [
diff --git a/packages/istanbul-reports/.gitignore b/packages/istanbul-reports/.gitignore
new file mode 100644
index 00000000..135ae49e
--- /dev/null
+++ b/packages/istanbul-reports/.gitignore
@@ -0,0 +1 @@
+lib/html-spa/assets/bundle.js
\ No newline at end of file
diff --git a/packages/istanbul-reports/lib/html-spa/.babelrc b/packages/istanbul-reports/lib/html-spa/.babelrc
new file mode 100644
index 00000000..86ef2108
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/.babelrc
@@ -0,0 +1,3 @@
+{
+ "presets": ["@babel/preset-env", "@babel/preset-react"]
+}
diff --git a/packages/istanbul-reports/lib/html-spa/assets/sort-arrow-sprite.png b/packages/istanbul-reports/lib/html-spa/assets/sort-arrow-sprite.png
new file mode 100644
index 00000000..03f704a6
Binary files /dev/null and b/packages/istanbul-reports/lib/html-spa/assets/sort-arrow-sprite.png differ
diff --git a/packages/istanbul-reports/lib/html-spa/assets/spa.css b/packages/istanbul-reports/lib/html-spa/assets/spa.css
new file mode 100644
index 00000000..519464c9
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/assets/spa.css
@@ -0,0 +1,256 @@
+body,
+html {
+ margin: 0;
+ padding: 0;
+ height: 100%;
+}
+body {
+ font-family: Helvetica Neue, Helvetica, Arial;
+ font-size: 14px;
+ color: #333;
+}
+.small {
+ font-size: 12px;
+}
+*,
+*:after,
+*:before {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+h1 {
+ font-size: 20px;
+ margin: 0;
+}
+a {
+ color: #0074d9;
+ text-decoration: none;
+}
+a:hover {
+ text-decoration: underline;
+}
+.strong {
+ font-weight: bold;
+}
+.space-top1 {
+ padding: 10px 0 0 0;
+}
+.pad1y {
+ padding: 10px 0;
+}
+.pad2 {
+ padding: 20px;
+}
+.pad1 {
+ padding: 10px;
+}
+.space-right2 {
+ padding-right: 20px;
+}
+.center {
+ text-align: center;
+}
+.clearfix {
+ display: block;
+}
+.clearfix:after {
+ content: '';
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+.fl {
+ float: left;
+}
+@media only screen and (max-width: 640px) {
+ .col3 {
+ width: 100%;
+ max-width: 100%;
+ }
+ .hide-mobile {
+ display: none !important;
+ }
+}
+
+.quiet {
+ color: #7f7f7f;
+ color: rgba(0, 0, 0, 0.5);
+}
+.quiet a {
+ opacity: 0.7;
+}
+
+.fraction {
+ font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
+ font-size: 10px;
+ color: #555;
+ background: #e8e8e8;
+ padding: 4px 5px;
+ border-radius: 3px;
+ vertical-align: middle;
+}
+
+.coverage-summary {
+ border-collapse: collapse;
+ border: 1px solid #bbb;
+ width: 100%;
+}
+.coverage-summary tr {
+ border-bottom: 1px solid #bbb;
+}
+.coverage-summary td,
+.coverage-summary th {
+ padding: 5px 7px;
+}
+.coverage-summary td,
+.coverage-summary th {
+ border-right: 1px solid #bbb;
+}
+.coverage-summary td:last-child,
+.coverage-summary th:last-child {
+ border-right: none;
+}
+.coverage-summary th {
+ text-align: left;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.coverage-summary th.pic,
+.coverage-summary th.abs,
+.coverage-summary td.pct,
+.coverage-summary td.abs {
+ text-align: right;
+}
+.coverage-summary td.file {
+ white-space: nowrap;
+}
+.coverage-summary td.pic {
+ min-width: 120px !important;
+}
+.coverage-summary .sorter {
+ height: 10px;
+ width: 7px;
+ display: inline-block;
+ margin-left: 0.5em;
+ background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
+}
+.coverage-summary .sorted .sorter {
+ background-position: 0 -20px;
+}
+.coverage-summary .sorted-desc .sorter {
+ background-position: 0 -10px;
+}
+/* dark red */
+.red.solid,
+.low .cover-fill {
+ background: #c21f39;
+}
+/* light red */
+.low {
+ background: #fce1e5;
+}
+/* light green */
+.high {
+ background: rgb(230, 245, 208);
+}
+/* dark green */
+.high .cover-fill {
+ background: rgb(77, 146, 33);
+}
+/* dark yellow (gold) */
+.medium .cover-fill {
+ background: #f9cd0b;
+}
+/* light yellow */
+.medium {
+ background: #fff4c2;
+}
+
+.coverage-summary td.empty {
+ opacity: 0.5;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ line-height: 1;
+ color: #888;
+}
+
+.cover-fill,
+.cover-empty {
+ display: inline-block;
+ height: 4px;
+}
+.chart {
+ line-height: 0;
+}
+.cover-empty {
+ background: white;
+}
+.cover-full {
+ border-right: none !important;
+}
+
+.app {
+ min-height: 100%;
+ display: flex;
+ flex-direction: column;
+}
+.body {
+ flex-grow: 1;
+}
+.footer {
+ height: 48px;
+ flex-shrink: 0;
+}
+.togglebutton.enabled {
+ border-style: inset;
+}
+.expandbutton {
+ color: black;
+ font-weight: bold;
+ font-size: 1.2em;
+ margin-right: 0.1em;
+ padding: 0.1em;
+ width: 0.8em;
+ display: inline-block;
+ background-color: transparent;
+ border: none;
+}
+.filetab {
+ display: inline-block;
+ width: 1.1em;
+}
+.coverage-summary .topheading {
+ border-bottom: none;
+}
+.coverage-summary .headercell {
+ border-top: 1px solid #eee;
+ text-align: right;
+ font-size: 11px;
+}
+.coverage-summary .headercell:nth-child(3n),
+.coverage-summary .headercell:nth-child(3n + 1),
+.coverage-summary td:nth-child(3n + 2),
+.coverage-summary td:nth-child(3n + 3) {
+ border-right: 1px solid #ddd;
+}
+.coverage-summary tbody tr:nth-child(2n) td {
+ padding: 0;
+}
+.coverage-summary tbody tr:nth-child(2n - 1) {
+ border-bottom: none;
+}
+.coverage-summary td.file {
+ border-bottom: 1px solid #bbb;
+}
+.buttongroup {
+ display: inline-block;
+ margin-right: 40px;
+}
+.buttongroup label {
+ margin-right: 15px;
+}
+th.sortable {
+ cursor: pointer;
+}
diff --git a/packages/istanbul-reports/lib/html-spa/index.js b/packages/istanbul-reports/lib/html-spa/index.js
new file mode 100644
index 00000000..2f723d2f
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/index.js
@@ -0,0 +1,176 @@
+/*
+ Copyright 2012-2015, Yahoo Inc.
+ Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
+ */
+const fs = require('fs');
+const path = require('path');
+const HtmlReport = require('../html');
+
+const standardLinkMapper = {
+ getPath(node) {
+ if (typeof node === 'string') {
+ return node;
+ }
+ let filePath = node.getQualifiedName();
+ if (node.isSummary()) {
+ if (filePath !== '') {
+ filePath += '/index.html';
+ } else {
+ filePath = 'index.html';
+ }
+ } else {
+ filePath += '.html';
+ }
+ return filePath;
+ },
+
+ relativePath(source, target) {
+ const targetPath = this.getPath(target);
+ const sourcePath = path.dirname(this.getPath(source));
+ return path.relative(sourcePath, targetPath);
+ },
+
+ assetPath(node, name) {
+ return this.relativePath(this.getPath(node), name);
+ }
+};
+
+class HtmlSpaReport {
+ constructor(opts = {}) {
+ this.verbose = opts.verbose || false;
+ this.linkMapper = opts.linkMapper || standardLinkMapper;
+ this.subdir = opts.subdir || '';
+ this.date = Date();
+ this.skipEmpty = opts.skipEmpty;
+ this.htmlReport = new HtmlReport(opts);
+ this.htmlReport.getBreadcrumbHtml = function() {
+ return 'Back';
+ };
+
+ this.metricsToShow = opts.metricsToShow || [
+ 'lines',
+ 'branches',
+ 'functions'
+ ];
+ }
+
+ getWriter(context) {
+ if (!this.subdir) {
+ return context.writer;
+ }
+ return context.writer.writerForDir(this.subdir);
+ }
+
+ onStart(root, context) {
+ this.htmlReport.onStart(root, context);
+
+ const writer = this.getWriter(context);
+ const srcDir = path.resolve(__dirname, './assets');
+ fs.readdirSync(srcDir).forEach(f => {
+ const resolvedSource = path.resolve(srcDir, f);
+ const resolvedDestination = '.';
+ const stat = fs.statSync(resolvedSource);
+ let dest;
+
+ if (stat.isFile()) {
+ dest = resolvedDestination + '/' + f;
+ if (this.verbose) {
+ console.log('Write asset: ' + dest);
+ }
+ writer.copyFile(resolvedSource, dest);
+ }
+ });
+ }
+
+ onDetail(node, context) {
+ this.htmlReport.onDetail(node, context);
+ }
+
+ getMetric(metric, type, isEmpty, context) {
+ return {
+ total: metric.total,
+ covered: metric.covered,
+ skipped: metric.skipped,
+ pct: isEmpty ? 0 : metric.pct,
+ classForPercent: isEmpty
+ ? 'empty'
+ : context.classForPercent(type, metric.pct)
+ };
+ }
+
+ toDataStructure(node, context) {
+ const coverageSummary = node.getCoverageSummary();
+ const isEmpty = coverageSummary.isEmpty();
+ const metrics = {
+ statements: this.getMetric(
+ coverageSummary.statements,
+ 'statements',
+ isEmpty,
+ context
+ ),
+ branches: this.getMetric(
+ coverageSummary.branches,
+ 'branches',
+ isEmpty,
+ context
+ ),
+ functions: this.getMetric(
+ coverageSummary.functions,
+ 'functions',
+ isEmpty,
+ context
+ ),
+ lines: this.getMetric(
+ coverageSummary.lines,
+ 'lines',
+ isEmpty,
+ context
+ )
+ };
+
+ return {
+ file: node.getRelativeName(),
+ isEmpty,
+ metrics,
+ children:
+ node.isSummary() &&
+ node
+ .getChildren()
+ .map(child => this.toDataStructure(child, context))
+ };
+ }
+
+ onEnd(rootNode, context) {
+ const data = this.toDataStructure(rootNode, context);
+
+ const cw = this.getWriter(context).writeFile(
+ this.linkMapper.getPath(rootNode)
+ );
+
+ cw.write(
+ `
+
+
+
+
+
+
+
+
+
+
+ `
+ );
+ cw.close();
+ }
+}
+
+module.exports = HtmlSpaReport;
diff --git a/packages/istanbul-reports/lib/html-spa/rollup.config.js b/packages/istanbul-reports/lib/html-spa/rollup.config.js
new file mode 100644
index 00000000..4786b6e6
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/rollup.config.js
@@ -0,0 +1,42 @@
+import babel from 'rollup-plugin-babel';
+import resolve from 'rollup-plugin-node-resolve';
+import commonjs from 'rollup-plugin-commonjs';
+import { terser } from 'rollup-plugin-terser';
+import replace from 'rollup-plugin-replace';
+
+module.exports = {
+ input: 'lib/html-spa/src/index.js',
+ output: {
+ file: 'lib/html-spa/assets/bundle.js',
+ format: 'iife'
+ },
+ plugins: [
+ babel({
+ exclude: 'node_modules/**'
+ }),
+ resolve(),
+ commonjs({
+ namedExports: {
+ 'react/index.js': [
+ 'createElement',
+ 'Fragment',
+ 'useState',
+ 'useMemo',
+ 'useEffect'
+ ],
+ 'react-dom/index.js': ['render', 'unstable_batchedUpdates']
+ }
+ }),
+ replace({
+ 'process.env.NODE_ENV': JSON.stringify('production')
+ }),
+ // use fast minify mode https://github.com/terser-js/terser#terser-fast-minify-mode
+ terser({
+ compress: false,
+ mangle: true,
+ output: {
+ preamble: '/* eslint-disable */\n'
+ }
+ })
+ ]
+};
diff --git a/packages/istanbul-reports/lib/html-spa/src/filterButtons.js b/packages/istanbul-reports/lib/html-spa/src/filterButtons.js
new file mode 100644
index 00000000..0fa8bb18
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/src/filterButtons.js
@@ -0,0 +1,48 @@
+import React from 'react';
+
+function FilterButton({ children, filter, activeFilters, setFilters }) {
+ return (
+
+ );
+}
+
+export default function FilterButtons({ activeFilters, setFilters }) {
+ return (
+
+
+
+ Low
+
+
+ Medium
+
+
+ High
+
+
+ );
+}
diff --git a/packages/istanbul-reports/lib/html-spa/src/flattenButton.js b/packages/istanbul-reports/lib/html-spa/src/flattenButton.js
new file mode 100644
index 00000000..d503c6c9
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/src/flattenButton.js
@@ -0,0 +1,14 @@
+import React from 'react';
+
+export default function FlattenButton({ setIsFlat, isFlat }) {
+ return (
+
+
+
+ );
+}
diff --git a/packages/istanbul-reports/lib/html-spa/src/getChildData.js b/packages/istanbul-reports/lib/html-spa/src/getChildData.js
new file mode 100644
index 00000000..8b09b327
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/src/getChildData.js
@@ -0,0 +1,152 @@
+function addPath(node, parentPath) {
+ if (!parentPath) {
+ return node;
+ }
+ return { ...node, file: parentPath + '/' + node.file };
+}
+
+function flatten(nodes, parentPath) {
+ let children = [];
+ for (let i = 0; i < nodes.length; i++) {
+ const child = nodes[i];
+ if (child.children) {
+ children = [
+ ...children,
+ ...flatten(
+ child.children,
+ (parentPath ? parentPath + '/' : '') + child.file
+ )
+ ];
+ } else {
+ children.push(addPath(child, parentPath));
+ }
+ }
+ return children;
+}
+
+function filterByFile(nodes, fileFilter, parentPath) {
+ let children = [];
+
+ for (let i = 0; i < nodes.length; i++) {
+ const child = nodes[i];
+ const childFullPath = (parentPath ? parentPath + '/' : '') + child.file;
+ if (
+ childFullPath === fileFilter ||
+ childFullPath.indexOf(fileFilter) < 0
+ ) {
+ if (fileFilter.indexOf(childFullPath) === 0) {
+ // flatten
+ children = [
+ ...children,
+ ...filterByFile(child.children, fileFilter, childFullPath)
+ ];
+ }
+ } else {
+ const charsToRemoveFromFile =
+ fileFilter.length - (parentPath ? parentPath.length : 0);
+ let childFilename = child.file.slice(charsToRemoveFromFile);
+ if (childFilename[0] === '/') {
+ childFilename = childFilename.slice(1);
+ }
+ children.push({
+ ...child,
+ file: childFilename
+ });
+ }
+ }
+ return children;
+}
+
+function sort(childData, activeSort) {
+ const top = activeSort.order === 'asc' ? 1 : -1;
+ const bottom = activeSort.order === 'asc' ? -1 : 1;
+ childData.sort((a, b) => {
+ let valueA;
+ let valueB;
+ if (activeSort.sortKey === 'file') {
+ valueA = a.file;
+ valueB = b.file;
+ } else {
+ const [metricType, valueType] = activeSort.sortKey.split('.');
+ valueA = a.metrics[metricType][valueType];
+ valueB = b.metrics[metricType][valueType];
+ }
+
+ if (valueA === valueB) {
+ return 0;
+ }
+ return valueA < valueB ? top : bottom;
+ });
+
+ for (let i = 0; i < childData.length; i++) {
+ const child = childData[i];
+ if (child.children) {
+ childData[i] = {
+ ...child,
+ children: sort(child.children, activeSort)
+ };
+ }
+ }
+ return childData;
+}
+
+function filter(nodes, metricsMap, activeFilters) {
+ const children = [];
+ for (let i = 0; i < nodes.length; i++) {
+ let child = nodes[i];
+ if (child.children) {
+ const newSubChildren = filter(
+ child.children,
+ metricsMap,
+ activeFilters
+ );
+ if (newSubChildren.length) {
+ child = { ...child, children: newSubChildren };
+ children.push(child);
+ }
+ } else {
+ if (
+ (metricsMap.statements &&
+ activeFilters[child.metrics.statements.classForPercent]) ||
+ (metricsMap.branches &&
+ activeFilters[child.metrics.branches.classForPercent]) ||
+ (metricsMap.functions &&
+ activeFilters[child.metrics.functions.classForPercent]) ||
+ (metricsMap.lines &&
+ activeFilters[child.metrics.lines.classForPercent])
+ ) {
+ children.push(child);
+ }
+ }
+ }
+ return children;
+}
+
+export default function getChildData(
+ sourceData,
+ metricsToShow,
+ activeSort,
+ isFlat,
+ activeFilters,
+ fileFilter
+) {
+ let childData = sourceData.children;
+
+ if (isFlat) {
+ childData = flatten(childData.slice(0));
+ }
+
+ if (fileFilter) {
+ childData = filterByFile(childData, fileFilter);
+ }
+
+ if (activeFilters.low) {
+ activeFilters = { ...activeFilters, empty: true };
+ }
+ childData = filter(childData, metricsToShow, activeFilters);
+
+ if (activeSort) {
+ childData = sort(childData, activeSort);
+ }
+ return childData;
+}
diff --git a/packages/istanbul-reports/lib/html-spa/src/index.js b/packages/istanbul-reports/lib/html-spa/src/index.js
new file mode 100644
index 00000000..46a3807f
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/src/index.js
@@ -0,0 +1,153 @@
+// The index file for the spa running on the summary page
+import React, { useState, useMemo, useEffect } from 'react';
+import ReactDOM from 'react-dom';
+import SummaryTableHeader from './summaryTableHeader';
+import SummaryTableLine from './summaryTableLine';
+import SummaryHeader from './summaryHeader';
+import getChildData from './getChildData';
+import FlattenButton from './flattenButton';
+import FilterButtons from './filterButtons';
+import { setLocation, decodeLocation } from './routing';
+
+const sourceData = window.data;
+const metricsToShow = {};
+for (let i = 0; i < window.metricsToShow.length; i++) {
+ metricsToShow[window.metricsToShow[i]] = true;
+}
+
+let firstMount = true;
+
+function App() {
+ const routingDefaults = decodeLocation();
+
+ const [activeSort, setSort] = useState(
+ (routingDefaults && routingDefaults.activeSort) || {
+ sortKey: 'file',
+ order: 'desc'
+ }
+ );
+ const [isFlat, setIsFlat] = useState(
+ (routingDefaults && routingDefaults.isFlat) || false
+ );
+ const [activeFilters, setFilters] = useState(
+ (routingDefaults && routingDefaults.activeFilters) || {
+ low: true,
+ medium: true,
+ high: true
+ }
+ );
+ const [expandedLines, setExpandedLines] = useState(
+ (routingDefaults && routingDefaults.expandedLines) || []
+ );
+ const [fileFilter, setFileFilter] = useState(
+ (routingDefaults && routingDefaults.fileFilter) || ''
+ );
+ const childData = useMemo(
+ () =>
+ getChildData(
+ sourceData,
+ metricsToShow,
+ activeSort,
+ isFlat,
+ activeFilters,
+ fileFilter
+ ),
+ [activeSort, isFlat, activeFilters, fileFilter]
+ );
+ const overallMetrics = sourceData.metrics;
+
+ useEffect(() => {
+ setLocation(
+ firstMount,
+ activeSort,
+ isFlat,
+ activeFilters,
+ fileFilter,
+ expandedLines
+ );
+ firstMount = false;
+ }, [activeSort, isFlat, activeFilters, fileFilter, expandedLines]);
+
+ useEffect(() => {
+ window.onpopstate = () => {
+ const routingState = decodeLocation();
+ if (routingState) {
+ // make sure all the state is set before rendering to avoid url updates
+ // alternative is to merge all the states into one so it can be set in one go
+ // https://github.com/facebook/react/issues/14259
+ ReactDOM.unstable_batchedUpdates(() => {
+ setFilters(routingState.activeFilters);
+ setSort(routingState.activeSort);
+ setIsFlat(routingState.isFlat);
+ setExpandedLines(routingState.expandedLines);
+ setFileFilter(routingState.fileFilter);
+ });
+ }
+ };
+ }, []);
+
+ return (
+ <>
+
+
+ {Boolean(fileFilter) && (
+
+ )}
+
+
+
+
+
+
+ {
+ setSort(newSort);
+ }}
+ activeSort={activeSort}
+ metricsToShow={metricsToShow}
+ />
+
+ {childData.map(child => (
+
+ ))}
+
+
+
+
+
+ Code coverage generated by{' '}
+
+ istanbul
+ {' '}
+ at {window.generatedDatetime}
+
+ >
+ );
+}
+
+ReactDOM.render(, document.getElementById('app'));
diff --git a/packages/istanbul-reports/lib/html-spa/src/routing.js b/packages/istanbul-reports/lib/html-spa/src/routing.js
new file mode 100644
index 00000000..ae640eef
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/src/routing.js
@@ -0,0 +1,52 @@
+export function setLocation(
+ isReplace,
+ activeSort,
+ isFlat,
+ activeFilters,
+ fileFilter,
+ expandedLines
+) {
+ const params = [
+ activeSort.sortKey,
+ activeSort.order,
+ isFlat,
+ activeFilters.low,
+ activeFilters.medium,
+ activeFilters.high,
+ encodeURIComponent(fileFilter),
+ expandedLines.map(encodeURIComponent).join(',')
+ ];
+ const newUrl = `#${params.join('/')}`;
+
+ if (newUrl === location.hash) {
+ return;
+ }
+
+ window.history[isReplace ? 'replaceState' : 'pushState'](null, '', newUrl);
+}
+
+export function decodeLocation() {
+ const items = location.hash.substr(1).split('/');
+ if (items.length !== 8) {
+ return null;
+ }
+
+ try {
+ return {
+ activeSort: {
+ sortKey: items[0],
+ order: items[1]
+ },
+ isFlat: JSON.parse(items[2]),
+ activeFilters: {
+ low: JSON.parse(items[3]),
+ medium: JSON.parse(items[4]),
+ high: JSON.parse(items[5])
+ },
+ fileFilter: decodeURIComponent(items[6]),
+ expandedLines: items[7].split(',').map(decodeURIComponent)
+ };
+ } catch (e) {
+ return null;
+ }
+}
diff --git a/packages/istanbul-reports/lib/html-spa/src/summaryHeader.js b/packages/istanbul-reports/lib/html-spa/src/summaryHeader.js
new file mode 100644
index 00000000..e45e39d9
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/src/summaryHeader.js
@@ -0,0 +1,67 @@
+import React from 'react';
+
+function Ignores({ metrics, metricsToShow }) {
+ const metricKeys = Object.keys(metricsToShow);
+ const result = [];
+
+ for (let i = 0; i < metricKeys.length; i++) {
+ const metricKey = metricKeys[i];
+ if (metricsToShow[metricKey]) {
+ const skipped = metrics[metricKey].skipped;
+ if (skipped > 0) {
+ result.push(
+ `${skipped} ${metricKey}${
+ skipped === 1 ? '' : metricKey === 'branch' ? 'es' : 's'
+ }`
+ );
+ }
+ }
+ }
+
+ if (result.length === 0) {
+ return false;
+ }
+
+ return (
+
+ {result.join(', ')}
+ Ignored
+
+ );
+}
+
+function StatusMetric({ data, name }) {
+ return (
+
+ {data.pct}%
+ {name}{' '}
+
+ {data.covered}/{data.total}
+
+
+ );
+}
+
+export default function SummaryHeader({ metrics, metricsToShow }) {
+ return (
+
+ {/* TODO -
All Files
- this doesn't add useful info any more. if anything it should be the name of the project - coverage*/}
+
+ {metricsToShow.statements && (
+
+ )}
+ {metricsToShow.branches && (
+
+ )}
+ {metricsToShow.functions && (
+
+ )}
+ {metricsToShow.lines && (
+
+ )}
+
+
+
+
+ );
+}
diff --git a/packages/istanbul-reports/lib/html-spa/src/summaryTableHeader.js b/packages/istanbul-reports/lib/html-spa/src/summaryTableHeader.js
new file mode 100644
index 00000000..87fa81bb
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/src/summaryTableHeader.js
@@ -0,0 +1,123 @@
+import React from 'react';
+
+function getSortDetails(sortKey, activeSort) {
+ let newSort = { sortKey, order: 'desc' };
+ let sortClass = '';
+ if (activeSort && activeSort.sortKey === sortKey) {
+ sortClass = 'sorted';
+ if (activeSort.order === 'desc') {
+ sortClass += '-desc';
+ newSort.order = 'asc';
+ } else {
+ if (sortKey !== 'file') {
+ newSort = { sortKey: 'file', order: 'desc' };
+ }
+ }
+ }
+
+ return {
+ newSort,
+ sortClass
+ };
+}
+
+function SummaryTableHeaderCell({ name, onSort, sortKey, activeSort }) {
+ const { newSort, sortClass } = getSortDetails(sortKey, activeSort);
+ return (
+ onSort(newSort)}
+ >
+ {name}
+
+ |
+ );
+}
+
+function FileHeaderCell({ onSort, activeSort }) {
+ const { newSort, sortClass } = getSortDetails('file', activeSort);
+
+ return (
+ onSort(newSort)}
+ >
+ File
+
+ |
+ );
+}
+
+function SubHeadings({ sortKeyPrefix, onSort, activeSort }) {
+ return (
+ <>
+
+
+
+ >
+ );
+}
+
+export default function SummaryTableHeader({
+ onSort,
+ activeSort,
+ metricsToShow
+}) {
+ return (
+
+
+
+ {metricsToShow.statements && Statements | }
+ {metricsToShow.branches && Branches | }
+ {metricsToShow.functions && Functions | }
+ {metricsToShow.lines && Lines | }
+
+
+ |
+ {metricsToShow.statements && (
+
+ )}
+ {metricsToShow.branches && (
+
+ )}
+ {metricsToShow.functions && (
+
+ )}
+ {metricsToShow.lines && (
+
+ )}
+
+
+ );
+}
diff --git a/packages/istanbul-reports/lib/html-spa/src/summaryTableLine.js b/packages/istanbul-reports/lib/html-spa/src/summaryTableLine.js
new file mode 100644
index 00000000..a1460750
--- /dev/null
+++ b/packages/istanbul-reports/lib/html-spa/src/summaryTableLine.js
@@ -0,0 +1,188 @@
+import React from 'react';
+
+function ShowPicture({ num }) {
+ let rest;
+ let cls = '';
+ if (isFinite(num)) {
+ if (num === 100) {
+ cls = ' cover-full';
+ }
+ num = Math.floor(num);
+ rest = 100 - num;
+ return (
+ <>
+
+
+ >
+ );
+ } else {
+ return false;
+ }
+}
+
+function MetricCells({ metrics }) {
+ return (
+ <>
+ {metrics.pct}% |
+
+ {metrics.covered}
+ |
+
+ {metrics.total}
+ |
+ >
+ );
+}
+
+function FileCell({
+ file,
+ prefix,
+ expandedLines,
+ setExpandedLines,
+ hasChildren,
+ setFileFilter
+}) {
+ if (hasChildren) {
+ const expandedIndex = expandedLines.indexOf(prefix + file);
+ const isExpanded = expandedIndex >= 0;
+ const newExpandedLines = isExpanded
+ ? [
+ ...expandedLines.slice(0, expandedIndex),
+ ...expandedLines.slice(expandedIndex + 1)
+ ]
+ : [...expandedLines, prefix + file];
+
+ return (
+ <>
+
+ setFileFilter(prefix + file)}
+ >
+ {file}
+
+ >
+ );
+ } else {
+ return {file};
+ }
+}
+
+export default function SummaryTableLine({
+ prefix,
+ metrics,
+ file,
+ children,
+ tabSize,
+ metricsToShow,
+ expandedLines,
+ setExpandedLines,
+ fileFilter,
+ setFileFilter
+}) {
+ tabSize = tabSize || 0;
+ if (children && tabSize > 0) {
+ tabSize--;
+ }
+ prefix = (fileFilter ? fileFilter + '/' : '') + (prefix || '');
+
+ return (
+ <>
+
+
+ {/* eslint-disable-line prefer-spread */ Array.apply(null, {
+ length: tabSize
+ }).map((nothing, index) => (
+
+ ))}
+
+ |
+ {metricsToShow.statements && (
+
+ )}
+ {metricsToShow.branches && (
+
+ )}
+ {metricsToShow.functions && (
+
+ )}
+ {metricsToShow.lines && }
+
+
+ {metricsToShow.statements && (
+
+
+
+
+ |
+ )}
+ {metricsToShow.branches && (
+
+
+
+
+ |
+ )}
+ {metricsToShow.functions && (
+
+
+
+
+ |
+ )}
+ {metricsToShow.lines && (
+
+
+
+
+ |
+ )}
+
+ {children &&
+ expandedLines.indexOf(prefix + file) >= 0 &&
+ children.map(child => (
+
+ ))}
+ >
+ );
+}
diff --git a/packages/istanbul-reports/package-lock.json b/packages/istanbul-reports/package-lock.json
index a9156dbb..84954ea8 100644
--- a/packages/istanbul-reports/package-lock.json
+++ b/packages/istanbul-reports/package-lock.json
@@ -1,14 +1,1401 @@
{
"name": "istanbul-reports",
- "version": "2.2.3",
+ "version": "2.2.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+ "@babel/code-frame": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
+ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/core": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.0.tgz",
+ "integrity": "sha512-Dzl7U0/T69DFOTwqz/FJdnOSWS57NpjNfCwMKHABr589Lg8uX1RrlBIJ7L5Dubt/xkLsx0xH5EBFzlBVes1ayA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/generator": "^7.4.0",
+ "@babel/helpers": "^7.4.0",
+ "@babel/parser": "^7.4.0",
+ "@babel/template": "^7.4.0",
+ "@babel/traverse": "^7.4.0",
+ "@babel/types": "^7.4.0",
+ "convert-source-map": "^1.1.0",
+ "debug": "^4.1.0",
+ "json5": "^2.1.0",
+ "lodash": "^4.17.11",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.0.tgz",
+ "integrity": "sha512-/v5I+a1jhGSKLgZDcmAUZ4K/VePi43eRkUs3yePW1HB1iANOD5tqJXwGSG4BZhSksP8J9ejSlwGeTiiOFZOrXQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.0",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.11",
+ "source-map": "^0.5.0",
+ "trim-right": "^1.0.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
+ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
+ "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-explode-assignable-expression": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-builder-react-jsx": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz",
+ "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.3.0",
+ "esutils": "^2.0.0"
+ }
+ },
+ "@babel/helper-call-delegate": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.0.tgz",
+ "integrity": "sha512-SdqDfbVdNQCBp3WhK2mNdDvHd3BD6qbmIc43CAyjnsfCmgHMeqgDcM3BzY2lchi7HBJGJ2CVdynLWbezaE4mmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.4.0",
+ "@babel/traverse": "^7.4.0",
+ "@babel/types": "^7.4.0"
+ }
+ },
+ "@babel/helper-define-map": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.0.tgz",
+ "integrity": "sha512-wAhQ9HdnLIywERVcSvX40CEJwKdAa1ID4neI9NXQPDOHwwA+57DqwLiPEVy2AIyWzAk0CQ8qx4awO0VUURwLtA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/types": "^7.4.0",
+ "lodash": "^4.17.11"
+ }
+ },
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
+ "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
+ "dev": true,
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.0.tgz",
+ "integrity": "sha512-/NErCuoe/et17IlAQFKWM24qtyYYie7sFIrW/tIQXpck6vAu2hhtYYsKLBWQV+BQZMbcIYPU/QMYuTufrY4aQw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.0"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz",
+ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
+ "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.3.tgz",
+ "integrity": "sha512-H88T9IySZW25anu5uqyaC1DaQre7ofM+joZtAaO2F8NBdFfupH0SZ4gKjgSFVcvtx/aAirqA9L9Clio2heYbZA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.0.0",
+ "@babel/template": "^7.2.2",
+ "@babel/types": "^7.2.2",
+ "lodash": "^4.17.11"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
+ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
+ "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
+ "dev": true
+ },
+ "@babel/helper-regex": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.3.tgz",
+ "integrity": "sha512-hnoq5u96pLCfgjXuj8ZLX3QQ+6nAulS+zSgi6HulUwFbEruRAKwbGLU5OvXkE14L8XW6XsQEKsIDfgthKLRAyA==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.11"
+ }
+ },
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
+ "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-wrap-function": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.0.tgz",
+ "integrity": "sha512-PVwCVnWWAgnal+kJ+ZSAphzyl58XrFeSKSAJRiqg5QToTsjL+Xu1f9+RJ+d+Q0aPhPfBGaYfkox66k86thxNSg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.0.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/traverse": "^7.4.0",
+ "@babel/types": "^7.4.0"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
+ "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz",
+ "integrity": "sha512-7Cuc6JZiYShaZnybDmfwhY4UYHzI6rlqhWjaIqbsJGsIqPimEYy5uh3akSRLMg65LSdSEnJ8a8/bWQN6u2oMGw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.0"
+ }
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
+ "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.2.0"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.3.tgz",
+ "integrity": "sha512-BMh7X0oZqb36CfyhvtbSmcWc3GXocfxv3yNsAEuM0l+fAqSO22rQrUpijr3oE/10jCTrB6/0b9kzmG4VetCj8Q==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.4.0",
+ "@babel/traverse": "^7.4.3",
+ "@babel/types": "^7.4.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
+ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.3.tgz",
+ "integrity": "sha512-gxpEUhTS1sGA63EGQGuA+WESPR/6tz6ng7tSHFCmaTJK/cGK8y37cBTspX+U2xCAue2IQVvF6Z0oigmjwD8YGQ==",
+ "dev": true
+ },
+ "@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
+ "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0",
+ "@babel/plugin-syntax-async-generators": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-json-strings": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
+ "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-json-strings": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.3.tgz",
+ "integrity": "sha512-xC//6DNSSHVjq8O2ge0dyYlhshsH4T7XdCVoxbi5HzLYWfsC5ooFlJjrXk8RcAT+hjHAK9UjBXdylzSoDK3t4g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
+ "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.0.tgz",
+ "integrity": "sha512-h/KjEZ3nK9wv1P1FSNb9G079jXrNYR0Ko+7XkOx85+gM24iZbPn0rh4vCftk+5QKY7y1uByFataBTmX7irEF1w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0",
+ "regexpu-core": "^4.5.4"
+ }
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
+ "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
+ "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-jsx": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz",
+ "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
+ "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
+ "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
+ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.0.tgz",
+ "integrity": "sha512-EeaFdCeUULM+GPFEsf7pFcNSxM7hYjoj5fiYbyuiXobW4JhFnjAv9OWzNwHyHcKoPNpAfeRDuW6VyaXEDUBa7g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
+ "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.0.tgz",
+ "integrity": "sha512-AWyt3k+fBXQqt2qb9r97tn3iBwFpiv9xdAiG+Gr2HpAZpuayvbL55yWrsV3MyHvXk/4vmSiedhDRl1YI2Iy5nQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "lodash": "^4.17.11"
+ }
+ },
+ "@babel/plugin-transform-classes": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.3.tgz",
+ "integrity": "sha512-PUaIKyFUDtG6jF5DUJOfkBdwAS/kFFV3XFk7Nn0a6vR7ZT8jYw5cGtIlat77wcnd0C6ViGqo/wyNf4ZHytF/nQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-define-map": "^7.4.0",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.4.0",
+ "@babel/helper-split-export-declaration": "^7.4.0",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
+ "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.3.tgz",
+ "integrity": "sha512-rVTLLZpydDFDyN4qnXdzwoVpk1oaXHIvPEOkOLyr88o7oHxVc/LyrnDx+amuBWGOwUb7D1s/uLsKBNTx08htZg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.3.tgz",
+ "integrity": "sha512-9Arc2I0AGynzXRR/oPdSALv3k0rM38IMFyto7kOCwb5F9sLUt2Ykdo3V9yUPR+Bgr4kb6bVEyLkPEiBhzcTeoA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.3",
+ "regexpu-core": "^4.5.4"
+ }
+ },
+ "@babel/plugin-transform-duplicate-keys": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz",
+ "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
+ "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-for-of": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.3.tgz",
+ "integrity": "sha512-UselcZPwVWNSURnqcfpnxtMehrb8wjXYOimlYQPBnup/Zld426YzIhNEvuRsEWVHfESIECGrxoI6L5QqzuLH5Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-function-name": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.3.tgz",
+ "integrity": "sha512-uT5J/3qI/8vACBR9I1GlAuU/JqBtWdfCrynuOkrWG6nCDieZd5przB1vfP59FRHBZQ9DC2IUfqr/xKqzOD5x0A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
+ "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-amd": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz",
+ "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.3.tgz",
+ "integrity": "sha512-sMP4JqOTbMJMimqsSZwYWsMjppD+KRyDIUVW91pd7td0dZKAvPmhCaxhOzkzLParKwgQc7bdL9UNv+rpJB0HfA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.4.3",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-modules-systemjs": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.0.tgz",
+ "integrity": "sha512-gjPdHmqiNhVoBqus5qK60mWPp1CmYWp/tkh11mvb0rrys01HycEGD7NvvSoKXlWEfSM9TcL36CpsK8ElsADptQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.4.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-umd": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
+ "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.4.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.2.tgz",
+ "integrity": "sha512-NsAuliSwkL3WO2dzWTOL1oZJHm0TM8ZY8ZSxk2ANyKkt5SQlToGA4pzctmq1BEjoacurdwZ3xp2dCQWJkME0gQ==",
+ "dev": true,
+ "requires": {
+ "regexp-tree": "^0.1.0"
+ }
+ },
+ "@babel/plugin-transform-new-target": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.0.tgz",
+ "integrity": "sha512-6ZKNgMQmQmrEX/ncuCwnnw1yVGoaOW5KpxNhoWI7pCQdA0uZ0HqHGqenCUIENAnxRjy2WwNQ30gfGdIgqJXXqw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-object-super": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz",
+ "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.3.tgz",
+ "integrity": "sha512-ULJYC2Vnw96/zdotCZkMGr2QVfKpIT/4/K+xWWY0MbOJyMZuk660BGkr3bEKWQrrciwz6xpmft39nA4BF7hJuA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-call-delegate": "^7.4.0",
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-react-display-name": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz",
+ "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-react-jsx": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz",
+ "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-builder-react-jsx": "^7.3.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.2.0"
+ }
+ },
+ "@babel/plugin-transform-react-jsx-self": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz",
+ "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.2.0"
+ }
+ },
+ "@babel/plugin-transform-react-jsx-source": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz",
+ "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.2.0"
+ }
+ },
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.3.tgz",
+ "integrity": "sha512-kEzotPuOpv6/iSlHroCDydPkKYw7tiJGKlmYp6iJn4a6C/+b2FdttlJsLKYxolYHgotTJ5G5UY5h0qey5ka3+A==",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "^0.13.4"
+ }
+ },
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
+ "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-spread": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz",
+ "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
+ "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz",
+ "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-typeof-symbol": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
+ "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.3.tgz",
+ "integrity": "sha512-lnSNgkVjL8EMtnE8eSS7t2ku8qvKH3eqNf/IwIfnSPUqzgqYmRwzdsQWv4mNQAN9Nuo6Gz1Y0a4CSmdpu1Pp6g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.3",
+ "regexpu-core": "^4.5.4"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.4.2",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.2.tgz",
+ "integrity": "sha512-OEz6VOZaI9LW08CWVS3d9g/0jZA6YCn1gsKIy/fut7yZCJti5Lm1/Hi+uo/U+ODm7g4I6gULrCP+/+laT8xAsA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
+ "@babel/plugin-proposal-json-strings": "^7.2.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.4.0",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.0",
+ "@babel/plugin-syntax-async-generators": "^7.2.0",
+ "@babel/plugin-syntax-json-strings": "^7.2.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
+ "@babel/plugin-transform-arrow-functions": "^7.2.0",
+ "@babel/plugin-transform-async-to-generator": "^7.4.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
+ "@babel/plugin-transform-block-scoping": "^7.4.0",
+ "@babel/plugin-transform-classes": "^7.4.0",
+ "@babel/plugin-transform-computed-properties": "^7.2.0",
+ "@babel/plugin-transform-destructuring": "^7.4.0",
+ "@babel/plugin-transform-dotall-regex": "^7.2.0",
+ "@babel/plugin-transform-duplicate-keys": "^7.2.0",
+ "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
+ "@babel/plugin-transform-for-of": "^7.4.0",
+ "@babel/plugin-transform-function-name": "^7.2.0",
+ "@babel/plugin-transform-literals": "^7.2.0",
+ "@babel/plugin-transform-modules-amd": "^7.2.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.4.0",
+ "@babel/plugin-transform-modules-systemjs": "^7.4.0",
+ "@babel/plugin-transform-modules-umd": "^7.2.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.2",
+ "@babel/plugin-transform-new-target": "^7.4.0",
+ "@babel/plugin-transform-object-super": "^7.2.0",
+ "@babel/plugin-transform-parameters": "^7.4.0",
+ "@babel/plugin-transform-regenerator": "^7.4.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.2.0",
+ "@babel/plugin-transform-spread": "^7.2.0",
+ "@babel/plugin-transform-sticky-regex": "^7.2.0",
+ "@babel/plugin-transform-template-literals": "^7.2.0",
+ "@babel/plugin-transform-typeof-symbol": "^7.2.0",
+ "@babel/plugin-transform-unicode-regex": "^7.2.0",
+ "@babel/types": "^7.4.0",
+ "browserslist": "^4.4.2",
+ "core-js-compat": "^3.0.0",
+ "invariant": "^2.2.2",
+ "js-levenshtein": "^1.1.3",
+ "semver": "^5.3.0"
+ }
+ },
+ "@babel/preset-react": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz",
+ "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-transform-react-display-name": "^7.0.0",
+ "@babel/plugin-transform-react-jsx": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-self": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-source": "^7.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.0.tgz",
+ "integrity": "sha512-SOWwxxClTTh5NdbbYZ0BmaBVzxzTh2tO/TeLTbF6MO6EzVhHTnff8CdBXx3mEtazFBoysmEM6GU/wF+SuSx4Fw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.4.0",
+ "@babel/types": "^7.4.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.3.tgz",
+ "integrity": "sha512-HmA01qrtaCwwJWpSKpA948cBvU5BrmviAief/b3AVw936DtcdsTexlbyzNuDnthwhOQ37xshn7hvQaEQk7ISYQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/generator": "^7.4.0",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.0",
+ "@babel/parser": "^7.4.3",
+ "@babel/types": "^7.4.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.11"
+ }
+ },
+ "@babel/types": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.0.tgz",
+ "integrity": "sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.11",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "11.13.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.6.tgz",
+ "integrity": "sha512-Xoo/EBzEe8HxTSwaZNLZjaW6M6tA/+GmD3/DZ6uo8qSaolE/9Oarko0oV1fVfrLqOz0tx0nXJB4rdD5c+vixLw==",
+ "dev": true
+ },
+ "acorn": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz",
+ "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "browserslist": {
+ "version": "4.5.5",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.5.5.tgz",
+ "integrity": "sha512-0QFO1r/2c792Ohkit5XI8Cm8pDtZxgNl2H6HU4mHrpYz7314pEYcsAVVatM0l/YmxPnEzh9VygXouj4gkFUTKA==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30000960",
+ "electron-to-chromium": "^1.3.124",
+ "node-releases": "^1.1.14"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "builtin-modules": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
+ "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
+ "dev": true
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "caniuse-lite": {
+ "version": "1.0.30000962",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000962.tgz",
+ "integrity": "sha512-WXYsW38HK+6eaj5IZR16Rn91TGhU3OhbwjKZvJ4HN/XBIABLKfbij9Mnd3pM0VEwZSlltWjoWg3I8FQ0DGgNOA==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"commander": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
- "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
- "optional": true
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
+ "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
+ "dev": true
+ },
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
+ "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "core-js": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.0.1.tgz",
+ "integrity": "sha512-sco40rF+2KlE0ROMvydjkrVMMG1vYilP2ALoRXcYR4obqbYIuV3Bg+51GEDW+HF8n7NRA+iaA4qD0nD9lo9mew==",
+ "dev": true
+ },
+ "core-js-compat": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.0.1.tgz",
+ "integrity": "sha512-2pC3e+Ht/1/gD7Sim/sqzvRplMiRnFQVlPpDVaHtY9l7zZP7knamr3VRD6NyGfHd84MrDC0tAM9ulNxYMW0T3g==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.5.4",
+ "core-js": "3.0.1",
+ "core-js-pure": "3.0.1",
+ "semver": "^6.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz",
+ "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==",
+ "dev": true
+ }
+ }
+ },
+ "core-js-pure": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.0.1.tgz",
+ "integrity": "sha512-mSxeQ6IghKW3MoyF4cz19GJ1cMm7761ON+WObSyLfTu/Jn3x7w4NwNFnrZxgl4MTSvYYepVLNuRtlB4loMwJ5g==",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.3.125",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.125.tgz",
+ "integrity": "sha512-XxowpqQxJ4nDwUXHtVtmEhRqBpm2OnjBomZmZtHD0d2Eo0244+Ojezhk3sD/MBSSe2nxCdGQFRXHIsf/LUTL9A==",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.0.tgz",
+ "integrity": "sha512-peq1RfVAVzr3PU/jL31RaOjUKLoZJpObQWJJ+LgfcxDUifyLZ1RjPQZTl0pzj2uJ45b7A7XpyppXvxdEqzo4rw==",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "globals": {
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz",
+ "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==",
+ "dev": true
},
"handlebars": {
"version": "4.1.2",
@@ -21,16 +1408,472 @@
"uglify-js": "^3.1.4"
}
},
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "istanbul-lib-coverage": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
+ "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+ "dev": true
+ },
+ "istanbul-lib-report": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
+ "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "^2.0.5",
+ "make-dir": "^2.1.0",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "jest-worker": {
+ "version": "24.6.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.6.0.tgz",
+ "integrity": "sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^1.0.1",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "js-levenshtein": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
+ "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
+ "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "magic-string": {
+ "version": "0.25.2",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz",
+ "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "^1.4.4"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "merge-stream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
"minimist": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
},
+ "mixin-deep": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
"neo-async": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz",
"integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA=="
},
+ "node-releases": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.15.tgz",
+ "integrity": "sha512-cKV097BQaZr8LTSRUa2+oc/aX5L8UkZtPQrMSTgiJEeaW7ymTDCoRaGCoaTqk0lqnalcoSHu4wjSl0Cmj2+bMw==",
+ "dev": true,
+ "requires": {
+ "semver": "^5.3.0"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
"optimist": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
@@ -40,21 +1883,764 @@
"wordwrap": "~0.0.2"
}
},
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+ "dev": true
+ },
+ "prop-types": {
+ "version": "15.7.2",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
+ "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.8.1"
+ }
+ },
+ "react": {
+ "version": "16.8.6",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz",
+ "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.2",
+ "scheduler": "^0.13.6"
+ }
+ },
+ "react-dom": {
+ "version": "16.8.6",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz",
+ "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.2",
+ "scheduler": "^0.13.6"
+ }
+ },
+ "react-is": {
+ "version": "16.8.6",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
+ "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+ "dev": true
+ },
+ "regenerate-unicode-properties": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz",
+ "integrity": "sha512-SbA/iNrBUf6Pv2zU8Ekv1Qbhv92yxL4hiDa2siuxs4KKn4oOoMDHXjAf7+Nz9qinUQ46B1LcWEi/PhJfPWpZWQ==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0"
+ }
+ },
+ "regenerator-transform": {
+ "version": "0.13.4",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.4.tgz",
+ "integrity": "sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==",
+ "dev": true,
+ "requires": {
+ "private": "^0.1.6"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "regexp-tree": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.5.tgz",
+ "integrity": "sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ==",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz",
+ "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.0.2",
+ "regjsgen": "^0.5.0",
+ "regjsparser": "^0.6.0",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.1.0"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
+ "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
+ "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz",
+ "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "rollup": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.8.0.tgz",
+ "integrity": "sha512-dKxL6ihUZ9YrVySKf/LBz5joW2sqwWkiuki34279Ppr2cL+O6Za6Ujovk+rtTX0AFCIsH1rs6y8LYKdZZ/7C5A==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "0.0.39",
+ "@types/node": "^11.11.6",
+ "acorn": "^6.1.1"
+ }
+ },
+ "rollup-plugin-babel": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.3.2.tgz",
+ "integrity": "sha512-KfnizE258L/4enADKX61ozfwGHoqYauvoofghFJBhFnpH9Sb9dNPpWg8QHOaAfVASUYV8w0mCx430i9z0LJoJg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "rollup-pluginutils": "^2.3.0"
+ }
+ },
+ "rollup-plugin-commonjs": {
+ "version": "9.2.3",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.2.3.tgz",
+ "integrity": "sha512-VFPESAh1ag2AEhqbECjSxm9C1T2oNx4Yd3kIvPbU17iO5IOHtnOr/ZH0Bf5Y+a1IUDppKmg3kV2gu2/Bkhh0Hw==",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^0.6.0",
+ "magic-string": "^0.25.2",
+ "resolve": "^1.10.0",
+ "rollup-pluginutils": "^2.5.0"
+ }
+ },
+ "rollup-plugin-node-resolve": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.0.1.tgz",
+ "integrity": "sha512-fSS7YDuCe0gYqKsr5OvxMloeZYUSgN43Ypi1WeRZzQcWtHgFayV5tUSPYpxuaioIIWaBXl6NrVk0T2/sKwueLg==",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "^3.0.0",
+ "is-module": "^1.0.0",
+ "resolve": "^1.10.0"
+ }
+ },
+ "rollup-plugin-replace": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.1.1.tgz",
+ "integrity": "sha512-IS5ZYBb3px0UfbDCYzKaKxelLd5dbPHhfplEXbymfvGlz9Ok44At4AjTOWe2qEax73bE8+pnMZN9C7PcVpFNlw==",
+ "dev": true,
+ "requires": {
+ "magic-string": "^0.25.2",
+ "rollup-pluginutils": "^2.4.1"
+ }
+ },
+ "rollup-plugin-terser": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz",
+ "integrity": "sha512-wPANT5XKVJJ8RDUN0+wIr7UPd0lIXBo4UdJ59VmlPCtlFsE20AM+14pe+tk7YunCsWEiuzkDBY3QIkSCjtrPXg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "jest-worker": "^24.0.0",
+ "serialize-javascript": "^1.6.1",
+ "terser": "^3.14.1"
+ }
+ },
+ "rollup-pluginutils": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.6.0.tgz",
+ "integrity": "sha512-aGQwspEF8oPKvg37u3p7h0cYNwmJR1sCBMZGZ5b9qy8HGtETknqjzcxrDRrcAnJNXN18lBH4Q9vZYth/p4n8jQ==",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^0.6.0",
+ "micromatch": "^3.1.10"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "scheduler": {
+ "version": "0.13.6",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz",
+ "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "semver": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
+ "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
+ "dev": true
+ },
+ "serialize-javascript": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz",
+ "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
+ "source-map-resolve": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.1",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.12",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz",
+ "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "sourcemap-codec": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz",
+ "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==",
+ "dev": true
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "terser": {
+ "version": "3.17.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
+ "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.19.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.10"
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
"uglify-js": {
- "version": "3.5.7",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.7.tgz",
- "integrity": "sha512-GCgJx3BBuaf/QMvBBkhoHDh4SVsHCC3ILEzriPw4FgJJKCuxVBSYLRkDlmT3uhXyGWKs3VN5r0mCkBIZaHWu3w==",
+ "version": "3.5.8",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.8.tgz",
+ "integrity": "sha512-GFSjB1nZIzoIq70qvDRtWRORHX3vFkAnyK/rDExc0BN7r9+/S+Voz3t/fwJuVfjppAMz+ceR2poE7tkhvnVwQQ==",
"optional": true,
"requires": {
"commander": "~2.20.0",
"source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.20.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
+ "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
+ "optional": true
+ }
+ }
+ },
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+ "dev": true
+ },
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+ "dev": true,
+ "requires": {
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
+ }
+ },
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
+ "dev": true
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
+ "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
+ "dev": true
+ },
+ "union-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^0.4.3"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "set-value": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.1",
+ "to-object-path": "^0.3.0"
+ }
+ }
+ }
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ }
}
},
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
"wordwrap": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
diff --git a/packages/istanbul-reports/package.json b/packages/istanbul-reports/package.json
index 7e9f0f62..d25e1a4c 100644
--- a/packages/istanbul-reports/package.json
+++ b/packages/istanbul-reports/package.json
@@ -9,14 +9,26 @@
"lib"
],
"scripts": {
- "test": "mocha --recursive"
+ "test": "mocha --recursive",
+ "prepare": "rollup --config lib/html-spa/rollup.config.js"
},
"dependencies": {
"handlebars": "^4.1.2"
},
"devDependencies": {
"istanbul-lib-coverage": "^2.0.5",
- "istanbul-lib-report": "^2.0.8"
+ "istanbul-lib-report": "^2.0.8",
+ "@babel/core": "7.4.0",
+ "@babel/preset-env": "7.4.2",
+ "@babel/preset-react": "7.0.0",
+ "react": "16.8.6",
+ "react-dom": "16.8.6",
+ "rollup": "1.8.0",
+ "rollup-plugin-babel": "4.3.2",
+ "rollup-plugin-commonjs": "9.2.3",
+ "rollup-plugin-node-resolve": "4.0.1",
+ "rollup-plugin-replace": "2.1.1",
+ "rollup-plugin-terser": "4.0.4"
},
"license": "BSD-3-Clause",
"repository": {
diff --git a/packages/istanbul-reports/test/fixtures/specs/100-line-100-branch.json b/packages/istanbul-reports/test/fixtures/specs/100-line-100-branch.json
index bb748986..21a0236a 100644
--- a/packages/istanbul-reports/test/fixtures/specs/100-line-100-branch.json
+++ b/packages/istanbul-reports/test/fixtures/specs/100-line-100-branch.json
@@ -1,1527 +1,1542 @@
{
- "title": "handles 100% branch and line coverage",
- "textReportExpected": "----------|----------|----------|----------|----------|-------------------|\nFile | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\n\u001b[32;1mAll files\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[33;1m \u001b[0m |\n\u001b[32;1m index.js\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[33;1m \u001b[0m |\n----------|----------|----------|----------|----------|-------------------|\n",
- "map": {
- "/Users/benjamincoe/oss/test-exclude/index.js": {
- "path": "/Users/benjamincoe/oss/test-exclude/index.js",
- "statementMap": {
- "0": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "1": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "2": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 40
- }
- },
- "3": {
- "start": {
- "line": 4,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 28
- }
- },
- "4": {
- "start": {
- "line": 5,
- "column": 18
- },
- "end": {
- "line": 5,
- "column": 40
- }
- },
- "5": {
- "start": {
- "line": 13,
- "column": 2
- },
- "end": {
- "line": 19,
- "column": 10
- }
- },
- "6": {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 69
- }
- },
- "7": {
- "start": {
- "line": 21,
- "column": 40
- },
- "end": {
- "line": 21,
- "column": 69
- }
- },
- "8": {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- "9": {
- "start": {
- "line": 22,
- "column": 40
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- "10": {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- },
- "11": {
- "start": {
- "line": 25,
- "column": 4
- },
- "end": {
- "line": 25,
- "column": 63
- }
- },
- "12": {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- },
- "13": {
- "start": {
- "line": 29,
- "column": 4
- },
- "end": {
- "line": 29,
- "column": 44
- }
- },
- "14": {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- },
- "15": {
- "start": {
- "line": 33,
- "column": 4
- },
- "end": {
- "line": 33,
- "column": 57
- }
- },
- "16": {
- "start": {
- "line": 35,
- "column": 4
- },
- "end": {
- "line": 35,
- "column": 24
- }
- },
- "17": {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- },
- "18": {
- "start": {
- "line": 39,
- "column": 4
- },
- "end": {
- "line": 39,
- "column": 43
- }
- },
- "19": {
- "start": {
- "line": 42,
- "column": 2
- },
- "end": {
- "line": 44,
- "column": 3
- }
- },
- "20": {
- "start": {
- "line": 50,
- "column": 0
- },
- "end": {
- "line": 59,
- "column": 1
- }
- },
- "21": {
- "start": {
- "line": 51,
- "column": 29
- },
- "end": {
- "line": 51,
- "column": 34
- }
- },
- "22": {
- "start": {
- "line": 52,
- "column": 2
- },
- "end": {
- "line": 57,
- "column": 4
- }
- },
- "23": {
- "start": {
- "line": 53,
- "column": 18
- },
- "end": {
- "line": 54,
- "column": 71
- }
- },
- "24": {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- "25": {
- "start": {
- "line": 55,
- "column": 17
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- "26": {
- "start": {
- "line": 56,
- "column": 4
- },
- "end": {
- "line": 56,
- "column": 19
- }
- },
- "27": {
- "start": {
- "line": 58,
- "column": 2
- },
- "end": {
- "line": 58,
- "column": 29
- }
- },
- "28": {
- "start": {
- "line": 61,
- "column": 0
- },
- "end": {
- "line": 69,
- "column": 1
- }
- },
- "29": {
- "start": {
- "line": 62,
- "column": 2
- },
- "end": {
- "line": 62,
- "column": 56
- }
- },
- "30": {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- "31": {
- "start": {
- "line": 65,
- "column": 55
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- "32": {
- "start": {
- "line": 67,
- "column": 2
- },
- "end": {
- "line": 67,
- "column": 43
- }
- },
- "33": {
- "start": {
- "line": 68,
- "column": 2
- },
- "end": {
- "line": 68,
- "column": 143
- }
- },
- "34": {
- "start": {
- "line": 71,
- "column": 0
- },
- "end": {
- "line": 82,
- "column": 1
- }
- },
- "35": {
- "start": {
- "line": 72,
- "column": 14
- },
- "end": {
- "line": 74,
- "column": 4
- }
- },
- "36": {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- },
- "37": {
- "start": {
- "line": 77,
- "column": 4
- },
- "end": {
- "line": 77,
- "column": 27
- }
- },
- "38": {
- "start": {
- "line": 78,
- "column": 4
- },
- "end": {
- "line": 78,
- "column": 23
- }
- },
- "39": {
- "start": {
- "line": 80,
- "column": 4
- },
- "end": {
- "line": 80,
- "column": 13
- }
- },
- "40": {
- "start": {
- "line": 85,
- "column": 2
- },
- "end": {
- "line": 97,
- "column": 8
- }
- },
- "41": {
- "start": {
- "line": 87,
- "column": 4
- },
- "end": {
- "line": 89,
- "column": 5
- }
- },
- "42": {
- "start": {
- "line": 88,
- "column": 6
- },
- "end": {
- "line": 88,
- "column": 64
- }
- },
- "43": {
- "start": {
- "line": 92,
- "column": 4
- },
- "end": {
- "line": 94,
- "column": 5
- }
- },
- "44": {
- "start": {
- "line": 93,
- "column": 6
- },
- "end": {
- "line": 93,
- "column": 60
- }
- },
- "45": {
- "start": {
- "line": 96,
- "column": 4
- },
- "end": {
- "line": 96,
- "column": 33
- }
- },
- "46": {
- "start": {
- "line": 100,
- "column": 17
- },
- "end": {
- "line": 102,
- "column": 1
- }
- },
- "47": {
- "start": {
- "line": 101,
- "column": 2
- },
- "end": {
- "line": 101,
- "column": 30
- }
- },
- "48": {
- "start": {
- "line": 104,
- "column": 0
- },
- "end": {
- "line": 111,
- "column": 1
- }
- },
- "49": {
- "start": {
- "line": 113,
- "column": 0
- },
- "end": {
- "line": 113,
- "column": 27
- }
- }
- },
- "fnMap": {
- "0": {
- "name": "TestExclude",
- "decl": {
- "start": {
- "line": 12,
- "column": 9
- },
- "end": {
- "line": 12,
- "column": 20
- }
- },
- "loc": {
- "start": {
- "line": 12,
- "column": 28
- },
- "end": {
- "line": 45,
- "column": 1
- }
- },
- "line": 12
- },
- "1": {
- "name": "(anonymous_1)",
- "decl": {
- "start": {
- "line": 50,
- "column": 51
- },
- "end": {
- "line": 50,
- "column": 52
- }
- },
- "loc": {
- "start": {
- "line": 50,
- "column": 63
- },
- "end": {
- "line": 59,
- "column": 1
- }
- },
- "line": 50
- },
- "2": {
- "name": "(anonymous_2)",
- "decl": {
- "start": {
- "line": 52,
- "column": 37
- },
- "end": {
- "line": 52,
- "column": 38
- }
- },
- "loc": {
- "start": {
- "line": 52,
- "column": 50
- },
- "end": {
- "line": 57,
- "column": 3
- }
- },
- "line": 52
- },
- "3": {
- "name": "(anonymous_3)",
- "decl": {
- "start": {
- "line": 61,
- "column": 41
- },
- "end": {
- "line": 61,
- "column": 42
- }
- },
- "loc": {
- "start": {
- "line": 61,
- "column": 70
- },
- "end": {
- "line": 69,
- "column": 1
- }
- },
- "line": 61
- },
- "4": {
- "name": "(anonymous_4)",
- "decl": {
- "start": {
- "line": 71,
- "column": 32
- },
- "end": {
- "line": 71,
- "column": 33
- }
- },
- "loc": {
- "start": {
- "line": 71,
- "column": 53
- },
- "end": {
- "line": 82,
- "column": 1
- }
- },
- "line": 71
- },
- "5": {
- "name": "prepGlobPatterns",
- "decl": {
- "start": {
- "line": 84,
- "column": 9
- },
- "end": {
- "line": 84,
- "column": 25
- }
- },
- "loc": {
- "start": {
- "line": 84,
- "column": 37
- },
- "end": {
- "line": 98,
- "column": 1
- }
- },
- "line": 84
- },
- "6": {
- "name": "(anonymous_6)",
- "decl": {
- "start": {
- "line": 85,
- "column": 25
- },
- "end": {
- "line": 85,
- "column": 26
- }
- },
- "loc": {
- "start": {
- "line": 85,
- "column": 52
- },
- "end": {
- "line": 97,
- "column": 3
- }
- },
- "line": 85
- },
- "7": {
- "name": "(anonymous_7)",
- "decl": {
- "start": {
- "line": 100,
- "column": 17
- },
- "end": {
- "line": 100,
- "column": 18
- }
- },
- "loc": {
- "start": {
- "line": 100,
- "column": 33
- },
- "end": {
- "line": 102,
- "column": 1
- }
- },
- "line": 100
- }
- },
- "branchMap": {
- "0": {
- "loc": {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 69
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 69
- }
- },
- {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 69
- }
- }
- ],
- "line": 21
- },
- "1": {
- "loc": {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- }
- ],
- "line": 22
- },
- "2": {
- "loc": {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
+ "title": "handles 100% branch and line coverage",
+ "textReportExpected": "----------|----------|----------|----------|----------|-------------------|\nFile | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\n\u001b[32;1mAll files\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[33;1m \u001b[0m |\n\u001b[32;1m index.js\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[33;1m \u001b[0m |\n----------|----------|----------|----------|----------|-------------------|\n",
+ "htmlSpaFiles": ["index.js.html", "index.html"],
+ "htmlSpaCoverageData": {
+ "file": "",
+ "isEmpty": false,
+ "metrics": {
+ "statements": {
+ "total": 50,
+ "covered": 50,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
},
- {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- }
- ],
- "line": 24
- },
- "3": {
- "loc": {
- "start": {
- "line": 24,
- "column": 6
- },
- "end": {
- "line": 24,
- "column": 54
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 24,
- "column": 6
- },
- "end": {
- "line": 24,
- "column": 19
- }
+ "branches": {
+ "total": 39,
+ "covered": 39,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
},
- {
- "start": {
- "line": 24,
- "column": 23
- },
- "end": {
- "line": 24,
- "column": 36
- }
+ "functions": {
+ "total": 8,
+ "covered": 8,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
},
- {
- "start": {
- "line": 24,
- "column": 40
- },
- "end": {
- "line": 24,
- "column": 54
- }
+ "lines": {
+ "total": 46,
+ "covered": 46,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
}
- ],
- "line": 24
},
- "4": {
- "loc": {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- },
+ "children": [
{
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
+ "file": "index.js",
+ "isEmpty": false,
+ "metrics": {
+ "statements": {
+ "total": 50,
+ "covered": 50,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
+ },
+ "branches": {
+ "total": 39,
+ "covered": 39,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
+ },
+ "functions": {
+ "total": 8,
+ "covered": 8,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
+ },
+ "lines": {
+ "total": 46,
+ "covered": 46,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
+ }
+ },
+ "children": false
}
- ],
- "line": 28
- },
- "5": {
- "loc": {
- "start": {
- "line": 28,
- "column": 6
- },
- "end": {
- "line": 28,
- "column": 51
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 28,
- "column": 6
- },
- "end": {
- "line": 28,
- "column": 19
- }
- },
- {
- "start": {
- "line": 28,
- "column": 23
- },
- "end": {
- "line": 28,
- "column": 51
- }
- }
- ],
- "line": 28
- },
- "6": {
- "loc": {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- },
- {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- }
- ],
- "line": 32
- },
- "7": {
- "loc": {
- "start": {
- "line": 32,
- "column": 6
- },
- "end": {
- "line": 32,
- "column": 45
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 32,
- "column": 6
- },
- "end": {
- "line": 32,
- "column": 18
- }
- },
- {
- "start": {
- "line": 32,
- "column": 22
- },
- "end": {
- "line": 32,
- "column": 45
- }
- }
- ],
- "line": 32
- },
- "8": {
- "loc": {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- },
- {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- }
- ],
- "line": 38
- },
- "9": {
- "loc": {
- "start": {
- "line": 38,
- "column": 6
- },
- "end": {
- "line": 38,
- "column": 93
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 38,
- "column": 6
- },
- "end": {
- "line": 38,
- "column": 40
- }
- },
- {
- "start": {
- "line": 38,
- "column": 44
- },
- "end": {
- "line": 38,
- "column": 93
- }
- }
- ],
- "line": 38
- },
- "10": {
- "loc": {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- }
- ],
- "line": 55
- },
- "11": {
- "loc": {
- "start": {
- "line": 62,
- "column": 12
- },
- "end": {
- "line": 62,
- "column": 56
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 62,
- "column": 12
- },
- "end": {
- "line": 62,
- "column": 19
- }
- },
- {
- "start": {
- "line": 62,
- "column": 23
- },
- "end": {
- "line": 62,
- "column": 56
- }
- }
- ],
- "line": 62
- },
- "12": {
- "loc": {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- }
- ],
- "line": 65
- },
- "13": {
- "loc": {
- "start": {
- "line": 68,
- "column": 9
- },
- "end": {
- "line": 68,
- "column": 143
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 68,
- "column": 10
- },
- "end": {
- "line": 68,
- "column": 23
- }
- },
- {
- "start": {
- "line": 68,
- "column": 27
- },
- "end": {
- "line": 68,
- "column": 82
- }
- },
- {
- "start": {
- "line": 68,
- "column": 87
- },
- "end": {
- "line": 68,
- "column": 143
- }
- }
- ],
- "line": 68
- },
- "14": {
- "loc": {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- },
- {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- }
- ],
- "line": 76
- },
- "15": {
- "loc": {
- "start": {
- "line": 76,
- "column": 6
- },
- "end": {
- "line": 76,
- "column": 65
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 76,
- "column": 6
- },
- "end": {
- "line": 76,
- "column": 13
- }
+ ]
+ },
+ "map": {
+ "/Users/benjamincoe/oss/test-exclude/index.js": {
+ "path": "/Users/benjamincoe/oss/test-exclude/index.js",
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 1,
+ "column": 15
+ },
+ "end": {
+ "line": 1,
+ "column": 39
+ }
+ },
+ "1": {
+ "start": {
+ "line": 2,
+ "column": 15
+ },
+ "end": {
+ "line": 2,
+ "column": 32
+ }
+ },
+ "2": {
+ "start": {
+ "line": 3,
+ "column": 19
+ },
+ "end": {
+ "line": 3,
+ "column": 40
+ }
+ },
+ "3": {
+ "start": {
+ "line": 4,
+ "column": 13
+ },
+ "end": {
+ "line": 4,
+ "column": 28
+ }
+ },
+ "4": {
+ "start": {
+ "line": 5,
+ "column": 18
+ },
+ "end": {
+ "line": 5,
+ "column": 40
+ }
+ },
+ "5": {
+ "start": {
+ "line": 13,
+ "column": 2
+ },
+ "end": {
+ "line": 19,
+ "column": 10
+ }
+ },
+ "6": {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 69
+ }
+ },
+ "7": {
+ "start": {
+ "line": 21,
+ "column": 40
+ },
+ "end": {
+ "line": 21,
+ "column": 69
+ }
+ },
+ "8": {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ "9": {
+ "start": {
+ "line": 22,
+ "column": 40
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ "10": {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ "11": {
+ "start": {
+ "line": 25,
+ "column": 4
+ },
+ "end": {
+ "line": 25,
+ "column": 63
+ }
+ },
+ "12": {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ "13": {
+ "start": {
+ "line": 29,
+ "column": 4
+ },
+ "end": {
+ "line": 29,
+ "column": 44
+ }
+ },
+ "14": {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ },
+ "15": {
+ "start": {
+ "line": 33,
+ "column": 4
+ },
+ "end": {
+ "line": 33,
+ "column": 57
+ }
+ },
+ "16": {
+ "start": {
+ "line": 35,
+ "column": 4
+ },
+ "end": {
+ "line": 35,
+ "column": 24
+ }
+ },
+ "17": {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ },
+ "18": {
+ "start": {
+ "line": 39,
+ "column": 4
+ },
+ "end": {
+ "line": 39,
+ "column": 43
+ }
+ },
+ "19": {
+ "start": {
+ "line": 42,
+ "column": 2
+ },
+ "end": {
+ "line": 44,
+ "column": 3
+ }
+ },
+ "20": {
+ "start": {
+ "line": 50,
+ "column": 0
+ },
+ "end": {
+ "line": 59,
+ "column": 1
+ }
+ },
+ "21": {
+ "start": {
+ "line": 51,
+ "column": 29
+ },
+ "end": {
+ "line": 51,
+ "column": 34
+ }
+ },
+ "22": {
+ "start": {
+ "line": 52,
+ "column": 2
+ },
+ "end": {
+ "line": 57,
+ "column": 4
+ }
+ },
+ "23": {
+ "start": {
+ "line": 53,
+ "column": 18
+ },
+ "end": {
+ "line": 54,
+ "column": 71
+ }
+ },
+ "24": {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ "25": {
+ "start": {
+ "line": 55,
+ "column": 17
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ "26": {
+ "start": {
+ "line": 56,
+ "column": 4
+ },
+ "end": {
+ "line": 56,
+ "column": 19
+ }
+ },
+ "27": {
+ "start": {
+ "line": 58,
+ "column": 2
+ },
+ "end": {
+ "line": 58,
+ "column": 29
+ }
+ },
+ "28": {
+ "start": {
+ "line": 61,
+ "column": 0
+ },
+ "end": {
+ "line": 69,
+ "column": 1
+ }
+ },
+ "29": {
+ "start": {
+ "line": 62,
+ "column": 2
+ },
+ "end": {
+ "line": 62,
+ "column": 56
+ }
+ },
+ "30": {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ "31": {
+ "start": {
+ "line": 65,
+ "column": 55
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ "32": {
+ "start": {
+ "line": 67,
+ "column": 2
+ },
+ "end": {
+ "line": 67,
+ "column": 43
+ }
+ },
+ "33": {
+ "start": {
+ "line": 68,
+ "column": 2
+ },
+ "end": {
+ "line": 68,
+ "column": 143
+ }
+ },
+ "34": {
+ "start": {
+ "line": 71,
+ "column": 0
+ },
+ "end": {
+ "line": 82,
+ "column": 1
+ }
+ },
+ "35": {
+ "start": {
+ "line": 72,
+ "column": 14
+ },
+ "end": {
+ "line": 74,
+ "column": 4
+ }
+ },
+ "36": {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ "37": {
+ "start": {
+ "line": 77,
+ "column": 4
+ },
+ "end": {
+ "line": 77,
+ "column": 27
+ }
+ },
+ "38": {
+ "start": {
+ "line": 78,
+ "column": 4
+ },
+ "end": {
+ "line": 78,
+ "column": 23
+ }
+ },
+ "39": {
+ "start": {
+ "line": 80,
+ "column": 4
+ },
+ "end": {
+ "line": 80,
+ "column": 13
+ }
+ },
+ "40": {
+ "start": {
+ "line": 85,
+ "column": 2
+ },
+ "end": {
+ "line": 97,
+ "column": 8
+ }
+ },
+ "41": {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ },
+ "42": {
+ "start": {
+ "line": 88,
+ "column": 6
+ },
+ "end": {
+ "line": 88,
+ "column": 64
+ }
+ },
+ "43": {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ },
+ "44": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 60
+ }
+ },
+ "45": {
+ "start": {
+ "line": 96,
+ "column": 4
+ },
+ "end": {
+ "line": 96,
+ "column": 33
+ }
+ },
+ "46": {
+ "start": {
+ "line": 100,
+ "column": 17
+ },
+ "end": {
+ "line": 102,
+ "column": 1
+ }
+ },
+ "47": {
+ "start": {
+ "line": 101,
+ "column": 2
+ },
+ "end": {
+ "line": 101,
+ "column": 30
+ }
+ },
+ "48": {
+ "start": {
+ "line": 104,
+ "column": 0
+ },
+ "end": {
+ "line": 111,
+ "column": 1
+ }
+ },
+ "49": {
+ "start": {
+ "line": 113,
+ "column": 0
+ },
+ "end": {
+ "line": 113,
+ "column": 27
+ }
+ }
},
- {
- "start": {
- "line": 76,
- "column": 17
- },
- "end": {
- "line": 76,
- "column": 29
- }
+ "fnMap": {
+ "0": {
+ "name": "TestExclude",
+ "decl": {
+ "start": {
+ "line": 12,
+ "column": 9
+ },
+ "end": {
+ "line": 12,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 28
+ },
+ "end": {
+ "line": 45,
+ "column": 1
+ }
+ },
+ "line": 12
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 50,
+ "column": 51
+ },
+ "end": {
+ "line": 50,
+ "column": 52
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 63
+ },
+ "end": {
+ "line": 59,
+ "column": 1
+ }
+ },
+ "line": 50
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 52,
+ "column": 37
+ },
+ "end": {
+ "line": 52,
+ "column": 38
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 50
+ },
+ "end": {
+ "line": 57,
+ "column": 3
+ }
+ },
+ "line": 52
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 61,
+ "column": 41
+ },
+ "end": {
+ "line": 61,
+ "column": 42
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 70
+ },
+ "end": {
+ "line": 69,
+ "column": 1
+ }
+ },
+ "line": 61
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 71,
+ "column": 32
+ },
+ "end": {
+ "line": 71,
+ "column": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 53
+ },
+ "end": {
+ "line": 82,
+ "column": 1
+ }
+ },
+ "line": 71
+ },
+ "5": {
+ "name": "prepGlobPatterns",
+ "decl": {
+ "start": {
+ "line": 84,
+ "column": 9
+ },
+ "end": {
+ "line": 84,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 37
+ },
+ "end": {
+ "line": 98,
+ "column": 1
+ }
+ },
+ "line": 84
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 85,
+ "column": 25
+ },
+ "end": {
+ "line": 85,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 52
+ },
+ "end": {
+ "line": 97,
+ "column": 3
+ }
+ },
+ "line": 85
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 100,
+ "column": 17
+ },
+ "end": {
+ "line": 100,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 33
+ },
+ "end": {
+ "line": 102,
+ "column": 1
+ }
+ },
+ "line": 100
+ }
},
- {
- "start": {
- "line": 76,
- "column": 33
- },
- "end": {
- "line": 76,
- "column": 65
- }
- }
- ],
- "line": 76
- },
- "16": {
- "loc": {
- "start": {
- "line": 87,
- "column": 4
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 69
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 69
+ }
+ },
+ {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 69
+ }
+ }
+ ],
+ "line": 21
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ }
+ ],
+ "line": 22
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ }
+ ],
+ "line": 24
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 6
+ },
+ "end": {
+ "line": 24,
+ "column": 54
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 24,
+ "column": 6
+ },
+ "end": {
+ "line": 24,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 23
+ },
+ "end": {
+ "line": 24,
+ "column": 36
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 40
+ },
+ "end": {
+ "line": 24,
+ "column": 54
+ }
+ }
+ ],
+ "line": 24
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ }
+ ],
+ "line": 28
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 6
+ },
+ "end": {
+ "line": 28,
+ "column": 51
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 28,
+ "column": 6
+ },
+ "end": {
+ "line": 28,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 28,
+ "column": 23
+ },
+ "end": {
+ "line": 28,
+ "column": 51
+ }
+ }
+ ],
+ "line": 28
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ }
+ ],
+ "line": 32
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 6
+ },
+ "end": {
+ "line": 32,
+ "column": 45
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 32,
+ "column": 6
+ },
+ "end": {
+ "line": 32,
+ "column": 18
+ }
+ },
+ {
+ "start": {
+ "line": 32,
+ "column": 22
+ },
+ "end": {
+ "line": 32,
+ "column": 45
+ }
+ }
+ ],
+ "line": 32
+ },
+ "8": {
+ "loc": {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ }
+ ],
+ "line": 38
+ },
+ "9": {
+ "loc": {
+ "start": {
+ "line": 38,
+ "column": 6
+ },
+ "end": {
+ "line": 38,
+ "column": 93
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 38,
+ "column": 6
+ },
+ "end": {
+ "line": 38,
+ "column": 40
+ }
+ },
+ {
+ "start": {
+ "line": 38,
+ "column": 44
+ },
+ "end": {
+ "line": 38,
+ "column": 93
+ }
+ }
+ ],
+ "line": 38
+ },
+ "10": {
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ }
+ ],
+ "line": 55
+ },
+ "11": {
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 62,
+ "column": 56
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 62,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 62,
+ "column": 23
+ },
+ "end": {
+ "line": 62,
+ "column": 56
+ }
+ }
+ ],
+ "line": 62
+ },
+ "12": {
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ }
+ ],
+ "line": 65
+ },
+ "13": {
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 9
+ },
+ "end": {
+ "line": 68,
+ "column": 143
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 68,
+ "column": 10
+ },
+ "end": {
+ "line": 68,
+ "column": 23
+ }
+ },
+ {
+ "start": {
+ "line": 68,
+ "column": 27
+ },
+ "end": {
+ "line": 68,
+ "column": 82
+ }
+ },
+ {
+ "start": {
+ "line": 68,
+ "column": 87
+ },
+ "end": {
+ "line": 68,
+ "column": 143
+ }
+ }
+ ],
+ "line": 68
+ },
+ "14": {
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ }
+ ],
+ "line": 76
+ },
+ "15": {
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 6
+ },
+ "end": {
+ "line": 76,
+ "column": 65
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 76,
+ "column": 6
+ },
+ "end": {
+ "line": 76,
+ "column": 13
+ }
+ },
+ {
+ "start": {
+ "line": 76,
+ "column": 17
+ },
+ "end": {
+ "line": 76,
+ "column": 29
+ }
+ },
+ {
+ "start": {
+ "line": 76,
+ "column": 33
+ },
+ "end": {
+ "line": 76,
+ "column": 65
+ }
+ }
+ ],
+ "line": 76
+ },
+ "16": {
+ "loc": {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ }
+ ],
+ "line": 87
+ },
+ "17": {
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ }
+ ],
+ "line": 92
+ }
},
- "end": {
- "line": 89,
- "column": 5
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 87,
- "column": 4
- },
- "end": {
- "line": 89,
- "column": 5
- }
+ "s": {
+ "0": 1,
+ "1": 1,
+ "2": 1,
+ "3": 1,
+ "4": 1,
+ "5": 21,
+ "6": 21,
+ "7": 1,
+ "8": 21,
+ "9": 1,
+ "10": 21,
+ "11": 7,
+ "12": 21,
+ "13": 15,
+ "14": 21,
+ "15": 5,
+ "16": 16,
+ "17": 21,
+ "18": 5,
+ "19": 21,
+ "20": 1,
+ "21": 21,
+ "22": 21,
+ "23": 95,
+ "24": 95,
+ "25": 1,
+ "26": 95,
+ "27": 21,
+ "28": 1,
+ "29": 56,
+ "30": 56,
+ "31": 1,
+ "32": 55,
+ "33": 55,
+ "34": 1,
+ "35": 7,
+ "36": 7,
+ "37": 6,
+ "38": 6,
+ "39": 1,
+ "40": 26,
+ "41": 105,
+ "42": 39,
+ "43": 105,
+ "44": 50,
+ "45": 105,
+ "46": 1,
+ "47": 21,
+ "48": 1,
+ "49": 1
},
- {
- "start": {
- "line": 87,
- "column": 4
- },
- "end": {
- "line": 89,
- "column": 5
- }
- }
- ],
- "line": 87
- },
- "17": {
- "loc": {
- "start": {
- "line": 92,
- "column": 4
+ "f": {
+ "0": 21,
+ "1": 21,
+ "2": 95,
+ "3": 56,
+ "4": 7,
+ "5": 26,
+ "6": 105,
+ "7": 21
},
- "end": {
- "line": 94,
- "column": 5
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 92,
- "column": 4
- },
- "end": {
- "line": 94,
- "column": 5
- }
+ "b": {
+ "0": [1, 20],
+ "1": [1, 20],
+ "2": [7, 14],
+ "3": [21, 18, 15],
+ "4": [15, 6],
+ "5": [21, 8],
+ "6": [5, 16],
+ "7": [21, 5],
+ "8": [5, 16],
+ "9": [21, 20],
+ "10": [1, 94],
+ "11": [56, 56],
+ "12": [1, 55],
+ "13": [55, 15, 50],
+ "14": [6, 1],
+ "15": [7, 7, 6],
+ "16": [39, 66],
+ "17": [50, 55]
},
- {
- "start": {
- "line": 92,
- "column": 4
- },
- "end": {
- "line": 94,
- "column": 5
- }
- }
- ],
- "line": 92
+ "_coverageSchema": "332fd63041d2c1bcb487cc26dd0d5f7d97098a6c",
+ "hash": "f0eaad492c44d3d23e7443abdfe6e8eee863a9ca",
+ "contentHash": "1aadbafa9aec3c6d5ff348fb7143ba8e_10.2.0"
}
- },
- "s": {
- "0": 1,
- "1": 1,
- "2": 1,
- "3": 1,
- "4": 1,
- "5": 21,
- "6": 21,
- "7": 1,
- "8": 21,
- "9": 1,
- "10": 21,
- "11": 7,
- "12": 21,
- "13": 15,
- "14": 21,
- "15": 5,
- "16": 16,
- "17": 21,
- "18": 5,
- "19": 21,
- "20": 1,
- "21": 21,
- "22": 21,
- "23": 95,
- "24": 95,
- "25": 1,
- "26": 95,
- "27": 21,
- "28": 1,
- "29": 56,
- "30": 56,
- "31": 1,
- "32": 55,
- "33": 55,
- "34": 1,
- "35": 7,
- "36": 7,
- "37": 6,
- "38": 6,
- "39": 1,
- "40": 26,
- "41": 105,
- "42": 39,
- "43": 105,
- "44": 50,
- "45": 105,
- "46": 1,
- "47": 21,
- "48": 1,
- "49": 1
- },
- "f": {
- "0": 21,
- "1": 21,
- "2": 95,
- "3": 56,
- "4": 7,
- "5": 26,
- "6": 105,
- "7": 21
- },
- "b": {
- "0": [
- 1,
- 20
- ],
- "1": [
- 1,
- 20
- ],
- "2": [
- 7,
- 14
- ],
- "3": [
- 21,
- 18,
- 15
- ],
- "4": [
- 15,
- 6
- ],
- "5": [
- 21,
- 8
- ],
- "6": [
- 5,
- 16
- ],
- "7": [
- 21,
- 5
- ],
- "8": [
- 5,
- 16
- ],
- "9": [
- 21,
- 20
- ],
- "10": [
- 1,
- 94
- ],
- "11": [
- 56,
- 56
- ],
- "12": [
- 1,
- 55
- ],
- "13": [
- 55,
- 15,
- 50
- ],
- "14": [
- 6,
- 1
- ],
- "15": [
- 7,
- 7,
- 6
- ],
- "16": [
- 39,
- 66
- ],
- "17": [
- 50,
- 55
- ]
- },
- "_coverageSchema": "332fd63041d2c1bcb487cc26dd0d5f7d97098a6c",
- "hash": "f0eaad492c44d3d23e7443abdfe6e8eee863a9ca",
- "contentHash": "1aadbafa9aec3c6d5ff348fb7143ba8e_10.2.0"
}
- }
}
diff --git a/packages/istanbul-reports/test/fixtures/specs/100-line-missing-branch.json b/packages/istanbul-reports/test/fixtures/specs/100-line-missing-branch.json
index 9abcf93b..bbd891a9 100644
--- a/packages/istanbul-reports/test/fixtures/specs/100-line-missing-branch.json
+++ b/packages/istanbul-reports/test/fixtures/specs/100-line-missing-branch.json
@@ -1,1607 +1,1616 @@
{
- "title": "100% line coverage, missing branch coverage",
- "textReportExpected": "----------|----------|----------|----------|----------|-------------------|\nFile | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\n\u001b[32;1mAll files\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 95.35\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[33;1m \u001b[0m |\n\u001b[32;1m index.js\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 95.35\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[33;1m 21,29\u001b[0m |\n----------|----------|----------|----------|----------|-------------------|\n",
- "map": {
- "/Users/benjamincoe/oss/test-exclude/index.js": {
- "path": "/Users/benjamincoe/oss/test-exclude/index.js",
- "statementMap": {
- "0": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "1": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "2": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 40
- }
- },
- "3": {
- "start": {
- "line": 4,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 28
- }
- },
- "4": {
- "start": {
- "line": 5,
- "column": 18
- },
- "end": {
- "line": 5,
- "column": 40
- }
- },
- "5": {
- "start": {
- "line": 13,
- "column": 2
- },
- "end": {
- "line": 19,
- "column": 10
- }
- },
- "6": {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 81
- }
- },
- "7": {
- "start": {
- "line": 21,
- "column": 40
- },
- "end": {
- "line": 21,
- "column": 81
- }
- },
- "8": {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- "9": {
- "start": {
- "line": 22,
- "column": 40
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- "10": {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- },
- "11": {
- "start": {
- "line": 25,
- "column": 4
- },
- "end": {
- "line": 25,
- "column": 63
- }
- },
- "12": {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- },
- "13": {
- "start": {
- "line": 29,
- "column": 4
- },
- "end": {
- "line": 29,
- "column": 54
- }
- },
- "14": {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- },
- "15": {
- "start": {
- "line": 33,
- "column": 4
- },
- "end": {
- "line": 33,
- "column": 57
- }
- },
- "16": {
- "start": {
- "line": 35,
- "column": 4
- },
- "end": {
- "line": 35,
- "column": 24
- }
- },
- "17": {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- },
- "18": {
- "start": {
- "line": 39,
- "column": 4
- },
- "end": {
- "line": 39,
- "column": 43
- }
- },
- "19": {
- "start": {
- "line": 42,
- "column": 2
- },
- "end": {
- "line": 44,
- "column": 3
- }
- },
- "20": {
- "start": {
- "line": 50,
- "column": 0
- },
- "end": {
- "line": 59,
- "column": 1
- }
- },
- "21": {
- "start": {
- "line": 51,
- "column": 29
- },
- "end": {
- "line": 51,
- "column": 34
- }
- },
- "22": {
- "start": {
- "line": 52,
- "column": 2
- },
- "end": {
- "line": 57,
- "column": 4
- }
- },
- "23": {
- "start": {
- "line": 53,
- "column": 18
- },
- "end": {
- "line": 54,
- "column": 71
- }
- },
- "24": {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- "25": {
- "start": {
- "line": 55,
- "column": 17
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- "26": {
- "start": {
- "line": 56,
- "column": 4
- },
- "end": {
- "line": 56,
- "column": 19
- }
- },
- "27": {
- "start": {
- "line": 58,
- "column": 2
- },
- "end": {
- "line": 58,
- "column": 29
- }
- },
- "28": {
- "start": {
- "line": 61,
- "column": 0
- },
- "end": {
- "line": 69,
- "column": 1
- }
- },
- "29": {
- "start": {
- "line": 62,
- "column": 2
- },
- "end": {
- "line": 62,
- "column": 56
- }
- },
- "30": {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- "31": {
- "start": {
- "line": 65,
- "column": 55
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- "32": {
- "start": {
- "line": 67,
- "column": 2
- },
- "end": {
- "line": 67,
- "column": 43
- }
- },
- "33": {
- "start": {
- "line": 68,
- "column": 2
- },
- "end": {
- "line": 68,
- "column": 143
- }
- },
- "34": {
- "start": {
- "line": 71,
- "column": 0
- },
- "end": {
- "line": 82,
- "column": 1
- }
- },
- "35": {
- "start": {
- "line": 72,
- "column": 14
- },
- "end": {
- "line": 74,
- "column": 4
- }
- },
- "36": {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- },
- "37": {
- "start": {
- "line": 77,
- "column": 4
- },
- "end": {
- "line": 77,
- "column": 27
- }
- },
- "38": {
- "start": {
- "line": 78,
- "column": 4
- },
- "end": {
- "line": 78,
- "column": 23
- }
- },
- "39": {
- "start": {
- "line": 80,
- "column": 4
- },
- "end": {
- "line": 80,
- "column": 13
- }
- },
- "40": {
- "start": {
- "line": 85,
- "column": 2
- },
- "end": {
- "line": 97,
- "column": 8
- }
- },
- "41": {
- "start": {
- "line": 87,
- "column": 4
- },
- "end": {
- "line": 89,
- "column": 5
- }
- },
- "42": {
- "start": {
- "line": 88,
- "column": 6
- },
- "end": {
- "line": 88,
- "column": 64
- }
- },
- "43": {
- "start": {
- "line": 92,
- "column": 4
- },
- "end": {
- "line": 94,
- "column": 5
- }
- },
- "44": {
- "start": {
- "line": 93,
- "column": 6
- },
- "end": {
- "line": 93,
- "column": 60
- }
- },
- "45": {
- "start": {
- "line": 96,
- "column": 4
- },
- "end": {
- "line": 96,
- "column": 33
- }
- },
- "46": {
- "start": {
- "line": 100,
- "column": 17
- },
- "end": {
- "line": 102,
- "column": 1
- }
- },
- "47": {
- "start": {
- "line": 101,
- "column": 2
- },
- "end": {
- "line": 101,
- "column": 30
- }
- },
- "48": {
- "start": {
- "line": 104,
- "column": 0
- },
- "end": {
- "line": 111,
- "column": 1
- }
- },
- "49": {
- "start": {
- "line": 113,
- "column": 0
- },
- "end": {
- "line": 113,
- "column": 27
- }
- }
- },
- "fnMap": {
- "0": {
- "name": "TestExclude",
- "decl": {
- "start": {
- "line": 12,
- "column": 9
- },
- "end": {
- "line": 12,
- "column": 20
- }
- },
- "loc": {
- "start": {
- "line": 12,
- "column": 28
- },
- "end": {
- "line": 45,
- "column": 1
- }
- },
- "line": 12
- },
- "1": {
- "name": "(anonymous_1)",
- "decl": {
- "start": {
- "line": 50,
- "column": 51
- },
- "end": {
- "line": 50,
- "column": 52
- }
- },
- "loc": {
- "start": {
- "line": 50,
- "column": 63
- },
- "end": {
- "line": 59,
- "column": 1
- }
- },
- "line": 50
- },
- "2": {
- "name": "(anonymous_2)",
- "decl": {
- "start": {
- "line": 52,
- "column": 37
- },
- "end": {
- "line": 52,
- "column": 38
- }
- },
- "loc": {
- "start": {
- "line": 52,
- "column": 50
- },
- "end": {
- "line": 57,
- "column": 3
- }
- },
- "line": 52
- },
- "3": {
- "name": "(anonymous_3)",
- "decl": {
- "start": {
- "line": 61,
- "column": 41
- },
- "end": {
- "line": 61,
- "column": 42
- }
- },
- "loc": {
- "start": {
- "line": 61,
- "column": 70
- },
- "end": {
- "line": 69,
- "column": 1
- }
- },
- "line": 61
- },
- "4": {
- "name": "(anonymous_4)",
- "decl": {
- "start": {
- "line": 71,
- "column": 32
- },
- "end": {
- "line": 71,
- "column": 33
- }
- },
- "loc": {
- "start": {
- "line": 71,
- "column": 53
- },
- "end": {
- "line": 82,
- "column": 1
- }
- },
- "line": 71
- },
- "5": {
- "name": "prepGlobPatterns",
- "decl": {
- "start": {
- "line": 84,
- "column": 9
- },
- "end": {
- "line": 84,
- "column": 25
- }
- },
- "loc": {
- "start": {
- "line": 84,
- "column": 37
- },
- "end": {
- "line": 98,
- "column": 1
- }
- },
- "line": 84
- },
- "6": {
- "name": "(anonymous_6)",
- "decl": {
- "start": {
- "line": 85,
- "column": 25
- },
- "end": {
- "line": 85,
- "column": 26
- }
- },
- "loc": {
- "start": {
- "line": 85,
- "column": 52
- },
- "end": {
- "line": 97,
- "column": 3
- }
- },
- "line": 85
- },
- "7": {
- "name": "(anonymous_7)",
- "decl": {
- "start": {
- "line": 100,
- "column": 17
- },
- "end": {
- "line": 100,
- "column": 18
- }
- },
- "loc": {
- "start": {
- "line": 100,
- "column": 33
- },
- "end": {
- "line": 102,
- "column": 1
- }
- },
- "line": 100
- }
- },
- "branchMap": {
- "0": {
- "loc": {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 81
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 81
- }
- },
- {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 81
- }
- }
- ],
- "line": 21
- },
- "1": {
- "loc": {
- "start": {
- "line": 21,
- "column": 55
- },
- "end": {
- "line": 21,
- "column": 81
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 21,
- "column": 55
- },
- "end": {
- "line": 21,
- "column": 69
- }
- },
- {
- "start": {
- "line": 21,
- "column": 73
- },
- "end": {
- "line": 21,
- "column": 81
- }
- }
- ],
- "line": 21
- },
- "2": {
- "loc": {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- }
- ],
- "line": 22
- },
- "3": {
- "loc": {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- },
- {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- }
- ],
- "line": 24
- },
- "4": {
- "loc": {
- "start": {
- "line": 24,
- "column": 6
- },
- "end": {
- "line": 24,
- "column": 54
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 24,
- "column": 6
- },
- "end": {
- "line": 24,
- "column": 19
- }
- },
- {
- "start": {
- "line": 24,
- "column": 23
- },
- "end": {
- "line": 24,
- "column": 36
- }
- },
- {
- "start": {
- "line": 24,
- "column": 40
- },
- "end": {
- "line": 24,
- "column": 54
- }
- }
- ],
- "line": 24
- },
- "5": {
- "loc": {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- },
- {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- }
- ],
- "line": 28
- },
- "6": {
- "loc": {
- "start": {
- "line": 28,
- "column": 6
- },
- "end": {
- "line": 28,
- "column": 51
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 28,
- "column": 6
- },
- "end": {
- "line": 28,
- "column": 19
- }
- },
- {
- "start": {
- "line": 28,
- "column": 23
- },
- "end": {
- "line": 28,
- "column": 51
- }
- }
- ],
- "line": 28
- },
- "7": {
- "loc": {
- "start": {
- "line": 29,
- "column": 19
- },
- "end": {
- "line": 29,
- "column": 54
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 29,
- "column": 19
- },
- "end": {
- "line": 29,
- "column": 44
- }
- },
- {
- "start": {
- "line": 29,
- "column": 48
- },
- "end": {
- "line": 29,
- "column": 54
- }
- }
- ],
- "line": 29
- },
- "8": {
- "loc": {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- },
- {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- }
- ],
- "line": 32
- },
- "9": {
- "loc": {
- "start": {
- "line": 32,
- "column": 6
- },
- "end": {
- "line": 32,
- "column": 45
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 32,
- "column": 6
- },
- "end": {
- "line": 32,
- "column": 18
- }
- },
- {
- "start": {
- "line": 32,
- "column": 22
- },
- "end": {
- "line": 32,
- "column": 45
- }
- }
- ],
- "line": 32
- },
- "10": {
- "loc": {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- },
- {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- }
- ],
- "line": 38
- },
- "11": {
- "loc": {
- "start": {
- "line": 38,
- "column": 6
- },
- "end": {
- "line": 38,
- "column": 93
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 38,
- "column": 6
- },
- "end": {
- "line": 38,
- "column": 40
- }
- },
- {
- "start": {
- "line": 38,
- "column": 44
- },
- "end": {
- "line": 38,
- "column": 93
- }
- }
- ],
- "line": 38
- },
- "12": {
- "loc": {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- }
- ],
- "line": 55
- },
- "13": {
- "loc": {
- "start": {
- "line": 62,
- "column": 12
- },
- "end": {
- "line": 62,
- "column": 56
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 62,
- "column": 12
- },
- "end": {
- "line": 62,
- "column": 19
- }
- },
- {
- "start": {
- "line": 62,
- "column": 23
- },
- "end": {
- "line": 62,
- "column": 56
- }
- }
- ],
- "line": 62
- },
- "14": {
- "loc": {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- }
- ],
- "line": 65
- },
- "15": {
- "loc": {
- "start": {
- "line": 68,
- "column": 9
+ "title": "100% line coverage, missing branch coverage",
+ "textReportExpected": "----------|----------|----------|----------|----------|-------------------|\nFile | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\n\u001b[32;1mAll files\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 95.35\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[33;1m \u001b[0m |\n\u001b[32;1m index.js\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 95.35\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[32;1m 100\u001b[0m |\u001b[33;1m 21,29\u001b[0m |\n----------|----------|----------|----------|----------|-------------------|\n",
+ "htmlSpaFiles": ["index.js.html", "index.html"],
+ "htmlSpaCoverageData": {
+ "file": "",
+ "isEmpty": false,
+ "metrics": {
+ "statements": {
+ "total": 50,
+ "covered": 50,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
},
- "end": {
- "line": 68,
- "column": 143
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 68,
- "column": 10
- },
- "end": {
- "line": 68,
- "column": 23
- }
+ "branches": {
+ "total": 43,
+ "covered": 41,
+ "skipped": 0,
+ "pct": 95.35,
+ "classForPercent": "high"
},
- {
- "start": {
- "line": 68,
- "column": 27
- },
- "end": {
- "line": 68,
- "column": 82
- }
+ "functions": {
+ "total": 8,
+ "covered": 8,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
},
- {
- "start": {
- "line": 68,
- "column": 87
- },
- "end": {
- "line": 68,
- "column": 143
- }
+ "lines": {
+ "total": 46,
+ "covered": 46,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
}
- ],
- "line": 68
},
- "16": {
- "loc": {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
+ "children": [
{
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- },
- {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
+ "file": "index.js",
+ "isEmpty": false,
+ "metrics": {
+ "statements": {
+ "total": 50,
+ "covered": 50,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
+ },
+ "branches": {
+ "total": 43,
+ "covered": 41,
+ "skipped": 0,
+ "pct": 95.35,
+ "classForPercent": "high"
+ },
+ "functions": {
+ "total": 8,
+ "covered": 8,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
+ },
+ "lines": {
+ "total": 46,
+ "covered": 46,
+ "skipped": 0,
+ "pct": 100,
+ "classForPercent": "high"
+ }
+ },
+ "children": false
}
- ],
- "line": 76
- },
- "17": {
- "loc": {
- "start": {
- "line": 76,
- "column": 6
- },
- "end": {
- "line": 76,
- "column": 65
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 76,
- "column": 6
- },
- "end": {
- "line": 76,
- "column": 13
- }
+ ]
+ },
+ "map": {
+ "/Users/benjamincoe/oss/test-exclude/index.js": {
+ "path": "/Users/benjamincoe/oss/test-exclude/index.js",
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 1,
+ "column": 15
+ },
+ "end": {
+ "line": 1,
+ "column": 39
+ }
+ },
+ "1": {
+ "start": {
+ "line": 2,
+ "column": 15
+ },
+ "end": {
+ "line": 2,
+ "column": 32
+ }
+ },
+ "2": {
+ "start": {
+ "line": 3,
+ "column": 19
+ },
+ "end": {
+ "line": 3,
+ "column": 40
+ }
+ },
+ "3": {
+ "start": {
+ "line": 4,
+ "column": 13
+ },
+ "end": {
+ "line": 4,
+ "column": 28
+ }
+ },
+ "4": {
+ "start": {
+ "line": 5,
+ "column": 18
+ },
+ "end": {
+ "line": 5,
+ "column": 40
+ }
+ },
+ "5": {
+ "start": {
+ "line": 13,
+ "column": 2
+ },
+ "end": {
+ "line": 19,
+ "column": 10
+ }
+ },
+ "6": {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ },
+ "7": {
+ "start": {
+ "line": 21,
+ "column": 40
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ },
+ "8": {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ "9": {
+ "start": {
+ "line": 22,
+ "column": 40
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ "10": {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ "11": {
+ "start": {
+ "line": 25,
+ "column": 4
+ },
+ "end": {
+ "line": 25,
+ "column": 63
+ }
+ },
+ "12": {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ "13": {
+ "start": {
+ "line": 29,
+ "column": 4
+ },
+ "end": {
+ "line": 29,
+ "column": 54
+ }
+ },
+ "14": {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ },
+ "15": {
+ "start": {
+ "line": 33,
+ "column": 4
+ },
+ "end": {
+ "line": 33,
+ "column": 57
+ }
+ },
+ "16": {
+ "start": {
+ "line": 35,
+ "column": 4
+ },
+ "end": {
+ "line": 35,
+ "column": 24
+ }
+ },
+ "17": {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ },
+ "18": {
+ "start": {
+ "line": 39,
+ "column": 4
+ },
+ "end": {
+ "line": 39,
+ "column": 43
+ }
+ },
+ "19": {
+ "start": {
+ "line": 42,
+ "column": 2
+ },
+ "end": {
+ "line": 44,
+ "column": 3
+ }
+ },
+ "20": {
+ "start": {
+ "line": 50,
+ "column": 0
+ },
+ "end": {
+ "line": 59,
+ "column": 1
+ }
+ },
+ "21": {
+ "start": {
+ "line": 51,
+ "column": 29
+ },
+ "end": {
+ "line": 51,
+ "column": 34
+ }
+ },
+ "22": {
+ "start": {
+ "line": 52,
+ "column": 2
+ },
+ "end": {
+ "line": 57,
+ "column": 4
+ }
+ },
+ "23": {
+ "start": {
+ "line": 53,
+ "column": 18
+ },
+ "end": {
+ "line": 54,
+ "column": 71
+ }
+ },
+ "24": {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ "25": {
+ "start": {
+ "line": 55,
+ "column": 17
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ "26": {
+ "start": {
+ "line": 56,
+ "column": 4
+ },
+ "end": {
+ "line": 56,
+ "column": 19
+ }
+ },
+ "27": {
+ "start": {
+ "line": 58,
+ "column": 2
+ },
+ "end": {
+ "line": 58,
+ "column": 29
+ }
+ },
+ "28": {
+ "start": {
+ "line": 61,
+ "column": 0
+ },
+ "end": {
+ "line": 69,
+ "column": 1
+ }
+ },
+ "29": {
+ "start": {
+ "line": 62,
+ "column": 2
+ },
+ "end": {
+ "line": 62,
+ "column": 56
+ }
+ },
+ "30": {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ "31": {
+ "start": {
+ "line": 65,
+ "column": 55
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ "32": {
+ "start": {
+ "line": 67,
+ "column": 2
+ },
+ "end": {
+ "line": 67,
+ "column": 43
+ }
+ },
+ "33": {
+ "start": {
+ "line": 68,
+ "column": 2
+ },
+ "end": {
+ "line": 68,
+ "column": 143
+ }
+ },
+ "34": {
+ "start": {
+ "line": 71,
+ "column": 0
+ },
+ "end": {
+ "line": 82,
+ "column": 1
+ }
+ },
+ "35": {
+ "start": {
+ "line": 72,
+ "column": 14
+ },
+ "end": {
+ "line": 74,
+ "column": 4
+ }
+ },
+ "36": {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ "37": {
+ "start": {
+ "line": 77,
+ "column": 4
+ },
+ "end": {
+ "line": 77,
+ "column": 27
+ }
+ },
+ "38": {
+ "start": {
+ "line": 78,
+ "column": 4
+ },
+ "end": {
+ "line": 78,
+ "column": 23
+ }
+ },
+ "39": {
+ "start": {
+ "line": 80,
+ "column": 4
+ },
+ "end": {
+ "line": 80,
+ "column": 13
+ }
+ },
+ "40": {
+ "start": {
+ "line": 85,
+ "column": 2
+ },
+ "end": {
+ "line": 97,
+ "column": 8
+ }
+ },
+ "41": {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ },
+ "42": {
+ "start": {
+ "line": 88,
+ "column": 6
+ },
+ "end": {
+ "line": 88,
+ "column": 64
+ }
+ },
+ "43": {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ },
+ "44": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 60
+ }
+ },
+ "45": {
+ "start": {
+ "line": 96,
+ "column": 4
+ },
+ "end": {
+ "line": 96,
+ "column": 33
+ }
+ },
+ "46": {
+ "start": {
+ "line": 100,
+ "column": 17
+ },
+ "end": {
+ "line": 102,
+ "column": 1
+ }
+ },
+ "47": {
+ "start": {
+ "line": 101,
+ "column": 2
+ },
+ "end": {
+ "line": 101,
+ "column": 30
+ }
+ },
+ "48": {
+ "start": {
+ "line": 104,
+ "column": 0
+ },
+ "end": {
+ "line": 111,
+ "column": 1
+ }
+ },
+ "49": {
+ "start": {
+ "line": 113,
+ "column": 0
+ },
+ "end": {
+ "line": 113,
+ "column": 27
+ }
+ }
},
- {
- "start": {
- "line": 76,
- "column": 17
- },
- "end": {
- "line": 76,
- "column": 29
- }
+ "fnMap": {
+ "0": {
+ "name": "TestExclude",
+ "decl": {
+ "start": {
+ "line": 12,
+ "column": 9
+ },
+ "end": {
+ "line": 12,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 28
+ },
+ "end": {
+ "line": 45,
+ "column": 1
+ }
+ },
+ "line": 12
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 50,
+ "column": 51
+ },
+ "end": {
+ "line": 50,
+ "column": 52
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 63
+ },
+ "end": {
+ "line": 59,
+ "column": 1
+ }
+ },
+ "line": 50
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 52,
+ "column": 37
+ },
+ "end": {
+ "line": 52,
+ "column": 38
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 50
+ },
+ "end": {
+ "line": 57,
+ "column": 3
+ }
+ },
+ "line": 52
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 61,
+ "column": 41
+ },
+ "end": {
+ "line": 61,
+ "column": 42
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 70
+ },
+ "end": {
+ "line": 69,
+ "column": 1
+ }
+ },
+ "line": 61
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 71,
+ "column": 32
+ },
+ "end": {
+ "line": 71,
+ "column": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 53
+ },
+ "end": {
+ "line": 82,
+ "column": 1
+ }
+ },
+ "line": 71
+ },
+ "5": {
+ "name": "prepGlobPatterns",
+ "decl": {
+ "start": {
+ "line": 84,
+ "column": 9
+ },
+ "end": {
+ "line": 84,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 37
+ },
+ "end": {
+ "line": 98,
+ "column": 1
+ }
+ },
+ "line": 84
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 85,
+ "column": 25
+ },
+ "end": {
+ "line": 85,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 52
+ },
+ "end": {
+ "line": 97,
+ "column": 3
+ }
+ },
+ "line": 85
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 100,
+ "column": 17
+ },
+ "end": {
+ "line": 100,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 33
+ },
+ "end": {
+ "line": 102,
+ "column": 1
+ }
+ },
+ "line": 100
+ }
},
- {
- "start": {
- "line": 76,
- "column": 33
- },
- "end": {
- "line": 76,
- "column": 65
- }
- }
- ],
- "line": 76
- },
- "18": {
- "loc": {
- "start": {
- "line": 87,
- "column": 4
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ },
+ {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ }
+ ],
+ "line": 21
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 55
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 21,
+ "column": 55
+ },
+ "end": {
+ "line": 21,
+ "column": 69
+ }
+ },
+ {
+ "start": {
+ "line": 21,
+ "column": 73
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ }
+ ],
+ "line": 21
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ }
+ ],
+ "line": 22
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ }
+ ],
+ "line": 24
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 6
+ },
+ "end": {
+ "line": 24,
+ "column": 54
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 24,
+ "column": 6
+ },
+ "end": {
+ "line": 24,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 23
+ },
+ "end": {
+ "line": 24,
+ "column": 36
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 40
+ },
+ "end": {
+ "line": 24,
+ "column": 54
+ }
+ }
+ ],
+ "line": 24
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ }
+ ],
+ "line": 28
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 6
+ },
+ "end": {
+ "line": 28,
+ "column": 51
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 28,
+ "column": 6
+ },
+ "end": {
+ "line": 28,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 28,
+ "column": 23
+ },
+ "end": {
+ "line": 28,
+ "column": 51
+ }
+ }
+ ],
+ "line": 28
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 19
+ },
+ "end": {
+ "line": 29,
+ "column": 54
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 29,
+ "column": 19
+ },
+ "end": {
+ "line": 29,
+ "column": 44
+ }
+ },
+ {
+ "start": {
+ "line": 29,
+ "column": 48
+ },
+ "end": {
+ "line": 29,
+ "column": 54
+ }
+ }
+ ],
+ "line": 29
+ },
+ "8": {
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ }
+ ],
+ "line": 32
+ },
+ "9": {
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 6
+ },
+ "end": {
+ "line": 32,
+ "column": 45
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 32,
+ "column": 6
+ },
+ "end": {
+ "line": 32,
+ "column": 18
+ }
+ },
+ {
+ "start": {
+ "line": 32,
+ "column": 22
+ },
+ "end": {
+ "line": 32,
+ "column": 45
+ }
+ }
+ ],
+ "line": 32
+ },
+ "10": {
+ "loc": {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ }
+ ],
+ "line": 38
+ },
+ "11": {
+ "loc": {
+ "start": {
+ "line": 38,
+ "column": 6
+ },
+ "end": {
+ "line": 38,
+ "column": 93
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 38,
+ "column": 6
+ },
+ "end": {
+ "line": 38,
+ "column": 40
+ }
+ },
+ {
+ "start": {
+ "line": 38,
+ "column": 44
+ },
+ "end": {
+ "line": 38,
+ "column": 93
+ }
+ }
+ ],
+ "line": 38
+ },
+ "12": {
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ }
+ ],
+ "line": 55
+ },
+ "13": {
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 62,
+ "column": 56
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 62,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 62,
+ "column": 23
+ },
+ "end": {
+ "line": 62,
+ "column": 56
+ }
+ }
+ ],
+ "line": 62
+ },
+ "14": {
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ }
+ ],
+ "line": 65
+ },
+ "15": {
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 9
+ },
+ "end": {
+ "line": 68,
+ "column": 143
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 68,
+ "column": 10
+ },
+ "end": {
+ "line": 68,
+ "column": 23
+ }
+ },
+ {
+ "start": {
+ "line": 68,
+ "column": 27
+ },
+ "end": {
+ "line": 68,
+ "column": 82
+ }
+ },
+ {
+ "start": {
+ "line": 68,
+ "column": 87
+ },
+ "end": {
+ "line": 68,
+ "column": 143
+ }
+ }
+ ],
+ "line": 68
+ },
+ "16": {
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ }
+ ],
+ "line": 76
+ },
+ "17": {
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 6
+ },
+ "end": {
+ "line": 76,
+ "column": 65
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 76,
+ "column": 6
+ },
+ "end": {
+ "line": 76,
+ "column": 13
+ }
+ },
+ {
+ "start": {
+ "line": 76,
+ "column": 17
+ },
+ "end": {
+ "line": 76,
+ "column": 29
+ }
+ },
+ {
+ "start": {
+ "line": 76,
+ "column": 33
+ },
+ "end": {
+ "line": 76,
+ "column": 65
+ }
+ }
+ ],
+ "line": 76
+ },
+ "18": {
+ "loc": {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ }
+ ],
+ "line": 87
+ },
+ "19": {
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ }
+ ],
+ "line": 92
+ }
},
- "end": {
- "line": 89,
- "column": 5
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 87,
- "column": 4
- },
- "end": {
- "line": 89,
- "column": 5
- }
+ "s": {
+ "0": 1,
+ "1": 1,
+ "2": 1,
+ "3": 1,
+ "4": 1,
+ "5": 21,
+ "6": 21,
+ "7": 1,
+ "8": 21,
+ "9": 1,
+ "10": 21,
+ "11": 7,
+ "12": 21,
+ "13": 15,
+ "14": 21,
+ "15": 5,
+ "16": 16,
+ "17": 21,
+ "18": 5,
+ "19": 21,
+ "20": 1,
+ "21": 21,
+ "22": 21,
+ "23": 95,
+ "24": 95,
+ "25": 1,
+ "26": 95,
+ "27": 21,
+ "28": 1,
+ "29": 56,
+ "30": 56,
+ "31": 1,
+ "32": 55,
+ "33": 55,
+ "34": 1,
+ "35": 7,
+ "36": 7,
+ "37": 6,
+ "38": 6,
+ "39": 1,
+ "40": 26,
+ "41": 105,
+ "42": 39,
+ "43": 105,
+ "44": 50,
+ "45": 105,
+ "46": 1,
+ "47": 21,
+ "48": 1,
+ "49": 1
},
- {
- "start": {
- "line": 87,
- "column": 4
- },
- "end": {
- "line": 89,
- "column": 5
- }
- }
- ],
- "line": 87
- },
- "19": {
- "loc": {
- "start": {
- "line": 92,
- "column": 4
+ "f": {
+ "0": 21,
+ "1": 21,
+ "2": 95,
+ "3": 56,
+ "4": 7,
+ "5": 26,
+ "6": 105,
+ "7": 21
},
- "end": {
- "line": 94,
- "column": 5
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 92,
- "column": 4
- },
- "end": {
- "line": 94,
- "column": 5
- }
+ "b": {
+ "0": [1, 20],
+ "1": [1, 0],
+ "2": [1, 20],
+ "3": [7, 14],
+ "4": [21, 18, 15],
+ "5": [15, 6],
+ "6": [21, 8],
+ "7": [15, 0],
+ "8": [5, 16],
+ "9": [21, 5],
+ "10": [5, 16],
+ "11": [21, 20],
+ "12": [1, 94],
+ "13": [56, 56],
+ "14": [1, 55],
+ "15": [55, 15, 50],
+ "16": [6, 1],
+ "17": [7, 7, 6],
+ "18": [39, 66],
+ "19": [50, 55]
},
- {
- "start": {
- "line": 92,
- "column": 4
- },
- "end": {
- "line": 94,
- "column": 5
- }
- }
- ],
- "line": 92
+ "_coverageSchema": "332fd63041d2c1bcb487cc26dd0d5f7d97098a6c",
+ "hash": "f56f8d0db960f08dcdda97d0882cfd589e74eae5",
+ "contentHash": "4437193939a265a773fe2ec1a2d065a3_10.2.0"
}
- },
- "s": {
- "0": 1,
- "1": 1,
- "2": 1,
- "3": 1,
- "4": 1,
- "5": 21,
- "6": 21,
- "7": 1,
- "8": 21,
- "9": 1,
- "10": 21,
- "11": 7,
- "12": 21,
- "13": 15,
- "14": 21,
- "15": 5,
- "16": 16,
- "17": 21,
- "18": 5,
- "19": 21,
- "20": 1,
- "21": 21,
- "22": 21,
- "23": 95,
- "24": 95,
- "25": 1,
- "26": 95,
- "27": 21,
- "28": 1,
- "29": 56,
- "30": 56,
- "31": 1,
- "32": 55,
- "33": 55,
- "34": 1,
- "35": 7,
- "36": 7,
- "37": 6,
- "38": 6,
- "39": 1,
- "40": 26,
- "41": 105,
- "42": 39,
- "43": 105,
- "44": 50,
- "45": 105,
- "46": 1,
- "47": 21,
- "48": 1,
- "49": 1
- },
- "f": {
- "0": 21,
- "1": 21,
- "2": 95,
- "3": 56,
- "4": 7,
- "5": 26,
- "6": 105,
- "7": 21
- },
- "b": {
- "0": [
- 1,
- 20
- ],
- "1": [
- 1,
- 0
- ],
- "2": [
- 1,
- 20
- ],
- "3": [
- 7,
- 14
- ],
- "4": [
- 21,
- 18,
- 15
- ],
- "5": [
- 15,
- 6
- ],
- "6": [
- 21,
- 8
- ],
- "7": [
- 15,
- 0
- ],
- "8": [
- 5,
- 16
- ],
- "9": [
- 21,
- 5
- ],
- "10": [
- 5,
- 16
- ],
- "11": [
- 21,
- 20
- ],
- "12": [
- 1,
- 94
- ],
- "13": [
- 56,
- 56
- ],
- "14": [
- 1,
- 55
- ],
- "15": [
- 55,
- 15,
- 50
- ],
- "16": [
- 6,
- 1
- ],
- "17": [
- 7,
- 7,
- 6
- ],
- "18": [
- 39,
- 66
- ],
- "19": [
- 50,
- 55
- ]
- },
- "_coverageSchema": "332fd63041d2c1bcb487cc26dd0d5f7d97098a6c",
- "hash": "f56f8d0db960f08dcdda97d0882cfd589e74eae5",
- "contentHash": "4437193939a265a773fe2ec1a2d065a3_10.2.0"
}
- }
}
diff --git a/packages/istanbul-reports/test/fixtures/specs/empty-file-skip-empty.json b/packages/istanbul-reports/test/fixtures/specs/empty-file-skip-empty.json
index 57e3e2d7..5940e912 100644
--- a/packages/istanbul-reports/test/fixtures/specs/empty-file-skip-empty.json
+++ b/packages/istanbul-reports/test/fixtures/specs/empty-file-skip-empty.json
@@ -1,18 +1,90 @@
{
- "title": "empty file - skip empty",
- "opts": {
- "skipEmpty": true
- },
- "textReportExpected": "----------|----------|----------|----------|----------|-------------------|\nFile | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\n----------|----------|----------|----------|----------|-------------------|\n",
- "map": {
- "/dev/git/istanbuljs/packages/istanbul-reports/lib/text/empty.js": {
- "path": "/dev/git/istanbuljs/packages/istanbul-reports/lib/text/empty.js",
- "statementMap": {},
- "fnMap": {},
- "branchMap": {},
- "s": {},
- "f": {},
- "b": {}
+ "title": "empty file - skip empty",
+ "opts": {
+ "skipEmpty": true
+ },
+ "textReportExpected": "----------|----------|----------|----------|----------|-------------------|\nFile | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\n----------|----------|----------|----------|----------|-------------------|\n",
+ "htmlSpaFiles": ["empty.js.html", "index.html"],
+ "htmlSpaCoverageData": {
+ "file": "",
+ "isEmpty": true,
+ "metrics": {
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ }
+ },
+ "children": [
+ {
+ "file": "empty.js",
+ "isEmpty": true,
+ "metrics": {
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ }
+ },
+ "children": false
+ }
+ ]
+ },
+ "map": {
+ "/dev/git/istanbuljs/packages/istanbul-reports/lib/text/empty.js": {
+ "path": "/dev/git/istanbuljs/packages/istanbul-reports/lib/text/empty.js",
+ "statementMap": {},
+ "fnMap": {},
+ "branchMap": {},
+ "s": {},
+ "f": {},
+ "b": {}
+ }
}
- }
}
diff --git a/packages/istanbul-reports/test/fixtures/specs/empty-file.json b/packages/istanbul-reports/test/fixtures/specs/empty-file.json
index 7931ec6c..de04fc2b 100644
--- a/packages/istanbul-reports/test/fixtures/specs/empty-file.json
+++ b/packages/istanbul-reports/test/fixtures/specs/empty-file.json
@@ -1,15 +1,87 @@
{
- "title": "empty file - show 0%",
- "textReportExpected": "----------|----------|----------|----------|----------|-------------------|\nFile | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\nAll files | 0 | 0 | 0 | 0 |\u001b[31;1m \u001b[0m |\n empty.js | 0 | 0 | 0 | 0 |\u001b[31;1m \u001b[0m |\n----------|----------|----------|----------|----------|-------------------|\n",
- "map": {
- "/dev/git/istanbuljs/packages/istanbul-reports/lib/text/empty.js": {
- "path": "/dev/git/istanbuljs/packages/istanbul-reports/lib/text/empty.js",
- "statementMap": {},
- "fnMap": {},
- "branchMap": {},
- "s": {},
- "f": {},
- "b": {}
+ "title": "empty file - show 0%",
+ "textReportExpected": "----------|----------|----------|----------|----------|-------------------|\nFile | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\nAll files | 0 | 0 | 0 | 0 |\u001b[31;1m \u001b[0m |\n empty.js | 0 | 0 | 0 | 0 |\u001b[31;1m \u001b[0m |\n----------|----------|----------|----------|----------|-------------------|\n",
+ "htmlSpaFiles": ["empty.js.html", "index.html"],
+ "htmlSpaCoverageData": {
+ "file": "",
+ "isEmpty": true,
+ "metrics": {
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ }
+ },
+ "children": [
+ {
+ "file": "empty.js",
+ "isEmpty": true,
+ "metrics": {
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ },
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0,
+ "classForPercent": "empty"
+ }
+ },
+ "children": false
+ }
+ ]
+ },
+ "map": {
+ "/dev/git/istanbuljs/packages/istanbul-reports/lib/text/empty.js": {
+ "path": "/dev/git/istanbuljs/packages/istanbul-reports/lib/text/empty.js",
+ "statementMap": {},
+ "fnMap": {},
+ "branchMap": {},
+ "s": {},
+ "f": {},
+ "b": {}
+ }
}
- }
}
diff --git a/packages/istanbul-reports/test/fixtures/specs/missing-line-missing-branch.json b/packages/istanbul-reports/test/fixtures/specs/missing-line-missing-branch.json
index e56e0c23..c49219fd 100644
--- a/packages/istanbul-reports/test/fixtures/specs/missing-line-missing-branch.json
+++ b/packages/istanbul-reports/test/fixtures/specs/missing-line-missing-branch.json
@@ -1,1643 +1,1652 @@
{
- "title": "missing line and branch coverage",
- "textReportExpected": "----------|----------|----------|----------|----------|-------------------|\nFile | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\n\u001b[32;1mAll files\u001b[0m |\u001b[32;1m 98.04\u001b[0m |\u001b[32;1m 95.35\u001b[0m |\u001b[32;1m 88.89\u001b[0m |\u001b[32;1m 97.87\u001b[0m |\u001b[31;1m \u001b[0m |\n\u001b[32;1m index.js\u001b[0m |\u001b[32;1m 98.04\u001b[0m |\u001b[32;1m 95.35\u001b[0m |\u001b[32;1m 88.89\u001b[0m |\u001b[32;1m 97.87\u001b[0m |\u001b[31;1m 9\u001b[0m |\n----------|----------|----------|----------|----------|-------------------|\n",
- "map": {
- "/Users/benjamincoe/oss/test-exclude/index.js": {
- "path": "/Users/benjamincoe/oss/test-exclude/index.js",
- "statementMap": {
- "0": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "1": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "2": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 40
- }
- },
- "3": {
- "start": {
- "line": 4,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 28
- }
- },
- "4": {
- "start": {
- "line": 5,
- "column": 18
- },
- "end": {
- "line": 5,
- "column": 40
- }
- },
- "5": {
- "start": {
- "line": 9,
- "column": 2
- },
- "end": {
- "line": 9,
- "column": 11
- }
- },
- "6": {
- "start": {
- "line": 13,
- "column": 2
- },
- "end": {
- "line": 19,
- "column": 10
- }
- },
- "7": {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 81
- }
- },
- "8": {
- "start": {
- "line": 21,
- "column": 40
- },
- "end": {
- "line": 21,
- "column": 81
- }
- },
- "9": {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- "10": {
- "start": {
- "line": 22,
- "column": 40
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- "11": {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- },
- "12": {
- "start": {
- "line": 25,
- "column": 4
- },
- "end": {
- "line": 25,
- "column": 63
- }
- },
- "13": {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- },
- "14": {
- "start": {
- "line": 29,
- "column": 4
- },
- "end": {
- "line": 29,
- "column": 54
- }
- },
- "15": {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- },
- "16": {
- "start": {
- "line": 33,
- "column": 4
- },
- "end": {
- "line": 33,
- "column": 57
- }
- },
- "17": {
- "start": {
- "line": 35,
- "column": 4
- },
- "end": {
- "line": 35,
- "column": 24
- }
- },
- "18": {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- },
- "19": {
- "start": {
- "line": 39,
- "column": 4
- },
- "end": {
- "line": 39,
- "column": 43
- }
- },
- "20": {
- "start": {
- "line": 42,
- "column": 2
- },
- "end": {
- "line": 44,
- "column": 3
- }
- },
- "21": {
- "start": {
- "line": 50,
- "column": 0
- },
- "end": {
- "line": 59,
- "column": 1
- }
- },
- "22": {
- "start": {
- "line": 51,
- "column": 29
- },
- "end": {
- "line": 51,
- "column": 34
- }
- },
- "23": {
- "start": {
- "line": 52,
- "column": 2
- },
- "end": {
- "line": 57,
- "column": 4
- }
- },
- "24": {
- "start": {
- "line": 53,
- "column": 18
- },
- "end": {
- "line": 54,
- "column": 71
- }
- },
- "25": {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- "26": {
- "start": {
- "line": 55,
- "column": 17
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- "27": {
- "start": {
- "line": 56,
- "column": 4
- },
- "end": {
- "line": 56,
- "column": 19
- }
- },
- "28": {
- "start": {
- "line": 58,
- "column": 2
- },
- "end": {
- "line": 58,
- "column": 29
- }
- },
- "29": {
- "start": {
- "line": 61,
- "column": 0
- },
- "end": {
- "line": 69,
- "column": 1
- }
- },
- "30": {
- "start": {
- "line": 62,
- "column": 2
- },
- "end": {
- "line": 62,
- "column": 56
- }
- },
- "31": {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- "32": {
- "start": {
- "line": 65,
- "column": 55
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- "33": {
- "start": {
- "line": 67,
- "column": 2
- },
- "end": {
- "line": 67,
- "column": 43
- }
- },
- "34": {
- "start": {
- "line": 68,
- "column": 2
- },
- "end": {
- "line": 68,
- "column": 143
- }
- },
- "35": {
- "start": {
- "line": 71,
- "column": 0
- },
- "end": {
- "line": 82,
- "column": 1
- }
- },
- "36": {
- "start": {
- "line": 72,
- "column": 14
- },
- "end": {
- "line": 74,
- "column": 4
- }
- },
- "37": {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- },
- "38": {
- "start": {
- "line": 77,
- "column": 4
- },
- "end": {
- "line": 77,
- "column": 27
- }
- },
- "39": {
- "start": {
- "line": 78,
- "column": 4
- },
- "end": {
- "line": 78,
- "column": 23
- }
- },
- "40": {
- "start": {
- "line": 80,
- "column": 4
- },
- "end": {
- "line": 80,
- "column": 13
- }
- },
- "41": {
- "start": {
- "line": 85,
- "column": 2
- },
- "end": {
- "line": 97,
- "column": 8
- }
- },
- "42": {
- "start": {
- "line": 87,
- "column": 4
- },
- "end": {
- "line": 89,
- "column": 5
- }
- },
- "43": {
- "start": {
- "line": 88,
- "column": 6
- },
- "end": {
- "line": 88,
- "column": 64
- }
- },
- "44": {
- "start": {
- "line": 92,
- "column": 4
- },
- "end": {
- "line": 94,
- "column": 5
- }
- },
- "45": {
- "start": {
- "line": 93,
- "column": 6
- },
- "end": {
- "line": 93,
- "column": 60
- }
- },
- "46": {
- "start": {
- "line": 96,
- "column": 4
- },
- "end": {
- "line": 96,
- "column": 33
- }
- },
- "47": {
- "start": {
- "line": 100,
- "column": 17
- },
- "end": {
- "line": 102,
- "column": 1
- }
- },
- "48": {
- "start": {
- "line": 101,
- "column": 2
- },
- "end": {
- "line": 101,
- "column": 30
- }
- },
- "49": {
- "start": {
- "line": 104,
- "column": 0
- },
- "end": {
- "line": 111,
- "column": 1
- }
- },
- "50": {
- "start": {
- "line": 113,
- "column": 0
- },
- "end": {
- "line": 113,
- "column": 27
- }
- }
- },
- "fnMap": {
- "0": {
- "name": "foo",
- "decl": {
- "start": {
- "line": 8,
- "column": 9
- },
- "end": {
- "line": 8,
- "column": 12
- }
- },
- "loc": {
- "start": {
- "line": 8,
- "column": 16
- },
- "end": {
- "line": 10,
- "column": 1
- }
- },
- "line": 8
- },
- "1": {
- "name": "TestExclude",
- "decl": {
- "start": {
- "line": 12,
- "column": 9
- },
- "end": {
- "line": 12,
- "column": 20
- }
- },
- "loc": {
- "start": {
- "line": 12,
- "column": 28
- },
- "end": {
- "line": 45,
- "column": 1
- }
- },
- "line": 12
- },
- "2": {
- "name": "(anonymous_2)",
- "decl": {
- "start": {
- "line": 50,
- "column": 51
- },
- "end": {
- "line": 50,
- "column": 52
- }
- },
- "loc": {
- "start": {
- "line": 50,
- "column": 63
- },
- "end": {
- "line": 59,
- "column": 1
- }
- },
- "line": 50
- },
- "3": {
- "name": "(anonymous_3)",
- "decl": {
- "start": {
- "line": 52,
- "column": 37
- },
- "end": {
- "line": 52,
- "column": 38
- }
- },
- "loc": {
- "start": {
- "line": 52,
- "column": 50
- },
- "end": {
- "line": 57,
- "column": 3
- }
- },
- "line": 52
- },
- "4": {
- "name": "(anonymous_4)",
- "decl": {
- "start": {
- "line": 61,
- "column": 41
- },
- "end": {
- "line": 61,
- "column": 42
- }
- },
- "loc": {
- "start": {
- "line": 61,
- "column": 70
- },
- "end": {
- "line": 69,
- "column": 1
- }
- },
- "line": 61
- },
- "5": {
- "name": "(anonymous_5)",
- "decl": {
- "start": {
- "line": 71,
- "column": 32
- },
- "end": {
- "line": 71,
- "column": 33
- }
- },
- "loc": {
- "start": {
- "line": 71,
- "column": 53
- },
- "end": {
- "line": 82,
- "column": 1
- }
- },
- "line": 71
- },
- "6": {
- "name": "prepGlobPatterns",
- "decl": {
- "start": {
- "line": 84,
- "column": 9
- },
- "end": {
- "line": 84,
- "column": 25
- }
- },
- "loc": {
- "start": {
- "line": 84,
- "column": 37
- },
- "end": {
- "line": 98,
- "column": 1
- }
- },
- "line": 84
- },
- "7": {
- "name": "(anonymous_7)",
- "decl": {
- "start": {
- "line": 85,
- "column": 25
- },
- "end": {
- "line": 85,
- "column": 26
- }
- },
- "loc": {
- "start": {
- "line": 85,
- "column": 52
- },
- "end": {
- "line": 97,
- "column": 3
- }
- },
- "line": 85
- },
- "8": {
- "name": "(anonymous_8)",
- "decl": {
- "start": {
- "line": 100,
- "column": 17
- },
- "end": {
- "line": 100,
- "column": 18
- }
- },
- "loc": {
- "start": {
- "line": 100,
- "column": 33
- },
- "end": {
- "line": 102,
- "column": 1
- }
- },
- "line": 100
- }
- },
- "branchMap": {
- "0": {
- "loc": {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 81
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 81
- }
- },
- {
- "start": {
- "line": 21,
- "column": 2
- },
- "end": {
- "line": 21,
- "column": 81
- }
- }
- ],
- "line": 21
- },
- "1": {
- "loc": {
- "start": {
- "line": 21,
- "column": 55
- },
- "end": {
- "line": 21,
- "column": 81
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 21,
- "column": 55
- },
- "end": {
- "line": 21,
- "column": 69
- }
- },
- {
- "start": {
- "line": 21,
- "column": 73
- },
- "end": {
- "line": 21,
- "column": 81
- }
- }
- ],
- "line": 21
- },
- "2": {
- "loc": {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- },
- {
- "start": {
- "line": 22,
- "column": 2
- },
- "end": {
- "line": 22,
- "column": 69
- }
- }
- ],
- "line": 22
- },
- "3": {
- "loc": {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- },
- {
- "start": {
- "line": 24,
- "column": 2
- },
- "end": {
- "line": 26,
- "column": 3
- }
- }
- ],
- "line": 24
- },
- "4": {
- "loc": {
- "start": {
- "line": 24,
- "column": 6
- },
- "end": {
- "line": 24,
- "column": 54
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 24,
- "column": 6
- },
- "end": {
- "line": 24,
- "column": 19
- }
- },
- {
- "start": {
- "line": 24,
- "column": 23
- },
- "end": {
- "line": 24,
- "column": 36
- }
- },
- {
- "start": {
- "line": 24,
- "column": 40
- },
- "end": {
- "line": 24,
- "column": 54
- }
- }
- ],
- "line": 24
- },
- "5": {
- "loc": {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- },
- {
- "start": {
- "line": 28,
- "column": 2
- },
- "end": {
- "line": 30,
- "column": 3
- }
- }
- ],
- "line": 28
- },
- "6": {
- "loc": {
- "start": {
- "line": 28,
- "column": 6
- },
- "end": {
- "line": 28,
- "column": 51
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 28,
- "column": 6
- },
- "end": {
- "line": 28,
- "column": 19
- }
- },
- {
- "start": {
- "line": 28,
- "column": 23
- },
- "end": {
- "line": 28,
- "column": 51
- }
- }
- ],
- "line": 28
- },
- "7": {
- "loc": {
- "start": {
- "line": 29,
- "column": 19
+ "title": "missing line and branch coverage",
+ "textReportExpected": "----------|----------|----------|----------|----------|-------------------|\nFile | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\n\u001b[32;1mAll files\u001b[0m |\u001b[32;1m 98.04\u001b[0m |\u001b[32;1m 95.35\u001b[0m |\u001b[32;1m 88.89\u001b[0m |\u001b[32;1m 97.87\u001b[0m |\u001b[31;1m \u001b[0m |\n\u001b[32;1m index.js\u001b[0m |\u001b[32;1m 98.04\u001b[0m |\u001b[32;1m 95.35\u001b[0m |\u001b[32;1m 88.89\u001b[0m |\u001b[32;1m 97.87\u001b[0m |\u001b[31;1m 9\u001b[0m |\n----------|----------|----------|----------|----------|-------------------|\n",
+ "htmlSpaFiles": ["index.js.html", "index.html"],
+ "htmlSpaCoverageData": {
+ "file": "",
+ "isEmpty": false,
+ "metrics": {
+ "statements": {
+ "total": 51,
+ "covered": 50,
+ "skipped": 0,
+ "pct": 98.04,
+ "classForPercent": "high"
},
- "end": {
- "line": 29,
- "column": 54
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 29,
- "column": 19
- },
- "end": {
- "line": 29,
- "column": 44
- }
+ "branches": {
+ "total": 43,
+ "covered": 41,
+ "skipped": 0,
+ "pct": 95.35,
+ "classForPercent": "high"
},
- {
- "start": {
- "line": 29,
- "column": 48
- },
- "end": {
- "line": 29,
- "column": 54
- }
- }
- ],
- "line": 29
- },
- "8": {
- "loc": {
- "start": {
- "line": 32,
- "column": 2
+ "functions": {
+ "total": 9,
+ "covered": 8,
+ "skipped": 0,
+ "pct": 88.89,
+ "classForPercent": "high"
},
- "end": {
- "line": 36,
- "column": 3
+ "lines": {
+ "total": 47,
+ "covered": 46,
+ "skipped": 0,
+ "pct": 97.87,
+ "classForPercent": "high"
}
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- },
- {
- "start": {
- "line": 32,
- "column": 2
- },
- "end": {
- "line": 36,
- "column": 3
- }
- }
- ],
- "line": 32
},
- "9": {
- "loc": {
- "start": {
- "line": 32,
- "column": 6
- },
- "end": {
- "line": 32,
- "column": 45
- }
- },
- "type": "binary-expr",
- "locations": [
+ "children": [
{
- "start": {
- "line": 32,
- "column": 6
- },
- "end": {
- "line": 32,
- "column": 18
- }
- },
- {
- "start": {
- "line": 32,
- "column": 22
- },
- "end": {
- "line": 32,
- "column": 45
- }
- }
- ],
- "line": 32
- },
- "10": {
- "loc": {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- },
- {
- "start": {
- "line": 38,
- "column": 2
- },
- "end": {
- "line": 40,
- "column": 3
- }
- }
- ],
- "line": 38
- },
- "11": {
- "loc": {
- "start": {
- "line": 38,
- "column": 6
- },
- "end": {
- "line": 38,
- "column": 93
+ "file": "index.js",
+ "isEmpty": false,
+ "metrics": {
+ "statements": {
+ "total": 51,
+ "covered": 50,
+ "skipped": 0,
+ "pct": 98.04,
+ "classForPercent": "high"
+ },
+ "branches": {
+ "total": 43,
+ "covered": 41,
+ "skipped": 0,
+ "pct": 95.35,
+ "classForPercent": "high"
+ },
+ "functions": {
+ "total": 9,
+ "covered": 8,
+ "skipped": 0,
+ "pct": 88.89,
+ "classForPercent": "high"
+ },
+ "lines": {
+ "total": 47,
+ "covered": 46,
+ "skipped": 0,
+ "pct": 97.87,
+ "classForPercent": "high"
+ }
+ },
+ "children": false
}
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 38,
- "column": 6
- },
- "end": {
- "line": 38,
- "column": 40
- }
- },
- {
- "start": {
- "line": 38,
- "column": 44
- },
- "end": {
- "line": 38,
- "column": 93
- }
- }
- ],
- "line": 38
- },
- "12": {
- "loc": {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- },
- {
- "start": {
- "line": 55,
- "column": 4
- },
- "end": {
- "line": 55,
- "column": 44
- }
- }
- ],
- "line": 55
- },
- "13": {
- "loc": {
- "start": {
- "line": 62,
- "column": 12
- },
- "end": {
- "line": 62,
- "column": 56
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 62,
- "column": 12
- },
- "end": {
- "line": 62,
- "column": 19
- }
- },
- {
- "start": {
- "line": 62,
- "column": 23
- },
- "end": {
- "line": 62,
- "column": 56
- }
- }
- ],
- "line": 62
- },
- "14": {
- "loc": {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- },
- {
- "start": {
- "line": 65,
- "column": 2
- },
- "end": {
- "line": 65,
- "column": 67
- }
- }
- ],
- "line": 65
- },
- "15": {
- "loc": {
- "start": {
- "line": 68,
- "column": 9
- },
- "end": {
- "line": 68,
- "column": 143
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 68,
- "column": 10
- },
- "end": {
- "line": 68,
- "column": 23
- }
- },
- {
- "start": {
- "line": 68,
- "column": 27
- },
- "end": {
- "line": 68,
- "column": 82
- }
- },
- {
- "start": {
- "line": 68,
- "column": 87
- },
- "end": {
- "line": 68,
- "column": 143
- }
- }
- ],
- "line": 68
- },
- "16": {
- "loc": {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- },
- {
- "start": {
- "line": 76,
- "column": 2
- },
- "end": {
- "line": 81,
- "column": 3
- }
- }
- ],
- "line": 76
- },
- "17": {
- "loc": {
- "start": {
- "line": 76,
- "column": 6
- },
- "end": {
- "line": 76,
- "column": 65
- }
- },
- "type": "binary-expr",
- "locations": [
- {
- "start": {
- "line": 76,
- "column": 6
- },
- "end": {
- "line": 76,
- "column": 13
- }
+ ]
+ },
+ "map": {
+ "/Users/benjamincoe/oss/test-exclude/index.js": {
+ "path": "/Users/benjamincoe/oss/test-exclude/index.js",
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 1,
+ "column": 15
+ },
+ "end": {
+ "line": 1,
+ "column": 39
+ }
+ },
+ "1": {
+ "start": {
+ "line": 2,
+ "column": 15
+ },
+ "end": {
+ "line": 2,
+ "column": 32
+ }
+ },
+ "2": {
+ "start": {
+ "line": 3,
+ "column": 19
+ },
+ "end": {
+ "line": 3,
+ "column": 40
+ }
+ },
+ "3": {
+ "start": {
+ "line": 4,
+ "column": 13
+ },
+ "end": {
+ "line": 4,
+ "column": 28
+ }
+ },
+ "4": {
+ "start": {
+ "line": 5,
+ "column": 18
+ },
+ "end": {
+ "line": 5,
+ "column": 40
+ }
+ },
+ "5": {
+ "start": {
+ "line": 9,
+ "column": 2
+ },
+ "end": {
+ "line": 9,
+ "column": 11
+ }
+ },
+ "6": {
+ "start": {
+ "line": 13,
+ "column": 2
+ },
+ "end": {
+ "line": 19,
+ "column": 10
+ }
+ },
+ "7": {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ },
+ "8": {
+ "start": {
+ "line": 21,
+ "column": 40
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ },
+ "9": {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ "10": {
+ "start": {
+ "line": 22,
+ "column": 40
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ "11": {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ "12": {
+ "start": {
+ "line": 25,
+ "column": 4
+ },
+ "end": {
+ "line": 25,
+ "column": 63
+ }
+ },
+ "13": {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ "14": {
+ "start": {
+ "line": 29,
+ "column": 4
+ },
+ "end": {
+ "line": 29,
+ "column": 54
+ }
+ },
+ "15": {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ },
+ "16": {
+ "start": {
+ "line": 33,
+ "column": 4
+ },
+ "end": {
+ "line": 33,
+ "column": 57
+ }
+ },
+ "17": {
+ "start": {
+ "line": 35,
+ "column": 4
+ },
+ "end": {
+ "line": 35,
+ "column": 24
+ }
+ },
+ "18": {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ },
+ "19": {
+ "start": {
+ "line": 39,
+ "column": 4
+ },
+ "end": {
+ "line": 39,
+ "column": 43
+ }
+ },
+ "20": {
+ "start": {
+ "line": 42,
+ "column": 2
+ },
+ "end": {
+ "line": 44,
+ "column": 3
+ }
+ },
+ "21": {
+ "start": {
+ "line": 50,
+ "column": 0
+ },
+ "end": {
+ "line": 59,
+ "column": 1
+ }
+ },
+ "22": {
+ "start": {
+ "line": 51,
+ "column": 29
+ },
+ "end": {
+ "line": 51,
+ "column": 34
+ }
+ },
+ "23": {
+ "start": {
+ "line": 52,
+ "column": 2
+ },
+ "end": {
+ "line": 57,
+ "column": 4
+ }
+ },
+ "24": {
+ "start": {
+ "line": 53,
+ "column": 18
+ },
+ "end": {
+ "line": 54,
+ "column": 71
+ }
+ },
+ "25": {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ "26": {
+ "start": {
+ "line": 55,
+ "column": 17
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ "27": {
+ "start": {
+ "line": 56,
+ "column": 4
+ },
+ "end": {
+ "line": 56,
+ "column": 19
+ }
+ },
+ "28": {
+ "start": {
+ "line": 58,
+ "column": 2
+ },
+ "end": {
+ "line": 58,
+ "column": 29
+ }
+ },
+ "29": {
+ "start": {
+ "line": 61,
+ "column": 0
+ },
+ "end": {
+ "line": 69,
+ "column": 1
+ }
+ },
+ "30": {
+ "start": {
+ "line": 62,
+ "column": 2
+ },
+ "end": {
+ "line": 62,
+ "column": 56
+ }
+ },
+ "31": {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ "32": {
+ "start": {
+ "line": 65,
+ "column": 55
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ "33": {
+ "start": {
+ "line": 67,
+ "column": 2
+ },
+ "end": {
+ "line": 67,
+ "column": 43
+ }
+ },
+ "34": {
+ "start": {
+ "line": 68,
+ "column": 2
+ },
+ "end": {
+ "line": 68,
+ "column": 143
+ }
+ },
+ "35": {
+ "start": {
+ "line": 71,
+ "column": 0
+ },
+ "end": {
+ "line": 82,
+ "column": 1
+ }
+ },
+ "36": {
+ "start": {
+ "line": 72,
+ "column": 14
+ },
+ "end": {
+ "line": 74,
+ "column": 4
+ }
+ },
+ "37": {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ "38": {
+ "start": {
+ "line": 77,
+ "column": 4
+ },
+ "end": {
+ "line": 77,
+ "column": 27
+ }
+ },
+ "39": {
+ "start": {
+ "line": 78,
+ "column": 4
+ },
+ "end": {
+ "line": 78,
+ "column": 23
+ }
+ },
+ "40": {
+ "start": {
+ "line": 80,
+ "column": 4
+ },
+ "end": {
+ "line": 80,
+ "column": 13
+ }
+ },
+ "41": {
+ "start": {
+ "line": 85,
+ "column": 2
+ },
+ "end": {
+ "line": 97,
+ "column": 8
+ }
+ },
+ "42": {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ },
+ "43": {
+ "start": {
+ "line": 88,
+ "column": 6
+ },
+ "end": {
+ "line": 88,
+ "column": 64
+ }
+ },
+ "44": {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ },
+ "45": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 60
+ }
+ },
+ "46": {
+ "start": {
+ "line": 96,
+ "column": 4
+ },
+ "end": {
+ "line": 96,
+ "column": 33
+ }
+ },
+ "47": {
+ "start": {
+ "line": 100,
+ "column": 17
+ },
+ "end": {
+ "line": 102,
+ "column": 1
+ }
+ },
+ "48": {
+ "start": {
+ "line": 101,
+ "column": 2
+ },
+ "end": {
+ "line": 101,
+ "column": 30
+ }
+ },
+ "49": {
+ "start": {
+ "line": 104,
+ "column": 0
+ },
+ "end": {
+ "line": 111,
+ "column": 1
+ }
+ },
+ "50": {
+ "start": {
+ "line": 113,
+ "column": 0
+ },
+ "end": {
+ "line": 113,
+ "column": 27
+ }
+ }
},
- {
- "start": {
- "line": 76,
- "column": 17
- },
- "end": {
- "line": 76,
- "column": 29
- }
+ "fnMap": {
+ "0": {
+ "name": "foo",
+ "decl": {
+ "start": {
+ "line": 8,
+ "column": 9
+ },
+ "end": {
+ "line": 8,
+ "column": 12
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 16
+ },
+ "end": {
+ "line": 10,
+ "column": 1
+ }
+ },
+ "line": 8
+ },
+ "1": {
+ "name": "TestExclude",
+ "decl": {
+ "start": {
+ "line": 12,
+ "column": 9
+ },
+ "end": {
+ "line": 12,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 28
+ },
+ "end": {
+ "line": 45,
+ "column": 1
+ }
+ },
+ "line": 12
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 50,
+ "column": 51
+ },
+ "end": {
+ "line": 50,
+ "column": 52
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 63
+ },
+ "end": {
+ "line": 59,
+ "column": 1
+ }
+ },
+ "line": 50
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 52,
+ "column": 37
+ },
+ "end": {
+ "line": 52,
+ "column": 38
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 50
+ },
+ "end": {
+ "line": 57,
+ "column": 3
+ }
+ },
+ "line": 52
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 61,
+ "column": 41
+ },
+ "end": {
+ "line": 61,
+ "column": 42
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 70
+ },
+ "end": {
+ "line": 69,
+ "column": 1
+ }
+ },
+ "line": 61
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 71,
+ "column": 32
+ },
+ "end": {
+ "line": 71,
+ "column": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 53
+ },
+ "end": {
+ "line": 82,
+ "column": 1
+ }
+ },
+ "line": 71
+ },
+ "6": {
+ "name": "prepGlobPatterns",
+ "decl": {
+ "start": {
+ "line": 84,
+ "column": 9
+ },
+ "end": {
+ "line": 84,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 37
+ },
+ "end": {
+ "line": 98,
+ "column": 1
+ }
+ },
+ "line": 84
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 85,
+ "column": 25
+ },
+ "end": {
+ "line": 85,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 52
+ },
+ "end": {
+ "line": 97,
+ "column": 3
+ }
+ },
+ "line": 85
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 100,
+ "column": 17
+ },
+ "end": {
+ "line": 100,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 33
+ },
+ "end": {
+ "line": 102,
+ "column": 1
+ }
+ },
+ "line": 100
+ }
},
- {
- "start": {
- "line": 76,
- "column": 33
- },
- "end": {
- "line": 76,
- "column": 65
- }
- }
- ],
- "line": 76
- },
- "18": {
- "loc": {
- "start": {
- "line": 87,
- "column": 4
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ },
+ {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ }
+ ],
+ "line": 21
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 55
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 21,
+ "column": 55
+ },
+ "end": {
+ "line": 21,
+ "column": 69
+ }
+ },
+ {
+ "start": {
+ "line": 21,
+ "column": 73
+ },
+ "end": {
+ "line": 21,
+ "column": 81
+ }
+ }
+ ],
+ "line": 21
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ },
+ {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 69
+ }
+ }
+ ],
+ "line": 22
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ }
+ ],
+ "line": 24
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 6
+ },
+ "end": {
+ "line": 24,
+ "column": 54
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 24,
+ "column": 6
+ },
+ "end": {
+ "line": 24,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 23
+ },
+ "end": {
+ "line": 24,
+ "column": 36
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 40
+ },
+ "end": {
+ "line": 24,
+ "column": 54
+ }
+ }
+ ],
+ "line": 24
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ }
+ ],
+ "line": 28
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 6
+ },
+ "end": {
+ "line": 28,
+ "column": 51
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 28,
+ "column": 6
+ },
+ "end": {
+ "line": 28,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 28,
+ "column": 23
+ },
+ "end": {
+ "line": 28,
+ "column": 51
+ }
+ }
+ ],
+ "line": 28
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 19
+ },
+ "end": {
+ "line": 29,
+ "column": 54
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 29,
+ "column": 19
+ },
+ "end": {
+ "line": 29,
+ "column": 44
+ }
+ },
+ {
+ "start": {
+ "line": 29,
+ "column": 48
+ },
+ "end": {
+ "line": 29,
+ "column": 54
+ }
+ }
+ ],
+ "line": 29
+ },
+ "8": {
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ }
+ ],
+ "line": 32
+ },
+ "9": {
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 6
+ },
+ "end": {
+ "line": 32,
+ "column": 45
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 32,
+ "column": 6
+ },
+ "end": {
+ "line": 32,
+ "column": 18
+ }
+ },
+ {
+ "start": {
+ "line": 32,
+ "column": 22
+ },
+ "end": {
+ "line": 32,
+ "column": 45
+ }
+ }
+ ],
+ "line": 32
+ },
+ "10": {
+ "loc": {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ }
+ ],
+ "line": 38
+ },
+ "11": {
+ "loc": {
+ "start": {
+ "line": 38,
+ "column": 6
+ },
+ "end": {
+ "line": 38,
+ "column": 93
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 38,
+ "column": 6
+ },
+ "end": {
+ "line": 38,
+ "column": 40
+ }
+ },
+ {
+ "start": {
+ "line": 38,
+ "column": 44
+ },
+ "end": {
+ "line": 38,
+ "column": 93
+ }
+ }
+ ],
+ "line": 38
+ },
+ "12": {
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ {
+ "start": {
+ "line": 55,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ }
+ ],
+ "line": 55
+ },
+ "13": {
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 62,
+ "column": 56
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 62,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 62,
+ "column": 23
+ },
+ "end": {
+ "line": 62,
+ "column": 56
+ }
+ }
+ ],
+ "line": 62
+ },
+ "14": {
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ },
+ {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 65,
+ "column": 67
+ }
+ }
+ ],
+ "line": 65
+ },
+ "15": {
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 9
+ },
+ "end": {
+ "line": 68,
+ "column": 143
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 68,
+ "column": 10
+ },
+ "end": {
+ "line": 68,
+ "column": 23
+ }
+ },
+ {
+ "start": {
+ "line": 68,
+ "column": 27
+ },
+ "end": {
+ "line": 68,
+ "column": 82
+ }
+ },
+ {
+ "start": {
+ "line": 68,
+ "column": 87
+ },
+ "end": {
+ "line": 68,
+ "column": 143
+ }
+ }
+ ],
+ "line": 68
+ },
+ "16": {
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 76,
+ "column": 2
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ }
+ ],
+ "line": 76
+ },
+ "17": {
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 6
+ },
+ "end": {
+ "line": 76,
+ "column": 65
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 76,
+ "column": 6
+ },
+ "end": {
+ "line": 76,
+ "column": 13
+ }
+ },
+ {
+ "start": {
+ "line": 76,
+ "column": 17
+ },
+ "end": {
+ "line": 76,
+ "column": 29
+ }
+ },
+ {
+ "start": {
+ "line": 76,
+ "column": 33
+ },
+ "end": {
+ "line": 76,
+ "column": 65
+ }
+ }
+ ],
+ "line": 76
+ },
+ "18": {
+ "loc": {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 5
+ }
+ }
+ ],
+ "line": 87
+ },
+ "19": {
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 92,
+ "column": 4
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ }
+ ],
+ "line": 92
+ }
},
- "end": {
- "line": 89,
- "column": 5
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 87,
- "column": 4
- },
- "end": {
- "line": 89,
- "column": 5
- }
+ "s": {
+ "0": 1,
+ "1": 1,
+ "2": 1,
+ "3": 1,
+ "4": 1,
+ "5": 0,
+ "6": 21,
+ "7": 21,
+ "8": 1,
+ "9": 21,
+ "10": 1,
+ "11": 21,
+ "12": 7,
+ "13": 21,
+ "14": 15,
+ "15": 21,
+ "16": 5,
+ "17": 16,
+ "18": 21,
+ "19": 5,
+ "20": 21,
+ "21": 1,
+ "22": 21,
+ "23": 21,
+ "24": 95,
+ "25": 95,
+ "26": 1,
+ "27": 95,
+ "28": 21,
+ "29": 1,
+ "30": 56,
+ "31": 56,
+ "32": 1,
+ "33": 55,
+ "34": 55,
+ "35": 1,
+ "36": 7,
+ "37": 7,
+ "38": 6,
+ "39": 6,
+ "40": 1,
+ "41": 26,
+ "42": 105,
+ "43": 39,
+ "44": 105,
+ "45": 50,
+ "46": 105,
+ "47": 1,
+ "48": 21,
+ "49": 1,
+ "50": 1
},
- {
- "start": {
- "line": 87,
- "column": 4
- },
- "end": {
- "line": 89,
- "column": 5
- }
- }
- ],
- "line": 87
- },
- "19": {
- "loc": {
- "start": {
- "line": 92,
- "column": 4
+ "f": {
+ "0": 0,
+ "1": 21,
+ "2": 21,
+ "3": 95,
+ "4": 56,
+ "5": 7,
+ "6": 26,
+ "7": 105,
+ "8": 21
},
- "end": {
- "line": 94,
- "column": 5
- }
- },
- "type": "if",
- "locations": [
- {
- "start": {
- "line": 92,
- "column": 4
- },
- "end": {
- "line": 94,
- "column": 5
- }
+ "b": {
+ "0": [1, 20],
+ "1": [1, 0],
+ "2": [1, 20],
+ "3": [7, 14],
+ "4": [21, 18, 15],
+ "5": [15, 6],
+ "6": [21, 8],
+ "7": [15, 0],
+ "8": [5, 16],
+ "9": [21, 5],
+ "10": [5, 16],
+ "11": [21, 20],
+ "12": [1, 94],
+ "13": [56, 56],
+ "14": [1, 55],
+ "15": [55, 15, 50],
+ "16": [6, 1],
+ "17": [7, 7, 6],
+ "18": [39, 66],
+ "19": [50, 55]
},
- {
- "start": {
- "line": 92,
- "column": 4
- },
- "end": {
- "line": 94,
- "column": 5
- }
- }
- ],
- "line": 92
+ "_coverageSchema": "332fd63041d2c1bcb487cc26dd0d5f7d97098a6c",
+ "hash": "257c6f21b24c87c5486d0ac83455acd3e4aebb6d",
+ "contentHash": "fe9edcd7fde8f2a27202e2634386d126_10.2.0"
}
- },
- "s": {
- "0": 1,
- "1": 1,
- "2": 1,
- "3": 1,
- "4": 1,
- "5": 0,
- "6": 21,
- "7": 21,
- "8": 1,
- "9": 21,
- "10": 1,
- "11": 21,
- "12": 7,
- "13": 21,
- "14": 15,
- "15": 21,
- "16": 5,
- "17": 16,
- "18": 21,
- "19": 5,
- "20": 21,
- "21": 1,
- "22": 21,
- "23": 21,
- "24": 95,
- "25": 95,
- "26": 1,
- "27": 95,
- "28": 21,
- "29": 1,
- "30": 56,
- "31": 56,
- "32": 1,
- "33": 55,
- "34": 55,
- "35": 1,
- "36": 7,
- "37": 7,
- "38": 6,
- "39": 6,
- "40": 1,
- "41": 26,
- "42": 105,
- "43": 39,
- "44": 105,
- "45": 50,
- "46": 105,
- "47": 1,
- "48": 21,
- "49": 1,
- "50": 1
- },
- "f": {
- "0": 0,
- "1": 21,
- "2": 21,
- "3": 95,
- "4": 56,
- "5": 7,
- "6": 26,
- "7": 105,
- "8": 21
- },
- "b": {
- "0": [
- 1,
- 20
- ],
- "1": [
- 1,
- 0
- ],
- "2": [
- 1,
- 20
- ],
- "3": [
- 7,
- 14
- ],
- "4": [
- 21,
- 18,
- 15
- ],
- "5": [
- 15,
- 6
- ],
- "6": [
- 21,
- 8
- ],
- "7": [
- 15,
- 0
- ],
- "8": [
- 5,
- 16
- ],
- "9": [
- 21,
- 5
- ],
- "10": [
- 5,
- 16
- ],
- "11": [
- 21,
- 20
- ],
- "12": [
- 1,
- 94
- ],
- "13": [
- 56,
- 56
- ],
- "14": [
- 1,
- 55
- ],
- "15": [
- 55,
- 15,
- 50
- ],
- "16": [
- 6,
- 1
- ],
- "17": [
- 7,
- 7,
- 6
- ],
- "18": [
- 39,
- 66
- ],
- "19": [
- 50,
- 55
- ]
- },
- "_coverageSchema": "332fd63041d2c1bcb487cc26dd0d5f7d97098a6c",
- "hash": "257c6f21b24c87c5486d0ac83455acd3e4aebb6d",
- "contentHash": "fe9edcd7fde8f2a27202e2634386d126_10.2.0"
}
- }
}
diff --git a/packages/istanbul-reports/test/html-spa/index.js b/packages/istanbul-reports/test/html-spa/index.js
new file mode 100644
index 00000000..caead784
--- /dev/null
+++ b/packages/istanbul-reports/test/html-spa/index.js
@@ -0,0 +1,179 @@
+/* globals describe, it, afterEach, before, after */
+const fs = require('fs');
+const path = require('path');
+const FileWriter = require('istanbul-lib-report/lib/file-writer');
+const istanbulLibReport = require('istanbul-lib-report');
+const istanbulLibCoverage = require('istanbul-lib-coverage');
+const HtmlSpaReport = require('../../lib/html-spa/index');
+
+const assert = require('chai').assert;
+
+describe('html-spa', () => {
+ let fileWriterCopyFile;
+ let fileWriterWriteFile;
+ let operations = [];
+ before(() => {
+ fileWriterCopyFile = FileWriter.prototype.copyFile;
+ fileWriterWriteFile = FileWriter.prototype.writeFile;
+
+ FileWriter.prototype.copyFile = function(source, dest, header) {
+ operations.push({
+ type: 'copy',
+ source,
+ dest,
+ header
+ });
+ };
+ FileWriter.prototype.writeFile = function(file) {
+ const writeFileOp = {
+ type: 'write',
+ contents: '',
+ file,
+ baseDir: this.baseDir
+ };
+ operations.push(writeFileOp);
+ return {
+ write(str) {
+ writeFileOp.contents += str;
+ },
+ close() {}
+ };
+ };
+ });
+ afterEach(() => {
+ operations = [];
+ });
+ after(() => {
+ FileWriter.prototype.copyFile = fileWriterCopyFile;
+ FileWriter.prototype.writeFile = fileWriterWriteFile;
+ });
+
+ function createTest(file) {
+ const fixture = require(path.resolve(
+ __dirname,
+ '../fixtures/specs/' + file
+ ));
+ const tree = istanbulLibReport.summarizers.nested(
+ istanbulLibCoverage.createCoverageMap(fixture.map)
+ );
+ it(fixture.title, () => {
+ const context = istanbulLibReport.createContext({
+ dir: './'
+ });
+ const report = new HtmlSpaReport(fixture.opts);
+ tree.visit(report, context);
+
+ // copy operations should always be the same
+ assert.deepEqual(operations.filter(op => op.type === 'copy'), [
+ {
+ type: 'copy',
+ source: path.join(
+ __dirname,
+ '../../lib/html/assets/base.css'
+ ),
+ dest: './base.css',
+ header: undefined
+ },
+ {
+ type: 'copy',
+ source: path.join(
+ __dirname,
+ '../../lib/html/assets/block-navigation.js'
+ ),
+ dest: './block-navigation.js',
+ header: '/* eslint-disable */\n'
+ },
+ {
+ type: 'copy',
+ source: path.join(
+ __dirname,
+ '../../lib/html/assets/sort-arrow-sprite.png'
+ ),
+ dest: './sort-arrow-sprite.png',
+ header: undefined
+ },
+ {
+ type: 'copy',
+ source: path.join(
+ __dirname,
+ '../../lib/html/assets/sorter.js'
+ ),
+ dest: './sorter.js',
+ header: '/* eslint-disable */\n'
+ },
+ {
+ type: 'copy',
+ source: path.join(
+ __dirname,
+ '../../lib/html/assets/vendor/prettify.css'
+ ),
+ dest: './prettify.css',
+ header: undefined
+ },
+ {
+ type: 'copy',
+ source: path.join(
+ __dirname,
+ '../../lib/html/assets/vendor/prettify.js'
+ ),
+ dest: './prettify.js',
+ header: '/* eslint-disable */\n'
+ },
+ {
+ type: 'copy',
+ source: path.join(
+ __dirname,
+ '../../lib/html-spa/assets/bundle.js'
+ ),
+ dest: './bundle.js',
+ header: undefined
+ },
+ {
+ type: 'copy',
+ source: path.join(
+ __dirname,
+ '../../lib/html-spa/assets/sort-arrow-sprite.png'
+ ),
+ dest: './sort-arrow-sprite.png',
+ header: undefined
+ },
+ {
+ type: 'copy',
+ source: path.join(
+ __dirname,
+ '../../lib/html-spa/assets/spa.css'
+ ),
+ dest: './spa.css',
+ header: undefined
+ }
+ ]);
+
+ assert.deepEqual(
+ operations
+ .filter(op => op.type === 'write')
+ .map(op => path.join(op.baseDir, op.file)),
+ fixture.htmlSpaFiles
+ );
+
+ assert.deepEqual(
+ JSON.parse(
+ operations
+ .filter(
+ op =>
+ op.type === 'write' && op.file === 'index.html'
+ )[0]
+ .contents.match(/window\.data = ([^;]+);/)[1]
+ ),
+ fixture.htmlSpaCoverageData
+ );
+ });
+ }
+
+ fs.readdirSync(path.resolve(__dirname, '../fixtures/specs')).forEach(
+ file => {
+ if (file.indexOf('.json') !== -1) {
+ createTest(file);
+ }
+ }
+ );
+});