From 9ecf5c1416753595ac480d9d6556dad967bc7381 Mon Sep 17 00:00:00 2001 From: Gleb Bahmutov Date: Sun, 18 Aug 2019 11:11:00 -0400 Subject: [PATCH 1/3] chore: clarify nextjs url --- middleware/nextjs.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/middleware/nextjs.js b/middleware/nextjs.js index df00661e1..3b8eaa0de 100644 --- a/middleware/nextjs.js +++ b/middleware/nextjs.js @@ -11,7 +11,7 @@ "baseUrl": "http://localhost:3000", "env": { "codeCoverage": { - "url": "/api/__coverage__" + "url": "/api/coverage" } } } From 448b603acb4b981acc1f5b3ee71c88cfd90bc2ec Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 24 Aug 2019 04:13:34 +0000 Subject: [PATCH 2/3] chore(deps): update dependency semantic-release to v15.13.24 --- package-lock.json | 279 +++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 2 files changed, 216 insertions(+), 65 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7bf4b3121..7699fddd7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1546,9 +1546,9 @@ "dev": true }, "@semantic-release/github": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-5.4.2.tgz", - "integrity": "sha512-8gkOa5tED/+sjAPwZRYsLaGr6VuAGLZinSvLsuF9/l4qLeYV8gvj7fhjFJepGu6y31t7PR2J9SWzmsqsBAyyKQ==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-5.4.3.tgz", + "integrity": "sha512-nFoG1whDZettsGsMRE64kCFRpGSHxQxiKtUltKw67uYO7Q62049HGcdH7pZh/ipn+Uq2cG4Zef/g1vxVVaK82w==", "dev": true, "requires": { "@octokit/rest": "^16.27.0", @@ -1596,37 +1596,39 @@ } }, "@semantic-release/npm": { - "version": "5.1.13", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-5.1.13.tgz", - "integrity": "sha512-pONvpoEtGH1nd6Wj3SryACNJ/YXXsvSSekE9Pdk6mnaRv7lGhXdaeJJr6Lr4L8WK98oZv4aJOr68vTac2Oc+dA==", + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-5.1.15.tgz", + "integrity": "sha512-MUUKOOtqsX/aJZJIjiAdw7SkCH+D3De060l1HhTlqrwTB7PzMtXcUMen6Prd1Hv8+gknUFkSWhVmi8tIaGDVnA==", "dev": true, "requires": { "@semantic-release/error": "^2.2.0", "aggregate-error": "^3.0.0", - "execa": "^1.0.0", + "execa": "^2.0.2", "fs-extra": "^8.0.0", - "lodash": "^4.17.4", + "lodash": "^4.17.15", "nerf-dart": "^1.0.0", "normalize-url": "^4.0.0", - "npm": "^6.8.0", + "npm": "^6.10.3", "rc": "^1.2.8", "read-pkg": "^5.0.0", "registry-auth-token": "^4.0.0" }, "dependencies": { "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/execa/-/execa-2.0.4.tgz", + "integrity": "sha512-VcQfhuGD51vQUQtKIq2fjGDLDbL6N1DTQVpYzxZ7LPIXw3HqTuIz6uxRmpV1qf8i31LHf2kjiaGI+GdHwRgbnQ==", "dev": true, "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "^6.0.5", + "get-stream": "^5.0.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^3.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" } }, "fs-extra": { @@ -1641,9 +1643,9 @@ } }, "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", "dev": true, "requires": { "pump": "^3.0.0" @@ -1655,12 +1657,42 @@ "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", "dev": true }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, "normalize-url": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.3.0.tgz", "integrity": "sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==", "dev": true }, + "npm-run-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, "parse-json": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", @@ -1673,6 +1705,12 @@ "lines-and-columns": "^1.1.6" } }, + "path-key": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz", + "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==", + "dev": true + }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -7229,6 +7267,12 @@ } } }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "merge2": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", @@ -7559,9 +7603,9 @@ "dev": true }, "npm": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/npm/-/npm-6.10.3.tgz", - "integrity": "sha512-AH2uhSRaIMll7xz1JuLA6XbZu5k6DMSc77U6uWfuyBch4EzwpEc5dd54/OsX4Njioi7fSL7YmuPQbqKE2qiklw==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.11.2.tgz", + "integrity": "sha512-OAkXqI4bm5MUvqVvqe6rxCXmJqrln8VDlkdftpOoayHKazz8IOCJAiCuKmz0TchL224EAKeG86umuD6RYNpuEg==", "dev": true, "requires": { "JSONStream": "^1.3.5", @@ -7570,16 +7614,16 @@ "ansistyles": "~0.1.3", "aproba": "^2.0.0", "archy": "~1.0.0", - "bin-links": "^1.1.2", + "bin-links": "^1.1.3", "bluebird": "^3.5.5", "byte-size": "^5.0.1", - "cacache": "^12.0.2", + "cacache": "^12.0.3", "call-limit": "^1.1.1", "chownr": "^1.1.2", "ci-info": "^2.0.0", "cli-columns": "^3.1.2", "cli-table3": "^0.5.1", - "cmd-shim": "~2.0.2", + "cmd-shim": "^3.0.3", "columnify": "~1.5.4", "config-chain": "^1.1.12", "debuglog": "*", @@ -7591,9 +7635,9 @@ "find-npm-prefix": "^1.0.2", "fs-vacuum": "~1.2.10", "fs-write-stream-atomic": "~1.0.10", - "gentle-fs": "^2.0.1", + "gentle-fs": "^2.2.1", "glob": "^7.1.4", - "graceful-fs": "^4.2.0", + "graceful-fs": "^4.2.2", "has-unicode": "~2.0.1", "hosted-git-info": "^2.8.2", "iferr": "^1.0.2", @@ -7606,7 +7650,7 @@ "is-cidr": "^3.0.0", "json-parse-better-errors": "^1.0.2", "lazy-property": "~1.0.0", - "libcipm": "^4.0.0", + "libcipm": "^4.0.3", "libnpm": "^3.0.1", "libnpmaccess": "^3.0.2", "libnpmhook": "^5.0.3", @@ -7638,10 +7682,10 @@ "npm-audit-report": "^1.3.2", "npm-cache-filename": "~1.0.2", "npm-install-checks": "~3.0.0", - "npm-lifecycle": "^3.1.2", - "npm-package-arg": "^6.1.0", + "npm-lifecycle": "^3.1.3", + "npm-package-arg": "^6.1.1", "npm-packlist": "^1.4.4", - "npm-pick-manifest": "^2.2.3", + "npm-pick-manifest": "^3.0.0", "npm-profile": "^4.0.2", "npm-registry-fetch": "^4.0.0", "npm-user-validate": "~1.0.0", @@ -7649,16 +7693,16 @@ "once": "~1.4.0", "opener": "^1.5.1", "osenv": "^0.1.5", - "pacote": "^9.5.4", + "pacote": "^9.5.8", "path-is-inside": "~1.0.2", "promise-inflight": "~1.0.1", "qrcode-terminal": "^0.12.0", "query-string": "^6.8.2", "qw": "~1.0.1", "read": "~1.0.7", - "read-cmd-shim": "~1.0.1", + "read-cmd-shim": "^1.0.3", "read-installed": "~4.0.3", - "read-package-json": "^2.0.13", + "read-package-json": "^2.1.0", "read-package-tree": "^5.3.1", "readable-stream": "^3.4.0", "readdir-scoped-modules": "^1.1.0", @@ -7666,7 +7710,7 @@ "retry": "^0.12.0", "rimraf": "^2.6.3", "safe-buffer": "^5.1.2", - "semver": "^5.7.0", + "semver": "^5.7.1", "sha": "^3.0.0", "slide": "~1.1.6", "sorted-object": "~2.0.1", @@ -7852,14 +7896,14 @@ } }, "bin-links": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "dev": true, "requires": { - "bluebird": "^3.5.0", - "cmd-shim": "^2.0.2", - "gentle-fs": "^2.0.0", - "graceful-fs": "^4.1.11", + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.0.1", + "graceful-fs": "^4.1.15", "write-file-atomic": "^2.3.0" } }, @@ -7912,7 +7956,7 @@ "dev": true }, "cacache": { - "version": "12.0.2", + "version": "12.0.3", "bundled": true, "dev": true, "requires": { @@ -8036,7 +8080,7 @@ "dev": true }, "cmd-shim": { - "version": "2.0.2", + "version": "3.0.3", "bundled": true, "dev": true, "requires": { @@ -8707,14 +8751,16 @@ "dev": true }, "gentle-fs": { - "version": "2.0.1", + "version": "2.2.1", "bundled": true, "dev": true, "requires": { "aproba": "^1.1.2", + "chownr": "^1.1.2", "fs-vacuum": "^1.2.10", "graceful-fs": "^4.1.11", "iferr": "^0.1.5", + "infer-owner": "^1.0.4", "mkdirp": "^0.5.1", "path-is-inside": "^1.0.2", "read-cmd-shim": "^1.0.1", @@ -8801,7 +8847,7 @@ } }, "graceful-fs": { - "version": "4.2.0", + "version": "4.2.2", "bundled": true, "dev": true }, @@ -9159,7 +9205,7 @@ } }, "libcipm": { - "version": "4.0.0", + "version": "4.0.3", "bundled": true, "dev": true, "requires": { @@ -9703,7 +9749,7 @@ } }, "npm-lifecycle": { - "version": "3.1.2", + "version": "3.1.3", "bundled": true, "dev": true, "requires": { @@ -9723,13 +9769,13 @@ "dev": true }, "npm-package-arg": { - "version": "6.1.0", + "version": "6.1.1", "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.6.0", + "hosted-git-info": "^2.7.1", "osenv": "^0.1.5", - "semver": "^5.5.0", + "semver": "^5.6.0", "validate-npm-package-name": "^3.0.0" } }, @@ -9743,7 +9789,7 @@ } }, "npm-pick-manifest": { - "version": "2.2.3", + "version": "3.0.0", "bundled": true, "dev": true, "requires": { @@ -9908,15 +9954,17 @@ } }, "pacote": { - "version": "9.5.4", + "version": "9.5.8", "bundled": true, "dev": true, "requires": { "bluebird": "^3.5.3", - "cacache": "^12.0.0", + "cacache": "^12.0.2", + "chownr": "^1.1.2", "figgy-pudding": "^3.5.1", "get-stream": "^4.1.0", "glob": "^7.1.3", + "infer-owner": "^1.0.4", "lru-cache": "^5.1.1", "make-fetch-happen": "^5.0.0", "minimatch": "^3.0.4", @@ -9926,7 +9974,7 @@ "normalize-package-data": "^2.4.0", "npm-package-arg": "^6.1.0", "npm-packlist": "^1.1.12", - "npm-pick-manifest": "^2.2.3", + "npm-pick-manifest": "^3.0.0", "npm-registry-fetch": "^4.0.0", "osenv": "^0.1.5", "promise-inflight": "^1.0.1", @@ -9936,7 +9984,7 @@ "safe-buffer": "^5.1.2", "semver": "^5.6.0", "ssri": "^6.0.1", - "tar": "^4.4.8", + "tar": "^4.4.10", "unique-filename": "^1.1.1", "which": "^1.3.1" }, @@ -10175,7 +10223,7 @@ } }, "read-cmd-shim": { - "version": "1.0.1", + "version": "1.0.3", "bundled": true, "dev": true, "requires": { @@ -10197,7 +10245,7 @@ } }, "read-package-json": { - "version": "2.0.13", + "version": "2.1.0", "bundled": true, "dev": true, "requires": { @@ -10337,7 +10385,7 @@ "dev": true }, "semver": { - "version": "5.7.0", + "version": "5.7.1", "bundled": true, "dev": true }, @@ -13008,9 +13056,9 @@ "dev": true }, "semantic-release": { - "version": "15.13.21", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.13.21.tgz", - "integrity": "sha512-3S9thQas28iv3NeHUqQVsDnxMcBGQICdxabeNnJ8BnbRBvCkgqCg3v9zo/+O5a8GCyxrgjtwJ2iWozL8SiIq1w==", + "version": "15.13.24", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.13.24.tgz", + "integrity": "sha512-OPshm6HSp+KmZP9dUv1o3MRILDgOeHYWPI+XSpQRERMri7QkaEiIPkZzoNm2d6KDeFDnp03GphQQS4+Zfo+x/Q==", "dev": true, "requires": { "@semantic-release/commit-analyzer": "^6.1.0", @@ -13038,9 +13086,15 @@ "resolve-from": "^5.0.0", "semver": "^6.0.0", "signale": "^1.2.1", - "yargs": "^13.1.0" + "yargs": "^14.0.0" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -13104,6 +13158,12 @@ "lru-cache": "^5.1.1" } }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -13192,6 +13252,26 @@ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, "type-fest": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", @@ -13203,6 +13283,71 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", "dev": true + }, + "yargs": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.0.0.tgz", + "integrity": "sha512-ssa5JuRjMeZEUjg7bEL99AwpitxU/zWGAGpdj0di41pOEmJti8NR6kyUIJBkR78DTYNPZOU08luUo0GTHuB+ow==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -13908,6 +14053,12 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, "strip-indent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", diff --git a/package.json b/package.json index e357805a9..bcdc9eb09 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,6 @@ "nyc": "14.1.1", "parcel-bundler": "1.12.3", "start-server-and-test": "1.10.0", - "semantic-release": "15.13.21" + "semantic-release": "15.13.24" } } From 40a602d4b26a22b28ced552e7829a27f38a2cebc Mon Sep 17 00:00:00 2001 From: Gleb Bahmutov Date: Wed, 28 Aug 2019 10:01:54 -0400 Subject: [PATCH 3/3] feat: use --env coverage=false to disable code coverage (#68) You can skip the client-side code coverage hooks by setting the environment variable `coverage` to `false`. ```shell cypress run --env coverage=false cypress open --env coverage=false CYPRESS_coverage=false cypress run ``` See different ways of setting env variables https://on.cypress.io/environment-variables --- README.md | 17 +++++++ package.json | 3 +- support.js | 141 +++++++++++++++++++++++++++------------------------ 3 files changed, 94 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index ecf58b3df..e50bc2346 100644 --- a/README.md +++ b/README.md @@ -219,6 +219,23 @@ For example, if you want to only include files in the `app` folder, but exclude } ``` +## Disable plugin + +You can skip the client-side code coverage hooks by setting the environment variable `coverage` to `false`. + +```shell +cypress run --env coverage=false +``` + +See [Cypress environment variables](https://on.cypress.io/environment-variables) and [support.js](support.js). You can try running without code coverage in this project yourself + +```shell +# run with code coverage +npm run dev +# disable code coverage +npm run dev:no:coverage +``` + ## Links - Read the [Cypress code coverage guide](http://on.cypress.io/code-coverage) diff --git a/package.json b/package.json index bcdc9eb09..eaaece397 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "dev": "start-test 1234 cy:open", "semantic-release": "semantic-release", "test:ci": "start-test 1234", - "report:coverage": "nyc report --reporter=html" + "report:coverage": "nyc report --reporter=html", + "dev:no:coverage": "start-test 1234 'cypress open --env coverage=false'" }, "peerDependencies": { "cypress": "*", diff --git a/support.js b/support.js index effc2cdbc..f1ccdac4b 100644 --- a/support.js +++ b/support.js @@ -1,75 +1,84 @@ /// -before(() => { - // we need to reset the coverage when running - // in the interactive mode, otherwise the counters will - // keep increasing every time we rerun the tests - cy.task('resetCoverage', { isInteractive: Cypress.config('isInteractive') }) -}) -afterEach(() => { - // save coverage after each test - // because the entire "window" object is about - // to be recycled by Cypress before next test - cy.window().then(win => { - // if application code has been instrumented, the app iframe "window" has an object - const applicationSourceCoverage = win.__coverage__ - - if (applicationSourceCoverage) { - cy.task('combineCoverage', applicationSourceCoverage) - } +// to disable code coverage commands and save time +// pass environment variable coverage=false +// cypress run --env coverage=false +// see https://on.cypress.io/environment-variables +if (Cypress.env('coverage') === false) { + console.log('Skipping code coverage hooks') +} else { + before(() => { + // we need to reset the coverage when running + // in the interactive mode, otherwise the counters will + // keep increasing every time we rerun the tests + cy.task('resetCoverage', { isInteractive: Cypress.config('isInteractive') }) }) -}) -after(() => { - // there might be server-side code coverage information - // we should grab it once after all tests finish - const baseUrl = Cypress.config('baseUrl') || cy.state('window').origin - const runningEndToEndTests = baseUrl !== Cypress.config('proxyUrl') - if (runningEndToEndTests) { - // we can only request server-side code coverage - // if we are running end-to-end tests, - // otherwise where do we send the request? - const url = Cypress._.get( - Cypress.env('codeCoverage'), - 'url', - '/__coverage__' - ) - cy.request({ - url, - log: false, - failOnStatusCode: false + afterEach(() => { + // save coverage after each test + // because the entire "window" object is about + // to be recycled by Cypress before next test + cy.window().then(win => { + // if application code has been instrumented, the app iframe "window" has an object + const applicationSourceCoverage = win.__coverage__ + + if (applicationSourceCoverage) { + cy.task('combineCoverage', applicationSourceCoverage) + } }) - .then(r => Cypress._.get(r, 'body.coverage', null), { log: false }) - .then(coverage => { - if (!coverage) { - // we did not get code coverage - this is the - // original failed request - return - } - cy.task('combineCoverage', coverage) + }) + + after(() => { + // there might be server-side code coverage information + // we should grab it once after all tests finish + const baseUrl = Cypress.config('baseUrl') || cy.state('window').origin + const runningEndToEndTests = baseUrl !== Cypress.config('proxyUrl') + if (runningEndToEndTests) { + // we can only request server-side code coverage + // if we are running end-to-end tests, + // otherwise where do we send the request? + const url = Cypress._.get( + Cypress.env('codeCoverage'), + 'url', + '/__coverage__' + ) + cy.request({ + url, + log: false, + failOnStatusCode: false }) - } + .then(r => Cypress._.get(r, 'body.coverage', null), { log: false }) + .then(coverage => { + if (!coverage) { + // we did not get code coverage - this is the + // original failed request + return + } + cy.task('combineCoverage', coverage) + }) + } - // collect and merge frontend coverage - const specFolder = Cypress.config('integrationFolder') - const supportFolder = Cypress.config('supportFolder') + // collect and merge frontend coverage + const specFolder = Cypress.config('integrationFolder') + const supportFolder = Cypress.config('supportFolder') - // if spec bundle has been instrumented (using Cypress preprocessor) - // then we will have unit test coverage - // NOTE: spec iframe is NOT reset between the tests, so we can grab - // the coverage information only once after all tests have finished - const unitTestCoverage = window.__coverage__ - if (unitTestCoverage) { - // remove coverage for the spec files themselves, - // only keep "external" application source file coverage - const coverage = Cypress._.omitBy( - window.__coverage__, - (fileCoverage, filename) => - filename.startsWith(specFolder) || filename.startsWith(supportFolder) - ) - cy.task('combineCoverage', coverage) - } + // if spec bundle has been instrumented (using Cypress preprocessor) + // then we will have unit test coverage + // NOTE: spec iframe is NOT reset between the tests, so we can grab + // the coverage information only once after all tests have finished + const unitTestCoverage = window.__coverage__ + if (unitTestCoverage) { + // remove coverage for the spec files themselves, + // only keep "external" application source file coverage + const coverage = Cypress._.omitBy( + window.__coverage__, + (fileCoverage, filename) => + filename.startsWith(specFolder) || filename.startsWith(supportFolder) + ) + cy.task('combineCoverage', coverage) + } - // when all tests finish, lets generate the coverage report - cy.task('coverageReport') -}) + // when all tests finish, lets generate the coverage report + cy.task('coverageReport') + }) +}