mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-14 17:43:52 +08:00
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.
This commit is contained in:
parent
d7b9650b5f
commit
402349d763
@ -9,8 +9,3 @@ files across the repo).
|
||||
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.
|
||||
|
13
lib/bootstrap-local.js
vendored
13
lib/bootstrap-local.js
vendored
@ -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.
|
||||
|
@ -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;
|
||||
};
|
@ -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",
|
||||
|
@ -18,7 +18,6 @@
|
||||
"master"
|
||||
],
|
||||
"ignoreDeps": [
|
||||
"source-map",
|
||||
"@types/node",
|
||||
"webpack-subresource-integrity"
|
||||
],
|
||||
|
@ -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;
|
||||
|
124
yarn.lock
124
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==
|
||||
|
Loading…
x
Reference in New Issue
Block a user