From 402349d763eaa33da078f405efa82d5ae32c25d7 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 30 Jul 2019 16:53:42 -0400 Subject: [PATCH] test: remove unused code coverage infrastructure Closes #13228 It is currently unused and requires an old version of the `source-map` package. This old version conflicts with the use of newer versions that are required to provide the necessary functionality and performance within the published packages. --- lib/README.md | 17 ++---- lib/bootstrap-local.js | 13 ----- lib/istanbul-local.js | 57 ------------------- package.json | 5 +- renovate.json | 1 - scripts/test.ts | 89 ----------------------------- yarn.lock | 124 +++++------------------------------------ 7 files changed, 22 insertions(+), 284 deletions(-) delete mode 100644 lib/istanbul-local.js diff --git a/lib/README.md b/lib/README.md index bcb80b40bd..a48231235d 100644 --- a/lib/README.md +++ b/lib/README.md @@ -1,16 +1,11 @@ # `/lib` Folder -This folder includes bootstrap code for the various tools included in this repository. Also -included is the packages meta-information package in `packages.ts`. This is used to read and -understand all the monorepo information (contained in the `.monorepo.json` file, and `package.json` +This folder includes bootstrap code for the various tools included in this repository. Also +included is the packages meta-information package in `packages.ts`. This is used to read and +understand all the monorepo information (contained in the `.monorepo.json` file, and `package.json` files across the repo). `bootstrap-local.js` should be included when running files from this repository without compiling -first. It allows for compiling and loading packages in memory directly from the repo. Not only -does the `devkit-admin` scripts use this to include the library, but also all binaries linked -locally (like `schematics` and `ng`), when not using the npm published packages. - -`istanbul-local.js` adds global hooks and information to be able to use code coverage with -`bootstrap-local.js`. Istanbul does not keep the sourcemaps properly in sync if they're available -in the code, which happens locally when transpiling TypeScript. It is currently used by the -`test` script and is included by `bootstrap-local.js` for integration. +first. It allows for compiling and loading packages in memory directly from the repo. Not only +does the `devkit-admin` scripts use this to include the library, but also all binaries linked +locally (like `schematics` and `ng`), when not using the npm published packages. diff --git a/lib/bootstrap-local.js b/lib/bootstrap-local.js index fd85505c0b..3c3762655e 100644 --- a/lib/bootstrap-local.js +++ b/lib/bootstrap-local.js @@ -30,16 +30,6 @@ const compilerOptions = ts.getParsedCommandLineOfConfigFile( ts.sys, ).options; -let _istanbulRequireHook = null; -if (process.env['CODE_COVERAGE'] || process.argv.indexOf('--code-coverage') !== -1) { - debugLocal('setup code coverage'); - _istanbulRequireHook = require('./istanbul-local').istanbulRequireHook; - // async keyword isn't supported by the Esprima version used by Istanbul version used by us. - // TODO: update istanbul to istanbul-lib-* (see http://istanbul.js.org/) and remove this hack. - compilerOptions.target = 'es2016'; -} - - // Check if we need to profile this CLI run. let profiler = null; if (process.env['DEVKIT_PROFILING']) { @@ -103,9 +93,6 @@ require.extensions['.ts'] = function (m, filename) { try { let result = ts.transpile(source, compilerOptions, filename); - if (_istanbulRequireHook) { - result = _istanbulRequireHook(result, filename); - } debugBuildTs('done'); // Send it to node to execute. diff --git a/lib/istanbul-local.js b/lib/istanbul-local.js deleted file mode 100644 index f1bdb1ebfe..0000000000 --- a/lib/istanbul-local.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -const { SourceMapConsumer } = require('source-map'); -const Istanbul = require('istanbul'); - -const inlineSourceMapRe = /\/\/# sourceMappingURL=data:application\/json;base64,(\S+)$/; - - -// Use the internal DevKit Hook of the require extension installed by our bootstrapping code to add -// Istanbul (not Constantinople) collection to the code. -const codeMap = new Map(); -exports.codeMap = codeMap; - -exports.istanbulRequireHook = function(code, filename) { - // Skip spec files. - if (filename.match(/_spec(_large)?\.ts$/)) { - return code; - } - const codeFile = codeMap.get(filename); - if (codeFile) { - return codeFile.code; - } - - const instrumenter = new Istanbul.Instrumenter({ - esModules: true, - codeGenerationOptions: { - sourceMap: filename, - sourceMapWithCode: true, - }, - }); - let instrumentedCode = instrumenter.instrumentSync(code, filename); - const match = code.match(inlineSourceMapRe); - - if (match) { - const sourceMapGenerator = instrumenter.sourceMap; - // Fix source maps for exception reporting (since the exceptions happen in the instrumented - // code. - const sourceMapJson = JSON.parse(Buffer.from(match[1], 'base64').toString()); - const consumer = new SourceMapConsumer(sourceMapJson); - sourceMapGenerator.applySourceMap(consumer, filename); - - instrumentedCode = instrumentedCode.replace(inlineSourceMapRe, '') - + '//# sourceMappingURL=data:application/json;base64,' - + Buffer.from(sourceMapGenerator.toString()).toString('base64'); - - // Keep the consumer from the original source map, because the reports from Istanbul (not - // Constantinople) are already mapped against the code. - codeMap.set(filename, { code: instrumentedCode, map: consumer }); - } - - return instrumentedCode; -}; diff --git a/package.json b/package.json index 71c7ac22fc..999cfa15f6 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,6 @@ "@types/express": "^4.16.0", "@types/glob": "^7.0.0", "@types/inquirer": "^0.0.44", - "@types/istanbul": "^0.4.30", "@types/jasmine": "^3.3.8", "@types/karma": "^3.0.2", "@types/loader-utils": "^1.1.3", @@ -102,7 +101,6 @@ "@types/node": "10.9.4", "@types/request": "^2.47.1", "@types/semver": "^6.0.0", - "@types/source-map": "0.5.2", "@types/webpack": "^4.4.11", "@types/webpack-dev-server": "^3.1.0", "@types/webpack-sources": "^0.1.5", @@ -115,7 +113,6 @@ "gh-got": "^8.0.1", "git-raw-commits": "^2.0.0", "husky": "^1.3.1", - "istanbul": "^0.4.5", "jasmine": "^3.3.1", "jasmine-spec-reporter": "^4.2.1", "karma": "~4.2.0", @@ -131,7 +128,7 @@ "rxjs": "~6.4.0", "sauce-connect": "https://saucelabs.com/downloads/sc-4.5.4-linux.tar.gz", "semver": "6.3.0", - "source-map": "^0.5.6", + "source-map": "^0.7.3", "source-map-support": "^0.5.0", "spdx-satisfies": "^4.0.0", "tar": "^4.4.4", diff --git a/renovate.json b/renovate.json index 8aef72e289..35165ce62f 100644 --- a/renovate.json +++ b/renovate.json @@ -18,7 +18,6 @@ "master" ], "ignoreDeps": [ - "source-map", "@types/node", "webpack-subresource-integrity" ], diff --git a/scripts/test.ts b/scripts/test.ts index 4bc9decb8b..3bac4f42b8 100644 --- a/scripts/test.ts +++ b/scripts/test.ts @@ -10,16 +10,13 @@ import { logging } from '@angular-devkit/core'; import { spawnSync } from 'child_process'; import * as glob from 'glob'; -import * as Istanbul from 'istanbul'; import 'jasmine'; import { SpecReporter as JasmineSpecReporter } from 'jasmine-spec-reporter'; import { ParsedArgs } from 'minimist'; import { join, normalize, relative } from 'path'; -import { Position, SourceMapConsumer } from 'source-map'; import * as ts from 'typescript'; import { packages } from '../lib/packages'; -const codeMap = require('../lib/istanbul-local').codeMap; const Jasmine = require('jasmine'); const knownFlakes = [ @@ -33,16 +30,6 @@ require('source-map-support').install({ hookRequire: true, }); -interface CoverageLocation { - start: Position; - end: Position; -} - -type CoverageType = any; // tslint:disable-line:no-any -declare const global: { - __coverage__: CoverageType; -}; - function _exec(command: string, args: string[], opts: { cwd?: string }, logger: logging.Logger) { const { status, error, stdout } = spawnSync(command, args, { stdio: ['ignore', 'pipe', 'inherit'], @@ -57,78 +44,6 @@ function _exec(command: string, args: string[], opts: { cwd?: string }, logger: return stdout.toString('utf-8'); } -// Add the Istanbul (not Constantinople) reporter. -const istanbulCollector = new Istanbul.Collector({}); -const istanbulReporter = new Istanbul.Reporter(undefined, 'coverage/'); -istanbulReporter.addAll(['json', 'lcov']); - -class IstanbulReporter implements jasmine.CustomReporter { - // Update a location object from a SourceMap. Will ignore the location if the sourcemap does - // not have a valid mapping. - private _updateLocation(consumer: SourceMapConsumer, location: CoverageLocation) { - const start = consumer.originalPositionFor(location.start); - const end = consumer.originalPositionFor(location.end); - - // Filter invalid original positions. - if (start.line !== null && start.column !== null) { - // Filter unwanted properties. - location.start = { line: start.line, column: start.column }; - } - if (end.line !== null && end.column !== null) { - location.end = { line: end.line, column: end.column }; - } - } - - private _updateCoverageJsonSourceMap(coverageJson: CoverageType) { - // Update the coverageJson with the SourceMap. - for (const path of Object.keys(coverageJson)) { - const entry = codeMap.get(path); - if (!entry) { - continue; - } - - const consumer = entry.map; - const coverage = coverageJson[path]; - - // Update statement maps. - for (const branchId of Object.keys(coverage.branchMap)) { - const branch = coverage.branchMap[branchId]; - let line: number | null = null; - let column = 0; - do { - line = consumer.originalPositionFor({ line: branch.line, column: column++ }).line; - } while (line === null && column < 100); - - branch.line = line; - - for (const location of branch.locations) { - this._updateLocation(consumer, location); - } - } - - for (const id of Object.keys(coverage.statementMap)) { - const location = coverage.statementMap[id]; - this._updateLocation(consumer, location); - } - - for (const id of Object.keys(coverage.fnMap)) { - const fn = coverage.fnMap[id]; - fn.line = consumer.originalPositionFor({ line: fn.line, column: 0 }).line; - this._updateLocation(consumer, fn.loc); - } - } - } - - jasmineDone(_runDetails: jasmine.RunDetails): void { - if (global.__coverage__) { - this._updateCoverageJsonSourceMap(global.__coverage__); - istanbulCollector.add(global.__coverage__); - - istanbulReporter.write(istanbulCollector, true, () => {}); - } - } -} - // Create a Jasmine runner and configure it. const runner = new Jasmine({ projectBaseDir: projectBaseDir }); @@ -174,10 +89,6 @@ export default function(args: ParsedArgs, logger: logging.Logger) { const specGlob = args.large ? '*_spec_large.ts' : '*_spec.ts'; const regex = args.glob ? args.glob : `packages/**/${specGlob}`; - if (args['code-coverage']) { - runner.env.addReporter(new IstanbulReporter()); - } - if (args.large) { // Default timeout for large specs is 2.5 minutes. jasmine.DEFAULT_TIMEOUT_INTERVAL = 150000; diff --git a/yarn.lock b/yarn.lock index ff37489e43..a22be71b5b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -450,11 +450,6 @@ "@types/rx" "*" "@types/through" "*" -"@types/istanbul@^0.4.30": - version "0.4.30" - resolved "https://registry.yarnpkg.com/@types/istanbul/-/istanbul-0.4.30.tgz#073159320ab3296b2cfeb481f756a1f8f4c9c8e4" - integrity sha512-+hQU4fh2G96ze78uI5/V6+SRDZD1UnVrFn23i2eDetwfbBq3s0/zYP92xj/3qyvVMM3WnvS88N56zjz+HmL04A== - "@types/jasmine@^3.3.8": version "3.3.8" resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.3.8.tgz#fc6abd92f7121431685ec986f0ec8f77b4390a3e" @@ -672,11 +667,6 @@ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== -"@types/source-map@0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@types/source-map/-/source-map-0.5.2.tgz#973459e744cc7445c85b97f770275b479b138e08" - integrity sha512-++w4WmMbk3dS3UeHGzAG+xJOSz5Xqtjys/TBkqG3qp3SeWE7Wwezqe5eB7B51cxUyh4PW7bwVotpsLdBK0D8cw== - "@types/tapable@*": version "1.0.4" resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370" @@ -985,11 +975,6 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -abbrev@1.0.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= - accepts@~1.3.4, accepts@~1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" @@ -1373,16 +1358,16 @@ async-limiter@^1.0.0, async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== -async@1.x, async@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - async@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/async/-/async-3.1.0.tgz#42b3b12ae1b74927b5217d8c0016baaf62463772" integrity sha512-4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ== +async@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + async@^2.1.2, async@^2.5.0, async@^2.6.0, async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" @@ -3736,18 +3721,6 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -escodegen@1.8.x: - version "1.8.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" - integrity sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg= - dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.2.0" - escodegen@^1.11.1: version "1.11.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" @@ -3792,11 +3765,6 @@ eslint-scope@^4.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" -esprima@2.7.x, esprima@^2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= - esprima@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" @@ -3814,11 +3782,6 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" -estraverse@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" - integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= - estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" @@ -4660,17 +4623,6 @@ glob@7.1.4, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^5.0.15: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^6.0.1: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" @@ -4816,7 +4768,7 @@ handlebars@4.1.2, handlebars@^4.1.2: optionalDependencies: uglify-js "^3.1.4" -handlebars@^4.0.1, handlebars@^4.0.2: +handlebars@^4.0.2: version "4.0.12" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5" integrity sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA== @@ -4867,11 +4819,6 @@ has-cors@1.1.0: resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -5835,26 +5782,6 @@ istanbul-reports@^2.2.4: dependencies: handlebars "^4.1.2" -istanbul@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" - integrity sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs= - dependencies: - abbrev "1.0.x" - async "1.x" - escodegen "1.8.x" - esprima "2.7.x" - glob "^5.0.15" - handlebars "^4.0.1" - js-yaml "3.x" - mkdirp "0.5.x" - nopt "3.x" - once "1.x" - resolve "1.1.x" - supports-color "^3.1.0" - which "^1.1.1" - wordwrap "^1.0.0" - jasmine-core@2.8.0, jasmine-core@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" @@ -5927,7 +5854,7 @@ js-yaml@3.13.1, js-yaml@^3.13.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@3.x, js-yaml@^3.9.0: +js-yaml@^3.9.0: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== @@ -7354,13 +7281,6 @@ node-sass-tilde-importer@^1.0.0: dependencies: find-parent-dir "^0.3.0" -nopt@3.x: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -7632,7 +7552,7 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@1.x, once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -9039,11 +8959,6 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.1.x, resolve@~1.1.6: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - resolve@^1.1.5, resolve@^1.1.7, resolve@^1.3.2: version "1.8.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" @@ -9058,6 +8973,11 @@ resolve@^1.11.0, resolve@^1.11.1: dependencies: path-parse "^1.0.6" +resolve@~1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -9804,7 +9724,7 @@ source-map@0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= -source-map@0.7.3: +source-map@0.7.3, source-map@^0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== @@ -9819,13 +9739,6 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" - integrity sha1-2rc/vPwrqBm03gO9b26qSBZLP50= - dependencies: - amdefine ">=0.0.4" - source-map@~0.4.1: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" @@ -10278,13 +10191,6 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^3.1.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= - dependencies: - has-flag "^1.0.0" - supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -11326,7 +11232,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.1.1, which@^1.2.1, which@^1.2.9, which@^1.3.1: +which@^1.2.1, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==