mirror of
https://github.com/JamesIves/github-pages-deploy-action.git
synced 2023-12-15 20:03:39 +08:00
3.4.3 Dependencies
This commit is contained in:
parent
511f2f6d97
commit
c34cb8de77
1073
node_modules/@babel/parser/CHANGELOG.md
generated
vendored
1073
node_modules/@babel/parser/CHANGELOG.md
generated
vendored
File diff suppressed because it is too large
Load Diff
19
node_modules/@babel/parser/LICENSE
generated
vendored
19
node_modules/@babel/parser/LICENSE
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
Copyright (C) 2012-2014 by various contributors (see AUTHORS)
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
19
node_modules/@babel/parser/README.md
generated
vendored
19
node_modules/@babel/parser/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/parser
|
|
||||||
|
|
||||||
> A JavaScript parser
|
|
||||||
|
|
||||||
See our website [@babel/parser](https://babeljs.io/docs/en/next/babel-parser.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen) associated with this package.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/parser
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/parser --dev
|
|
||||||
```
|
|
15
node_modules/@babel/parser/bin/babel-parser.js
generated
vendored
15
node_modules/@babel/parser/bin/babel-parser.js
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
/* eslint no-var: 0 */
|
|
||||||
|
|
||||||
var parser = require("..");
|
|
||||||
var fs = require("fs");
|
|
||||||
|
|
||||||
var filename = process.argv[2];
|
|
||||||
if (!filename) {
|
|
||||||
console.error("no filename specified");
|
|
||||||
} else {
|
|
||||||
var file = fs.readFileSync(filename, "utf8");
|
|
||||||
var ast = parser.parse(file);
|
|
||||||
|
|
||||||
console.log(JSON.stringify(ast, null, " "));
|
|
||||||
}
|
|
12736
node_modules/@babel/parser/lib/index.js
generated
vendored
12736
node_modules/@babel/parser/lib/index.js
generated
vendored
File diff suppressed because it is too large
Load Diff
1
node_modules/@babel/parser/lib/index.js.map
generated
vendored
1
node_modules/@babel/parser/lib/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
146
node_modules/@babel/parser/typings/babel-parser.d.ts
generated
vendored
146
node_modules/@babel/parser/typings/babel-parser.d.ts
generated
vendored
@ -1,146 +0,0 @@
|
|||||||
// Type definitions for @babel/parser
|
|
||||||
// Project: https://github.com/babel/babel/tree/master/packages/babel-parser
|
|
||||||
// Definitions by: Troy Gerwien <https://github.com/yortus>
|
|
||||||
// Marvin Hagemeister <https://github.com/marvinhagemeister>
|
|
||||||
// Avi Vahl <https://github.com/AviVahl>
|
|
||||||
// TypeScript Version: 2.9
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Parse the provided code as an entire ECMAScript program.
|
|
||||||
*/
|
|
||||||
export function parse(input: string, options?: ParserOptions): import('@babel/types').File;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Parse the provided code as a single expression.
|
|
||||||
*/
|
|
||||||
export function parseExpression(input: string, options?: ParserOptions): import('@babel/types').Expression;
|
|
||||||
|
|
||||||
export interface ParserOptions {
|
|
||||||
/**
|
|
||||||
* By default, import and export declarations can only appear at a program's top level.
|
|
||||||
* Setting this option to true allows them anywhere where a statement is allowed.
|
|
||||||
*/
|
|
||||||
allowImportExportEverywhere?: boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* By default, await use is not allowed outside of an async function.
|
|
||||||
* Set this to true to accept such code.
|
|
||||||
*/
|
|
||||||
allowAwaitOutsideFunction?: boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* By default, a return statement at the top level raises an error.
|
|
||||||
* Set this to true to accept such code.
|
|
||||||
*/
|
|
||||||
allowReturnOutsideFunction?: boolean;
|
|
||||||
|
|
||||||
allowSuperOutsideMethod?: boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* By default, exported identifiers must refer to a declared variable.
|
|
||||||
* Set this to true to allow export statements to reference undeclared variables.
|
|
||||||
*/
|
|
||||||
allowUndeclaredExports?: boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate the mode the code should be parsed in.
|
|
||||||
* Can be one of "script", "module", or "unambiguous". Defaults to "script".
|
|
||||||
* "unambiguous" will make @babel/parser attempt to guess, based on the presence
|
|
||||||
* of ES6 import or export statements.
|
|
||||||
* Files with ES6 imports and exports are considered "module" and are otherwise "script".
|
|
||||||
*/
|
|
||||||
sourceType?: 'script' | 'module' | 'unambiguous';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correlate output AST nodes with their source filename.
|
|
||||||
* Useful when generating code and source maps from the ASTs of multiple input files.
|
|
||||||
*/
|
|
||||||
sourceFilename?: string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* By default, the first line of code parsed is treated as line 1.
|
|
||||||
* You can provide a line number to alternatively start with.
|
|
||||||
* Useful for integration with other source tools.
|
|
||||||
*/
|
|
||||||
startLine?: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Array containing the plugins that you want to enable.
|
|
||||||
*/
|
|
||||||
plugins?: ParserPlugin[];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Should the parser work in strict mode.
|
|
||||||
* Defaults to true if sourceType === 'module'. Otherwise, false.
|
|
||||||
*/
|
|
||||||
strictMode?: boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a ranges property to each node: [node.start, node.end]
|
|
||||||
*/
|
|
||||||
ranges?: boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds all parsed tokens to a tokens property on the File node.
|
|
||||||
*/
|
|
||||||
tokens?: boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* By default, the parser adds information about parentheses by setting
|
|
||||||
* `extra.parenthesized` to `true` as needed.
|
|
||||||
* When this option is `true` the parser creates `ParenthesizedExpression`
|
|
||||||
* AST nodes instead of using the `extra` property.
|
|
||||||
*/
|
|
||||||
createParenthesizedExpressions?: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type ParserPlugin =
|
|
||||||
'asyncGenerators' |
|
|
||||||
'bigInt' |
|
|
||||||
'classPrivateMethods' |
|
|
||||||
'classPrivateProperties' |
|
|
||||||
'classProperties' |
|
|
||||||
'decorators' |
|
|
||||||
'decorators-legacy' |
|
|
||||||
'doExpressions' |
|
|
||||||
'dynamicImport' |
|
|
||||||
'estree' |
|
|
||||||
'exportDefaultFrom' |
|
|
||||||
'exportNamespaceFrom' | // deprecated
|
|
||||||
'flow' |
|
|
||||||
'flowComments' |
|
|
||||||
'functionBind' |
|
|
||||||
'functionSent' |
|
|
||||||
'importMeta' |
|
|
||||||
'jsx' |
|
|
||||||
'logicalAssignment' |
|
|
||||||
'nullishCoalescingOperator' |
|
|
||||||
'numericSeparator' |
|
|
||||||
'objectRestSpread' |
|
|
||||||
'optionalCatchBinding' |
|
|
||||||
'optionalChaining' |
|
|
||||||
'partialApplication' |
|
|
||||||
'pipelineOperator' |
|
|
||||||
'placeholders' |
|
|
||||||
'throwExpressions' |
|
|
||||||
'topLevelAwait' |
|
|
||||||
'typescript' |
|
|
||||||
'v8intrinsic' |
|
|
||||||
ParserPluginWithOptions;
|
|
||||||
|
|
||||||
export type ParserPluginWithOptions =
|
|
||||||
['decorators', DecoratorsPluginOptions] |
|
|
||||||
['pipelineOperator', PipelineOperatorPluginOptions] |
|
|
||||||
['flow', FlowPluginOptions];
|
|
||||||
|
|
||||||
export interface DecoratorsPluginOptions {
|
|
||||||
decoratorsBeforeExport?: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface PipelineOperatorPluginOptions {
|
|
||||||
proposal: 'minimal' | 'smart';
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface FlowPluginOptions {
|
|
||||||
all?: boolean;
|
|
||||||
}
|
|
21
node_modules/@jest/test-sequencer/LICENSE
generated
vendored
21
node_modules/@jest/test-sequencer/LICENSE
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
52
node_modules/@jest/test-sequencer/build/index.d.ts
generated
vendored
52
node_modules/@jest/test-sequencer/build/index.d.ts
generated
vendored
@ -1,52 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { AggregatedResult } from '@jest/test-result';
|
|
||||||
import type { Context } from 'jest-runtime';
|
|
||||||
import type { Test } from 'jest-runner';
|
|
||||||
declare type Cache = {
|
|
||||||
[key: string]: [0 | 1, number];
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* The TestSequencer will ultimately decide which tests should run first.
|
|
||||||
* It is responsible for storing and reading from a local cache
|
|
||||||
* map that stores context information for a given test, such as how long it
|
|
||||||
* took to run during the last run and if it has failed or not.
|
|
||||||
* Such information is used on:
|
|
||||||
* TestSequencer.sort(tests: Array<Test>)
|
|
||||||
* to sort the order of the provided tests.
|
|
||||||
*
|
|
||||||
* After the results are collected,
|
|
||||||
* TestSequencer.cacheResults(tests: Array<Test>, results: AggregatedResult)
|
|
||||||
* is called to store/update this information on the cache map.
|
|
||||||
*/
|
|
||||||
export default class TestSequencer {
|
|
||||||
private _cache;
|
|
||||||
_getCachePath(context: Context): string;
|
|
||||||
_getCache(test: Test): Cache;
|
|
||||||
/**
|
|
||||||
* Sorting tests is very important because it has a great impact on the
|
|
||||||
* user-perceived responsiveness and speed of the test run.
|
|
||||||
*
|
|
||||||
* If such information is on cache, tests are sorted based on:
|
|
||||||
* -> Has it failed during the last run ?
|
|
||||||
* Since it's important to provide the most expected feedback as quickly
|
|
||||||
* as possible.
|
|
||||||
* -> How long it took to run ?
|
|
||||||
* Because running long tests first is an effort to minimize worker idle
|
|
||||||
* time at the end of a long test run.
|
|
||||||
* And if that information is not available they are sorted based on file size
|
|
||||||
* since big test files usually take longer to complete.
|
|
||||||
*
|
|
||||||
* Note that a possible improvement would be to analyse other information
|
|
||||||
* from the file other than its size.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
sort(tests: Array<Test>): Array<Test>;
|
|
||||||
cacheResults(tests: Array<Test>, results: AggregatedResult): void;
|
|
||||||
}
|
|
||||||
export {};
|
|
||||||
//# sourceMappingURL=index.d.ts.map
|
|
1
node_modules/@jest/test-sequencer/build/index.d.ts.map
generated
vendored
1
node_modules/@jest/test-sequencer/build/index.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAKtC,aAAK,KAAK,GAAG;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,MAAM,CAAkC;IAEhD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAKvC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK;IAuB5B;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;IA6BrC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAkBlE"}
|
|
213
node_modules/@jest/test-sequencer/build/index.js
generated
vendored
213
node_modules/@jest/test-sequencer/build/index.js
generated
vendored
@ -1,213 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function fs() {
|
|
||||||
const data = _interopRequireWildcard(require('fs'));
|
|
||||||
|
|
||||||
fs = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _jestHasteMap() {
|
|
||||||
const data = require('jest-haste-map');
|
|
||||||
|
|
||||||
_jestHasteMap = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _getRequireWildcardCache() {
|
|
||||||
if (typeof WeakMap !== 'function') return null;
|
|
||||||
var cache = new WeakMap();
|
|
||||||
_getRequireWildcardCache = function () {
|
|
||||||
return cache;
|
|
||||||
};
|
|
||||||
return cache;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) {
|
|
||||||
if (obj && obj.__esModule) {
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
|
||||||
return {default: obj};
|
|
||||||
}
|
|
||||||
var cache = _getRequireWildcardCache();
|
|
||||||
if (cache && cache.has(obj)) {
|
|
||||||
return cache.get(obj);
|
|
||||||
}
|
|
||||||
var newObj = {};
|
|
||||||
var hasPropertyDescriptor =
|
|
||||||
Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
||||||
for (var key in obj) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
||||||
var desc = hasPropertyDescriptor
|
|
||||||
? Object.getOwnPropertyDescriptor(obj, key)
|
|
||||||
: null;
|
|
||||||
if (desc && (desc.get || desc.set)) {
|
|
||||||
Object.defineProperty(newObj, key, desc);
|
|
||||||
} else {
|
|
||||||
newObj[key] = obj[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
newObj.default = obj;
|
|
||||||
if (cache) {
|
|
||||||
cache.set(obj, newObj);
|
|
||||||
}
|
|
||||||
return newObj;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _defineProperty(obj, key, value) {
|
|
||||||
if (key in obj) {
|
|
||||||
Object.defineProperty(obj, key, {
|
|
||||||
value: value,
|
|
||||||
enumerable: true,
|
|
||||||
configurable: true,
|
|
||||||
writable: true
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
obj[key] = value;
|
|
||||||
}
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
const FAIL = 0;
|
|
||||||
const SUCCESS = 1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The TestSequencer will ultimately decide which tests should run first.
|
|
||||||
* It is responsible for storing and reading from a local cache
|
|
||||||
* map that stores context information for a given test, such as how long it
|
|
||||||
* took to run during the last run and if it has failed or not.
|
|
||||||
* Such information is used on:
|
|
||||||
* TestSequencer.sort(tests: Array<Test>)
|
|
||||||
* to sort the order of the provided tests.
|
|
||||||
*
|
|
||||||
* After the results are collected,
|
|
||||||
* TestSequencer.cacheResults(tests: Array<Test>, results: AggregatedResult)
|
|
||||||
* is called to store/update this information on the cache map.
|
|
||||||
*/
|
|
||||||
class TestSequencer {
|
|
||||||
constructor() {
|
|
||||||
_defineProperty(this, '_cache', new Map());
|
|
||||||
}
|
|
||||||
|
|
||||||
_getCachePath(context) {
|
|
||||||
const {config} = context;
|
|
||||||
return (0, _jestHasteMap().getCacheFilePath)(
|
|
||||||
config.cacheDirectory,
|
|
||||||
'perf-cache-' + config.name
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
_getCache(test) {
|
|
||||||
const {context} = test;
|
|
||||||
|
|
||||||
if (!this._cache.has(context) && context.config.cache) {
|
|
||||||
const cachePath = this._getCachePath(context);
|
|
||||||
|
|
||||||
if (fs().existsSync(cachePath)) {
|
|
||||||
try {
|
|
||||||
this._cache.set(
|
|
||||||
context,
|
|
||||||
JSON.parse(fs().readFileSync(cachePath, 'utf8'))
|
|
||||||
);
|
|
||||||
} catch (e) {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let cache = this._cache.get(context);
|
|
||||||
|
|
||||||
if (!cache) {
|
|
||||||
cache = {};
|
|
||||||
|
|
||||||
this._cache.set(context, cache);
|
|
||||||
}
|
|
||||||
|
|
||||||
return cache;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Sorting tests is very important because it has a great impact on the
|
|
||||||
* user-perceived responsiveness and speed of the test run.
|
|
||||||
*
|
|
||||||
* If such information is on cache, tests are sorted based on:
|
|
||||||
* -> Has it failed during the last run ?
|
|
||||||
* Since it's important to provide the most expected feedback as quickly
|
|
||||||
* as possible.
|
|
||||||
* -> How long it took to run ?
|
|
||||||
* Because running long tests first is an effort to minimize worker idle
|
|
||||||
* time at the end of a long test run.
|
|
||||||
* And if that information is not available they are sorted based on file size
|
|
||||||
* since big test files usually take longer to complete.
|
|
||||||
*
|
|
||||||
* Note that a possible improvement would be to analyse other information
|
|
||||||
* from the file other than its size.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
sort(tests) {
|
|
||||||
const stats = {};
|
|
||||||
|
|
||||||
const fileSize = ({path, context: {hasteFS}}) =>
|
|
||||||
stats[path] || (stats[path] = hasteFS.getSize(path) || 0);
|
|
||||||
|
|
||||||
const hasFailed = (cache, test) =>
|
|
||||||
cache[test.path] && cache[test.path][0] === FAIL;
|
|
||||||
|
|
||||||
const time = (cache, test) => cache[test.path] && cache[test.path][1];
|
|
||||||
|
|
||||||
tests.forEach(test => (test.duration = time(this._getCache(test), test)));
|
|
||||||
return tests.sort((testA, testB) => {
|
|
||||||
const cacheA = this._getCache(testA);
|
|
||||||
|
|
||||||
const cacheB = this._getCache(testB);
|
|
||||||
|
|
||||||
const failedA = hasFailed(cacheA, testA);
|
|
||||||
const failedB = hasFailed(cacheB, testB);
|
|
||||||
const hasTimeA = testA.duration != null;
|
|
||||||
|
|
||||||
if (failedA !== failedB) {
|
|
||||||
return failedA ? -1 : 1;
|
|
||||||
} else if (hasTimeA != (testB.duration != null)) {
|
|
||||||
// If only one of two tests has timing information, run it last
|
|
||||||
return hasTimeA ? 1 : -1;
|
|
||||||
} else if (testA.duration != null && testB.duration != null) {
|
|
||||||
return testA.duration < testB.duration ? 1 : -1;
|
|
||||||
} else {
|
|
||||||
return fileSize(testA) < fileSize(testB) ? 1 : -1;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
cacheResults(tests, results) {
|
|
||||||
const map = Object.create(null);
|
|
||||||
tests.forEach(test => (map[test.path] = test));
|
|
||||||
results.testResults.forEach(testResult => {
|
|
||||||
if (testResult && map[testResult.testFilePath] && !testResult.skipped) {
|
|
||||||
const cache = this._getCache(map[testResult.testFilePath]);
|
|
||||||
|
|
||||||
const perf = testResult.perfStats;
|
|
||||||
cache[testResult.testFilePath] = [
|
|
||||||
testResult.numFailingTests ? FAIL : SUCCESS,
|
|
||||||
perf.end - perf.start || 0
|
|
||||||
];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
this._cache.forEach((cache, context) =>
|
|
||||||
fs().writeFileSync(this._getCachePath(context), JSON.stringify(cache))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.default = TestSequencer;
|
|
52
node_modules/@jest/test-sequencer/build/ts3.4/index.d.ts
generated
vendored
52
node_modules/@jest/test-sequencer/build/ts3.4/index.d.ts
generated
vendored
@ -1,52 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import { AggregatedResult } from '@jest/test-result';
|
|
||||||
import { Context } from 'jest-runtime';
|
|
||||||
import { Test } from 'jest-runner';
|
|
||||||
declare type Cache = {
|
|
||||||
[key: string]: [0 | 1, number];
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* The TestSequencer will ultimately decide which tests should run first.
|
|
||||||
* It is responsible for storing and reading from a local cache
|
|
||||||
* map that stores context information for a given test, such as how long it
|
|
||||||
* took to run during the last run and if it has failed or not.
|
|
||||||
* Such information is used on:
|
|
||||||
* TestSequencer.sort(tests: Array<Test>)
|
|
||||||
* to sort the order of the provided tests.
|
|
||||||
*
|
|
||||||
* After the results are collected,
|
|
||||||
* TestSequencer.cacheResults(tests: Array<Test>, results: AggregatedResult)
|
|
||||||
* is called to store/update this information on the cache map.
|
|
||||||
*/
|
|
||||||
export default class TestSequencer {
|
|
||||||
private _cache;
|
|
||||||
_getCachePath(context: Context): string;
|
|
||||||
_getCache(test: Test): Cache;
|
|
||||||
/**
|
|
||||||
* Sorting tests is very important because it has a great impact on the
|
|
||||||
* user-perceived responsiveness and speed of the test run.
|
|
||||||
*
|
|
||||||
* If such information is on cache, tests are sorted based on:
|
|
||||||
* -> Has it failed during the last run ?
|
|
||||||
* Since it's important to provide the most expected feedback as quickly
|
|
||||||
* as possible.
|
|
||||||
* -> How long it took to run ?
|
|
||||||
* Because running long tests first is an effort to minimize worker idle
|
|
||||||
* time at the end of a long test run.
|
|
||||||
* And if that information is not available they are sorted based on file size
|
|
||||||
* since big test files usually take longer to complete.
|
|
||||||
*
|
|
||||||
* Note that a possible improvement would be to analyse other information
|
|
||||||
* from the file other than its size.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
sort(tests: Array<Test>): Array<Test>;
|
|
||||||
cacheResults(tests: Array<Test>, results: AggregatedResult): void;
|
|
||||||
}
|
|
||||||
export {};
|
|
||||||
//# sourceMappingURL=index.d.ts.map
|
|
1
node_modules/@jest/test-sequencer/node_modules/.bin/jest-runtime
generated
vendored
1
node_modules/@jest/test-sequencer/node_modules/.bin/jest-runtime
generated
vendored
@ -1 +0,0 @@
|
|||||||
../../../../jest-runtime/bin/jest-runtime.js
|
|
21
node_modules/babel-jest/LICENSE
generated
vendored
21
node_modules/babel-jest/LICENSE
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
25
node_modules/babel-jest/README.md
generated
vendored
25
node_modules/babel-jest/README.md
generated
vendored
@ -1,25 +0,0 @@
|
|||||||
# babel-jest
|
|
||||||
|
|
||||||
[Babel](https://github.com/babel/babel) [jest](https://github.com/facebook/jest) plugin
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
If you are already using `jest-cli`, add `babel-jest` and it will automatically compile JavaScript code using Babel.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yarn add --dev babel-jest @babel/core
|
|
||||||
```
|
|
||||||
|
|
||||||
If you would like to write your own preprocessor, uninstall and delete babel-jest and set the [config.transform](https://jestjs.io/docs/configuration#transform-object-string-string) option to your preprocessor.
|
|
||||||
|
|
||||||
## Setup
|
|
||||||
|
|
||||||
_Note: this step is only required if you are using `babel-jest` with additional code preprocessors._
|
|
||||||
|
|
||||||
To explicitly define `babel-jest` as a transformer for your JavaScript code, map _.js_ files to the `babel-jest` module. Typescript files are also supported.
|
|
||||||
|
|
||||||
```json
|
|
||||||
"transform": {
|
|
||||||
"^.+\\.[t|j]sx?$": "babel-jest"
|
|
||||||
},
|
|
||||||
```
|
|
16
node_modules/babel-jest/build/index.d.ts
generated
vendored
16
node_modules/babel-jest/build/index.d.ts
generated
vendored
@ -1,16 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { Transformer } from '@jest/transform';
|
|
||||||
import { TransformOptions } from '@babel/core';
|
|
||||||
interface BabelJestTransformer extends Transformer {
|
|
||||||
canInstrument: true;
|
|
||||||
}
|
|
||||||
declare const transformer: BabelJestTransformer & {
|
|
||||||
createTransformer: (options?: TransformOptions) => BabelJestTransformer;
|
|
||||||
};
|
|
||||||
export = transformer;
|
|
||||||
//# sourceMappingURL=index.d.ts.map
|
|
1
node_modules/babel-jest/build/index.d.ts.map
generated
vendored
1
node_modules/babel-jest/build/index.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAEL,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AASrB,UAAU,oBAAqB,SAAQ,WAAW;IAChD,aAAa,EAAE,IAAI,CAAC;CACrB;AAuGD,QAAA,MAAM,WAAW,EAAE,oBAAoB,GAAG;IACxC,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,gBAAgB,KAAK,oBAAoB,CAAC;CAMzE,CAAC;AAEF,SAAS,WAAW,CAAC"}
|
|
283
node_modules/babel-jest/build/index.js
generated
vendored
283
node_modules/babel-jest/build/index.js
generated
vendored
@ -1,283 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
function _crypto() {
|
|
||||||
const data = require('crypto');
|
|
||||||
|
|
||||||
_crypto = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function fs() {
|
|
||||||
const data = _interopRequireWildcard(require('fs'));
|
|
||||||
|
|
||||||
fs = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function path() {
|
|
||||||
const data = _interopRequireWildcard(require('path'));
|
|
||||||
|
|
||||||
path = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _core() {
|
|
||||||
const data = require('@babel/core');
|
|
||||||
|
|
||||||
_core = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _chalk() {
|
|
||||||
const data = _interopRequireDefault(require('chalk'));
|
|
||||||
|
|
||||||
_chalk = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _slash() {
|
|
||||||
const data = _interopRequireDefault(require('slash'));
|
|
||||||
|
|
||||||
_slash = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) {
|
|
||||||
return obj && obj.__esModule ? obj : {default: obj};
|
|
||||||
}
|
|
||||||
|
|
||||||
function _getRequireWildcardCache() {
|
|
||||||
if (typeof WeakMap !== 'function') return null;
|
|
||||||
var cache = new WeakMap();
|
|
||||||
_getRequireWildcardCache = function () {
|
|
||||||
return cache;
|
|
||||||
};
|
|
||||||
return cache;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) {
|
|
||||||
if (obj && obj.__esModule) {
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
|
||||||
return {default: obj};
|
|
||||||
}
|
|
||||||
var cache = _getRequireWildcardCache();
|
|
||||||
if (cache && cache.has(obj)) {
|
|
||||||
return cache.get(obj);
|
|
||||||
}
|
|
||||||
var newObj = {};
|
|
||||||
var hasPropertyDescriptor =
|
|
||||||
Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
||||||
for (var key in obj) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
||||||
var desc = hasPropertyDescriptor
|
|
||||||
? Object.getOwnPropertyDescriptor(obj, key)
|
|
||||||
: null;
|
|
||||||
if (desc && (desc.get || desc.set)) {
|
|
||||||
Object.defineProperty(newObj, key, desc);
|
|
||||||
} else {
|
|
||||||
newObj[key] = obj[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
newObj.default = obj;
|
|
||||||
if (cache) {
|
|
||||||
cache.set(obj, newObj);
|
|
||||||
}
|
|
||||||
return newObj;
|
|
||||||
}
|
|
||||||
|
|
||||||
function ownKeys(object, enumerableOnly) {
|
|
||||||
var keys = Object.keys(object);
|
|
||||||
if (Object.getOwnPropertySymbols) {
|
|
||||||
var symbols = Object.getOwnPropertySymbols(object);
|
|
||||||
if (enumerableOnly)
|
|
||||||
symbols = symbols.filter(function (sym) {
|
|
||||||
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
||||||
});
|
|
||||||
keys.push.apply(keys, symbols);
|
|
||||||
}
|
|
||||||
return keys;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _objectSpread(target) {
|
|
||||||
for (var i = 1; i < arguments.length; i++) {
|
|
||||||
var source = arguments[i] != null ? arguments[i] : {};
|
|
||||||
if (i % 2) {
|
|
||||||
ownKeys(Object(source), true).forEach(function (key) {
|
|
||||||
_defineProperty(target, key, source[key]);
|
|
||||||
});
|
|
||||||
} else if (Object.getOwnPropertyDescriptors) {
|
|
||||||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
||||||
} else {
|
|
||||||
ownKeys(Object(source)).forEach(function (key) {
|
|
||||||
Object.defineProperty(
|
|
||||||
target,
|
|
||||||
key,
|
|
||||||
Object.getOwnPropertyDescriptor(source, key)
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return target;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _defineProperty(obj, key, value) {
|
|
||||||
if (key in obj) {
|
|
||||||
Object.defineProperty(obj, key, {
|
|
||||||
value: value,
|
|
||||||
enumerable: true,
|
|
||||||
configurable: true,
|
|
||||||
writable: true
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
obj[key] = value;
|
|
||||||
}
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
const THIS_FILE = fs().readFileSync(__filename);
|
|
||||||
|
|
||||||
const jestPresetPath = require.resolve('babel-preset-jest');
|
|
||||||
|
|
||||||
const babelIstanbulPlugin = require.resolve('babel-plugin-istanbul'); // Narrow down the types
|
|
||||||
|
|
||||||
const createTransformer = (options = {}) => {
|
|
||||||
options = _objectSpread({}, options, {
|
|
||||||
caller: {
|
|
||||||
name: 'babel-jest',
|
|
||||||
supportsStaticESM: false
|
|
||||||
},
|
|
||||||
compact: false,
|
|
||||||
plugins: (options && options.plugins) || [],
|
|
||||||
presets: ((options && options.presets) || []).concat(jestPresetPath),
|
|
||||||
sourceMaps: 'both'
|
|
||||||
});
|
|
||||||
|
|
||||||
function loadBabelConfig(cwd, filename) {
|
|
||||||
// `cwd` first to allow incoming options to override it
|
|
||||||
const babelConfig = (0, _core().loadPartialConfig)(
|
|
||||||
_objectSpread(
|
|
||||||
{
|
|
||||||
cwd
|
|
||||||
},
|
|
||||||
options,
|
|
||||||
{
|
|
||||||
filename
|
|
||||||
}
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!babelConfig) {
|
|
||||||
throw new Error(
|
|
||||||
`babel-jest: Babel ignores ${_chalk().default.bold(
|
|
||||||
(0, _slash().default)(path().relative(cwd, filename))
|
|
||||||
)} - make sure to include the file in Jest's ${_chalk().default.bold(
|
|
||||||
'transformIgnorePatterns'
|
|
||||||
)} as well.`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return babelConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
canInstrument: true,
|
|
||||||
|
|
||||||
getCacheKey(
|
|
||||||
fileData,
|
|
||||||
filename,
|
|
||||||
configString,
|
|
||||||
{config, instrument, rootDir}
|
|
||||||
) {
|
|
||||||
const babelOptions = loadBabelConfig(config.cwd, filename);
|
|
||||||
const configPath = [
|
|
||||||
babelOptions.config || '',
|
|
||||||
babelOptions.babelrc || ''
|
|
||||||
];
|
|
||||||
return (0, _crypto().createHash)('md5')
|
|
||||||
.update(THIS_FILE)
|
|
||||||
.update('\0', 'utf8')
|
|
||||||
.update(JSON.stringify(babelOptions.options))
|
|
||||||
.update('\0', 'utf8')
|
|
||||||
.update(fileData)
|
|
||||||
.update('\0', 'utf8')
|
|
||||||
.update(path().relative(rootDir, filename))
|
|
||||||
.update('\0', 'utf8')
|
|
||||||
.update(configString)
|
|
||||||
.update('\0', 'utf8')
|
|
||||||
.update(configPath.join(''))
|
|
||||||
.update('\0', 'utf8')
|
|
||||||
.update(instrument ? 'instrument' : '')
|
|
||||||
.update('\0', 'utf8')
|
|
||||||
.update(process.env.NODE_ENV || '')
|
|
||||||
.update('\0', 'utf8')
|
|
||||||
.update(process.env.BABEL_ENV || '')
|
|
||||||
.digest('hex');
|
|
||||||
},
|
|
||||||
|
|
||||||
process(src, filename, config, transformOptions) {
|
|
||||||
const babelOptions = _objectSpread(
|
|
||||||
{},
|
|
||||||
loadBabelConfig(config.cwd, filename).options
|
|
||||||
);
|
|
||||||
|
|
||||||
if (transformOptions && transformOptions.instrument) {
|
|
||||||
babelOptions.auxiliaryCommentBefore = ' istanbul ignore next '; // Copied from jest-runtime transform.js
|
|
||||||
|
|
||||||
babelOptions.plugins = (babelOptions.plugins || []).concat([
|
|
||||||
[
|
|
||||||
babelIstanbulPlugin,
|
|
||||||
{
|
|
||||||
// files outside `cwd` will not be instrumented
|
|
||||||
cwd: config.rootDir,
|
|
||||||
exclude: []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
const transformResult = (0, _core().transformSync)(src, babelOptions);
|
|
||||||
|
|
||||||
if (transformResult) {
|
|
||||||
const {code, map} = transformResult;
|
|
||||||
|
|
||||||
if (typeof code === 'string') {
|
|
||||||
return {
|
|
||||||
code,
|
|
||||||
map
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return src;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
const transformer = _objectSpread({}, createTransformer(), {
|
|
||||||
// Assigned here so only the exported transformer has `createTransformer`,
|
|
||||||
// instead of all created transformers by the function
|
|
||||||
createTransformer
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports = transformer;
|
|
16
node_modules/babel-jest/build/ts3.4/index.d.ts
generated
vendored
16
node_modules/babel-jest/build/ts3.4/index.d.ts
generated
vendored
@ -1,16 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import { Transformer } from '@jest/transform';
|
|
||||||
import { TransformOptions } from '@babel/core';
|
|
||||||
interface BabelJestTransformer extends Transformer {
|
|
||||||
canInstrument: true;
|
|
||||||
}
|
|
||||||
declare const transformer: BabelJestTransformer & {
|
|
||||||
createTransformer: (options?: TransformOptions) => BabelJestTransformer;
|
|
||||||
};
|
|
||||||
export = transformer;
|
|
||||||
//# sourceMappingURL=index.d.ts.map
|
|
306
node_modules/babel-plugin-istanbul/CHANGELOG.md
generated
vendored
306
node_modules/babel-plugin-istanbul/CHANGELOG.md
generated
vendored
@ -1,306 +0,0 @@
|
|||||||
# Changelog
|
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
||||||
|
|
||||||
## [6.0.0](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v5.2.0...v6.0.0) (2019-12-20)
|
|
||||||
|
|
||||||
|
|
||||||
### ⚠ BREAKING CHANGES
|
|
||||||
|
|
||||||
* Drop node.js 6 (#226)
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* Add support for instrumenter options ([#227](https://github.com/istanbuljs/babel-plugin-istanbul/issues/227)) ([fe08f5b](https://github.com/istanbuljs/babel-plugin-istanbul/commit/fe08f5b8282136c7ed9375fa32148586bd6a7e28)), closes [#208](https://github.com/istanbuljs/babel-plugin-istanbul/issues/208) [#212](https://github.com/istanbuljs/babel-plugin-istanbul/issues/212)
|
|
||||||
* Drop node.js 6 ([#226](https://github.com/istanbuljs/babel-plugin-istanbul/issues/226)) ([93db21a](https://github.com/istanbuljs/babel-plugin-istanbul/commit/93db21aa2bbdbb06fb784f52c24a7847fad6be92)), closes [#209](https://github.com/istanbuljs/babel-plugin-istanbul/issues/209)
|
|
||||||
|
|
||||||
## [5.2.0](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v5.1.4...v5.2.0) (2019-07-18)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* Print explicit error if use with babel 6 is attempted ([#207](https://github.com/istanbuljs/babel-plugin-istanbul/issues/207)) ([a12cf16](https://github.com/istanbuljs/babel-plugin-istanbul/commit/a12cf16))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* Support turning off node_modules default exclude via flag ([#172](https://github.com/istanbuljs/babel-plugin-istanbul/issues/172)) ([a314f06](https://github.com/istanbuljs/babel-plugin-istanbul/commit/a314f06))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [5.1.4](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v5.1.3...v5.1.4) (2019-04-25)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [5.1.3](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v5.1.2...v5.1.3) (2019-04-23)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* Revert [#192](https://github.com/istanbuljs/babel-plugin-istanbul/issues/192) ([201a933](https://github.com/istanbuljs/babel-plugin-istanbul/commit/201a933)) due to regression detailed at [#201](https://github.com/istanbuljs/babel-plugin-istanbul/issues/201)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [5.1.2](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v5.1.1...v5.1.2) (2019-04-10)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* Ensure correct scope references after traversal ([#192](https://github.com/istanbuljs/babel-plugin-istanbul/issues/192)) ([201a933](https://github.com/istanbuljs/babel-plugin-istanbul/commit/201a933))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="5.1.1"></a>
|
|
||||||
## [5.1.1](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v5.1.0...v5.1.1) (2019-01-11)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* respect changes of cwd in options ([#171](https://github.com/istanbuljs/babel-plugin-istanbul/issues/171)) ([adec723](https://github.com/istanbuljs/babel-plugin-istanbul/commit/adec723))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="5.1.0"></a>
|
|
||||||
# [5.1.0](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v5.0.1...v5.1.0) (2018-09-07)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* Bump dependencies. ([b509649](https://github.com/istanbuljs/babel-plugin-istanbul/commit/b509649))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="5.0.1"></a>
|
|
||||||
## [5.0.1](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v5.0.0...v5.0.1) (2018-07-24)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="5.0.0"></a>
|
|
||||||
# [5.0.0](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v4.1.6...v5.0.0) (2018-06-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* upgrade to babel 7 and newest istanbul libraries ([#158](https://github.com/istanbuljs/babel-plugin-istanbul/issues/158)) ([a9e1564](https://github.com/istanbuljs/babel-plugin-istanbul/commit/a9e1564))
|
|
||||||
|
|
||||||
|
|
||||||
### BREAKING CHANGES
|
|
||||||
|
|
||||||
* Drop node 4 support, upgrade to babel 7, stop shipping @babel/plugin-syntax-object-rest-spread
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="4.1.6"></a>
|
|
||||||
## <small>4.1.6 (2018-03-09)</small>
|
|
||||||
|
|
||||||
* chore: explicit update of istanbul dependencies (#149) ([77b6eb7](https://github.com/istanbuljs/babel-plugin-istanbul/commit/77b6eb7)), closes [#149](https://github.com/istanbuljs/babel-plugin-istanbul/issues/149)
|
|
||||||
* chore(package): update coveralls to version 3.0.0 (#133) ([7045a03](https://github.com/istanbuljs/babel-plugin-istanbul/commit/7045a03)), closes [#133](https://github.com/istanbuljs/babel-plugin-istanbul/issues/133)
|
|
||||||
* chore(package): update mocha to version 4.0.0 (#134) ([38176ba](https://github.com/istanbuljs/babel-plugin-istanbul/commit/38176ba)), closes [#134](https://github.com/istanbuljs/babel-plugin-istanbul/issues/134)
|
|
||||||
* fix: babel-preset-es2015 => babel-preset-env (#138) ([18fe954](https://github.com/istanbuljs/babel-plugin-istanbul/commit/18fe954)), closes [#138](https://github.com/istanbuljs/babel-plugin-istanbul/issues/138)
|
|
||||||
* fix: include object-spread-syntax plugin (#141) ([428a952](https://github.com/istanbuljs/babel-plugin-istanbul/commit/428a952)), closes [#141](https://github.com/istanbuljs/babel-plugin-istanbul/issues/141)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="4.1.5"></a>
|
|
||||||
## [4.1.5](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v4.1.2...v4.1.5) (2017-08-23)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="4.1.4"></a>
|
|
||||||
## [4.1.4](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v4.1.3...v4.1.4) (2017-05-27)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="4.1.3"></a>
|
|
||||||
## [4.1.3](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v4.1.1...v4.1.3) (2017-04-29)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="4.1.2"></a>
|
|
||||||
## [4.1.2](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v4.1.1...v4.1.2) (2017-03-27)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="4.1.1"></a>
|
|
||||||
## [4.1.1](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v4.1.0...v4.1.1) (2017-03-22)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* explicit upgrade to patched version of istanbul-lib-instrument ([db8ecbe](https://github.com/istanbuljs/babel-plugin-istanbul/commit/db8ecbe))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="4.1.0"></a>
|
|
||||||
# [4.1.0](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v4.0.0...v4.1.0) (2017-03-21)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add includeUntested option to expose coverage of all instrumented files ([#80](https://github.com/istanbuljs/babel-plugin-istanbul/issues/80)) ([b078bbd](https://github.com/istanbuljs/babel-plugin-istanbul/commit/b078bbd))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="4.0.0"></a>
|
|
||||||
# [4.0.0](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v3.1.2...v4.0.0) (2017-02-07)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* load configuration from process.env.NYC_CONFIG if present ([#93](https://github.com/istanbuljs/babel-plugin-istanbul/issues/93)) ([e902924](https://github.com/istanbuljs/babel-plugin-istanbul/commit/e902924))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* drop Node 0.10 and 0.12 support, upgrade dependencies to reflect this ([#88](https://github.com/istanbuljs/babel-plugin-istanbul/issues/88)) ([594c03a](https://github.com/istanbuljs/babel-plugin-istanbul/commit/594c03a))
|
|
||||||
* we can now use the language feature Object.assign ([#92](https://github.com/istanbuljs/babel-plugin-istanbul/issues/92)) ([f77db2a](https://github.com/istanbuljs/babel-plugin-istanbul/commit/f77db2a))
|
|
||||||
|
|
||||||
|
|
||||||
### BREAKING CHANGES
|
|
||||||
|
|
||||||
* I've updated dependencies and dropped Node 0.10 and Node 0.12 support.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="3.1.2"></a>
|
|
||||||
## [3.1.2](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v3.1.1...v3.1.2) (2017-01-04)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* address regression related to export const foo = () => {} ([#79](https://github.com/istanbuljs/babel-plugin-istanbul/issues/79)) ([f870a8f](https://github.com/istanbuljs/babel-plugin-istanbul/commit/f870a8f))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="3.1.1"></a>
|
|
||||||
## [3.1.1](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v3.1.0...v3.1.1) (2017-01-02)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="3.1.0"></a>
|
|
||||||
# [3.1.0](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v3.0.0...v3.1.0) (2016-12-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* upgrade a bunch of core dependencies ([#77](https://github.com/istanbuljs/babel-plugin-istanbul/issues/77)) ([e764330](https://github.com/istanbuljs/babel-plugin-istanbul/commit/e764330))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* accept source map input for the visitor ([#75](https://github.com/istanbuljs/babel-plugin-istanbul/issues/75)) ([437e90b](https://github.com/istanbuljs/babel-plugin-istanbul/commit/437e90b))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="3.0.0"></a>
|
|
||||||
# [3.0.0](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v2.0.3...v3.0.0) (2016-11-14)
|
|
||||||
|
|
||||||
|
|
||||||
### Chores
|
|
||||||
|
|
||||||
* **package:** update test-exclude to version 3.0.0 ([#68](https://github.com/istanbuljs/babel-plugin-istanbul/issues/68)) ([0396385](https://github.com/istanbuljs/babel-plugin-istanbul/commit/0396385))
|
|
||||||
|
|
||||||
|
|
||||||
### BREAKING CHANGES
|
|
||||||
|
|
||||||
* package: test-exclude now adds `**/node_modules/**` as exclude rule by default.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.0.3"></a>
|
|
||||||
## [2.0.3](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v2.0.2...v2.0.3) (2016-10-17)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* force istanbul-lib-instrument with variable hoisting fix ([#64](https://github.com/istanbuljs/babel-plugin-istanbul/issues/64)) ([209a0cf](https://github.com/istanbuljs/babel-plugin-istanbul/commit/209a0cf))
|
|
||||||
* switch deprecated lodash.assign for object-assign ([#58](https://github.com/istanbuljs/babel-plugin-istanbul/issues/58)) ([6e051fc](https://github.com/istanbuljs/babel-plugin-istanbul/commit/6e051fc))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.0.2"></a>
|
|
||||||
## [2.0.2](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v2.0.1...v2.0.2) (2016-09-08)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* take realpath of cwd, whether or not set in env ([#37](https://github.com/istanbuljs/babel-plugin-istanbul/issues/37)) ([6274d83](https://github.com/istanbuljs/babel-plugin-istanbul/commit/6274d83))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.0.1"></a>
|
|
||||||
## [2.0.1](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v2.0.0...v2.0.1) (2016-09-02)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* update istanbul-lib-instrument ([573e0d4](https://github.com/istanbuljs/babel-plugin-istanbul/commit/573e0d4))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.0.0"></a>
|
|
||||||
# [2.0.0](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v1.1.0...v2.0.0) (2016-08-14)
|
|
||||||
|
|
||||||
|
|
||||||
### Chores
|
|
||||||
|
|
||||||
* upgrade to version of test-exclude with new exclude rules ([#35](https://github.com/istanbuljs/babel-plugin-istanbul/issues/35)) ([220ce2b](https://github.com/istanbuljs/babel-plugin-istanbul/commit/220ce2b))
|
|
||||||
|
|
||||||
|
|
||||||
### BREAKING CHANGES
|
|
||||||
|
|
||||||
* see https://github.com/istanbuljs/test-exclude/blob/master/CHANGELOG.md#breaking-changes
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.1.0"></a>
|
|
||||||
# [1.1.0](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v1.0.3...v1.1.0) (2016-07-21)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* upgrade to istanbul-lib-instrument with faster babel-generator ([#18](https://github.com/istanbuljs/babel-plugin-istanbul/issues/18)) ([d33263c](https://github.com/istanbuljs/babel-plugin-istanbul/commit/d33263c))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* allow exclude/include options to be passed as Babel plugin config ([#16](https://github.com/istanbuljs/babel-plugin-istanbul/issues/16)) ([cf68421](https://github.com/istanbuljs/babel-plugin-istanbul/commit/cf68421))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.0.3"></a>
|
|
||||||
## [1.0.3](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v1.0.2...v1.0.3) (2016-07-09)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* keep using NYC_CWD if available ([#10](https://github.com/istanbuljs/babel-plugin-istanbul/issues/10)) ([db0352b](https://github.com/istanbuljs/babel-plugin-istanbul/commit/db0352b))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.0.2"></a>
|
|
||||||
## [1.0.2](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v1.0.1...v1.0.2) (2016-07-03)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* take realpath of process.cwd(), fixes [#7](https://github.com/istanbuljs/babel-plugin-istanbul/issues/7) ([#8](https://github.com/istanbuljs/babel-plugin-istanbul/issues/8)) ([e8d3785](https://github.com/istanbuljs/babel-plugin-istanbul/commit/e8d3785)), closes [#7](https://github.com/istanbuljs/babel-plugin-istanbul/issues/7) [#8](https://github.com/istanbuljs/babel-plugin-istanbul/issues/8)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.0.1"></a>
|
|
||||||
## [1.0.1](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v1.0.0...v1.0.1) (2016-06-30)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* upgrade to version of istanbul-lib-instrument that fixes some out of bounds issues ([#6](https://github.com/istanbuljs/babel-plugin-istanbul/issues/6)) ([a949065](https://github.com/istanbuljs/babel-plugin-istanbul/commit/a949065)), closes [#6](https://github.com/istanbuljs/babel-plugin-istanbul/issues/6)
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.0.0"></a>
|
|
||||||
# 1.0.0 (2016-06-26)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* port functionality from __coverage__, get ready for first release ([#2](https://github.com/istanbuljs/babel-plugin-istanbul/issues/2)) ([2a8ee44](https://github.com/istanbuljs/babel-plugin-istanbul/commit/2a8ee44))
|
|
27
node_modules/babel-plugin-istanbul/LICENSE
generated
vendored
27
node_modules/babel-plugin-istanbul/LICENSE
generated
vendored
@ -1,27 +0,0 @@
|
|||||||
Copyright (c) 2016, Istanbul Code Coverage
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice, this
|
|
||||||
list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
* Neither the name of babel-plugin-istanbul nor the names of its
|
|
||||||
contributors may be used to endorse or promote products derived from
|
|
||||||
this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
137
node_modules/babel-plugin-istanbul/README.md
generated
vendored
137
node_modules/babel-plugin-istanbul/README.md
generated
vendored
@ -1,137 +0,0 @@
|
|||||||
# babel-plugin-istanbul
|
|
||||||
|
|
||||||
[![Greenkeeper badge](https://badges.greenkeeper.io/istanbuljs/babel-plugin-istanbul.svg)](https://greenkeeper.io/)
|
|
||||||
[![Build Status](https://travis-ci.org/istanbuljs/babel-plugin-istanbul.svg?branch=master)](https://travis-ci.org/istanbuljs/babel-plugin-istanbul)
|
|
||||||
[![Coverage Status](https://coveralls.io/repos/github/istanbuljs/babel-plugin-istanbul/badge.svg?branch=master)](https://coveralls.io/github/istanbuljs/babel-plugin-istanbul?branch=master)
|
|
||||||
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
|
|
||||||
[![community slack](http://devtoolscommunity.herokuapp.com/badge.svg)](http://devtoolscommunity.herokuapp.com)
|
|
||||||
|
|
||||||
_Having problems? want to contribute? join our [community slack](http://devtoolscommunity.herokuapp.com)_.
|
|
||||||
|
|
||||||
A Babel plugin that instruments your code with Istanbul coverage.
|
|
||||||
It can instantly be used with [karma-coverage](https://github.com/karma-runner/karma-coverage) and mocha on Node.js (through [nyc](https://github.com/bcoe/nyc)).
|
|
||||||
|
|
||||||
__Note:__ This plugin does not generate any report or save any data to any file;
|
|
||||||
it only adds instrumenting code to your JavaScript source code.
|
|
||||||
To integrate with testing tools, please see the [Integrations](#integrations) section.
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
Install it:
|
|
||||||
|
|
||||||
```
|
|
||||||
npm install --save-dev babel-plugin-istanbul
|
|
||||||
```
|
|
||||||
|
|
||||||
Add it to `.babelrc` in test mode:
|
|
||||||
|
|
||||||
```js
|
|
||||||
{
|
|
||||||
"env": {
|
|
||||||
"test": {
|
|
||||||
"plugins": [ "istanbul" ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Optionally, use [cross-env](https://www.npmjs.com/package/cross-env) to set
|
|
||||||
`NODE_ENV=test`:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"scripts": {
|
|
||||||
"test": "cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text mocha test/*.js"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Integrations
|
|
||||||
|
|
||||||
### karma
|
|
||||||
|
|
||||||
It _just works_ with Karma. First, make sure that the code is already transpiled by Babel (either using `karma-babel-preprocessor`, `karma-webpack`, or `karma-browserify`). Then, simply set up [karma-coverage](https://github.com/karma-runner/karma-coverage) according to the docs, but __don’t add the `coverage` preprocessor.__ This plugin has already instrumented your code, and Karma should pick it up automatically.
|
|
||||||
|
|
||||||
It has been tested with [bemusic/bemuse](https://codecov.io/github/bemusic/bemuse) project, which contains ~2400 statements.
|
|
||||||
|
|
||||||
### mocha on node.js (through nyc)
|
|
||||||
|
|
||||||
Configure Mocha to transpile JavaScript code using Babel, then you can run your tests with [`nyc`](https://github.com/bcoe/nyc), which will collect all the coverage report.
|
|
||||||
|
|
||||||
babel-plugin-istanbul respects the `include`/`exclude` configuration options from nyc,
|
|
||||||
but you also need to __configure NYC not to instrument your code__ by adding these settings in your `package.json`:
|
|
||||||
|
|
||||||
```js
|
|
||||||
"nyc": {
|
|
||||||
"sourceMap": false,
|
|
||||||
"instrument": false
|
|
||||||
},
|
|
||||||
```
|
|
||||||
|
|
||||||
## Ignoring files
|
|
||||||
|
|
||||||
You don't want to cover your test files as this will skew your coverage results. You can configure this by providing plugin options matching nyc's [`exclude`/`include` rules](https://github.com/bcoe/nyc#excluding-files):
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"env": {
|
|
||||||
"test": {
|
|
||||||
"plugins": [
|
|
||||||
["istanbul", {
|
|
||||||
"exclude": [
|
|
||||||
"**/*.spec.js"
|
|
||||||
]
|
|
||||||
}]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
If you don't provide options in your Babel config, the plugin will look for `exclude`/`include` config under an `"nyc"` key in `package.json`.
|
|
||||||
|
|
||||||
You can also use [istanbul's ignore hints](https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md#ignoring-code-for-coverage-purposes) to specify specific lines of code to skip instrumenting.
|
|
||||||
|
|
||||||
## Source Maps
|
|
||||||
|
|
||||||
By default, this plugin will pick up inline source maps and attach them to the instrumented code such that code coverage can be remapped back to the original source, even for multi-step build processes. This can be memory intensive. Set `useInlineSourceMaps` to prevent this behavior.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"env": {
|
|
||||||
"test": {
|
|
||||||
"plugins": [
|
|
||||||
["istanbul", {
|
|
||||||
"useInlineSourceMaps": false
|
|
||||||
}]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
If you're instrumenting code programatically, you can pass a source map explicitly.
|
|
||||||
```js
|
|
||||||
import babelPluginIstanbul from 'babel-plugin-istanbul';
|
|
||||||
|
|
||||||
function instrument(sourceCode, sourceMap, fileName) {
|
|
||||||
return babel.transform(sourceCode, {
|
|
||||||
filename,
|
|
||||||
plugins: [
|
|
||||||
[babelPluginIstanbul, {
|
|
||||||
inputSourceMap: sourceMap
|
|
||||||
}]
|
|
||||||
]
|
|
||||||
})
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Credit where credit is due
|
|
||||||
|
|
||||||
The approach used in `babel-plugin-istanbul` was inspired by [Thai Pangsakulyanont](https://github.com/dtinth)'s original library [`babel-plugin-__coverage__`](https://github.com/dtinth/babel-plugin-__coverage__).
|
|
||||||
|
|
||||||
## `babel-plugin-istanbul` for enterprise
|
|
||||||
|
|
||||||
Available as part of the Tidelift Subscription.
|
|
||||||
|
|
||||||
The maintainers of `babel-plugin-istanbul` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-babel-plugin-istanbul?utm_source=npm-babel-plugin-istanbul&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
|
|
170
node_modules/babel-plugin-istanbul/lib/index.js
generated
vendored
170
node_modules/babel-plugin-istanbul/lib/index.js
generated
vendored
@ -1,170 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
var _path = _interopRequireDefault(require("path"));
|
|
||||||
|
|
||||||
var _fs = require("fs");
|
|
||||||
|
|
||||||
var _child_process = require("child_process");
|
|
||||||
|
|
||||||
var _helperPluginUtils = require("@babel/helper-plugin-utils");
|
|
||||||
|
|
||||||
var _istanbulLibInstrument = require("istanbul-lib-instrument");
|
|
||||||
|
|
||||||
var _testExclude = _interopRequireDefault(require("test-exclude"));
|
|
||||||
|
|
||||||
var _schema = _interopRequireDefault(require("@istanbuljs/schema"));
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
function getRealpath(n) {
|
|
||||||
try {
|
|
||||||
return (0, _fs.realpathSync)(n) ||
|
|
||||||
/* istanbul ignore next */
|
|
||||||
n;
|
|
||||||
} catch (e) {
|
|
||||||
/* istanbul ignore next */
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const memoize = new Map();
|
|
||||||
/* istanbul ignore next */
|
|
||||||
|
|
||||||
const memosep = _path.default.sep === '/' ? ':' : ';';
|
|
||||||
|
|
||||||
function loadNycConfig(cwd, opts) {
|
|
||||||
let memokey = cwd;
|
|
||||||
const args = [_path.default.resolve(__dirname, 'load-nyc-config-sync.js'), cwd];
|
|
||||||
|
|
||||||
if ('nycrcPath' in opts) {
|
|
||||||
args.push(opts.nycrcPath);
|
|
||||||
memokey += memosep + opts.nycrcPath;
|
|
||||||
}
|
|
||||||
/* execFileSync is expensive, avoid it if possible! */
|
|
||||||
|
|
||||||
|
|
||||||
if (memoize.has(memokey)) {
|
|
||||||
return memoize.get(memokey);
|
|
||||||
}
|
|
||||||
|
|
||||||
const result = JSON.parse((0, _child_process.execFileSync)(process.execPath, args));
|
|
||||||
const error = result['load-nyc-config-sync-error'];
|
|
||||||
|
|
||||||
if (error) {
|
|
||||||
throw new Error(error);
|
|
||||||
}
|
|
||||||
|
|
||||||
const config = { ..._schema.default.defaults.babelPluginIstanbul,
|
|
||||||
cwd,
|
|
||||||
...result
|
|
||||||
};
|
|
||||||
memoize.set(memokey, config);
|
|
||||||
return config;
|
|
||||||
}
|
|
||||||
|
|
||||||
function findConfig(opts) {
|
|
||||||
const cwd = getRealpath(opts.cwd || process.env.NYC_CWD ||
|
|
||||||
/* istanbul ignore next */
|
|
||||||
process.cwd());
|
|
||||||
const keys = Object.keys(opts);
|
|
||||||
const ignored = Object.keys(opts).filter(s => s === 'nycrcPath' || s === 'cwd');
|
|
||||||
|
|
||||||
if (keys.length > ignored.length) {
|
|
||||||
// explicitly configuring options in babel
|
|
||||||
// takes precedence.
|
|
||||||
return { ..._schema.default.defaults.babelPluginIstanbul,
|
|
||||||
cwd,
|
|
||||||
...opts
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ignored.length === 0 && process.env.NYC_CONFIG) {
|
|
||||||
// defaults were already applied by nyc
|
|
||||||
return JSON.parse(process.env.NYC_CONFIG);
|
|
||||||
}
|
|
||||||
|
|
||||||
return loadNycConfig(cwd, opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
function makeShouldSkip() {
|
|
||||||
let exclude;
|
|
||||||
return function shouldSkip(file, nycConfig) {
|
|
||||||
if (!exclude || exclude.cwd !== nycConfig.cwd) {
|
|
||||||
exclude = new _testExclude.default({
|
|
||||||
cwd: nycConfig.cwd,
|
|
||||||
include: nycConfig.include,
|
|
||||||
exclude: nycConfig.exclude,
|
|
||||||
extension: nycConfig.extension,
|
|
||||||
// Make sure this is true unless explicitly set to `false`. `undefined` is still `true`.
|
|
||||||
excludeNodeModules: nycConfig.excludeNodeModules !== false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return !exclude.shouldInstrument(file);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
var _default = (0, _helperPluginUtils.declare)(api => {
|
|
||||||
api.assertVersion(7);
|
|
||||||
const shouldSkip = makeShouldSkip();
|
|
||||||
const t = api.types;
|
|
||||||
return {
|
|
||||||
visitor: {
|
|
||||||
Program: {
|
|
||||||
enter(path) {
|
|
||||||
this.__dv__ = null;
|
|
||||||
this.nycConfig = findConfig(this.opts);
|
|
||||||
const realPath = getRealpath(this.file.opts.filename);
|
|
||||||
|
|
||||||
if (shouldSkip(realPath, this.nycConfig)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let {
|
|
||||||
inputSourceMap
|
|
||||||
} = this.opts;
|
|
||||||
|
|
||||||
if (this.opts.useInlineSourceMaps !== false) {
|
|
||||||
if (!inputSourceMap && this.file.inputMap) {
|
|
||||||
inputSourceMap = this.file.inputMap.sourcemap;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const visitorOptions = {};
|
|
||||||
Object.entries(_schema.default.defaults.instrumentVisitor).forEach(([name, defaultValue]) => {
|
|
||||||
if (name in this.nycConfig) {
|
|
||||||
visitorOptions[name] = this.nycConfig[name];
|
|
||||||
} else {
|
|
||||||
visitorOptions[name] = _schema.default.defaults.instrumentVisitor[name];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.__dv__ = (0, _istanbulLibInstrument.programVisitor)(t, realPath, { ...visitorOptions,
|
|
||||||
inputSourceMap
|
|
||||||
});
|
|
||||||
|
|
||||||
this.__dv__.enter(path);
|
|
||||||
},
|
|
||||||
|
|
||||||
exit(path) {
|
|
||||||
if (!this.__dv__) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const result = this.__dv__.exit(path);
|
|
||||||
|
|
||||||
if (this.opts.onCover) {
|
|
||||||
this.opts.onCover(getRealpath(this.file.opts.filename), result.fileCoverage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
exports.default = _default;
|
|
20
node_modules/babel-plugin-istanbul/lib/load-nyc-config-sync.js
generated
vendored
20
node_modules/babel-plugin-istanbul/lib/load-nyc-config-sync.js
generated
vendored
@ -1,20 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
const {
|
|
||||||
loadNycConfig
|
|
||||||
} = require('@istanbuljs/load-nyc-config');
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
const [cwd, nycrcPath] = process.argv.slice(2);
|
|
||||||
console.log(JSON.stringify((await loadNycConfig({
|
|
||||||
cwd,
|
|
||||||
nycrcPath
|
|
||||||
}))));
|
|
||||||
}
|
|
||||||
|
|
||||||
main().catch(error => {
|
|
||||||
console.log(JSON.stringify({
|
|
||||||
'load-nyc-config-sync-error': error.message
|
|
||||||
}));
|
|
||||||
});
|
|
548
node_modules/istanbul-lib-instrument/CHANGELOG.md
generated
vendored
548
node_modules/istanbul-lib-instrument/CHANGELOG.md
generated
vendored
@ -1,548 +0,0 @@
|
|||||||
# Change Log
|
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
||||||
|
|
||||||
## [4.0.1](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@4.0.0...istanbul-lib-instrument@4.0.1) (2020-02-03)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* Always call coverage initialization function ([#524](https://github.com/istanbuljs/istanbuljs/issues/524)) ([c6536c1](https://github.com/istanbuljs/istanbuljs/commit/c6536c14bf0663ca7e0493dd40ea132b05352594))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [4.0.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@4.0.0-alpha.3...istanbul-lib-instrument@4.0.0) (2019-12-20)
|
|
||||||
|
|
||||||
**Note:** Version bump only for package istanbul-lib-instrument
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [4.0.0-alpha.3](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@4.0.0-alpha.2...istanbul-lib-instrument@4.0.0-alpha.3) (2019-12-07)
|
|
||||||
|
|
||||||
**Note:** Version bump only for package istanbul-lib-instrument
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [4.0.0-alpha.2](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@4.0.0-alpha.1...istanbul-lib-instrument@4.0.0-alpha.2) (2019-11-01)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* Produce properly merged source-maps when inputSourceMap is provided ([#487](https://github.com/istanbuljs/istanbuljs/issues/487)) ([8f8c88e](https://github.com/istanbuljs/istanbuljs/commit/8f8c88e3a2add4c08729e41e356aa7981dc69d4d))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [4.0.0-alpha.1](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@4.0.0-alpha.0...istanbul-lib-instrument@4.0.0-alpha.1) (2019-10-06)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* Eliminate babel hoisting of the coverage variable ([#481](https://github.com/istanbuljs/istanbuljs/issues/481)) ([8dfbcba](https://github.com/istanbuljs/istanbuljs/commit/8dfbcba)), closes [#92](https://github.com/istanbuljs/istanbuljs/issues/92)
|
|
||||||
* Honor ignore hints in chained if statements ([#469](https://github.com/istanbuljs/istanbuljs/issues/469)) ([a629770](https://github.com/istanbuljs/istanbuljs/commit/a629770)), closes [#468](https://github.com/istanbuljs/istanbuljs/issues/468)
|
|
||||||
* Populate lastFileCoverage for already instrumented files ([#470](https://github.com/istanbuljs/istanbuljs/issues/470)) ([ea6d779](https://github.com/istanbuljs/istanbuljs/commit/ea6d779)), closes [istanbuljs/nyc#594](https://github.com/istanbuljs/nyc/issues/594)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* Use @istanbuljs/schema to pull defaults ([#485](https://github.com/istanbuljs/istanbuljs/issues/485)) ([87e27f3](https://github.com/istanbuljs/istanbuljs/commit/87e27f3)), closes [#460](https://github.com/istanbuljs/istanbuljs/issues/460)
|
|
||||||
|
|
||||||
|
|
||||||
### BREAKING CHANGES
|
|
||||||
|
|
||||||
* The defaults for `autoWrap`, `preserveComments`,
|
|
||||||
`esModules` and `produceSourceMap` are now true. This applies only to
|
|
||||||
the stand-alone instrumenter, the visitor does not use these options.
|
|
||||||
* The `flow` and `jsx` parser plugins are no longer
|
|
||||||
enabled by default. This applies only to the stand-alone instrumenter,
|
|
||||||
the visitor does not use this option.
|
|
||||||
* The `plugins` option of the stand-alone instrumenter
|
|
||||||
has been renamed to `parserPlugins` to match nyc.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [4.0.0-alpha.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@3.3.0...istanbul-lib-instrument@4.0.0-alpha.0) (2019-06-19)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* Update dependencies, require Node.js 8 ([#401](https://github.com/istanbuljs/istanbuljs/issues/401)) ([bf3a539](https://github.com/istanbuljs/istanbuljs/commit/bf3a539))
|
|
||||||
|
|
||||||
|
|
||||||
### BREAKING CHANGES
|
|
||||||
|
|
||||||
* Node.js 8 is now required
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [3.3.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@3.2.0...istanbul-lib-instrument@3.3.0) (2019-04-24)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* Enable classProperties and classPrivateProperties parsers and coverage. ([#379](https://github.com/istanbuljs/istanbuljs/issues/379)) ([c09dc38](https://github.com/istanbuljs/istanbuljs/commit/c09dc38))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [3.2.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@3.1.2...istanbul-lib-instrument@3.2.0) (2019-04-09)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* Add bigInt and importMeta to default parser plugins. ([#356](https://github.com/istanbuljs/istanbuljs/issues/356)) ([fb4d6ed](https://github.com/istanbuljs/istanbuljs/commit/fb4d6ed)), closes [#338](https://github.com/istanbuljs/istanbuljs/issues/338)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [3.1.2](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@3.1.1...istanbul-lib-instrument@3.1.2) (2019-04-03)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* Be more friendly to ts-node. ([#352](https://github.com/istanbuljs/istanbuljs/issues/352)) ([40d15f5](https://github.com/istanbuljs/istanbuljs/commit/40d15f5)), closes [#336](https://github.com/istanbuljs/istanbuljs/issues/336)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [3.1.1](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@3.1.0...istanbul-lib-instrument@3.1.1) (2019-03-12)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* Honor istanbul ignore next hints placed before export statement. ([#298](https://github.com/istanbuljs/istanbuljs/issues/298)) ([f24795d](https://github.com/istanbuljs/istanbuljs/commit/f24795d)), closes [#297](https://github.com/istanbuljs/istanbuljs/issues/297)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [3.1.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@3.0.1...istanbul-lib-instrument@3.1.0) (2019-01-26)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* dont skip for loop initialization instrumentation ([#188](https://github.com/istanbuljs/istanbuljs/issues/188)) ([2e0258e](https://github.com/istanbuljs/istanbuljs/commit/2e0258e))
|
|
||||||
* New options coverageGlobalScope and coverageGlobalScopeFunc. ([#200](https://github.com/istanbuljs/istanbuljs/issues/200)) ([25509c7](https://github.com/istanbuljs/istanbuljs/commit/25509c7)), closes [#199](https://github.com/istanbuljs/istanbuljs/issues/199)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="3.0.1"></a>
|
|
||||||
## [3.0.1](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@3.0.0...istanbul-lib-instrument@3.0.1) (2018-12-25)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Note:** Version bump only for package istanbul-lib-instrument
|
|
||||||
|
|
||||||
<a name="3.0.0"></a>
|
|
||||||
# [3.0.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@2.3.2...istanbul-lib-instrument@3.0.0) (2018-09-06)
|
|
||||||
|
|
||||||
|
|
||||||
### Chores
|
|
||||||
|
|
||||||
* Update test for babel 7. ([#218](https://github.com/istanbuljs/istanbuljs/issues/218)) ([9cf4d43](https://github.com/istanbuljs/istanbuljs/commit/9cf4d43)), closes [#205](https://github.com/istanbuljs/istanbuljs/issues/205)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* Add option plugins ([#205](https://github.com/istanbuljs/istanbuljs/issues/205)) ([312f81f](https://github.com/istanbuljs/istanbuljs/commit/312f81f))
|
|
||||||
* Update babel to 7.0.0. ([#215](https://github.com/istanbuljs/istanbuljs/issues/215)) ([8a96613](https://github.com/istanbuljs/istanbuljs/commit/8a96613))
|
|
||||||
|
|
||||||
|
|
||||||
### BREAKING CHANGES
|
|
||||||
|
|
||||||
* was added which requires an option for the `decorators`
|
|
||||||
plugin. Add it to get tests working again, commit updated api.md.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.3.2"></a>
|
|
||||||
## [2.3.2](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@2.3.1...istanbul-lib-instrument@2.3.2) (2018-07-24)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Note:** Version bump only for package istanbul-lib-instrument
|
|
||||||
|
|
||||||
<a name="2.3.1"></a>
|
|
||||||
## [2.3.1](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@2.3.0...istanbul-lib-instrument@2.3.1) (2018-07-07)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* Don't ignore src/visitor.js for self test. ([#194](https://github.com/istanbuljs/istanbuljs/issues/194)) ([71b815d](https://github.com/istanbuljs/istanbuljs/commit/71b815d))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.3.0"></a>
|
|
||||||
# [2.3.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@2.2.1...istanbul-lib-instrument@2.3.0) (2018-06-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* update pinned babel version to latest release. ([#189](https://github.com/istanbuljs/istanbuljs/issues/189)) ([ac8ec07](https://github.com/istanbuljs/istanbuljs/commit/ac8ec07))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.2.1"></a>
|
|
||||||
## [2.2.1](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@2.2.0...istanbul-lib-instrument@2.2.1) (2018-06-26)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* Instrument ObjectMethod's. ([#182](https://github.com/istanbuljs/istanbuljs/issues/182)) ([126f09d](https://github.com/istanbuljs/istanbuljs/commit/126f09d))
|
|
||||||
* update default args test guard to work on supported versions. ([#185](https://github.com/istanbuljs/istanbuljs/issues/185)) ([955511a](https://github.com/istanbuljs/istanbuljs/commit/955511a))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.2.0"></a>
|
|
||||||
# [2.2.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@2.0.2...istanbul-lib-instrument@2.2.0) (2018-06-06)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add support for optional catch binding ([#175](https://github.com/istanbuljs/istanbuljs/issues/175)) ([088dd9f](https://github.com/istanbuljs/istanbuljs/commit/088dd9f))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.1.0"></a>
|
|
||||||
# [2.1.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@2.0.2...istanbul-lib-instrument@2.1.0) (2018-05-31)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add support for optional catch binding ([#175](https://github.com/istanbuljs/istanbuljs/issues/175)) ([088dd9f](https://github.com/istanbuljs/istanbuljs/commit/088dd9f))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.0.2"></a>
|
|
||||||
## [2.0.2](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@2.0.1...istanbul-lib-instrument@2.0.2) (2018-05-31)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Note:** Version bump only for package istanbul-lib-instrument
|
|
||||||
|
|
||||||
<a name="2.0.1"></a>
|
|
||||||
## [2.0.1](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@2.0.0...istanbul-lib-instrument@2.0.1) (2018-05-31)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* should import [@babel](https://github.com/babel)/template ([85a0d1a](https://github.com/istanbuljs/istanbuljs/commit/85a0d1a))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="2.0.0"></a>
|
|
||||||
# [2.0.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.10.1...istanbul-lib-instrument@2.0.0) (2018-05-31)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* parenthesize superClass on non-idetifier case ([#158](https://github.com/istanbuljs/istanbuljs/issues/158)) ([6202c88](https://github.com/istanbuljs/istanbuljs/commit/6202c88))
|
|
||||||
|
|
||||||
|
|
||||||
### Chores
|
|
||||||
|
|
||||||
* upgrade babel in instrumenter ([#174](https://github.com/istanbuljs/istanbuljs/issues/174)) ([ce23e91](https://github.com/istanbuljs/istanbuljs/commit/ce23e91))
|
|
||||||
|
|
||||||
|
|
||||||
### BREAKING CHANGES
|
|
||||||
|
|
||||||
* babel@7 drops Node@4 support
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.10.1"></a>
|
|
||||||
## [1.10.1](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.10.0...istanbul-lib-instrument@1.10.1) (2018-03-09)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* default value for ignorelassMethods ([#151](https://github.com/istanbuljs/istanbuljs/issues/151)) ([5dd88e8](https://github.com/istanbuljs/istanbuljs/commit/5dd88e8))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.10.0"></a>
|
|
||||||
# [1.10.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.9.2...istanbul-lib-instrument@1.10.0) (2018-03-04)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* allows an array of ignored method names to be provided ([#127](https://github.com/istanbuljs/istanbuljs/issues/127)) ([67918e2](https://github.com/istanbuljs/istanbuljs/commit/67918e2))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.9.2"></a>
|
|
||||||
## [1.9.2](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.9.1...istanbul-lib-instrument@1.9.2) (2018-02-13)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* compatibility with babel 7 ([#135](https://github.com/istanbuljs/istanbuljs/issues/135)) ([6cac849](https://github.com/istanbuljs/istanbuljs/commit/6cac849))
|
|
||||||
* handle instrumentation when a function is called Function ([#131](https://github.com/istanbuljs/istanbuljs/issues/131)) ([b12a07e](https://github.com/istanbuljs/istanbuljs/commit/b12a07e))
|
|
||||||
* proper passing of the preserveComments option to babel ([#122](https://github.com/istanbuljs/istanbuljs/issues/122)) ([470bb0e](https://github.com/istanbuljs/istanbuljs/commit/470bb0e))
|
|
||||||
* update instrument, account for lack of arrow expression ([#119](https://github.com/istanbuljs/istanbuljs/issues/119)) ([#125](https://github.com/istanbuljs/istanbuljs/issues/125)) ([0968206](https://github.com/istanbuljs/istanbuljs/commit/0968206))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.9.1"></a>
|
|
||||||
## [1.9.1](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.9.0...istanbul-lib-instrument@1.9.1) (2017-10-22)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* address issue with class instrumentation ([#111](https://github.com/istanbuljs/istanbuljs/issues/111)) ([cbd1c14](https://github.com/istanbuljs/istanbuljs/commit/cbd1c14))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.9.0"></a>
|
|
||||||
# [1.9.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.8.0...istanbul-lib-instrument@1.9.0) (2017-10-21)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* support conditional expression for superClass ([#106](https://github.com/istanbuljs/istanbuljs/issues/106)) ([aae256f](https://github.com/istanbuljs/istanbuljs/commit/aae256f))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add support for ignoring entire files ([#108](https://github.com/istanbuljs/istanbuljs/issues/108)) ([f12da65](https://github.com/istanbuljs/istanbuljs/commit/f12da65))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.8.0"></a>
|
|
||||||
# [1.8.0](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.7.5...istanbul-lib-instrument@1.8.0) (2017-09-05)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add support for object-spread syntax ([#82](https://github.com/istanbuljs/istanbuljs/issues/82)) ([28d5566](https://github.com/istanbuljs/istanbuljs/commit/28d5566))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.7.5"></a>
|
|
||||||
## [1.7.5](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.7.4...istanbul-lib-instrument@1.7.5) (2017-08-23)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* name of function is now preserved or named exports ([#79](https://github.com/istanbuljs/istanbuljs/issues/79)) ([2ce8974](https://github.com/istanbuljs/istanbuljs/commit/2ce8974))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.7.4"></a>
|
|
||||||
## [1.7.4](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.7.3...istanbul-lib-instrument@1.7.4) (2017-07-16)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* update increment operator to appropriate expression type ([#74](https://github.com/istanbuljs/istanbuljs/issues/74)) ([dc69e66](https://github.com/istanbuljs/istanbuljs/commit/dc69e66))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.7.3"></a>
|
|
||||||
## [1.7.3](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.7.2...istanbul-lib-instrument@1.7.3) (2017-06-25)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.7.2"></a>
|
|
||||||
## [1.7.2](https://github.com/istanbuljs/istanbuljs/compare/istanbul-lib-instrument@1.7.1...istanbul-lib-instrument@1.7.2) (2017-05-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* hoist statement counter for class variables, so that name is preserved ([#60](https://github.com/istanbuljs/istanbuljs/issues/60)) ([120d221](https://github.com/istanbuljs/istanbuljs/commit/120d221))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.7.1"></a>
|
|
||||||
## [1.7.1](https://github.com/istanbuljs/istanbul-lib-instrument/compare/istanbul-lib-instrument@1.7.0...istanbul-lib-instrument@1.7.1) (2017-04-29)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* don't instrument a file if it has already been instrumented ([#38](https://github.com/istanbuljs/istanbuljs/issues/38)) ([9c38e4e](https://github.com/istanbuljs/istanbul-lib-instrument/commit/9c38e4e))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.7.0"></a>
|
|
||||||
# [1.7.0](https://github.com/istanbuljs/istanbul-lib-instrument/compare/istanbul-lib-instrument@1.6.2...istanbul-lib-instrument@1.7.0) (2017-03-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* use extended babylon support; adding features such as jsx ([#22](https://github.com/istanbuljs/istanbuljs/issues/22)) ([11c2438](https://github.com/istanbuljs/istanbul-lib-instrument/commit/11c2438))
|
|
||||||
|
|
||||||
<a name="1.6.2"></a>
|
|
||||||
## [1.6.2](https://github.com/istanbuljs/istanbul-lib-instrument/compare/istanbul-lib-instrument@1.6.1...istanbul-lib-instrument@1.6.2) (2017-03-22)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* loc is sometimes not defined, so loc.start fails see [#99](https://github.com/istanbuljs/istanbuljs/issues/99) ([#18](https://github.com/istanbuljs/istanbuljs/issues/18)) ([df85ba6](https://github.com/istanbuljs/istanbul-lib-instrument/commit/df85ba6))
|
|
||||||
|
|
||||||
<a name="1.6.1"></a>
|
|
||||||
## [1.6.1](https://github.com/istanbuljs/istanbul-lib-instrument/compare/istanbul-lib-instrument@1.6.0...istanbul-lib-instrument@1.6.1) (2017-03-21)
|
|
||||||
|
|
||||||
<a name="1.6.0"></a>
|
|
||||||
# [1.6.0](https://github.com/istanbuljs/istanbul-lib-instrument/compare/istanbul-lib-instrument@1.4.2...istanbul-lib-instrument@1.6.0) (2017-03-21)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* adds line number property back to coverage.json ([b03b927](https://github.com/istanbuljs/istanbul-lib-instrument/commit/b03b927))
|
|
||||||
|
|
||||||
<a name="1.4.2"></a>
|
|
||||||
## [1.4.2](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.4.1...v1.4.2) (2017-01-04)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* only hoist counter for a smaller subset of function declarations ([9f8931e](https://github.com/istanbuljs/istanbul-lib-instrument/commit/9f8931e))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.4.1"></a>
|
|
||||||
## [1.4.1](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.4.0...v1.4.1) (2017-01-04)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* address regression discussed in https://github.com/istanbuljs/babel-plugin-istanbul/issues/78 ([#40](https://github.com/istanbuljs/istanbul-lib-instrument/issues/40)) ([7f458a3](https://github.com/istanbuljs/istanbul-lib-instrument/commit/7f458a3))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.4.0"></a>
|
|
||||||
# [1.4.0](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.3.1...v1.4.0) (2017-01-02)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* preserve inferred function names ([#38](https://github.com/istanbuljs/istanbul-lib-instrument/issues/38)) ([312666e](https://github.com/istanbuljs/istanbul-lib-instrument/commit/312666e))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.3.1"></a>
|
|
||||||
## [1.3.1](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.3.0...v1.3.1) (2016-12-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* function declaration assignment now retains function name ([#33](https://github.com/istanbuljs/istanbul-lib-instrument/issues/33)) ([2d781da](https://github.com/istanbuljs/istanbul-lib-instrument/commit/2d781da))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.3.0"></a>
|
|
||||||
# [1.3.0](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.2.0...v1.3.0) (2016-11-10)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* allow an input source-map to be passed to instrumentSync() ([#23](https://github.com/istanbuljs/istanbul-lib-instrument/issues/23)) ([b08e4f5](https://github.com/istanbuljs/istanbul-lib-instrument/commit/b08e4f5))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.2.0"></a>
|
|
||||||
# [1.2.0](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.1.4...v1.2.0) (2016-10-25)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* implement function to extract empty coverage data from an instrumented file ([#28](https://github.com/istanbuljs/istanbul-lib-instrument/issues/28)) ([06d0ef6](https://github.com/istanbuljs/istanbul-lib-instrument/commit/06d0ef6))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.1.4"></a>
|
|
||||||
## [1.1.4](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.1.3...v1.1.4) (2016-10-17)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* hoist coverage variable to very top of file ([#26](https://github.com/istanbuljs/istanbul-lib-instrument/issues/26)) ([0225e8c](https://github.com/istanbuljs/istanbul-lib-instrument/commit/0225e8c))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.1.3"></a>
|
|
||||||
## [1.1.3](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.1.2...v1.1.3) (2016-09-13)
|
|
||||||
|
|
||||||
|
|
||||||
### Performance Improvements
|
|
||||||
|
|
||||||
* simplify coverage variable naming https://github.com/istanbuljs/istanbul-lib-instrument/pull/24 ([7252aae](https://github.com/istanbuljs/istanbul-lib-instrument/commit/7252aae))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.1.2"></a>
|
|
||||||
## [1.1.2](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.1.1...v1.1.2) (2016-09-08)
|
|
||||||
|
|
||||||
|
|
||||||
### Performance Improvements
|
|
||||||
|
|
||||||
* use zero-based numeric indices for much faster instrumented code ([#22](https://github.com/istanbuljs/istanbul-lib-instrument/issues/22)) ([5b401f5](https://github.com/istanbuljs/istanbul-lib-instrument/commit/5b401f5))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.1.1"></a>
|
|
||||||
## [1.1.1](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.1.0...v1.1.1) (2016-08-30)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* upgrade istanbul-lib-coverage ([eb9b1f6](https://github.com/istanbuljs/istanbul-lib-instrument/commit/eb9b1f6))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.1.0"></a>
|
|
||||||
# [1.1.0](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.1.0-alpha.4...v1.1.0) (2016-08-11)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* guard against invalid loc ([#16](https://github.com/istanbuljs/istanbul-lib-instrument/issues/16)) ([23ebfc3](https://github.com/istanbuljs/istanbul-lib-instrument/commit/23ebfc3))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="1.1.0-alpha.4"></a>
|
|
||||||
# [1.1.0-alpha.4](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.0.0-alpha.5...v1.1.0-alpha.4) (2016-07-20)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* require more performant babel-generator ([#15](https://github.com/istanbuljs/istanbul-lib-instrument/issues/15)) ([21b2563](https://github.com/istanbuljs/istanbul-lib-instrument/commit/21b2563))
|
|
24
node_modules/istanbul-lib-instrument/LICENSE
generated
vendored
24
node_modules/istanbul-lib-instrument/LICENSE
generated
vendored
@ -1,24 +0,0 @@
|
|||||||
Copyright 2012-2015 Yahoo! Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
* Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
* Neither the name of the Yahoo! Inc. nor the
|
|
||||||
names of its contributors may be used to endorse or promote products
|
|
||||||
derived from this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY
|
|
||||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
21
node_modules/istanbul-lib-instrument/README.md
generated
vendored
21
node_modules/istanbul-lib-instrument/README.md
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
## istanbul-lib-instrument
|
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/istanbuljs/istanbul-lib-instrument.svg?branch=master)](https://travis-ci.org/istanbuljs/istanbul-lib-instrument)
|
|
||||||
|
|
||||||
Istanbul instrumenter library.
|
|
||||||
|
|
||||||
Version 1.1.x now implements instrumentation using `Babel`. The implementation is inspired
|
|
||||||
by prior art by @dtinth as demonstrated in the `__coverage__` babel plugin.
|
|
||||||
|
|
||||||
It provides 2 "modes" of instrumentation.
|
|
||||||
|
|
||||||
- The old API that is mostly unchanged (except for incompatibilities noted) and
|
|
||||||
performs the instrumentation using babel as a library.
|
|
||||||
|
|
||||||
- A `programVisitor` function for the Babel AST that can be used by a Babel plugin
|
|
||||||
to emit instrumentation for ES6 code directly without any source map
|
|
||||||
processing. This is the preferred path for babel users. The Babel plugin is
|
|
||||||
called `babel-plugin-istanbul`.
|
|
||||||
|
|
||||||
Incompatibilities and changes to instrumentation behavior can be found in
|
|
||||||
[v0-changes.md](v0-changes.md).
|
|
22
node_modules/istanbul-lib-instrument/dist/constants.js
generated
vendored
22
node_modules/istanbul-lib-instrument/dist/constants.js
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.MAGIC_VALUE = exports.MAGIC_KEY = exports.SHA = void 0;
|
|
||||||
|
|
||||||
var _crypto = require("crypto");
|
|
||||||
|
|
||||||
var _semver = require("semver");
|
|
||||||
|
|
||||||
var _package = require("../package.json");
|
|
||||||
|
|
||||||
// function to use for creating hashes
|
|
||||||
const SHA = 'sha1'; // name of coverage data magic key
|
|
||||||
|
|
||||||
exports.SHA = SHA;
|
|
||||||
const MAGIC_KEY = '_coverageSchema'; // name of coverage data magic value
|
|
||||||
|
|
||||||
exports.MAGIC_KEY = MAGIC_KEY;
|
|
||||||
const MAGIC_VALUE = (0, _crypto.createHash)(SHA).update(_package.name + '@' + (0, _semver.major)(_package.version)).digest('hex');
|
|
||||||
exports.MAGIC_VALUE = MAGIC_VALUE;
|
|
42
node_modules/istanbul-lib-instrument/dist/index.js
generated
vendored
42
node_modules/istanbul-lib-instrument/dist/index.js
generated
vendored
@ -1,42 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.createInstrumenter = createInstrumenter;
|
|
||||||
Object.defineProperty(exports, "programVisitor", {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _visitor.default;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Object.defineProperty(exports, "readInitialCoverage", {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _readCoverage.default;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
exports.defaultOpts = void 0;
|
|
||||||
|
|
||||||
var _schema = require("@istanbuljs/schema");
|
|
||||||
|
|
||||||
var _instrumenter = _interopRequireDefault(require("./instrumenter"));
|
|
||||||
|
|
||||||
var _visitor = _interopRequireDefault(require("./visitor"));
|
|
||||||
|
|
||||||
var _readCoverage = _interopRequireDefault(require("./read-coverage"));
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* createInstrumenter creates a new instrumenter with the
|
|
||||||
* supplied options.
|
|
||||||
* @param {Object} opts - instrumenter options. See the documentation
|
|
||||||
* for the Instrumenter class.
|
|
||||||
*/
|
|
||||||
function createInstrumenter(opts) {
|
|
||||||
return new _instrumenter.default(opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
const defaultOpts = _schema.defaults.instrumenter;
|
|
||||||
exports.defaultOpts = defaultOpts;
|
|
182
node_modules/istanbul-lib-instrument/dist/instrumenter.js
generated
vendored
182
node_modules/istanbul-lib-instrument/dist/instrumenter.js
generated
vendored
@ -1,182 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
var _core = require("@babel/core");
|
|
||||||
|
|
||||||
var _schema = require("@istanbuljs/schema");
|
|
||||||
|
|
||||||
var _visitor = _interopRequireDefault(require("./visitor"));
|
|
||||||
|
|
||||||
var _readCoverage = _interopRequireDefault(require("./read-coverage"));
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
Copyright 2012-2015, Yahoo Inc.
|
|
||||||
Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instrumenter is the public API for the instrument library.
|
|
||||||
* It is typically used for ES5 code. For ES6 code that you
|
|
||||||
* are already running under `babel` use the coverage plugin
|
|
||||||
* instead.
|
|
||||||
* @param {Object} opts optional.
|
|
||||||
* @param {string} [opts.coverageVariable=__coverage__] name of global coverage variable.
|
|
||||||
* @param {boolean} [opts.preserveComments=false] preserve comments in output
|
|
||||||
* @param {boolean} [opts.compact=true] generate compact code.
|
|
||||||
* @param {boolean} [opts.esModules=false] set to true to instrument ES6 modules.
|
|
||||||
* @param {boolean} [opts.autoWrap=false] set to true to allow `return` statements outside of functions.
|
|
||||||
* @param {boolean} [opts.produceSourceMap=false] set to true to produce a source map for the instrumented code.
|
|
||||||
* @param {Array} [opts.ignoreClassMethods=[]] set to array of class method names to ignore for coverage.
|
|
||||||
* @param {Function} [opts.sourceMapUrlCallback=null] a callback function that is called when a source map URL
|
|
||||||
* is found in the original code. This function is called with the source file name and the source map URL.
|
|
||||||
* @param {boolean} [opts.debug=false] - turn debugging on
|
|
||||||
* @param {array} [opts.parserPlugins] - set babel parser plugins, see @istanbuljs/schema for defaults.
|
|
||||||
*/
|
|
||||||
class Instrumenter {
|
|
||||||
constructor(opts = {}) {
|
|
||||||
this.opts = { ..._schema.defaults.instrumenter,
|
|
||||||
...opts
|
|
||||||
};
|
|
||||||
this.fileCoverage = null;
|
|
||||||
this.sourceMap = null;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* instrument the supplied code and track coverage against the supplied
|
|
||||||
* filename. It throws if invalid code is passed to it. ES5 and ES6 syntax
|
|
||||||
* is supported. To instrument ES6 modules, make sure that you set the
|
|
||||||
* `esModules` property to `true` when creating the instrumenter.
|
|
||||||
*
|
|
||||||
* @param {string} code - the code to instrument
|
|
||||||
* @param {string} filename - the filename against which to track coverage.
|
|
||||||
* @param {object} [inputSourceMap] - the source map that maps the not instrumented code back to it's original form.
|
|
||||||
* Is assigned to the coverage object and therefore, is available in the json output and can be used to remap the
|
|
||||||
* coverage to the untranspiled source.
|
|
||||||
* @returns {string} the instrumented code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
instrumentSync(code, filename, inputSourceMap) {
|
|
||||||
if (typeof code !== 'string') {
|
|
||||||
throw new Error('Code must be a string');
|
|
||||||
}
|
|
||||||
|
|
||||||
filename = filename || String(new Date().getTime()) + '.js';
|
|
||||||
const {
|
|
||||||
opts
|
|
||||||
} = this;
|
|
||||||
let output = {};
|
|
||||||
const babelOpts = {
|
|
||||||
configFile: false,
|
|
||||||
babelrc: false,
|
|
||||||
ast: true,
|
|
||||||
filename: filename || String(new Date().getTime()) + '.js',
|
|
||||||
inputSourceMap,
|
|
||||||
sourceMaps: opts.produceSourceMap,
|
|
||||||
compact: opts.compact,
|
|
||||||
comments: opts.preserveComments,
|
|
||||||
parserOpts: {
|
|
||||||
allowReturnOutsideFunction: opts.autoWrap,
|
|
||||||
sourceType: opts.esModules ? 'module' : 'script',
|
|
||||||
plugins: opts.parserPlugins
|
|
||||||
},
|
|
||||||
plugins: [[({
|
|
||||||
types
|
|
||||||
}) => {
|
|
||||||
const ee = (0, _visitor.default)(types, filename, {
|
|
||||||
coverageVariable: opts.coverageVariable,
|
|
||||||
coverageGlobalScope: opts.coverageGlobalScope,
|
|
||||||
coverageGlobalScopeFunc: opts.coverageGlobalScopeFunc,
|
|
||||||
ignoreClassMethods: opts.ignoreClassMethods,
|
|
||||||
inputSourceMap
|
|
||||||
});
|
|
||||||
return {
|
|
||||||
visitor: {
|
|
||||||
Program: {
|
|
||||||
enter: ee.enter,
|
|
||||||
|
|
||||||
exit(path) {
|
|
||||||
output = ee.exit(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}]]
|
|
||||||
};
|
|
||||||
const codeMap = (0, _core.transformSync)(code, babelOpts);
|
|
||||||
|
|
||||||
if (!output || !output.fileCoverage) {
|
|
||||||
const initialCoverage = (0, _readCoverage.default)(codeMap.ast) ||
|
|
||||||
/* istanbul ignore next: paranoid check */
|
|
||||||
{};
|
|
||||||
this.fileCoverage = initialCoverage.coverageData;
|
|
||||||
this.sourceMap = inputSourceMap;
|
|
||||||
return code;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.fileCoverage = output.fileCoverage;
|
|
||||||
this.sourceMap = codeMap.map;
|
|
||||||
const cb = this.opts.sourceMapUrlCallback;
|
|
||||||
|
|
||||||
if (cb && output.sourceMappingURL) {
|
|
||||||
cb(filename, output.sourceMappingURL);
|
|
||||||
}
|
|
||||||
|
|
||||||
return codeMap.code;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* callback-style instrument method that calls back with an error
|
|
||||||
* as opposed to throwing one. Note that in the current implementation,
|
|
||||||
* the callback will be called in the same process tick and is not asynchronous.
|
|
||||||
*
|
|
||||||
* @param {string} code - the code to instrument
|
|
||||||
* @param {string} filename - the filename against which to track coverage.
|
|
||||||
* @param {Function} callback - the callback
|
|
||||||
* @param {Object} inputSourceMap - the source map that maps the not instrumented code back to it's original form.
|
|
||||||
* Is assigned to the coverage object and therefore, is available in the json output and can be used to remap the
|
|
||||||
* coverage to the untranspiled source.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
instrument(code, filename, callback, inputSourceMap) {
|
|
||||||
if (!callback && typeof filename === 'function') {
|
|
||||||
callback = filename;
|
|
||||||
filename = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
const out = this.instrumentSync(code, filename, inputSourceMap);
|
|
||||||
callback(null, out);
|
|
||||||
} catch (ex) {
|
|
||||||
callback(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* returns the file coverage object for the last file instrumented.
|
|
||||||
* @returns {Object} the file coverage object.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
lastFileCoverage() {
|
|
||||||
return this.fileCoverage;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* returns the source map produced for the last file instrumented.
|
|
||||||
* @returns {null|Object} the source map object.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
lastSourceMap() {
|
|
||||||
return this.sourceMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
var _default = Instrumenter;
|
|
||||||
exports.default = _default;
|
|
87
node_modules/istanbul-lib-instrument/dist/read-coverage.js
generated
vendored
87
node_modules/istanbul-lib-instrument/dist/read-coverage.js
generated
vendored
@ -1,87 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = readInitialCoverage;
|
|
||||||
|
|
||||||
var _parser = require("@babel/parser");
|
|
||||||
|
|
||||||
var _traverse = _interopRequireDefault(require("@babel/traverse"));
|
|
||||||
|
|
||||||
var _schema = require("@istanbuljs/schema");
|
|
||||||
|
|
||||||
var _constants = require("./constants");
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
function getAst(code) {
|
|
||||||
if (typeof code === 'object' && typeof code.type === 'string') {
|
|
||||||
// Assume code is already a babel ast.
|
|
||||||
return code;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof code !== 'string') {
|
|
||||||
throw new Error('Code must be a string');
|
|
||||||
} // Parse as leniently as possible
|
|
||||||
|
|
||||||
|
|
||||||
return (0, _parser.parse)(code, {
|
|
||||||
allowImportExportEverywhere: true,
|
|
||||||
allowReturnOutsideFunction: true,
|
|
||||||
allowSuperOutsideMethod: true,
|
|
||||||
sourceType: 'script',
|
|
||||||
plugins: _schema.defaults.instrumenter.parserPlugins
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function readInitialCoverage(code) {
|
|
||||||
const ast = getAst(code);
|
|
||||||
let covScope;
|
|
||||||
(0, _traverse.default)(ast, {
|
|
||||||
ObjectProperty(path) {
|
|
||||||
const {
|
|
||||||
node
|
|
||||||
} = path;
|
|
||||||
|
|
||||||
if (!node.computed && path.get('key').isIdentifier() && node.key.name === _constants.MAGIC_KEY) {
|
|
||||||
const magicValue = path.get('value').evaluate();
|
|
||||||
|
|
||||||
if (!magicValue.confident || magicValue.value !== _constants.MAGIC_VALUE) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
covScope = path.scope.getFunctionParent() || path.scope.getProgramParent();
|
|
||||||
path.stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!covScope) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const result = {};
|
|
||||||
|
|
||||||
for (const key of ['path', 'hash', 'gcv', 'coverageData']) {
|
|
||||||
const binding = covScope.getOwnBinding(key);
|
|
||||||
|
|
||||||
if (!binding) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const valuePath = binding.path.get('init');
|
|
||||||
const value = valuePath.evaluate();
|
|
||||||
|
|
||||||
if (!value.confident) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
result[key] = value.value;
|
|
||||||
}
|
|
||||||
|
|
||||||
delete result.coverageData[_constants.MAGIC_KEY];
|
|
||||||
delete result.coverageData.hash;
|
|
||||||
return result;
|
|
||||||
}
|
|
121
node_modules/istanbul-lib-instrument/dist/source-coverage.js
generated
vendored
121
node_modules/istanbul-lib-instrument/dist/source-coverage.js
generated
vendored
@ -1,121 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.SourceCoverage = void 0;
|
|
||||||
|
|
||||||
var _istanbulLibCoverage = require("istanbul-lib-coverage");
|
|
||||||
|
|
||||||
function cloneLocation(loc) {
|
|
||||||
return {
|
|
||||||
start: {
|
|
||||||
line: loc && loc.start.line,
|
|
||||||
column: loc && loc.start.column
|
|
||||||
},
|
|
||||||
end: {
|
|
||||||
line: loc && loc.end.line,
|
|
||||||
column: loc && loc.end.column
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* SourceCoverage provides mutation methods to manipulate the structure of
|
|
||||||
* a file coverage object. Used by the instrumenter to create a full coverage
|
|
||||||
* object for a file incrementally.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
* @param pathOrObj {String|Object} - see the argument for {@link FileCoverage}
|
|
||||||
* @extends FileCoverage
|
|
||||||
* @constructor
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
class SourceCoverage extends _istanbulLibCoverage.classes.FileCoverage {
|
|
||||||
constructor(pathOrObj) {
|
|
||||||
super(pathOrObj);
|
|
||||||
this.meta = {
|
|
||||||
last: {
|
|
||||||
s: 0,
|
|
||||||
f: 0,
|
|
||||||
b: 0
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
newStatement(loc) {
|
|
||||||
const s = this.meta.last.s;
|
|
||||||
this.data.statementMap[s] = cloneLocation(loc);
|
|
||||||
this.data.s[s] = 0;
|
|
||||||
this.meta.last.s += 1;
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
|
|
||||||
newFunction(name, decl, loc) {
|
|
||||||
const f = this.meta.last.f;
|
|
||||||
name = name || '(anonymous_' + f + ')';
|
|
||||||
this.data.fnMap[f] = {
|
|
||||||
name,
|
|
||||||
decl: cloneLocation(decl),
|
|
||||||
loc: cloneLocation(loc),
|
|
||||||
// DEPRECATED: some legacy reports require this info.
|
|
||||||
line: loc && loc.start.line
|
|
||||||
};
|
|
||||||
this.data.f[f] = 0;
|
|
||||||
this.meta.last.f += 1;
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
newBranch(type, loc) {
|
|
||||||
const b = this.meta.last.b;
|
|
||||||
this.data.b[b] = [];
|
|
||||||
this.data.branchMap[b] = {
|
|
||||||
loc: cloneLocation(loc),
|
|
||||||
type,
|
|
||||||
locations: [],
|
|
||||||
// DEPRECATED: some legacy reports require this info.
|
|
||||||
line: loc && loc.start.line
|
|
||||||
};
|
|
||||||
this.meta.last.b += 1;
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
|
|
||||||
addBranchPath(name, location) {
|
|
||||||
const bMeta = this.data.branchMap[name];
|
|
||||||
const counts = this.data.b[name];
|
|
||||||
/* istanbul ignore if: paranoid check */
|
|
||||||
|
|
||||||
if (!bMeta) {
|
|
||||||
throw new Error('Invalid branch ' + name);
|
|
||||||
}
|
|
||||||
|
|
||||||
bMeta.locations.push(cloneLocation(location));
|
|
||||||
counts.push(0);
|
|
||||||
return counts.length - 1;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Assigns an input source map to the coverage that can be used
|
|
||||||
* to remap the coverage output to the original source
|
|
||||||
* @param sourceMap {object} the source map
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
inputSourceMap(sourceMap) {
|
|
||||||
this.data.inputSourceMap = sourceMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
freeze() {
|
|
||||||
// prune empty branches
|
|
||||||
const map = this.data.branchMap;
|
|
||||||
const branches = this.data.b;
|
|
||||||
Object.keys(map).forEach(b => {
|
|
||||||
if (map[b].locations.length === 0) {
|
|
||||||
delete map[b];
|
|
||||||
delete branches[b];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.SourceCoverage = SourceCoverage;
|
|
680
node_modules/istanbul-lib-instrument/dist/visitor.js
generated
vendored
680
node_modules/istanbul-lib-instrument/dist/visitor.js
generated
vendored
@ -1,680 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
var _crypto = require("crypto");
|
|
||||||
|
|
||||||
var _template = _interopRequireDefault(require("@babel/template"));
|
|
||||||
|
|
||||||
var _schema = require("@istanbuljs/schema");
|
|
||||||
|
|
||||||
var _sourceCoverage = require("./source-coverage");
|
|
||||||
|
|
||||||
var _constants = require("./constants");
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
// pattern for istanbul to ignore a section
|
|
||||||
const COMMENT_RE = /^\s*istanbul\s+ignore\s+(if|else|next)(?=\W|$)/; // pattern for istanbul to ignore the whole file
|
|
||||||
|
|
||||||
const COMMENT_FILE_RE = /^\s*istanbul\s+ignore\s+(file)(?=\W|$)/; // source map URL pattern
|
|
||||||
|
|
||||||
const SOURCE_MAP_RE = /[#@]\s*sourceMappingURL=(.*)\s*$/m; // generate a variable name from hashing the supplied file path
|
|
||||||
|
|
||||||
function genVar(filename) {
|
|
||||||
const hash = (0, _crypto.createHash)(_constants.SHA);
|
|
||||||
hash.update(filename);
|
|
||||||
return 'cov_' + parseInt(hash.digest('hex').substr(0, 12), 16).toString(36);
|
|
||||||
} // VisitState holds the state of the visitor, provides helper functions
|
|
||||||
// and is the `this` for the individual coverage visitors.
|
|
||||||
|
|
||||||
|
|
||||||
class VisitState {
|
|
||||||
constructor(types, sourceFilePath, inputSourceMap, ignoreClassMethods = []) {
|
|
||||||
this.varName = genVar(sourceFilePath);
|
|
||||||
this.attrs = {};
|
|
||||||
this.nextIgnore = null;
|
|
||||||
this.cov = new _sourceCoverage.SourceCoverage(sourceFilePath);
|
|
||||||
|
|
||||||
if (typeof inputSourceMap !== 'undefined') {
|
|
||||||
this.cov.inputSourceMap(inputSourceMap);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.ignoreClassMethods = ignoreClassMethods;
|
|
||||||
this.types = types;
|
|
||||||
this.sourceMappingURL = null;
|
|
||||||
} // should we ignore the node? Yes, if specifically ignoring
|
|
||||||
// or if the node is generated.
|
|
||||||
|
|
||||||
|
|
||||||
shouldIgnore(path) {
|
|
||||||
return this.nextIgnore || !path.node.loc;
|
|
||||||
} // extract the ignore comment hint (next|if|else) or null
|
|
||||||
|
|
||||||
|
|
||||||
hintFor(node) {
|
|
||||||
let hint = null;
|
|
||||||
|
|
||||||
if (node.leadingComments) {
|
|
||||||
node.leadingComments.forEach(c => {
|
|
||||||
const v = (c.value ||
|
|
||||||
/* istanbul ignore next: paranoid check */
|
|
||||||
'').trim();
|
|
||||||
const groups = v.match(COMMENT_RE);
|
|
||||||
|
|
||||||
if (groups) {
|
|
||||||
hint = groups[1];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return hint;
|
|
||||||
} // extract a source map URL from comments and keep track of it
|
|
||||||
|
|
||||||
|
|
||||||
maybeAssignSourceMapURL(node) {
|
|
||||||
const extractURL = comments => {
|
|
||||||
if (!comments) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
comments.forEach(c => {
|
|
||||||
const v = (c.value ||
|
|
||||||
/* istanbul ignore next: paranoid check */
|
|
||||||
'').trim();
|
|
||||||
const groups = v.match(SOURCE_MAP_RE);
|
|
||||||
|
|
||||||
if (groups) {
|
|
||||||
this.sourceMappingURL = groups[1];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
extractURL(node.leadingComments);
|
|
||||||
extractURL(node.trailingComments);
|
|
||||||
} // for these expressions the statement counter needs to be hoisted, so
|
|
||||||
// function name inference can be preserved
|
|
||||||
|
|
||||||
|
|
||||||
counterNeedsHoisting(path) {
|
|
||||||
return path.isFunctionExpression() || path.isArrowFunctionExpression() || path.isClassExpression();
|
|
||||||
} // all the generic stuff that needs to be done on enter for every node
|
|
||||||
|
|
||||||
|
|
||||||
onEnter(path) {
|
|
||||||
const n = path.node;
|
|
||||||
this.maybeAssignSourceMapURL(n); // if already ignoring, nothing more to do
|
|
||||||
|
|
||||||
if (this.nextIgnore !== null) {
|
|
||||||
return;
|
|
||||||
} // check hint to see if ignore should be turned on
|
|
||||||
|
|
||||||
|
|
||||||
const hint = this.hintFor(n);
|
|
||||||
|
|
||||||
if (hint === 'next') {
|
|
||||||
this.nextIgnore = n;
|
|
||||||
return;
|
|
||||||
} // else check custom node attribute set by a prior visitor
|
|
||||||
|
|
||||||
|
|
||||||
if (this.getAttr(path.node, 'skip-all') !== null) {
|
|
||||||
this.nextIgnore = n;
|
|
||||||
} // else check for ignored class methods
|
|
||||||
|
|
||||||
|
|
||||||
if (path.isFunctionExpression() && this.ignoreClassMethods.some(name => path.node.id && name === path.node.id.name)) {
|
|
||||||
this.nextIgnore = n;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (path.isClassMethod() && this.ignoreClassMethods.some(name => name === path.node.key.name)) {
|
|
||||||
this.nextIgnore = n;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} // all the generic stuff on exit of a node,
|
|
||||||
// including reseting ignores and custom node attrs
|
|
||||||
|
|
||||||
|
|
||||||
onExit(path) {
|
|
||||||
// restore ignore status, if needed
|
|
||||||
if (path.node === this.nextIgnore) {
|
|
||||||
this.nextIgnore = null;
|
|
||||||
} // nuke all attributes for the node
|
|
||||||
|
|
||||||
|
|
||||||
delete path.node.__cov__;
|
|
||||||
} // set a node attribute for the supplied node
|
|
||||||
|
|
||||||
|
|
||||||
setAttr(node, name, value) {
|
|
||||||
node.__cov__ = node.__cov__ || {};
|
|
||||||
node.__cov__[name] = value;
|
|
||||||
} // retrieve a node attribute for the supplied node or null
|
|
||||||
|
|
||||||
|
|
||||||
getAttr(node, name) {
|
|
||||||
const c = node.__cov__;
|
|
||||||
|
|
||||||
if (!c) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return c[name];
|
|
||||||
} //
|
|
||||||
|
|
||||||
|
|
||||||
increase(type, id, index) {
|
|
||||||
const T = this.types;
|
|
||||||
const wrap = index !== null ? // If `index` present, turn `x` into `x[index]`.
|
|
||||||
x => T.memberExpression(x, T.numericLiteral(index), true) : x => x;
|
|
||||||
return T.updateExpression('++', wrap(T.memberExpression(T.memberExpression(T.callExpression(T.identifier(this.varName), []), T.identifier(type)), T.numericLiteral(id), true)));
|
|
||||||
}
|
|
||||||
|
|
||||||
insertCounter(path, increment) {
|
|
||||||
const T = this.types;
|
|
||||||
|
|
||||||
if (path.isBlockStatement()) {
|
|
||||||
path.node.body.unshift(T.expressionStatement(increment));
|
|
||||||
} else if (path.isStatement()) {
|
|
||||||
path.insertBefore(T.expressionStatement(increment));
|
|
||||||
} else if (this.counterNeedsHoisting(path) && T.isVariableDeclarator(path.parentPath)) {
|
|
||||||
// make an attempt to hoist the statement counter, so that
|
|
||||||
// function names are maintained.
|
|
||||||
const parent = path.parentPath.parentPath;
|
|
||||||
|
|
||||||
if (parent && T.isExportNamedDeclaration(parent.parentPath)) {
|
|
||||||
parent.parentPath.insertBefore(T.expressionStatement(increment));
|
|
||||||
} else if (parent && (T.isProgram(parent.parentPath) || T.isBlockStatement(parent.parentPath))) {
|
|
||||||
parent.insertBefore(T.expressionStatement(increment));
|
|
||||||
} else {
|
|
||||||
path.replaceWith(T.sequenceExpression([increment, path.node]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* istanbul ignore else: not expected */
|
|
||||||
else if (path.isExpression()) {
|
|
||||||
path.replaceWith(T.sequenceExpression([increment, path.node]));
|
|
||||||
} else {
|
|
||||||
console.error('Unable to insert counter for node type:', path.node.type);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
insertStatementCounter(path) {
|
|
||||||
/* istanbul ignore if: paranoid check */
|
|
||||||
if (!(path.node && path.node.loc)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const index = this.cov.newStatement(path.node.loc);
|
|
||||||
const increment = this.increase('s', index, null);
|
|
||||||
this.insertCounter(path, increment);
|
|
||||||
}
|
|
||||||
|
|
||||||
insertFunctionCounter(path) {
|
|
||||||
const T = this.types;
|
|
||||||
/* istanbul ignore if: paranoid check */
|
|
||||||
|
|
||||||
if (!(path.node && path.node.loc)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const n = path.node;
|
|
||||||
let dloc = null; // get location for declaration
|
|
||||||
|
|
||||||
switch (n.type) {
|
|
||||||
case 'FunctionDeclaration':
|
|
||||||
/* istanbul ignore else: paranoid check */
|
|
||||||
if (n.id) {
|
|
||||||
dloc = n.id.loc;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'FunctionExpression':
|
|
||||||
if (n.id) {
|
|
||||||
dloc = n.id.loc;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!dloc) {
|
|
||||||
dloc = {
|
|
||||||
start: n.loc.start,
|
|
||||||
end: {
|
|
||||||
line: n.loc.start.line,
|
|
||||||
column: n.loc.start.column + 1
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const name = path.node.id ? path.node.id.name : path.node.name;
|
|
||||||
const index = this.cov.newFunction(name, dloc, path.node.body.loc);
|
|
||||||
const increment = this.increase('f', index, null);
|
|
||||||
const body = path.get('body');
|
|
||||||
/* istanbul ignore else: not expected */
|
|
||||||
|
|
||||||
if (body.isBlockStatement()) {
|
|
||||||
body.node.body.unshift(T.expressionStatement(increment));
|
|
||||||
} else {
|
|
||||||
console.error('Unable to process function body node type:', path.node.type);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getBranchIncrement(branchName, loc) {
|
|
||||||
const index = this.cov.addBranchPath(branchName, loc);
|
|
||||||
return this.increase('b', branchName, index);
|
|
||||||
}
|
|
||||||
|
|
||||||
insertBranchCounter(path, branchName, loc) {
|
|
||||||
const increment = this.getBranchIncrement(branchName, loc || path.node.loc);
|
|
||||||
this.insertCounter(path, increment);
|
|
||||||
}
|
|
||||||
|
|
||||||
findLeaves(node, accumulator, parent, property) {
|
|
||||||
if (!node) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.type === 'LogicalExpression') {
|
|
||||||
const hint = this.hintFor(node);
|
|
||||||
|
|
||||||
if (hint !== 'next') {
|
|
||||||
this.findLeaves(node.left, accumulator, node, 'left');
|
|
||||||
this.findLeaves(node.right, accumulator, node, 'right');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
accumulator.push({
|
|
||||||
node,
|
|
||||||
parent,
|
|
||||||
property
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
} // generic function that takes a set of visitor methods and
|
|
||||||
// returns a visitor object with `enter` and `exit` properties,
|
|
||||||
// such that:
|
|
||||||
//
|
|
||||||
// * standard entry processing is done
|
|
||||||
// * the supplied visitors are called only when ignore is not in effect
|
|
||||||
// This relieves them from worrying about ignore states and generated nodes.
|
|
||||||
// * standard exit processing is done
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
function entries(...enter) {
|
|
||||||
// the enter function
|
|
||||||
const wrappedEntry = function (path, node) {
|
|
||||||
this.onEnter(path);
|
|
||||||
|
|
||||||
if (this.shouldIgnore(path)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
enter.forEach(e => {
|
|
||||||
e.call(this, path, node);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const exit = function (path, node) {
|
|
||||||
this.onExit(path, node);
|
|
||||||
};
|
|
||||||
|
|
||||||
return {
|
|
||||||
enter: wrappedEntry,
|
|
||||||
exit
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function coverStatement(path) {
|
|
||||||
this.insertStatementCounter(path);
|
|
||||||
}
|
|
||||||
/* istanbul ignore next: no node.js support */
|
|
||||||
|
|
||||||
|
|
||||||
function coverAssignmentPattern(path) {
|
|
||||||
const n = path.node;
|
|
||||||
const b = this.cov.newBranch('default-arg', n.loc);
|
|
||||||
this.insertBranchCounter(path.get('right'), b);
|
|
||||||
}
|
|
||||||
|
|
||||||
function coverFunction(path) {
|
|
||||||
this.insertFunctionCounter(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
function coverVariableDeclarator(path) {
|
|
||||||
this.insertStatementCounter(path.get('init'));
|
|
||||||
}
|
|
||||||
|
|
||||||
function coverClassPropDeclarator(path) {
|
|
||||||
this.insertStatementCounter(path.get('value'));
|
|
||||||
}
|
|
||||||
|
|
||||||
function makeBlock(path) {
|
|
||||||
const T = this.types;
|
|
||||||
|
|
||||||
if (!path.node) {
|
|
||||||
path.replaceWith(T.blockStatement([]));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!path.isBlockStatement()) {
|
|
||||||
path.replaceWith(T.blockStatement([path.node]));
|
|
||||||
path.node.loc = path.node.body[0].loc;
|
|
||||||
path.node.body[0].leadingComments = path.node.leadingComments;
|
|
||||||
path.node.leadingComments = undefined;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function blockProp(prop) {
|
|
||||||
return function (path) {
|
|
||||||
makeBlock.call(this, path.get(prop));
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function makeParenthesizedExpressionForNonIdentifier(path) {
|
|
||||||
const T = this.types;
|
|
||||||
|
|
||||||
if (path.node && !path.isIdentifier()) {
|
|
||||||
path.replaceWith(T.parenthesizedExpression(path.node));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function parenthesizedExpressionProp(prop) {
|
|
||||||
return function (path) {
|
|
||||||
makeParenthesizedExpressionForNonIdentifier.call(this, path.get(prop));
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function convertArrowExpression(path) {
|
|
||||||
const n = path.node;
|
|
||||||
const T = this.types;
|
|
||||||
|
|
||||||
if (!T.isBlockStatement(n.body)) {
|
|
||||||
const bloc = n.body.loc;
|
|
||||||
|
|
||||||
if (n.expression === true) {
|
|
||||||
n.expression = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
n.body = T.blockStatement([T.returnStatement(n.body)]); // restore body location
|
|
||||||
|
|
||||||
n.body.loc = bloc; // set up the location for the return statement so it gets
|
|
||||||
// instrumented
|
|
||||||
|
|
||||||
n.body.body[0].loc = bloc;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function coverIfBranches(path) {
|
|
||||||
const n = path.node;
|
|
||||||
const hint = this.hintFor(n);
|
|
||||||
const ignoreIf = hint === 'if';
|
|
||||||
const ignoreElse = hint === 'else';
|
|
||||||
const branch = this.cov.newBranch('if', n.loc);
|
|
||||||
|
|
||||||
if (ignoreIf) {
|
|
||||||
this.setAttr(n.consequent, 'skip-all', true);
|
|
||||||
} else {
|
|
||||||
this.insertBranchCounter(path.get('consequent'), branch, n.loc);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ignoreElse) {
|
|
||||||
this.setAttr(n.alternate, 'skip-all', true);
|
|
||||||
} else {
|
|
||||||
this.insertBranchCounter(path.get('alternate'), branch, n.loc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function createSwitchBranch(path) {
|
|
||||||
const b = this.cov.newBranch('switch', path.node.loc);
|
|
||||||
this.setAttr(path.node, 'branchName', b);
|
|
||||||
}
|
|
||||||
|
|
||||||
function coverSwitchCase(path) {
|
|
||||||
const T = this.types;
|
|
||||||
const b = this.getAttr(path.parentPath.node, 'branchName');
|
|
||||||
/* istanbul ignore if: paranoid check */
|
|
||||||
|
|
||||||
if (b === null) {
|
|
||||||
throw new Error('Unable to get switch branch name');
|
|
||||||
}
|
|
||||||
|
|
||||||
const increment = this.getBranchIncrement(b, path.node.loc);
|
|
||||||
path.node.consequent.unshift(T.expressionStatement(increment));
|
|
||||||
}
|
|
||||||
|
|
||||||
function coverTernary(path) {
|
|
||||||
const n = path.node;
|
|
||||||
const branch = this.cov.newBranch('cond-expr', path.node.loc);
|
|
||||||
const cHint = this.hintFor(n.consequent);
|
|
||||||
const aHint = this.hintFor(n.alternate);
|
|
||||||
|
|
||||||
if (cHint !== 'next') {
|
|
||||||
this.insertBranchCounter(path.get('consequent'), branch);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (aHint !== 'next') {
|
|
||||||
this.insertBranchCounter(path.get('alternate'), branch);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function coverLogicalExpression(path) {
|
|
||||||
const T = this.types;
|
|
||||||
|
|
||||||
if (path.parentPath.node.type === 'LogicalExpression') {
|
|
||||||
return; // already processed
|
|
||||||
}
|
|
||||||
|
|
||||||
const leaves = [];
|
|
||||||
this.findLeaves(path.node, leaves);
|
|
||||||
const b = this.cov.newBranch('binary-expr', path.node.loc);
|
|
||||||
|
|
||||||
for (let i = 0; i < leaves.length; i += 1) {
|
|
||||||
const leaf = leaves[i];
|
|
||||||
const hint = this.hintFor(leaf.node);
|
|
||||||
|
|
||||||
if (hint === 'next') {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const increment = this.getBranchIncrement(b, leaf.node.loc);
|
|
||||||
|
|
||||||
if (!increment) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
leaf.parent[leaf.property] = T.sequenceExpression([increment, leaf.node]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const codeVisitor = {
|
|
||||||
ArrowFunctionExpression: entries(convertArrowExpression, coverFunction),
|
|
||||||
AssignmentPattern: entries(coverAssignmentPattern),
|
|
||||||
BlockStatement: entries(),
|
|
||||||
// ignore processing only
|
|
||||||
ExportDefaultDeclaration: entries(),
|
|
||||||
// ignore processing only
|
|
||||||
ExportNamedDeclaration: entries(),
|
|
||||||
// ignore processing only
|
|
||||||
ClassMethod: entries(coverFunction),
|
|
||||||
ClassDeclaration: entries(parenthesizedExpressionProp('superClass')),
|
|
||||||
ClassProperty: entries(coverClassPropDeclarator),
|
|
||||||
ClassPrivateProperty: entries(coverClassPropDeclarator),
|
|
||||||
ObjectMethod: entries(coverFunction),
|
|
||||||
ExpressionStatement: entries(coverStatement),
|
|
||||||
BreakStatement: entries(coverStatement),
|
|
||||||
ContinueStatement: entries(coverStatement),
|
|
||||||
DebuggerStatement: entries(coverStatement),
|
|
||||||
ReturnStatement: entries(coverStatement),
|
|
||||||
ThrowStatement: entries(coverStatement),
|
|
||||||
TryStatement: entries(coverStatement),
|
|
||||||
VariableDeclaration: entries(),
|
|
||||||
// ignore processing only
|
|
||||||
VariableDeclarator: entries(coverVariableDeclarator),
|
|
||||||
IfStatement: entries(blockProp('consequent'), blockProp('alternate'), coverStatement, coverIfBranches),
|
|
||||||
ForStatement: entries(blockProp('body'), coverStatement),
|
|
||||||
ForInStatement: entries(blockProp('body'), coverStatement),
|
|
||||||
ForOfStatement: entries(blockProp('body'), coverStatement),
|
|
||||||
WhileStatement: entries(blockProp('body'), coverStatement),
|
|
||||||
DoWhileStatement: entries(blockProp('body'), coverStatement),
|
|
||||||
SwitchStatement: entries(createSwitchBranch, coverStatement),
|
|
||||||
SwitchCase: entries(coverSwitchCase),
|
|
||||||
WithStatement: entries(blockProp('body'), coverStatement),
|
|
||||||
FunctionDeclaration: entries(coverFunction),
|
|
||||||
FunctionExpression: entries(coverFunction),
|
|
||||||
LabeledStatement: entries(coverStatement),
|
|
||||||
ConditionalExpression: entries(coverTernary),
|
|
||||||
LogicalExpression: entries(coverLogicalExpression)
|
|
||||||
};
|
|
||||||
const globalTemplateAlteredFunction = (0, _template.default)(`
|
|
||||||
var Function = (function(){}).constructor;
|
|
||||||
var global = (new Function(GLOBAL_COVERAGE_SCOPE))();
|
|
||||||
`);
|
|
||||||
const globalTemplateFunction = (0, _template.default)(`
|
|
||||||
var global = (new Function(GLOBAL_COVERAGE_SCOPE))();
|
|
||||||
`);
|
|
||||||
const globalTemplateVariable = (0, _template.default)(`
|
|
||||||
var global = GLOBAL_COVERAGE_SCOPE;
|
|
||||||
`); // the template to insert at the top of the program.
|
|
||||||
|
|
||||||
const coverageTemplate = (0, _template.default)(`
|
|
||||||
function COVERAGE_FUNCTION () {
|
|
||||||
var path = PATH;
|
|
||||||
var hash = HASH;
|
|
||||||
GLOBAL_COVERAGE_TEMPLATE
|
|
||||||
var gcv = GLOBAL_COVERAGE_VAR;
|
|
||||||
var coverageData = INITIAL;
|
|
||||||
var coverage = global[gcv] || (global[gcv] = {});
|
|
||||||
if (!coverage[path] || coverage[path].hash !== hash) {
|
|
||||||
coverage[path] = coverageData;
|
|
||||||
}
|
|
||||||
|
|
||||||
var actualCoverage = coverage[path];
|
|
||||||
COVERAGE_FUNCTION = function () {
|
|
||||||
return actualCoverage;
|
|
||||||
}
|
|
||||||
|
|
||||||
return actualCoverage;
|
|
||||||
}
|
|
||||||
`); // the rewire plugin (and potentially other babel middleware)
|
|
||||||
// may cause files to be instrumented twice, see:
|
|
||||||
// https://github.com/istanbuljs/babel-plugin-istanbul/issues/94
|
|
||||||
// we should only instrument code for coverage the first time
|
|
||||||
// it's run through istanbul-lib-instrument.
|
|
||||||
|
|
||||||
function alreadyInstrumented(path, visitState) {
|
|
||||||
return path.scope.hasBinding(visitState.varName);
|
|
||||||
}
|
|
||||||
|
|
||||||
function shouldIgnoreFile(programNode) {
|
|
||||||
return programNode.parent && programNode.parent.comments.some(c => COMMENT_FILE_RE.test(c.value));
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* programVisitor is a `babel` adaptor for instrumentation.
|
|
||||||
* It returns an object with two methods `enter` and `exit`.
|
|
||||||
* These should be assigned to or called from `Program` entry and exit functions
|
|
||||||
* in a babel visitor.
|
|
||||||
* These functions do not make assumptions about the state set by Babel and thus
|
|
||||||
* can be used in a context other than a Babel plugin.
|
|
||||||
*
|
|
||||||
* The exit function returns an object that currently has the following keys:
|
|
||||||
*
|
|
||||||
* `fileCoverage` - the file coverage object created for the source file.
|
|
||||||
* `sourceMappingURL` - any source mapping URL found when processing the file.
|
|
||||||
*
|
|
||||||
* @param {Object} types - an instance of babel-types
|
|
||||||
* @param {string} sourceFilePath - the path to source file
|
|
||||||
* @param {Object} opts - additional options
|
|
||||||
* @param {string} [opts.coverageVariable=__coverage__] the global coverage variable name.
|
|
||||||
* @param {string} [opts.coverageGlobalScope=this] the global coverage variable scope.
|
|
||||||
* @param {boolean} [opts.coverageGlobalScopeFunc=true] use an evaluated function to find coverageGlobalScope.
|
|
||||||
* @param {Array} [opts.ignoreClassMethods=[]] names of methods to ignore by default on classes.
|
|
||||||
* @param {object} [opts.inputSourceMap=undefined] the input source map, that maps the uninstrumented code back to the
|
|
||||||
* original code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
function programVisitor(types, sourceFilePath = 'unknown.js', opts = {}) {
|
|
||||||
const T = types;
|
|
||||||
opts = { ..._schema.defaults.instrumentVisitor,
|
|
||||||
...opts
|
|
||||||
};
|
|
||||||
const visitState = new VisitState(types, sourceFilePath, opts.inputSourceMap, opts.ignoreClassMethods);
|
|
||||||
return {
|
|
||||||
enter(path) {
|
|
||||||
if (shouldIgnoreFile(path.find(p => p.isProgram()))) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (alreadyInstrumented(path, visitState)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
path.traverse(codeVisitor, visitState);
|
|
||||||
},
|
|
||||||
|
|
||||||
exit(path) {
|
|
||||||
if (alreadyInstrumented(path, visitState)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
visitState.cov.freeze();
|
|
||||||
const coverageData = visitState.cov.toJSON();
|
|
||||||
|
|
||||||
if (shouldIgnoreFile(path.find(p => p.isProgram()))) {
|
|
||||||
return {
|
|
||||||
fileCoverage: coverageData,
|
|
||||||
sourceMappingURL: visitState.sourceMappingURL
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
coverageData[_constants.MAGIC_KEY] = _constants.MAGIC_VALUE;
|
|
||||||
const hash = (0, _crypto.createHash)(_constants.SHA).update(JSON.stringify(coverageData)).digest('hex');
|
|
||||||
coverageData.hash = hash;
|
|
||||||
const coverageNode = T.valueToNode(coverageData);
|
|
||||||
delete coverageData[_constants.MAGIC_KEY];
|
|
||||||
delete coverageData.hash;
|
|
||||||
let gvTemplate;
|
|
||||||
|
|
||||||
if (opts.coverageGlobalScopeFunc) {
|
|
||||||
if (path.scope.getBinding('Function')) {
|
|
||||||
gvTemplate = globalTemplateAlteredFunction({
|
|
||||||
GLOBAL_COVERAGE_SCOPE: T.stringLiteral('return ' + opts.coverageGlobalScope)
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
gvTemplate = globalTemplateFunction({
|
|
||||||
GLOBAL_COVERAGE_SCOPE: T.stringLiteral('return ' + opts.coverageGlobalScope)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
gvTemplate = globalTemplateVariable({
|
|
||||||
GLOBAL_COVERAGE_SCOPE: opts.coverageGlobalScope
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const cv = coverageTemplate({
|
|
||||||
GLOBAL_COVERAGE_VAR: T.stringLiteral(opts.coverageVariable),
|
|
||||||
GLOBAL_COVERAGE_TEMPLATE: gvTemplate,
|
|
||||||
COVERAGE_FUNCTION: T.identifier(visitState.varName),
|
|
||||||
PATH: T.stringLiteral(sourceFilePath),
|
|
||||||
INITIAL: coverageNode,
|
|
||||||
HASH: T.stringLiteral(hash)
|
|
||||||
}); // explicitly call this.varName to ensure coverage is always initialized
|
|
||||||
|
|
||||||
path.node.body.unshift(T.expressionStatement(T.callExpression(T.identifier(visitState.varName), [])));
|
|
||||||
path.node.body.unshift(cv);
|
|
||||||
return {
|
|
||||||
fileCoverage: coverageData,
|
|
||||||
sourceMappingURL: visitState.sourceMappingURL
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
var _default = programVisitor;
|
|
||||||
exports.default = _default;
|
|
@ -1 +0,0 @@
|
|||||||
../../../../../../json5/lib/cli.js
|
|
@ -1 +0,0 @@
|
|||||||
../../../parser/bin/babel-parser.js
|
|
@ -1 +0,0 @@
|
|||||||
../../../../../../normalize-package-data/node_modules/semver/bin/semver
|
|
70
node_modules/istanbul-lib-instrument/node_modules/semver/CHANGELOG.md
generated
vendored
70
node_modules/istanbul-lib-instrument/node_modules/semver/CHANGELOG.md
generated
vendored
@ -1,70 +0,0 @@
|
|||||||
# changes log
|
|
||||||
|
|
||||||
## 6.2.0
|
|
||||||
|
|
||||||
* Coerce numbers to strings when passed to semver.coerce()
|
|
||||||
* Add `rtl` option to coerce from right to left
|
|
||||||
|
|
||||||
## 6.1.3
|
|
||||||
|
|
||||||
* Handle X-ranges properly in includePrerelease mode
|
|
||||||
|
|
||||||
## 6.1.2
|
|
||||||
|
|
||||||
* Do not throw when testing invalid version strings
|
|
||||||
|
|
||||||
## 6.1.1
|
|
||||||
|
|
||||||
* Add options support for semver.coerce()
|
|
||||||
* Handle undefined version passed to Range.test
|
|
||||||
|
|
||||||
## 6.1.0
|
|
||||||
|
|
||||||
* Add semver.compareBuild function
|
|
||||||
* Support `*` in semver.intersects
|
|
||||||
|
|
||||||
## 6.0
|
|
||||||
|
|
||||||
* Fix `intersects` logic.
|
|
||||||
|
|
||||||
This is technically a bug fix, but since it is also a change to behavior
|
|
||||||
that may require users updating their code, it is marked as a major
|
|
||||||
version increment.
|
|
||||||
|
|
||||||
## 5.7
|
|
||||||
|
|
||||||
* Add `minVersion` method
|
|
||||||
|
|
||||||
## 5.6
|
|
||||||
|
|
||||||
* Move boolean `loose` param to an options object, with
|
|
||||||
backwards-compatibility protection.
|
|
||||||
* Add ability to opt out of special prerelease version handling with
|
|
||||||
the `includePrerelease` option flag.
|
|
||||||
|
|
||||||
## 5.5
|
|
||||||
|
|
||||||
* Add version coercion capabilities
|
|
||||||
|
|
||||||
## 5.4
|
|
||||||
|
|
||||||
* Add intersection checking
|
|
||||||
|
|
||||||
## 5.3
|
|
||||||
|
|
||||||
* Add `minSatisfying` method
|
|
||||||
|
|
||||||
## 5.2
|
|
||||||
|
|
||||||
* Add `prerelease(v)` that returns prerelease components
|
|
||||||
|
|
||||||
## 5.1
|
|
||||||
|
|
||||||
* Add Backus-Naur for ranges
|
|
||||||
* Remove excessively cute inspection methods
|
|
||||||
|
|
||||||
## 5.0
|
|
||||||
|
|
||||||
* Remove AMD/Browserified build artifacts
|
|
||||||
* Fix ltr and gtr when using the `*` range
|
|
||||||
* Fix for range `*` with a prerelease identifier
|
|
15
node_modules/istanbul-lib-instrument/node_modules/semver/LICENSE
generated
vendored
15
node_modules/istanbul-lib-instrument/node_modules/semver/LICENSE
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
The ISC License
|
|
||||||
|
|
||||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
443
node_modules/istanbul-lib-instrument/node_modules/semver/README.md
generated
vendored
443
node_modules/istanbul-lib-instrument/node_modules/semver/README.md
generated
vendored
@ -1,443 +0,0 @@
|
|||||||
semver(1) -- The semantic versioner for npm
|
|
||||||
===========================================
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm install semver
|
|
||||||
````
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
As a node module:
|
|
||||||
|
|
||||||
```js
|
|
||||||
const semver = require('semver')
|
|
||||||
|
|
||||||
semver.valid('1.2.3') // '1.2.3'
|
|
||||||
semver.valid('a.b.c') // null
|
|
||||||
semver.clean(' =v1.2.3 ') // '1.2.3'
|
|
||||||
semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
|
|
||||||
semver.gt('1.2.3', '9.8.7') // false
|
|
||||||
semver.lt('1.2.3', '9.8.7') // true
|
|
||||||
semver.minVersion('>=1.0.0') // '1.0.0'
|
|
||||||
semver.valid(semver.coerce('v2')) // '2.0.0'
|
|
||||||
semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
|
|
||||||
```
|
|
||||||
|
|
||||||
As a command-line utility:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ semver -h
|
|
||||||
|
|
||||||
A JavaScript implementation of the https://semver.org/ specification
|
|
||||||
Copyright Isaac Z. Schlueter
|
|
||||||
|
|
||||||
Usage: semver [options] <version> [<version> [...]]
|
|
||||||
Prints valid versions sorted by SemVer precedence
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-r --range <range>
|
|
||||||
Print versions that match the specified range.
|
|
||||||
|
|
||||||
-i --increment [<level>]
|
|
||||||
Increment a version by the specified level. Level can
|
|
||||||
be one of: major, minor, patch, premajor, preminor,
|
|
||||||
prepatch, or prerelease. Default level is 'patch'.
|
|
||||||
Only one version may be specified.
|
|
||||||
|
|
||||||
--preid <identifier>
|
|
||||||
Identifier to be used to prefix premajor, preminor,
|
|
||||||
prepatch or prerelease version increments.
|
|
||||||
|
|
||||||
-l --loose
|
|
||||||
Interpret versions and ranges loosely
|
|
||||||
|
|
||||||
-p --include-prerelease
|
|
||||||
Always include prerelease versions in range matching
|
|
||||||
|
|
||||||
-c --coerce
|
|
||||||
Coerce a string into SemVer if possible
|
|
||||||
(does not imply --loose)
|
|
||||||
|
|
||||||
--rtl
|
|
||||||
Coerce version strings right to left
|
|
||||||
|
|
||||||
--ltr
|
|
||||||
Coerce version strings left to right (default)
|
|
||||||
|
|
||||||
Program exits successfully if any valid version satisfies
|
|
||||||
all supplied ranges, and prints all satisfying versions.
|
|
||||||
|
|
||||||
If no satisfying versions are found, then exits failure.
|
|
||||||
|
|
||||||
Versions are printed in ascending order, so supplying
|
|
||||||
multiple versions to the utility will just sort them.
|
|
||||||
```
|
|
||||||
|
|
||||||
## Versions
|
|
||||||
|
|
||||||
A "version" is described by the `v2.0.0` specification found at
|
|
||||||
<https://semver.org/>.
|
|
||||||
|
|
||||||
A leading `"="` or `"v"` character is stripped off and ignored.
|
|
||||||
|
|
||||||
## Ranges
|
|
||||||
|
|
||||||
A `version range` is a set of `comparators` which specify versions
|
|
||||||
that satisfy the range.
|
|
||||||
|
|
||||||
A `comparator` is composed of an `operator` and a `version`. The set
|
|
||||||
of primitive `operators` is:
|
|
||||||
|
|
||||||
* `<` Less than
|
|
||||||
* `<=` Less than or equal to
|
|
||||||
* `>` Greater than
|
|
||||||
* `>=` Greater than or equal to
|
|
||||||
* `=` Equal. If no operator is specified, then equality is assumed,
|
|
||||||
so this operator is optional, but MAY be included.
|
|
||||||
|
|
||||||
For example, the comparator `>=1.2.7` would match the versions
|
|
||||||
`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6`
|
|
||||||
or `1.1.0`.
|
|
||||||
|
|
||||||
Comparators can be joined by whitespace to form a `comparator set`,
|
|
||||||
which is satisfied by the **intersection** of all of the comparators
|
|
||||||
it includes.
|
|
||||||
|
|
||||||
A range is composed of one or more comparator sets, joined by `||`. A
|
|
||||||
version matches a range if and only if every comparator in at least
|
|
||||||
one of the `||`-separated comparator sets is satisfied by the version.
|
|
||||||
|
|
||||||
For example, the range `>=1.2.7 <1.3.0` would match the versions
|
|
||||||
`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`,
|
|
||||||
or `1.1.0`.
|
|
||||||
|
|
||||||
The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`,
|
|
||||||
`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`.
|
|
||||||
|
|
||||||
### Prerelease Tags
|
|
||||||
|
|
||||||
If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then
|
|
||||||
it will only be allowed to satisfy comparator sets if at least one
|
|
||||||
comparator with the same `[major, minor, patch]` tuple also has a
|
|
||||||
prerelease tag.
|
|
||||||
|
|
||||||
For example, the range `>1.2.3-alpha.3` would be allowed to match the
|
|
||||||
version `1.2.3-alpha.7`, but it would *not* be satisfied by
|
|
||||||
`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater
|
|
||||||
than" `1.2.3-alpha.3` according to the SemVer sort rules. The version
|
|
||||||
range only accepts prerelease tags on the `1.2.3` version. The
|
|
||||||
version `3.4.5` *would* satisfy the range, because it does not have a
|
|
||||||
prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`.
|
|
||||||
|
|
||||||
The purpose for this behavior is twofold. First, prerelease versions
|
|
||||||
frequently are updated very quickly, and contain many breaking changes
|
|
||||||
that are (by the author's design) not yet fit for public consumption.
|
|
||||||
Therefore, by default, they are excluded from range matching
|
|
||||||
semantics.
|
|
||||||
|
|
||||||
Second, a user who has opted into using a prerelease version has
|
|
||||||
clearly indicated the intent to use *that specific* set of
|
|
||||||
alpha/beta/rc versions. By including a prerelease tag in the range,
|
|
||||||
the user is indicating that they are aware of the risk. However, it
|
|
||||||
is still not appropriate to assume that they have opted into taking a
|
|
||||||
similar risk on the *next* set of prerelease versions.
|
|
||||||
|
|
||||||
Note that this behavior can be suppressed (treating all prerelease
|
|
||||||
versions as if they were normal versions, for the purpose of range
|
|
||||||
matching) by setting the `includePrerelease` flag on the options
|
|
||||||
object to any
|
|
||||||
[functions](https://github.com/npm/node-semver#functions) that do
|
|
||||||
range matching.
|
|
||||||
|
|
||||||
#### Prerelease Identifiers
|
|
||||||
|
|
||||||
The method `.inc` takes an additional `identifier` string argument that
|
|
||||||
will append the value of the string as a prerelease identifier:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
semver.inc('1.2.3', 'prerelease', 'beta')
|
|
||||||
// '1.2.4-beta.0'
|
|
||||||
```
|
|
||||||
|
|
||||||
command-line example:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ semver 1.2.3 -i prerelease --preid beta
|
|
||||||
1.2.4-beta.0
|
|
||||||
```
|
|
||||||
|
|
||||||
Which then can be used to increment further:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ semver 1.2.4-beta.0 -i prerelease
|
|
||||||
1.2.4-beta.1
|
|
||||||
```
|
|
||||||
|
|
||||||
### Advanced Range Syntax
|
|
||||||
|
|
||||||
Advanced range syntax desugars to primitive comparators in
|
|
||||||
deterministic ways.
|
|
||||||
|
|
||||||
Advanced ranges may be combined in the same way as primitive
|
|
||||||
comparators using white space or `||`.
|
|
||||||
|
|
||||||
#### Hyphen Ranges `X.Y.Z - A.B.C`
|
|
||||||
|
|
||||||
Specifies an inclusive set.
|
|
||||||
|
|
||||||
* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`
|
|
||||||
|
|
||||||
If a partial version is provided as the first version in the inclusive
|
|
||||||
range, then the missing pieces are replaced with zeroes.
|
|
||||||
|
|
||||||
* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4`
|
|
||||||
|
|
||||||
If a partial version is provided as the second version in the
|
|
||||||
inclusive range, then all versions that start with the supplied parts
|
|
||||||
of the tuple are accepted, but nothing that would be greater than the
|
|
||||||
provided tuple parts.
|
|
||||||
|
|
||||||
* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0`
|
|
||||||
* `1.2.3 - 2` := `>=1.2.3 <3.0.0`
|
|
||||||
|
|
||||||
#### X-Ranges `1.2.x` `1.X` `1.2.*` `*`
|
|
||||||
|
|
||||||
Any of `X`, `x`, or `*` may be used to "stand in" for one of the
|
|
||||||
numeric values in the `[major, minor, patch]` tuple.
|
|
||||||
|
|
||||||
* `*` := `>=0.0.0` (Any version satisfies)
|
|
||||||
* `1.x` := `>=1.0.0 <2.0.0` (Matching major version)
|
|
||||||
* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions)
|
|
||||||
|
|
||||||
A partial version range is treated as an X-Range, so the special
|
|
||||||
character is in fact optional.
|
|
||||||
|
|
||||||
* `""` (empty string) := `*` := `>=0.0.0`
|
|
||||||
* `1` := `1.x.x` := `>=1.0.0 <2.0.0`
|
|
||||||
* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0`
|
|
||||||
|
|
||||||
#### Tilde Ranges `~1.2.3` `~1.2` `~1`
|
|
||||||
|
|
||||||
Allows patch-level changes if a minor version is specified on the
|
|
||||||
comparator. Allows minor-level changes if not.
|
|
||||||
|
|
||||||
* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0`
|
|
||||||
* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`)
|
|
||||||
* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`)
|
|
||||||
* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0`
|
|
||||||
* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`)
|
|
||||||
* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`)
|
|
||||||
* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in
|
|
||||||
the `1.2.3` version will be allowed, if they are greater than or
|
|
||||||
equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
|
|
||||||
`1.2.4-beta.2` would not, because it is a prerelease of a
|
|
||||||
different `[major, minor, patch]` tuple.
|
|
||||||
|
|
||||||
#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4`
|
|
||||||
|
|
||||||
Allows changes that do not modify the left-most non-zero element in the
|
|
||||||
`[major, minor, patch]` tuple. In other words, this allows patch and
|
|
||||||
minor updates for versions `1.0.0` and above, patch updates for
|
|
||||||
versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`.
|
|
||||||
|
|
||||||
Many authors treat a `0.x` version as if the `x` were the major
|
|
||||||
"breaking-change" indicator.
|
|
||||||
|
|
||||||
Caret ranges are ideal when an author may make breaking changes
|
|
||||||
between `0.2.4` and `0.3.0` releases, which is a common practice.
|
|
||||||
However, it presumes that there will *not* be breaking changes between
|
|
||||||
`0.2.4` and `0.2.5`. It allows for changes that are presumed to be
|
|
||||||
additive (but non-breaking), according to commonly observed practices.
|
|
||||||
|
|
||||||
* `^1.2.3` := `>=1.2.3 <2.0.0`
|
|
||||||
* `^0.2.3` := `>=0.2.3 <0.3.0`
|
|
||||||
* `^0.0.3` := `>=0.0.3 <0.0.4`
|
|
||||||
* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in
|
|
||||||
the `1.2.3` version will be allowed, if they are greater than or
|
|
||||||
equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
|
|
||||||
`1.2.4-beta.2` would not, because it is a prerelease of a
|
|
||||||
different `[major, minor, patch]` tuple.
|
|
||||||
* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the
|
|
||||||
`0.0.3` version *only* will be allowed, if they are greater than or
|
|
||||||
equal to `beta`. So, `0.0.3-pr.2` would be allowed.
|
|
||||||
|
|
||||||
When parsing caret ranges, a missing `patch` value desugars to the
|
|
||||||
number `0`, but will allow flexibility within that value, even if the
|
|
||||||
major and minor versions are both `0`.
|
|
||||||
|
|
||||||
* `^1.2.x` := `>=1.2.0 <2.0.0`
|
|
||||||
* `^0.0.x` := `>=0.0.0 <0.1.0`
|
|
||||||
* `^0.0` := `>=0.0.0 <0.1.0`
|
|
||||||
|
|
||||||
A missing `minor` and `patch` values will desugar to zero, but also
|
|
||||||
allow flexibility within those values, even if the major version is
|
|
||||||
zero.
|
|
||||||
|
|
||||||
* `^1.x` := `>=1.0.0 <2.0.0`
|
|
||||||
* `^0.x` := `>=0.0.0 <1.0.0`
|
|
||||||
|
|
||||||
### Range Grammar
|
|
||||||
|
|
||||||
Putting all this together, here is a Backus-Naur grammar for ranges,
|
|
||||||
for the benefit of parser authors:
|
|
||||||
|
|
||||||
```bnf
|
|
||||||
range-set ::= range ( logical-or range ) *
|
|
||||||
logical-or ::= ( ' ' ) * '||' ( ' ' ) *
|
|
||||||
range ::= hyphen | simple ( ' ' simple ) * | ''
|
|
||||||
hyphen ::= partial ' - ' partial
|
|
||||||
simple ::= primitive | partial | tilde | caret
|
|
||||||
primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
|
|
||||||
partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
|
|
||||||
xr ::= 'x' | 'X' | '*' | nr
|
|
||||||
nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) *
|
|
||||||
tilde ::= '~' partial
|
|
||||||
caret ::= '^' partial
|
|
||||||
qualifier ::= ( '-' pre )? ( '+' build )?
|
|
||||||
pre ::= parts
|
|
||||||
build ::= parts
|
|
||||||
parts ::= part ( '.' part ) *
|
|
||||||
part ::= nr | [-0-9A-Za-z]+
|
|
||||||
```
|
|
||||||
|
|
||||||
## Functions
|
|
||||||
|
|
||||||
All methods and classes take a final `options` object argument. All
|
|
||||||
options in this object are `false` by default. The options supported
|
|
||||||
are:
|
|
||||||
|
|
||||||
- `loose` Be more forgiving about not-quite-valid semver strings.
|
|
||||||
(Any resulting output will always be 100% strict compliant, of
|
|
||||||
course.) For backwards compatibility reasons, if the `options`
|
|
||||||
argument is a boolean value instead of an object, it is interpreted
|
|
||||||
to be the `loose` param.
|
|
||||||
- `includePrerelease` Set to suppress the [default
|
|
||||||
behavior](https://github.com/npm/node-semver#prerelease-tags) of
|
|
||||||
excluding prerelease tagged versions from ranges unless they are
|
|
||||||
explicitly opted into.
|
|
||||||
|
|
||||||
Strict-mode Comparators and Ranges will be strict about the SemVer
|
|
||||||
strings that they parse.
|
|
||||||
|
|
||||||
* `valid(v)`: Return the parsed version, or null if it's not valid.
|
|
||||||
* `inc(v, release)`: Return the version incremented by the release
|
|
||||||
type (`major`, `premajor`, `minor`, `preminor`, `patch`,
|
|
||||||
`prepatch`, or `prerelease`), or null if it's not valid
|
|
||||||
* `premajor` in one call will bump the version up to the next major
|
|
||||||
version and down to a prerelease of that major version.
|
|
||||||
`preminor`, and `prepatch` work the same way.
|
|
||||||
* If called from a non-prerelease version, the `prerelease` will work the
|
|
||||||
same as `prepatch`. It increments the patch version, then makes a
|
|
||||||
prerelease. If the input version is already a prerelease it simply
|
|
||||||
increments it.
|
|
||||||
* `prerelease(v)`: Returns an array of prerelease components, or null
|
|
||||||
if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]`
|
|
||||||
* `major(v)`: Return the major version number.
|
|
||||||
* `minor(v)`: Return the minor version number.
|
|
||||||
* `patch(v)`: Return the patch version number.
|
|
||||||
* `intersects(r1, r2, loose)`: Return true if the two supplied ranges
|
|
||||||
or comparators intersect.
|
|
||||||
* `parse(v)`: Attempt to parse a string as a semantic version, returning either
|
|
||||||
a `SemVer` object or `null`.
|
|
||||||
|
|
||||||
### Comparison
|
|
||||||
|
|
||||||
* `gt(v1, v2)`: `v1 > v2`
|
|
||||||
* `gte(v1, v2)`: `v1 >= v2`
|
|
||||||
* `lt(v1, v2)`: `v1 < v2`
|
|
||||||
* `lte(v1, v2)`: `v1 <= v2`
|
|
||||||
* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent,
|
|
||||||
even if they're not the exact same string. You already know how to
|
|
||||||
compare strings.
|
|
||||||
* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`.
|
|
||||||
* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call
|
|
||||||
the corresponding function above. `"==="` and `"!=="` do simple
|
|
||||||
string comparison, but are included for completeness. Throws if an
|
|
||||||
invalid comparison string is provided.
|
|
||||||
* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if
|
|
||||||
`v2` is greater. Sorts in ascending order if passed to `Array.sort()`.
|
|
||||||
* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions
|
|
||||||
in descending order when passed to `Array.sort()`.
|
|
||||||
* `compareBuild(v1, v2)`: The same as `compare` but considers `build` when two versions
|
|
||||||
are equal. Sorts in ascending order if passed to `Array.sort()`.
|
|
||||||
`v2` is greater. Sorts in ascending order if passed to `Array.sort()`.
|
|
||||||
* `diff(v1, v2)`: Returns difference between two versions by the release type
|
|
||||||
(`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`),
|
|
||||||
or null if the versions are the same.
|
|
||||||
|
|
||||||
### Comparators
|
|
||||||
|
|
||||||
* `intersects(comparator)`: Return true if the comparators intersect
|
|
||||||
|
|
||||||
### Ranges
|
|
||||||
|
|
||||||
* `validRange(range)`: Return the valid range or null if it's not valid
|
|
||||||
* `satisfies(version, range)`: Return true if the version satisfies the
|
|
||||||
range.
|
|
||||||
* `maxSatisfying(versions, range)`: Return the highest version in the list
|
|
||||||
that satisfies the range, or `null` if none of them do.
|
|
||||||
* `minSatisfying(versions, range)`: Return the lowest version in the list
|
|
||||||
that satisfies the range, or `null` if none of them do.
|
|
||||||
* `minVersion(range)`: Return the lowest version that can possibly match
|
|
||||||
the given range.
|
|
||||||
* `gtr(version, range)`: Return `true` if version is greater than all the
|
|
||||||
versions possible in the range.
|
|
||||||
* `ltr(version, range)`: Return `true` if version is less than all the
|
|
||||||
versions possible in the range.
|
|
||||||
* `outside(version, range, hilo)`: Return true if the version is outside
|
|
||||||
the bounds of the range in either the high or low direction. The
|
|
||||||
`hilo` argument must be either the string `'>'` or `'<'`. (This is
|
|
||||||
the function called by `gtr` and `ltr`.)
|
|
||||||
* `intersects(range)`: Return true if any of the ranges comparators intersect
|
|
||||||
|
|
||||||
Note that, since ranges may be non-contiguous, a version might not be
|
|
||||||
greater than a range, less than a range, *or* satisfy a range! For
|
|
||||||
example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9`
|
|
||||||
until `2.0.0`, so the version `1.2.10` would not be greater than the
|
|
||||||
range (because `2.0.1` satisfies, which is higher), nor less than the
|
|
||||||
range (since `1.2.8` satisfies, which is lower), and it also does not
|
|
||||||
satisfy the range.
|
|
||||||
|
|
||||||
If you want to know if a version satisfies or does not satisfy a
|
|
||||||
range, use the `satisfies(version, range)` function.
|
|
||||||
|
|
||||||
### Coercion
|
|
||||||
|
|
||||||
* `coerce(version, options)`: Coerces a string to semver if possible
|
|
||||||
|
|
||||||
This aims to provide a very forgiving translation of a non-semver string to
|
|
||||||
semver. It looks for the first digit in a string, and consumes all
|
|
||||||
remaining characters which satisfy at least a partial semver (e.g., `1`,
|
|
||||||
`1.2`, `1.2.3`) up to the max permitted length (256 characters). Longer
|
|
||||||
versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). All
|
|
||||||
surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes
|
|
||||||
`3.4.0`). Only text which lacks digits will fail coercion (`version one`
|
|
||||||
is not valid). The maximum length for any semver component considered for
|
|
||||||
coercion is 16 characters; longer components will be ignored
|
|
||||||
(`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any
|
|
||||||
semver component is `Integer.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value
|
|
||||||
components are invalid (`9999999999999999.4.7.4` is likely invalid).
|
|
||||||
|
|
||||||
If the `options.rtl` flag is set, then `coerce` will return the right-most
|
|
||||||
coercible tuple that does not share an ending index with a longer coercible
|
|
||||||
tuple. For example, `1.2.3.4` will return `2.3.4` in rtl mode, not
|
|
||||||
`4.0.0`. `1.2.3/4` will return `4.0.0`, because the `4` is not a part of
|
|
||||||
any other overlapping SemVer tuple.
|
|
||||||
|
|
||||||
### Clean
|
|
||||||
|
|
||||||
* `clean(version)`: Clean a string to be a valid semver if possible
|
|
||||||
|
|
||||||
This will return a cleaned and trimmed semver version. If the provided version is not valid a null will be returned. This does not work for ranges.
|
|
||||||
|
|
||||||
ex.
|
|
||||||
* `s.clean(' = v 2.1.5foo')`: `null`
|
|
||||||
* `s.clean(' = v 2.1.5foo', { loose: true })`: `'2.1.5-foo'`
|
|
||||||
* `s.clean(' = v 2.1.5-foo')`: `null`
|
|
||||||
* `s.clean(' = v 2.1.5-foo', { loose: true })`: `'2.1.5-foo'`
|
|
||||||
* `s.clean('=v2.1.5')`: `'2.1.5'`
|
|
||||||
* `s.clean(' =v2.1.5')`: `2.1.5`
|
|
||||||
* `s.clean(' 2.1.5 ')`: `'2.1.5'`
|
|
||||||
* `s.clean('~1.0.0')`: `null`
|
|
174
node_modules/istanbul-lib-instrument/node_modules/semver/bin/semver.js
generated
vendored
174
node_modules/istanbul-lib-instrument/node_modules/semver/bin/semver.js
generated
vendored
@ -1,174 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
// Standalone semver comparison program.
|
|
||||||
// Exits successfully and prints matching version(s) if
|
|
||||||
// any supplied version is valid and passes all tests.
|
|
||||||
|
|
||||||
var argv = process.argv.slice(2)
|
|
||||||
|
|
||||||
var versions = []
|
|
||||||
|
|
||||||
var range = []
|
|
||||||
|
|
||||||
var inc = null
|
|
||||||
|
|
||||||
var version = require('../package.json').version
|
|
||||||
|
|
||||||
var loose = false
|
|
||||||
|
|
||||||
var includePrerelease = false
|
|
||||||
|
|
||||||
var coerce = false
|
|
||||||
|
|
||||||
var rtl = false
|
|
||||||
|
|
||||||
var identifier
|
|
||||||
|
|
||||||
var semver = require('../semver')
|
|
||||||
|
|
||||||
var reverse = false
|
|
||||||
|
|
||||||
var options = {}
|
|
||||||
|
|
||||||
main()
|
|
||||||
|
|
||||||
function main () {
|
|
||||||
if (!argv.length) return help()
|
|
||||||
while (argv.length) {
|
|
||||||
var a = argv.shift()
|
|
||||||
var indexOfEqualSign = a.indexOf('=')
|
|
||||||
if (indexOfEqualSign !== -1) {
|
|
||||||
a = a.slice(0, indexOfEqualSign)
|
|
||||||
argv.unshift(a.slice(indexOfEqualSign + 1))
|
|
||||||
}
|
|
||||||
switch (a) {
|
|
||||||
case '-rv': case '-rev': case '--rev': case '--reverse':
|
|
||||||
reverse = true
|
|
||||||
break
|
|
||||||
case '-l': case '--loose':
|
|
||||||
loose = true
|
|
||||||
break
|
|
||||||
case '-p': case '--include-prerelease':
|
|
||||||
includePrerelease = true
|
|
||||||
break
|
|
||||||
case '-v': case '--version':
|
|
||||||
versions.push(argv.shift())
|
|
||||||
break
|
|
||||||
case '-i': case '--inc': case '--increment':
|
|
||||||
switch (argv[0]) {
|
|
||||||
case 'major': case 'minor': case 'patch': case 'prerelease':
|
|
||||||
case 'premajor': case 'preminor': case 'prepatch':
|
|
||||||
inc = argv.shift()
|
|
||||||
break
|
|
||||||
default:
|
|
||||||
inc = 'patch'
|
|
||||||
break
|
|
||||||
}
|
|
||||||
break
|
|
||||||
case '--preid':
|
|
||||||
identifier = argv.shift()
|
|
||||||
break
|
|
||||||
case '-r': case '--range':
|
|
||||||
range.push(argv.shift())
|
|
||||||
break
|
|
||||||
case '-c': case '--coerce':
|
|
||||||
coerce = true
|
|
||||||
break
|
|
||||||
case '--rtl':
|
|
||||||
rtl = true
|
|
||||||
break
|
|
||||||
case '--ltr':
|
|
||||||
rtl = false
|
|
||||||
break
|
|
||||||
case '-h': case '--help': case '-?':
|
|
||||||
return help()
|
|
||||||
default:
|
|
||||||
versions.push(a)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl }
|
|
||||||
|
|
||||||
versions = versions.map(function (v) {
|
|
||||||
return coerce ? (semver.coerce(v, options) || { version: v }).version : v
|
|
||||||
}).filter(function (v) {
|
|
||||||
return semver.valid(v)
|
|
||||||
})
|
|
||||||
if (!versions.length) return fail()
|
|
||||||
if (inc && (versions.length !== 1 || range.length)) { return failInc() }
|
|
||||||
|
|
||||||
for (var i = 0, l = range.length; i < l; i++) {
|
|
||||||
versions = versions.filter(function (v) {
|
|
||||||
return semver.satisfies(v, range[i], options)
|
|
||||||
})
|
|
||||||
if (!versions.length) return fail()
|
|
||||||
}
|
|
||||||
return success(versions)
|
|
||||||
}
|
|
||||||
|
|
||||||
function failInc () {
|
|
||||||
console.error('--inc can only be used on a single version with no range')
|
|
||||||
fail()
|
|
||||||
}
|
|
||||||
|
|
||||||
function fail () { process.exit(1) }
|
|
||||||
|
|
||||||
function success () {
|
|
||||||
var compare = reverse ? 'rcompare' : 'compare'
|
|
||||||
versions.sort(function (a, b) {
|
|
||||||
return semver[compare](a, b, options)
|
|
||||||
}).map(function (v) {
|
|
||||||
return semver.clean(v, options)
|
|
||||||
}).map(function (v) {
|
|
||||||
return inc ? semver.inc(v, inc, options, identifier) : v
|
|
||||||
}).forEach(function (v, i, _) { console.log(v) })
|
|
||||||
}
|
|
||||||
|
|
||||||
function help () {
|
|
||||||
console.log(['SemVer ' + version,
|
|
||||||
'',
|
|
||||||
'A JavaScript implementation of the https://semver.org/ specification',
|
|
||||||
'Copyright Isaac Z. Schlueter',
|
|
||||||
'',
|
|
||||||
'Usage: semver [options] <version> [<version> [...]]',
|
|
||||||
'Prints valid versions sorted by SemVer precedence',
|
|
||||||
'',
|
|
||||||
'Options:',
|
|
||||||
'-r --range <range>',
|
|
||||||
' Print versions that match the specified range.',
|
|
||||||
'',
|
|
||||||
'-i --increment [<level>]',
|
|
||||||
' Increment a version by the specified level. Level can',
|
|
||||||
' be one of: major, minor, patch, premajor, preminor,',
|
|
||||||
" prepatch, or prerelease. Default level is 'patch'.",
|
|
||||||
' Only one version may be specified.',
|
|
||||||
'',
|
|
||||||
'--preid <identifier>',
|
|
||||||
' Identifier to be used to prefix premajor, preminor,',
|
|
||||||
' prepatch or prerelease version increments.',
|
|
||||||
'',
|
|
||||||
'-l --loose',
|
|
||||||
' Interpret versions and ranges loosely',
|
|
||||||
'',
|
|
||||||
'-p --include-prerelease',
|
|
||||||
' Always include prerelease versions in range matching',
|
|
||||||
'',
|
|
||||||
'-c --coerce',
|
|
||||||
' Coerce a string into SemVer if possible',
|
|
||||||
' (does not imply --loose)',
|
|
||||||
'',
|
|
||||||
'--rtl',
|
|
||||||
' Coerce version strings right to left',
|
|
||||||
'',
|
|
||||||
'--ltr',
|
|
||||||
' Coerce version strings left to right (default)',
|
|
||||||
'',
|
|
||||||
'Program exits successfully if any valid version satisfies',
|
|
||||||
'all supplied ranges, and prints all satisfying versions.',
|
|
||||||
'',
|
|
||||||
'If no satisfying versions are found, then exits failure.',
|
|
||||||
'',
|
|
||||||
'Versions are printed in ascending order, so supplying',
|
|
||||||
'multiple versions to the utility will just sort them.'
|
|
||||||
].join('\n'))
|
|
||||||
}
|
|
16
node_modules/istanbul-lib-instrument/node_modules/semver/range.bnf
generated
vendored
16
node_modules/istanbul-lib-instrument/node_modules/semver/range.bnf
generated
vendored
@ -1,16 +0,0 @@
|
|||||||
range-set ::= range ( logical-or range ) *
|
|
||||||
logical-or ::= ( ' ' ) * '||' ( ' ' ) *
|
|
||||||
range ::= hyphen | simple ( ' ' simple ) * | ''
|
|
||||||
hyphen ::= partial ' - ' partial
|
|
||||||
simple ::= primitive | partial | tilde | caret
|
|
||||||
primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
|
|
||||||
partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
|
|
||||||
xr ::= 'x' | 'X' | '*' | nr
|
|
||||||
nr ::= '0' | [1-9] ( [0-9] ) *
|
|
||||||
tilde ::= '~' partial
|
|
||||||
caret ::= '^' partial
|
|
||||||
qualifier ::= ( '-' pre )? ( '+' build )?
|
|
||||||
pre ::= parts
|
|
||||||
build ::= parts
|
|
||||||
parts ::= part ( '.' part ) *
|
|
||||||
part ::= nr | [-0-9A-Za-z]+
|
|
1596
node_modules/istanbul-lib-instrument/node_modules/semver/semver.js
generated
vendored
1596
node_modules/istanbul-lib-instrument/node_modules/semver/semver.js
generated
vendored
File diff suppressed because it is too large
Load Diff
21
node_modules/jest-config/LICENSE
generated
vendored
21
node_modules/jest-config/LICENSE
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
10
node_modules/jest-config/build/Defaults.d.ts
generated
vendored
10
node_modules/jest-config/build/Defaults.d.ts
generated
vendored
@ -1,10 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { Config } from '@jest/types';
|
|
||||||
declare const defaultOptions: Config.DefaultOptions;
|
|
||||||
export default defaultOptions;
|
|
||||||
//# sourceMappingURL=Defaults.d.ts.map
|
|
1
node_modules/jest-config/build/Defaults.d.ts.map
generated
vendored
1
node_modules/jest-config/build/Defaults.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"Defaults.d.ts","sourceRoot":"","sources":["../src/Defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAOxC,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,cAyD5B,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
94
node_modules/jest-config/build/Defaults.js
generated
vendored
94
node_modules/jest-config/build/Defaults.js
generated
vendored
@ -1,94 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function _jestRegexUtil() {
|
|
||||||
const data = require('jest-regex-util');
|
|
||||||
|
|
||||||
_jestRegexUtil = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _constants = require('./constants');
|
|
||||||
|
|
||||||
var _getCacheDirectory = _interopRequireDefault(require('./getCacheDirectory'));
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) {
|
|
||||||
return obj && obj.__esModule ? obj : {default: obj};
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
const NODE_MODULES_REGEXP = (0, _jestRegexUtil().replacePathSepForRegex)(
|
|
||||||
_constants.NODE_MODULES
|
|
||||||
);
|
|
||||||
const defaultOptions = {
|
|
||||||
automock: false,
|
|
||||||
bail: 0,
|
|
||||||
browser: false,
|
|
||||||
cache: true,
|
|
||||||
cacheDirectory: (0, _getCacheDirectory.default)(),
|
|
||||||
changedFilesWithAncestor: false,
|
|
||||||
clearMocks: false,
|
|
||||||
collectCoverage: false,
|
|
||||||
coveragePathIgnorePatterns: [NODE_MODULES_REGEXP],
|
|
||||||
coverageProvider: 'babel',
|
|
||||||
coverageReporters: ['json', 'text', 'lcov', 'clover'],
|
|
||||||
errorOnDeprecated: false,
|
|
||||||
expand: false,
|
|
||||||
forceCoverageMatch: [],
|
|
||||||
globals: {},
|
|
||||||
haste: {
|
|
||||||
computeSha1: false,
|
|
||||||
providesModuleNodeModules: [],
|
|
||||||
throwOnModuleCollision: false
|
|
||||||
},
|
|
||||||
maxConcurrency: 5,
|
|
||||||
maxWorkers: '50%',
|
|
||||||
moduleDirectories: ['node_modules'],
|
|
||||||
moduleFileExtensions: ['js', 'json', 'jsx', 'ts', 'tsx', 'node'],
|
|
||||||
moduleNameMapper: {},
|
|
||||||
modulePathIgnorePatterns: [],
|
|
||||||
noStackTrace: false,
|
|
||||||
notify: false,
|
|
||||||
notifyMode: 'failure-change',
|
|
||||||
prettierPath: 'prettier',
|
|
||||||
resetMocks: false,
|
|
||||||
resetModules: false,
|
|
||||||
restoreMocks: false,
|
|
||||||
roots: ['<rootDir>'],
|
|
||||||
runTestsByPath: false,
|
|
||||||
runner: 'jest-runner',
|
|
||||||
setupFiles: [],
|
|
||||||
setupFilesAfterEnv: [],
|
|
||||||
skipFilter: false,
|
|
||||||
snapshotSerializers: [],
|
|
||||||
testEnvironment: 'jest-environment-jsdom',
|
|
||||||
testEnvironmentOptions: {},
|
|
||||||
testFailureExitCode: 1,
|
|
||||||
testLocationInResults: false,
|
|
||||||
testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)'],
|
|
||||||
testPathIgnorePatterns: [NODE_MODULES_REGEXP],
|
|
||||||
testRegex: [],
|
|
||||||
testRunner: 'jasmine2',
|
|
||||||
testSequencer: '@jest/test-sequencer',
|
|
||||||
testURL: 'http://localhost',
|
|
||||||
timers: 'real',
|
|
||||||
transformIgnorePatterns: [NODE_MODULES_REGEXP],
|
|
||||||
useStderr: false,
|
|
||||||
watch: false,
|
|
||||||
watchPathIgnorePatterns: [],
|
|
||||||
watchman: true
|
|
||||||
};
|
|
||||||
var _default = defaultOptions;
|
|
||||||
exports.default = _default;
|
|
9
node_modules/jest-config/build/Deprecated.d.ts
generated
vendored
9
node_modules/jest-config/build/Deprecated.d.ts
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
declare const _default: Record<string, Function>;
|
|
||||||
export default _default;
|
|
||||||
//# sourceMappingURL=Deprecated.d.ts.map
|
|
1
node_modules/jest-config/build/Deprecated.d.ts.map
generated
vendored
1
node_modules/jest-config/build/Deprecated.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"Deprecated.d.ts","sourceRoot":"","sources":["../src/Deprecated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAOH,wBAgE8B"}
|
|
98
node_modules/jest-config/build/Deprecated.js
generated
vendored
98
node_modules/jest-config/build/Deprecated.js
generated
vendored
@ -1,98 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function _chalk() {
|
|
||||||
const data = _interopRequireDefault(require('chalk'));
|
|
||||||
|
|
||||||
_chalk = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _prettyFormat() {
|
|
||||||
const data = _interopRequireDefault(require('pretty-format'));
|
|
||||||
|
|
||||||
_prettyFormat = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) {
|
|
||||||
return obj && obj.__esModule ? obj : {default: obj};
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
const format = value =>
|
|
||||||
(0, _prettyFormat().default)(value, {
|
|
||||||
min: true
|
|
||||||
});
|
|
||||||
|
|
||||||
var _default = {
|
|
||||||
mapCoverage: () => ` Option ${_chalk().default.bold(
|
|
||||||
'"mapCoverage"'
|
|
||||||
)} has been removed, as it's no longer necessary.
|
|
||||||
|
|
||||||
Please update your configuration.`,
|
|
||||||
preprocessorIgnorePatterns: options => ` Option ${_chalk().default.bold(
|
|
||||||
'"preprocessorIgnorePatterns"'
|
|
||||||
)} was replaced by ${_chalk().default.bold(
|
|
||||||
'"transformIgnorePatterns"'
|
|
||||||
)}, which support multiple preprocessors.
|
|
||||||
|
|
||||||
Jest now treats your current configuration as:
|
|
||||||
{
|
|
||||||
${_chalk().default.bold(
|
|
||||||
'"transformIgnorePatterns"'
|
|
||||||
)}: ${_chalk().default.bold(format(options.preprocessorIgnorePatterns))}
|
|
||||||
}
|
|
||||||
|
|
||||||
Please update your configuration.`,
|
|
||||||
scriptPreprocessor: options => ` Option ${_chalk().default.bold(
|
|
||||||
'"scriptPreprocessor"'
|
|
||||||
)} was replaced by ${_chalk().default.bold(
|
|
||||||
'"transform"'
|
|
||||||
)}, which support multiple preprocessors.
|
|
||||||
|
|
||||||
Jest now treats your current configuration as:
|
|
||||||
{
|
|
||||||
${_chalk().default.bold('"transform"')}: ${_chalk().default.bold(
|
|
||||||
`{".*": ${format(options.scriptPreprocessor)}}`
|
|
||||||
)}
|
|
||||||
}
|
|
||||||
|
|
||||||
Please update your configuration.`,
|
|
||||||
setupTestFrameworkScriptFile: _options => ` Option ${_chalk().default.bold(
|
|
||||||
'"setupTestFrameworkScriptFile"'
|
|
||||||
)} was replaced by configuration ${_chalk().default.bold(
|
|
||||||
'"setupFilesAfterEnv"'
|
|
||||||
)}, which supports multiple paths.
|
|
||||||
|
|
||||||
Please update your configuration.`,
|
|
||||||
testPathDirs: options => ` Option ${_chalk().default.bold(
|
|
||||||
'"testPathDirs"'
|
|
||||||
)} was replaced by ${_chalk().default.bold('"roots"')}.
|
|
||||||
|
|
||||||
Jest now treats your current configuration as:
|
|
||||||
{
|
|
||||||
${_chalk().default.bold('"roots"')}: ${_chalk().default.bold(
|
|
||||||
format(options.testPathDirs)
|
|
||||||
)}
|
|
||||||
}
|
|
||||||
|
|
||||||
Please update your configuration.
|
|
||||||
`
|
|
||||||
};
|
|
||||||
exports.default = _default;
|
|
12
node_modules/jest-config/build/Descriptions.d.ts
generated
vendored
12
node_modules/jest-config/build/Descriptions.d.ts
generated
vendored
@ -1,12 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { Config } from '@jest/types';
|
|
||||||
declare const descriptions: {
|
|
||||||
[key in keyof Config.InitialOptions]: string;
|
|
||||||
};
|
|
||||||
export default descriptions;
|
|
||||||
//# sourceMappingURL=Descriptions.d.ts.map
|
|
1
node_modules/jest-config/build/Descriptions.d.ts.map
generated
vendored
1
node_modules/jest-config/build/Descriptions.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"Descriptions.d.ts","sourceRoot":"","sources":["../src/Descriptions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,QAAA,MAAM,YAAY,EAAE;KAAE,GAAG,IAAI,MAAM,MAAM,CAAC,cAAc,GAAG,MAAM;CAsFhE,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
102
node_modules/jest-config/build/Descriptions.js
generated
vendored
102
node_modules/jest-config/build/Descriptions.js
generated
vendored
@ -1,102 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
const descriptions = {
|
|
||||||
automock: 'All imported modules in your tests should be mocked automatically',
|
|
||||||
bail: 'Stop running tests after `n` failures',
|
|
||||||
browser: 'Respect "browser" field in package.json when resolving modules',
|
|
||||||
cacheDirectory:
|
|
||||||
'The directory where Jest should store its cached dependency information',
|
|
||||||
clearMocks: 'Automatically clear mock calls and instances between every test',
|
|
||||||
collectCoverage:
|
|
||||||
'Indicates whether the coverage information should be collected while executing the test',
|
|
||||||
collectCoverageFrom:
|
|
||||||
'An array of glob patterns indicating a set of files for which coverage information should be collected',
|
|
||||||
coverageDirectory:
|
|
||||||
'The directory where Jest should output its coverage files',
|
|
||||||
coveragePathIgnorePatterns:
|
|
||||||
'An array of regexp pattern strings used to skip coverage collection',
|
|
||||||
coverageReporters:
|
|
||||||
'A list of reporter names that Jest uses when writing coverage reports',
|
|
||||||
coverageThreshold:
|
|
||||||
'An object that configures minimum threshold enforcement for coverage results',
|
|
||||||
dependencyExtractor: 'A path to a custom dependency extractor',
|
|
||||||
errorOnDeprecated:
|
|
||||||
'Make calling deprecated APIs throw helpful error messages',
|
|
||||||
forceCoverageMatch:
|
|
||||||
'Force coverage collection from ignored files using an array of glob patterns',
|
|
||||||
globalSetup:
|
|
||||||
'A path to a module which exports an async function that is triggered once before all test suites',
|
|
||||||
globalTeardown:
|
|
||||||
'A path to a module which exports an async function that is triggered once after all test suites',
|
|
||||||
globals:
|
|
||||||
'A set of global variables that need to be available in all test environments',
|
|
||||||
maxWorkers:
|
|
||||||
'The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.',
|
|
||||||
moduleDirectories:
|
|
||||||
"An array of directory names to be searched recursively up from the requiring module's location",
|
|
||||||
moduleFileExtensions: 'An array of file extensions your modules use',
|
|
||||||
moduleNameMapper:
|
|
||||||
'A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module',
|
|
||||||
modulePathIgnorePatterns:
|
|
||||||
"An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader",
|
|
||||||
notify: 'Activates notifications for test results',
|
|
||||||
notifyMode:
|
|
||||||
'An enum that specifies notification mode. Requires { notify: true }',
|
|
||||||
preset: "A preset that is used as a base for Jest's configuration",
|
|
||||||
projects: 'Run tests from one or more projects',
|
|
||||||
reporters: 'Use this configuration option to add custom reporters to Jest',
|
|
||||||
resetMocks: 'Automatically reset mock state between every test',
|
|
||||||
resetModules: 'Reset the module registry before running each individual test',
|
|
||||||
resolver: 'A path to a custom resolver',
|
|
||||||
restoreMocks: 'Automatically restore mock state between every test',
|
|
||||||
rootDir:
|
|
||||||
'The root directory that Jest should scan for tests and modules within',
|
|
||||||
roots:
|
|
||||||
'A list of paths to directories that Jest should use to search for files in',
|
|
||||||
runner:
|
|
||||||
"Allows you to use a custom runner instead of Jest's default test runner",
|
|
||||||
setupFiles:
|
|
||||||
'The paths to modules that run some code to configure or set up the testing environment before each test',
|
|
||||||
setupFilesAfterEnv:
|
|
||||||
'A list of paths to modules that run some code to configure or set up the testing framework before each test',
|
|
||||||
snapshotSerializers:
|
|
||||||
'A list of paths to snapshot serializer modules Jest should use for snapshot testing',
|
|
||||||
testEnvironment: 'The test environment that will be used for testing',
|
|
||||||
testEnvironmentOptions: 'Options that will be passed to the testEnvironment',
|
|
||||||
testLocationInResults: 'Adds a location field to test results',
|
|
||||||
testMatch: 'The glob patterns Jest uses to detect test files',
|
|
||||||
testPathIgnorePatterns:
|
|
||||||
'An array of regexp pattern strings that are matched against all test paths, matched tests are skipped',
|
|
||||||
testRegex:
|
|
||||||
'The regexp pattern or array of patterns that Jest uses to detect test files',
|
|
||||||
testResultsProcessor:
|
|
||||||
'This option allows the use of a custom results processor',
|
|
||||||
testRunner: 'This option allows use of a custom test runner',
|
|
||||||
testURL:
|
|
||||||
'This option sets the URL for the jsdom environment. It is reflected in properties such as location.href',
|
|
||||||
timers:
|
|
||||||
'Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout"',
|
|
||||||
transform: 'A map from regular expressions to paths to transformers',
|
|
||||||
transformIgnorePatterns:
|
|
||||||
'An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation',
|
|
||||||
unmockedModulePathPatterns:
|
|
||||||
'An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them',
|
|
||||||
verbose:
|
|
||||||
'Indicates whether each individual test should be reported during the run',
|
|
||||||
watchPathIgnorePatterns:
|
|
||||||
'An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode',
|
|
||||||
watchman: 'Whether to use watchman for file crawling'
|
|
||||||
};
|
|
||||||
var _default = descriptions;
|
|
||||||
exports.default = _default;
|
|
20
node_modules/jest-config/build/ReporterValidationErrors.d.ts
generated
vendored
20
node_modules/jest-config/build/ReporterValidationErrors.d.ts
generated
vendored
@ -1,20 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { Config } from '@jest/types';
|
|
||||||
import { ValidationError } from 'jest-validate';
|
|
||||||
/**
|
|
||||||
* Reporter Validation Error is thrown if the given arguments
|
|
||||||
* within the reporter are not valid.
|
|
||||||
*
|
|
||||||
* This is a highly specific reporter error and in the future will be
|
|
||||||
* merged with jest-validate. Till then, we can make use of it. It works
|
|
||||||
* and that's what counts most at this time.
|
|
||||||
*/
|
|
||||||
export declare function createReporterError(reporterIndex: number, reporterValue: Array<Config.ReporterConfig> | string): ValidationError;
|
|
||||||
export declare function createArrayReporterError(arrayReporter: Config.ReporterConfig, reporterIndex: number, valueIndex: number, value: string | Record<string, any>, expectedType: string, valueName: string): ValidationError;
|
|
||||||
export declare function validateReporters(reporterConfig: Array<Config.ReporterConfig | string>): boolean;
|
|
||||||
//# sourceMappingURL=ReporterValidationErrors.d.ts.map
|
|
1
node_modules/jest-config/build/ReporterValidationErrors.d.ts.map
generated
vendored
1
node_modules/jest-config/build/ReporterValidationErrors.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"ReporterValidationErrors.d.ts","sourceRoot":"","sources":["../src/ReporterValidationErrors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAQ9C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,GACnD,eAAe,CAQjB;AAED,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,CAAC,cAAc,EACpC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,eAAe,CAcjB;AAED,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,GACpD,OAAO,CAUT"}
|
|
138
node_modules/jest-config/build/ReporterValidationErrors.js
generated
vendored
138
node_modules/jest-config/build/ReporterValidationErrors.js
generated
vendored
@ -1,138 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.createReporterError = createReporterError;
|
|
||||||
exports.createArrayReporterError = createArrayReporterError;
|
|
||||||
exports.validateReporters = validateReporters;
|
|
||||||
|
|
||||||
function _jestValidate() {
|
|
||||||
const data = require('jest-validate');
|
|
||||||
|
|
||||||
_jestValidate = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _chalk() {
|
|
||||||
const data = _interopRequireDefault(require('chalk'));
|
|
||||||
|
|
||||||
_chalk = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _jestGetType() {
|
|
||||||
const data = _interopRequireDefault(require('jest-get-type'));
|
|
||||||
|
|
||||||
_jestGetType = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _utils = require('./utils');
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) {
|
|
||||||
return obj && obj.__esModule ? obj : {default: obj};
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
const validReporterTypes = ['array', 'string'];
|
|
||||||
const ERROR = `${_utils.BULLET}Reporter Validation Error`;
|
|
||||||
/**
|
|
||||||
* Reporter Validation Error is thrown if the given arguments
|
|
||||||
* within the reporter are not valid.
|
|
||||||
*
|
|
||||||
* This is a highly specific reporter error and in the future will be
|
|
||||||
* merged with jest-validate. Till then, we can make use of it. It works
|
|
||||||
* and that's what counts most at this time.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function createReporterError(reporterIndex, reporterValue) {
|
|
||||||
const errorMessage =
|
|
||||||
` Reporter at index ${reporterIndex} must be of type:\n` +
|
|
||||||
` ${_chalk().default.bold.green(validReporterTypes.join(' or '))}\n` +
|
|
||||||
` but instead received:\n` +
|
|
||||||
` ${_chalk().default.bold.red(
|
|
||||||
(0, _jestGetType().default)(reporterValue)
|
|
||||||
)}`;
|
|
||||||
return new (_jestValidate().ValidationError)(
|
|
||||||
ERROR,
|
|
||||||
errorMessage,
|
|
||||||
_utils.DOCUMENTATION_NOTE
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function createArrayReporterError(
|
|
||||||
arrayReporter,
|
|
||||||
reporterIndex,
|
|
||||||
valueIndex,
|
|
||||||
value,
|
|
||||||
expectedType,
|
|
||||||
valueName
|
|
||||||
) {
|
|
||||||
const errorMessage =
|
|
||||||
` Unexpected value for ${valueName} ` +
|
|
||||||
`at index ${valueIndex} of reporter at index ${reporterIndex}\n` +
|
|
||||||
' Expected:\n' +
|
|
||||||
` ${_chalk().default.bold.red(expectedType)}\n` +
|
|
||||||
' Got:\n' +
|
|
||||||
` ${_chalk().default.bold.green((0, _jestGetType().default)(value))}\n` +
|
|
||||||
` Reporter configuration:\n` +
|
|
||||||
` ${_chalk().default.bold.green(
|
|
||||||
JSON.stringify(arrayReporter, null, 2).split('\n').join('\n ')
|
|
||||||
)}`;
|
|
||||||
return new (_jestValidate().ValidationError)(
|
|
||||||
ERROR,
|
|
||||||
errorMessage,
|
|
||||||
_utils.DOCUMENTATION_NOTE
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function validateReporters(reporterConfig) {
|
|
||||||
return reporterConfig.every((reporter, index) => {
|
|
||||||
if (Array.isArray(reporter)) {
|
|
||||||
validateArrayReporter(reporter, index);
|
|
||||||
} else if (typeof reporter !== 'string') {
|
|
||||||
throw createReporterError(index, reporter);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function validateArrayReporter(arrayReporter, reporterIndex) {
|
|
||||||
const [path, options] = arrayReporter;
|
|
||||||
|
|
||||||
if (typeof path !== 'string') {
|
|
||||||
throw createArrayReporterError(
|
|
||||||
arrayReporter,
|
|
||||||
reporterIndex,
|
|
||||||
0,
|
|
||||||
path,
|
|
||||||
'string',
|
|
||||||
'Path'
|
|
||||||
);
|
|
||||||
} else if (typeof options !== 'object') {
|
|
||||||
throw createArrayReporterError(
|
|
||||||
arrayReporter,
|
|
||||||
reporterIndex,
|
|
||||||
1,
|
|
||||||
options,
|
|
||||||
'object',
|
|
||||||
'Reporter Configuration'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
10
node_modules/jest-config/build/ValidConfig.d.ts
generated
vendored
10
node_modules/jest-config/build/ValidConfig.d.ts
generated
vendored
@ -1,10 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { Config } from '@jest/types';
|
|
||||||
declare const initialOptions: Config.InitialOptions;
|
|
||||||
export default initialOptions;
|
|
||||||
//# sourceMappingURL=ValidConfig.d.ts.map
|
|
1
node_modules/jest-config/build/ValidConfig.d.ts.map
generated
vendored
1
node_modules/jest-config/build/ValidConfig.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"ValidConfig.d.ts","sourceRoot":"","sources":["../src/ValidConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAOxC,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,cA+H5B,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
179
node_modules/jest-config/build/ValidConfig.js
generated
vendored
179
node_modules/jest-config/build/ValidConfig.js
generated
vendored
@ -1,179 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function _jestRegexUtil() {
|
|
||||||
const data = require('jest-regex-util');
|
|
||||||
|
|
||||||
_jestRegexUtil = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _jestValidate() {
|
|
||||||
const data = require('jest-validate');
|
|
||||||
|
|
||||||
_jestValidate = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _constants = require('./constants');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
const NODE_MODULES_REGEXP = (0, _jestRegexUtil().replacePathSepForRegex)(
|
|
||||||
_constants.NODE_MODULES
|
|
||||||
);
|
|
||||||
const initialOptions = {
|
|
||||||
automock: false,
|
|
||||||
bail: (0, _jestValidate().multipleValidOptions)(false, 0),
|
|
||||||
browser: false,
|
|
||||||
cache: true,
|
|
||||||
cacheDirectory: '/tmp/user/jest',
|
|
||||||
changedFilesWithAncestor: false,
|
|
||||||
changedSince: 'master',
|
|
||||||
clearMocks: false,
|
|
||||||
collectCoverage: true,
|
|
||||||
collectCoverageFrom: ['src', '!public'],
|
|
||||||
collectCoverageOnlyFrom: {
|
|
||||||
'<rootDir>/this-directory-is-covered/Covered.js': true
|
|
||||||
},
|
|
||||||
coverageDirectory: 'coverage',
|
|
||||||
coveragePathIgnorePatterns: [NODE_MODULES_REGEXP],
|
|
||||||
coverageProvider: 'v8',
|
|
||||||
coverageReporters: ['json', 'text', 'lcov', 'clover'],
|
|
||||||
coverageThreshold: {
|
|
||||||
global: {
|
|
||||||
branches: 50,
|
|
||||||
functions: 100,
|
|
||||||
lines: 100,
|
|
||||||
statements: 100
|
|
||||||
}
|
|
||||||
},
|
|
||||||
dependencyExtractor: '<rootDir>/dependencyExtractor.js',
|
|
||||||
displayName: (0, _jestValidate().multipleValidOptions)('test-config', {
|
|
||||||
color: 'blue',
|
|
||||||
name: 'test-config'
|
|
||||||
}),
|
|
||||||
errorOnDeprecated: false,
|
|
||||||
expand: false,
|
|
||||||
extraGlobals: [],
|
|
||||||
filter: '<rootDir>/filter.js',
|
|
||||||
forceCoverageMatch: ['**/*.t.js'],
|
|
||||||
forceExit: false,
|
|
||||||
globalSetup: 'setup.js',
|
|
||||||
globalTeardown: 'teardown.js',
|
|
||||||
globals: {
|
|
||||||
__DEV__: true
|
|
||||||
},
|
|
||||||
haste: {
|
|
||||||
computeSha1: true,
|
|
||||||
defaultPlatform: 'ios',
|
|
||||||
hasteImplModulePath: '<rootDir>/haste_impl.js',
|
|
||||||
platforms: ['ios', 'android'],
|
|
||||||
providesModuleNodeModules: ['react', 'react-native'],
|
|
||||||
throwOnModuleCollision: false
|
|
||||||
},
|
|
||||||
json: false,
|
|
||||||
lastCommit: false,
|
|
||||||
logHeapUsage: true,
|
|
||||||
maxConcurrency: 5,
|
|
||||||
maxWorkers: '50%',
|
|
||||||
moduleDirectories: ['node_modules'],
|
|
||||||
moduleFileExtensions: ['js', 'json', 'jsx', 'ts', 'tsx', 'node'],
|
|
||||||
moduleLoader: '<rootDir>',
|
|
||||||
moduleNameMapper: {
|
|
||||||
'^React$': '<rootDir>/node_modules/react'
|
|
||||||
},
|
|
||||||
modulePathIgnorePatterns: ['<rootDir>/build/'],
|
|
||||||
modulePaths: ['/shared/vendor/modules'],
|
|
||||||
name: 'string',
|
|
||||||
noStackTrace: false,
|
|
||||||
notify: false,
|
|
||||||
notifyMode: 'failure-change',
|
|
||||||
onlyChanged: false,
|
|
||||||
preset: 'react-native',
|
|
||||||
prettierPath: '<rootDir>/node_modules/prettier',
|
|
||||||
projects: ['project-a', 'project-b/'],
|
|
||||||
reporters: [
|
|
||||||
'default',
|
|
||||||
'custom-reporter-1',
|
|
||||||
[
|
|
||||||
'custom-reporter-2',
|
|
||||||
{
|
|
||||||
configValue: true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
resetMocks: false,
|
|
||||||
resetModules: false,
|
|
||||||
resolver: '<rootDir>/resolver.js',
|
|
||||||
restoreMocks: false,
|
|
||||||
rootDir: '/',
|
|
||||||
roots: ['<rootDir>'],
|
|
||||||
runTestsByPath: false,
|
|
||||||
runner: 'jest-runner',
|
|
||||||
setupFiles: ['<rootDir>/setup.js'],
|
|
||||||
setupFilesAfterEnv: ['<rootDir>/testSetupFile.js'],
|
|
||||||
silent: true,
|
|
||||||
skipFilter: false,
|
|
||||||
skipNodeResolution: false,
|
|
||||||
snapshotResolver: '<rootDir>/snapshotResolver.js',
|
|
||||||
snapshotSerializers: ['my-serializer-module'],
|
|
||||||
testEnvironment: 'jest-environment-jsdom',
|
|
||||||
testEnvironmentOptions: {
|
|
||||||
userAgent: 'Agent/007'
|
|
||||||
},
|
|
||||||
testFailureExitCode: 1,
|
|
||||||
testLocationInResults: false,
|
|
||||||
testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[jt]s?(x)'],
|
|
||||||
testNamePattern: 'test signature',
|
|
||||||
testPathIgnorePatterns: [NODE_MODULES_REGEXP],
|
|
||||||
testRegex: (0,
|
|
||||||
_jestValidate()
|
|
||||||
.multipleValidOptions)('(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$', [
|
|
||||||
'/__tests__/\\.test\\.[jt]sx?$',
|
|
||||||
'/__tests__/\\.spec\\.[jt]sx?$'
|
|
||||||
]),
|
|
||||||
testResultsProcessor: 'processor-node-module',
|
|
||||||
testRunner: 'jasmine2',
|
|
||||||
testSequencer: '@jest/test-sequencer',
|
|
||||||
testTimeout: 5000,
|
|
||||||
testURL: 'http://localhost',
|
|
||||||
timers: 'real',
|
|
||||||
transform: {
|
|
||||||
'^.+\\.js$': '<rootDir>/preprocessor.js'
|
|
||||||
},
|
|
||||||
transformIgnorePatterns: [NODE_MODULES_REGEXP],
|
|
||||||
unmockedModulePathPatterns: ['mock'],
|
|
||||||
updateSnapshot: true,
|
|
||||||
useStderr: false,
|
|
||||||
verbose: false,
|
|
||||||
watch: false,
|
|
||||||
watchPathIgnorePatterns: ['<rootDir>/e2e/'],
|
|
||||||
watchPlugins: [
|
|
||||||
'path/to/yourWatchPlugin',
|
|
||||||
[
|
|
||||||
'jest-watch-typeahead/filename',
|
|
||||||
{
|
|
||||||
key: 'k',
|
|
||||||
prompt: 'do something with my custom prompt'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
watchman: true
|
|
||||||
};
|
|
||||||
var _default = initialOptions;
|
|
||||||
exports.default = _default;
|
|
8
node_modules/jest-config/build/color.d.ts
generated
vendored
8
node_modules/jest-config/build/color.d.ts
generated
vendored
@ -1,8 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
export declare const getDisplayNameColor: (seed?: string | undefined) => "hex" | "bold" | "reset" | "black" | "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "blackBright" | "redBright" | "greenBright" | "yellowBright" | "blueBright" | "magentaBright" | "cyanBright" | "whiteBright" | "bgBlack" | "bgRed" | "bgGreen" | "bgYellow" | "bgBlue" | "bgMagenta" | "bgCyan" | "bgWhite" | "bgGray" | "bgGrey" | "bgBlackBright" | "bgRedBright" | "bgGreenBright" | "bgYellowBright" | "bgBlueBright" | "bgMagentaBright" | "bgCyanBright" | "bgWhiteBright" | "dim" | "italic" | "underline" | "inverse" | "hidden" | "strikethrough" | "visible" | "Instance" | "level" | "keyword" | "rgb" | "hsl" | "hsv" | "hwb" | "ansi" | "ansi256" | "bgHex" | "bgKeyword" | "bgRgb" | "bgHsl" | "bgHsv" | "bgHwb" | "bgAnsi" | "bgAnsi256" | "supportsColor" | "Level" | "Color" | "ForegroundColor" | "BackgroundColor" | "Modifiers" | "stderr";
|
|
||||||
//# sourceMappingURL=color.d.ts.map
|
|
1
node_modules/jest-config/build/color.d.ts.map
generated
vendored
1
node_modules/jest-config/build/color.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,eAAO,MAAM,mBAAmB,24BAS/B,CAAC"}
|
|
51
node_modules/jest-config/build/color.js
generated
vendored
51
node_modules/jest-config/build/color.js
generated
vendored
@ -1,51 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.getDisplayNameColor = void 0;
|
|
||||||
|
|
||||||
function _crypto() {
|
|
||||||
const data = require('crypto');
|
|
||||||
|
|
||||||
_crypto = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _chalk() {
|
|
||||||
const data = _interopRequireDefault(require('chalk'));
|
|
||||||
|
|
||||||
_chalk = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) {
|
|
||||||
return obj && obj.__esModule ? obj : {default: obj};
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
const colors = ['red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'];
|
|
||||||
|
|
||||||
const getDisplayNameColor = seed => {
|
|
||||||
if (seed === undefined) {
|
|
||||||
return 'white';
|
|
||||||
}
|
|
||||||
|
|
||||||
const hash = (0, _crypto().createHash)('sha256');
|
|
||||||
hash.update(seed);
|
|
||||||
const num = hash.digest().readUInt32LE(0);
|
|
||||||
return colors[num % colors.length];
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.getDisplayNameColor = getDisplayNameColor;
|
|
17
node_modules/jest-config/build/constants.d.ts
generated
vendored
17
node_modules/jest-config/build/constants.d.ts
generated
vendored
@ -1,17 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
export declare const NODE_MODULES: string;
|
|
||||||
export declare const DEFAULT_JS_PATTERN = "^.+\\.[jt]sx?$";
|
|
||||||
export declare const DEFAULT_REPORTER_LABEL = "default";
|
|
||||||
export declare const PACKAGE_JSON = "package.json";
|
|
||||||
export declare const JEST_CONFIG_BASE_NAME = "jest.config";
|
|
||||||
export declare const JEST_CONFIG_EXT_CJS = ".cjs";
|
|
||||||
export declare const JEST_CONFIG_EXT_MJS = ".mjs";
|
|
||||||
export declare const JEST_CONFIG_EXT_JS = ".js";
|
|
||||||
export declare const JEST_CONFIG_EXT_JSON = ".json";
|
|
||||||
export declare const JEST_CONFIG_EXT_ORDER: readonly string[];
|
|
||||||
//# sourceMappingURL=constants.d.ts.map
|
|
1
node_modules/jest-config/build/constants.d.ts.map
generated
vendored
1
node_modules/jest-config/build/constants.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,YAAY,QAAuC,CAAC;AACjE,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAChD,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AACnD,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAC1C,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAC1C,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AACxC,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAC5C,eAAO,MAAM,qBAAqB,mBAKhC,CAAC"}
|
|
90
node_modules/jest-config/build/constants.js
generated
vendored
90
node_modules/jest-config/build/constants.js
generated
vendored
@ -1,90 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.JEST_CONFIG_EXT_ORDER = exports.JEST_CONFIG_EXT_JSON = exports.JEST_CONFIG_EXT_JS = exports.JEST_CONFIG_EXT_MJS = exports.JEST_CONFIG_EXT_CJS = exports.JEST_CONFIG_BASE_NAME = exports.PACKAGE_JSON = exports.DEFAULT_REPORTER_LABEL = exports.DEFAULT_JS_PATTERN = exports.NODE_MODULES = void 0;
|
|
||||||
|
|
||||||
function path() {
|
|
||||||
const data = _interopRequireWildcard(require('path'));
|
|
||||||
|
|
||||||
path = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _getRequireWildcardCache() {
|
|
||||||
if (typeof WeakMap !== 'function') return null;
|
|
||||||
var cache = new WeakMap();
|
|
||||||
_getRequireWildcardCache = function () {
|
|
||||||
return cache;
|
|
||||||
};
|
|
||||||
return cache;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) {
|
|
||||||
if (obj && obj.__esModule) {
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
|
||||||
return {default: obj};
|
|
||||||
}
|
|
||||||
var cache = _getRequireWildcardCache();
|
|
||||||
if (cache && cache.has(obj)) {
|
|
||||||
return cache.get(obj);
|
|
||||||
}
|
|
||||||
var newObj = {};
|
|
||||||
var hasPropertyDescriptor =
|
|
||||||
Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
||||||
for (var key in obj) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
||||||
var desc = hasPropertyDescriptor
|
|
||||||
? Object.getOwnPropertyDescriptor(obj, key)
|
|
||||||
: null;
|
|
||||||
if (desc && (desc.get || desc.set)) {
|
|
||||||
Object.defineProperty(newObj, key, desc);
|
|
||||||
} else {
|
|
||||||
newObj[key] = obj[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
newObj.default = obj;
|
|
||||||
if (cache) {
|
|
||||||
cache.set(obj, newObj);
|
|
||||||
}
|
|
||||||
return newObj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
const NODE_MODULES = path().sep + 'node_modules' + path().sep;
|
|
||||||
exports.NODE_MODULES = NODE_MODULES;
|
|
||||||
const DEFAULT_JS_PATTERN = '^.+\\.[jt]sx?$';
|
|
||||||
exports.DEFAULT_JS_PATTERN = DEFAULT_JS_PATTERN;
|
|
||||||
const DEFAULT_REPORTER_LABEL = 'default';
|
|
||||||
exports.DEFAULT_REPORTER_LABEL = DEFAULT_REPORTER_LABEL;
|
|
||||||
const PACKAGE_JSON = 'package.json';
|
|
||||||
exports.PACKAGE_JSON = PACKAGE_JSON;
|
|
||||||
const JEST_CONFIG_BASE_NAME = 'jest.config';
|
|
||||||
exports.JEST_CONFIG_BASE_NAME = JEST_CONFIG_BASE_NAME;
|
|
||||||
const JEST_CONFIG_EXT_CJS = '.cjs';
|
|
||||||
exports.JEST_CONFIG_EXT_CJS = JEST_CONFIG_EXT_CJS;
|
|
||||||
const JEST_CONFIG_EXT_MJS = '.mjs';
|
|
||||||
exports.JEST_CONFIG_EXT_MJS = JEST_CONFIG_EXT_MJS;
|
|
||||||
const JEST_CONFIG_EXT_JS = '.js';
|
|
||||||
exports.JEST_CONFIG_EXT_JS = JEST_CONFIG_EXT_JS;
|
|
||||||
const JEST_CONFIG_EXT_JSON = '.json';
|
|
||||||
exports.JEST_CONFIG_EXT_JSON = JEST_CONFIG_EXT_JSON;
|
|
||||||
const JEST_CONFIG_EXT_ORDER = Object.freeze([
|
|
||||||
JEST_CONFIG_EXT_JS,
|
|
||||||
JEST_CONFIG_EXT_MJS,
|
|
||||||
JEST_CONFIG_EXT_CJS,
|
|
||||||
JEST_CONFIG_EXT_JSON
|
|
||||||
]);
|
|
||||||
exports.JEST_CONFIG_EXT_ORDER = JEST_CONFIG_EXT_ORDER;
|
|
9
node_modules/jest-config/build/getCacheDirectory.d.ts
generated
vendored
9
node_modules/jest-config/build/getCacheDirectory.d.ts
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
declare const getCacheDirectory: () => string;
|
|
||||||
export default getCacheDirectory;
|
|
||||||
//# sourceMappingURL=getCacheDirectory.d.ts.map
|
|
1
node_modules/jest-config/build/getCacheDirectory.d.ts.map
generated
vendored
1
node_modules/jest-config/build/getCacheDirectory.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"getCacheDirectory.d.ts","sourceRoot":"","sources":["../src/getCacheDirectory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,QAAA,MAAM,iBAAiB,cAWtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
104
node_modules/jest-config/build/getCacheDirectory.js
generated
vendored
104
node_modules/jest-config/build/getCacheDirectory.js
generated
vendored
@ -1,104 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function path() {
|
|
||||||
const data = _interopRequireWildcard(require('path'));
|
|
||||||
|
|
||||||
path = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _os() {
|
|
||||||
const data = require('os');
|
|
||||||
|
|
||||||
_os = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _realpathNative() {
|
|
||||||
const data = require('realpath-native');
|
|
||||||
|
|
||||||
_realpathNative = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _getRequireWildcardCache() {
|
|
||||||
if (typeof WeakMap !== 'function') return null;
|
|
||||||
var cache = new WeakMap();
|
|
||||||
_getRequireWildcardCache = function () {
|
|
||||||
return cache;
|
|
||||||
};
|
|
||||||
return cache;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) {
|
|
||||||
if (obj && obj.__esModule) {
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
|
||||||
return {default: obj};
|
|
||||||
}
|
|
||||||
var cache = _getRequireWildcardCache();
|
|
||||||
if (cache && cache.has(obj)) {
|
|
||||||
return cache.get(obj);
|
|
||||||
}
|
|
||||||
var newObj = {};
|
|
||||||
var hasPropertyDescriptor =
|
|
||||||
Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
||||||
for (var key in obj) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
||||||
var desc = hasPropertyDescriptor
|
|
||||||
? Object.getOwnPropertyDescriptor(obj, key)
|
|
||||||
: null;
|
|
||||||
if (desc && (desc.get || desc.set)) {
|
|
||||||
Object.defineProperty(newObj, key, desc);
|
|
||||||
} else {
|
|
||||||
newObj[key] = obj[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
newObj.default = obj;
|
|
||||||
if (cache) {
|
|
||||||
cache.set(obj, newObj);
|
|
||||||
}
|
|
||||||
return newObj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
const getCacheDirectory = () => {
|
|
||||||
const {getuid} = process;
|
|
||||||
const tmpdirPath = path().join(
|
|
||||||
(0, _realpathNative().sync)((0, _os().tmpdir)()),
|
|
||||||
'jest'
|
|
||||||
);
|
|
||||||
|
|
||||||
if (getuid == null) {
|
|
||||||
return tmpdirPath;
|
|
||||||
} else {
|
|
||||||
// On some platforms tmpdir() is `/tmp`, causing conflicts between different
|
|
||||||
// users and permission issues. Adding an additional subdivision by UID can
|
|
||||||
// help.
|
|
||||||
return `${tmpdirPath}_${getuid.call(process).toString(36)}`;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var _default = getCacheDirectory;
|
|
||||||
exports.default = _default;
|
|
9
node_modules/jest-config/build/getMaxWorkers.d.ts
generated
vendored
9
node_modules/jest-config/build/getMaxWorkers.d.ts
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { Config } from '@jest/types';
|
|
||||||
export default function getMaxWorkers(argv: Partial<Pick<Config.Argv, 'maxWorkers' | 'runInBand' | 'watch' | 'watchAll'>>, defaultOptions?: Partial<Pick<Config.Argv, 'maxWorkers'>>): number;
|
|
||||||
//# sourceMappingURL=getMaxWorkers.d.ts.map
|
|
1
node_modules/jest-config/build/getMaxWorkers.d.ts.map
generated
vendored
1
node_modules/jest-config/build/getMaxWorkers.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"getMaxWorkers.d.ts","sourceRoot":"","sources":["../src/getMaxWorkers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,IAAI,EAAE,OAAO,CACX,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC,CACrE,EACD,cAAc,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,GACxD,MAAM,CAgBR"}
|
|
57
node_modules/jest-config/build/getMaxWorkers.js
generated
vendored
57
node_modules/jest-config/build/getMaxWorkers.js
generated
vendored
@ -1,57 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = getMaxWorkers;
|
|
||||||
|
|
||||||
function _os() {
|
|
||||||
const data = require('os');
|
|
||||||
|
|
||||||
_os = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
function getMaxWorkers(argv, defaultOptions) {
|
|
||||||
if (argv.runInBand) {
|
|
||||||
return 1;
|
|
||||||
} else if (argv.maxWorkers) {
|
|
||||||
return parseWorkers(argv.maxWorkers);
|
|
||||||
} else if (defaultOptions && defaultOptions.maxWorkers) {
|
|
||||||
return parseWorkers(defaultOptions.maxWorkers);
|
|
||||||
} else {
|
|
||||||
// In watch mode, Jest should be unobtrusive and not use all available CPUs.
|
|
||||||
const numCpus = (0, _os().cpus)() ? (0, _os().cpus)().length : 1;
|
|
||||||
const isWatchModeEnabled = argv.watch || argv.watchAll;
|
|
||||||
return Math.max(
|
|
||||||
isWatchModeEnabled ? Math.floor(numCpus / 2) : numCpus - 1,
|
|
||||||
1
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const parseWorkers = maxWorkers => {
|
|
||||||
const parsed = parseInt(maxWorkers.toString(), 10);
|
|
||||||
|
|
||||||
if (
|
|
||||||
typeof maxWorkers === 'string' &&
|
|
||||||
maxWorkers.trim().endsWith('%') &&
|
|
||||||
parsed > 0 &&
|
|
||||||
parsed <= 100
|
|
||||||
) {
|
|
||||||
const numCpus = (0, _os().cpus)().length;
|
|
||||||
const workers = Math.floor((parsed / 100) * numCpus);
|
|
||||||
return workers >= 1 ? workers : 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return parsed > 0 ? parsed : 1;
|
|
||||||
};
|
|
11
node_modules/jest-config/build/importEsm.d.ts
generated
vendored
11
node_modules/jest-config/build/importEsm.d.ts
generated
vendored
@ -1,11 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
declare const _default: (specifier: string) => Promise<{
|
|
||||||
default: unknown;
|
|
||||||
}>;
|
|
||||||
export default _default;
|
|
||||||
//# sourceMappingURL=importEsm.d.ts.map
|
|
1
node_modules/jest-config/build/importEsm.d.ts.map
generated
vendored
1
node_modules/jest-config/build/importEsm.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"importEsm.d.ts","sourceRoot":"","sources":["../src/importEsm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;AAMH,wBAEwC"}
|
|
30
node_modules/jest-config/build/importEsm.js
generated
vendored
30
node_modules/jest-config/build/importEsm.js
generated
vendored
@ -1,30 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function _url() {
|
|
||||||
const data = require('url');
|
|
||||||
|
|
||||||
_url = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
// this is in a separate file so that node 8 don't explode with a syntax error.
|
|
||||||
// Remove this file when we drop support for Node 8
|
|
||||||
var _default = (
|
|
||||||
specifier // node `import()` supports URL, but TypeScript doesn't know that
|
|
||||||
) => import((0, _url().pathToFileURL)(specifier).href);
|
|
||||||
|
|
||||||
exports.default = _default;
|
|
28
node_modules/jest-config/build/index.d.ts
generated
vendored
28
node_modules/jest-config/build/index.d.ts
generated
vendored
@ -1,28 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { Config } from '@jest/types';
|
|
||||||
export { getTestEnvironment, isJSONString } from './utils';
|
|
||||||
export { default as normalize } from './normalize';
|
|
||||||
export { default as deprecationEntries } from './Deprecated';
|
|
||||||
export { replaceRootDirInPath } from './utils';
|
|
||||||
export { default as defaults } from './Defaults';
|
|
||||||
export { default as descriptions } from './Descriptions';
|
|
||||||
import * as constants from './constants';
|
|
||||||
export { constants };
|
|
||||||
declare type ReadConfig = {
|
|
||||||
configPath: Config.Path | null | undefined;
|
|
||||||
globalConfig: Config.GlobalConfig;
|
|
||||||
hasDeprecationWarnings: boolean;
|
|
||||||
projectConfig: Config.ProjectConfig;
|
|
||||||
};
|
|
||||||
export declare function readConfig(argv: Config.Argv, packageRootOrConfig: Config.Path | Config.InitialOptions, skipArgvConfigOption?: boolean, parentConfigPath?: Config.Path | null, projectIndex?: number): Promise<ReadConfig>;
|
|
||||||
export declare function readConfigs(argv: Config.Argv, projectPaths: Array<Config.Path>): Promise<{
|
|
||||||
globalConfig: Config.GlobalConfig;
|
|
||||||
configs: Array<Config.ProjectConfig>;
|
|
||||||
hasDeprecationWarnings: boolean;
|
|
||||||
}>;
|
|
||||||
//# sourceMappingURL=index.d.ts.map
|
|
1
node_modules/jest-config/build/index.d.ts.map
generated
vendored
1
node_modules/jest-config/build/index.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAOxC,OAAO,EAAC,kBAAkB,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,SAAS,EAAC,CAAC;AAEnB,aAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;IAClC,sBAAsB,EAAE,OAAO,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;CACrC,CAAC;AAEF,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,mBAAmB,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,cAAc,EAKxD,oBAAoB,CAAC,EAAE,OAAO,EAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,EACrC,YAAY,GAAE,MAAiB,GAC9B,OAAO,CAAC,UAAU,CAAC,CAwDrB;AAuKD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAC/B,OAAO,CAAC;IACT,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;IAClC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACrC,sBAAsB,EAAE,OAAO,CAAC;CACjC,CAAC,CAmFD"}
|
|
474
node_modules/jest-config/build/index.js
generated
vendored
474
node_modules/jest-config/build/index.js
generated
vendored
@ -1,474 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.readConfig = readConfig;
|
|
||||||
exports.readConfigs = readConfigs;
|
|
||||||
Object.defineProperty(exports, 'getTestEnvironment', {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _utils.getTestEnvironment;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Object.defineProperty(exports, 'isJSONString', {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _utils.isJSONString;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Object.defineProperty(exports, 'replaceRootDirInPath', {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _utils.replaceRootDirInPath;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Object.defineProperty(exports, 'normalize', {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _normalize.default;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Object.defineProperty(exports, 'deprecationEntries', {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _Deprecated.default;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Object.defineProperty(exports, 'defaults', {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _Defaults.default;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Object.defineProperty(exports, 'descriptions', {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _Descriptions.default;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
exports.constants = void 0;
|
|
||||||
|
|
||||||
function fs() {
|
|
||||||
const data = _interopRequireWildcard(require('fs'));
|
|
||||||
|
|
||||||
fs = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function path() {
|
|
||||||
const data = _interopRequireWildcard(require('path'));
|
|
||||||
|
|
||||||
path = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _chalk() {
|
|
||||||
const data = _interopRequireDefault(require('chalk'));
|
|
||||||
|
|
||||||
_chalk = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _realpathNative() {
|
|
||||||
const data = require('realpath-native');
|
|
||||||
|
|
||||||
_realpathNative = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _utils = require('./utils');
|
|
||||||
|
|
||||||
var _normalize = _interopRequireDefault(require('./normalize'));
|
|
||||||
|
|
||||||
var _resolveConfigPath = _interopRequireDefault(require('./resolveConfigPath'));
|
|
||||||
|
|
||||||
var _readConfigFileAndSetRootDir = _interopRequireDefault(
|
|
||||||
require('./readConfigFileAndSetRootDir')
|
|
||||||
);
|
|
||||||
|
|
||||||
var _Deprecated = _interopRequireDefault(require('./Deprecated'));
|
|
||||||
|
|
||||||
var _Defaults = _interopRequireDefault(require('./Defaults'));
|
|
||||||
|
|
||||||
var _Descriptions = _interopRequireDefault(require('./Descriptions'));
|
|
||||||
|
|
||||||
var constants = _interopRequireWildcard(require('./constants'));
|
|
||||||
|
|
||||||
exports.constants = constants;
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) {
|
|
||||||
return obj && obj.__esModule ? obj : {default: obj};
|
|
||||||
}
|
|
||||||
|
|
||||||
function _getRequireWildcardCache() {
|
|
||||||
if (typeof WeakMap !== 'function') return null;
|
|
||||||
var cache = new WeakMap();
|
|
||||||
_getRequireWildcardCache = function () {
|
|
||||||
return cache;
|
|
||||||
};
|
|
||||||
return cache;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) {
|
|
||||||
if (obj && obj.__esModule) {
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
|
||||||
return {default: obj};
|
|
||||||
}
|
|
||||||
var cache = _getRequireWildcardCache();
|
|
||||||
if (cache && cache.has(obj)) {
|
|
||||||
return cache.get(obj);
|
|
||||||
}
|
|
||||||
var newObj = {};
|
|
||||||
var hasPropertyDescriptor =
|
|
||||||
Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
||||||
for (var key in obj) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
||||||
var desc = hasPropertyDescriptor
|
|
||||||
? Object.getOwnPropertyDescriptor(obj, key)
|
|
||||||
: null;
|
|
||||||
if (desc && (desc.get || desc.set)) {
|
|
||||||
Object.defineProperty(newObj, key, desc);
|
|
||||||
} else {
|
|
||||||
newObj[key] = obj[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
newObj.default = obj;
|
|
||||||
if (cache) {
|
|
||||||
cache.set(obj, newObj);
|
|
||||||
}
|
|
||||||
return newObj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
async function readConfig(
|
|
||||||
argv,
|
|
||||||
packageRootOrConfig, // Whether it needs to look into `--config` arg passed to CLI.
|
|
||||||
// It only used to read initial config. If the initial config contains
|
|
||||||
// `project` property, we don't want to read `--config` value and rather
|
|
||||||
// read individual configs for every project.
|
|
||||||
skipArgvConfigOption,
|
|
||||||
parentConfigPath,
|
|
||||||
projectIndex = Infinity
|
|
||||||
) {
|
|
||||||
let rawOptions;
|
|
||||||
let configPath = null;
|
|
||||||
|
|
||||||
if (typeof packageRootOrConfig !== 'string') {
|
|
||||||
if (parentConfigPath) {
|
|
||||||
const parentConfigDirname = path().dirname(parentConfigPath);
|
|
||||||
rawOptions = packageRootOrConfig;
|
|
||||||
rawOptions.rootDir = rawOptions.rootDir
|
|
||||||
? (0, _utils.replaceRootDirInPath)(
|
|
||||||
parentConfigDirname,
|
|
||||||
rawOptions.rootDir
|
|
||||||
)
|
|
||||||
: parentConfigDirname;
|
|
||||||
} else {
|
|
||||||
throw new Error(
|
|
||||||
'Jest: Cannot use configuration as an object without a file path.'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
} else if ((0, _utils.isJSONString)(argv.config)) {
|
|
||||||
// A JSON string was passed to `--config` argument and we can parse it
|
|
||||||
// and use as is.
|
|
||||||
let config;
|
|
||||||
|
|
||||||
try {
|
|
||||||
config = JSON.parse(argv.config);
|
|
||||||
} catch (e) {
|
|
||||||
throw new Error(
|
|
||||||
'There was an error while parsing the `--config` argument as a JSON string.'
|
|
||||||
);
|
|
||||||
} // NOTE: we might need to resolve this dir to an absolute path in the future
|
|
||||||
|
|
||||||
config.rootDir = config.rootDir || packageRootOrConfig;
|
|
||||||
rawOptions = config; // A string passed to `--config`, which is either a direct path to the config
|
|
||||||
// or a path to directory containing `package.json` or `jest.config.js`
|
|
||||||
} else if (!skipArgvConfigOption && typeof argv.config == 'string') {
|
|
||||||
configPath = (0, _resolveConfigPath.default)(argv.config, process.cwd());
|
|
||||||
rawOptions = await (0, _readConfigFileAndSetRootDir.default)(configPath);
|
|
||||||
} else {
|
|
||||||
// Otherwise just try to find config in the current rootDir.
|
|
||||||
configPath = (0, _resolveConfigPath.default)(
|
|
||||||
packageRootOrConfig,
|
|
||||||
process.cwd()
|
|
||||||
);
|
|
||||||
rawOptions = await (0, _readConfigFileAndSetRootDir.default)(configPath);
|
|
||||||
}
|
|
||||||
|
|
||||||
const {options, hasDeprecationWarnings} = (0, _normalize.default)(
|
|
||||||
rawOptions,
|
|
||||||
argv,
|
|
||||||
configPath,
|
|
||||||
projectIndex
|
|
||||||
);
|
|
||||||
const {globalConfig, projectConfig} = groupOptions(options);
|
|
||||||
return {
|
|
||||||
configPath,
|
|
||||||
globalConfig,
|
|
||||||
hasDeprecationWarnings,
|
|
||||||
projectConfig
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const groupOptions = options => ({
|
|
||||||
globalConfig: Object.freeze({
|
|
||||||
bail: options.bail,
|
|
||||||
changedFilesWithAncestor: options.changedFilesWithAncestor,
|
|
||||||
changedSince: options.changedSince,
|
|
||||||
collectCoverage: options.collectCoverage,
|
|
||||||
collectCoverageFrom: options.collectCoverageFrom,
|
|
||||||
collectCoverageOnlyFrom: options.collectCoverageOnlyFrom,
|
|
||||||
coverageDirectory: options.coverageDirectory,
|
|
||||||
coverageProvider: options.coverageProvider,
|
|
||||||
coverageReporters: options.coverageReporters,
|
|
||||||
coverageThreshold: options.coverageThreshold,
|
|
||||||
detectLeaks: options.detectLeaks,
|
|
||||||
detectOpenHandles: options.detectOpenHandles,
|
|
||||||
enabledTestsMap: options.enabledTestsMap,
|
|
||||||
errorOnDeprecated: options.errorOnDeprecated,
|
|
||||||
expand: options.expand,
|
|
||||||
filter: options.filter,
|
|
||||||
findRelatedTests: options.findRelatedTests,
|
|
||||||
forceExit: options.forceExit,
|
|
||||||
globalSetup: options.globalSetup,
|
|
||||||
globalTeardown: options.globalTeardown,
|
|
||||||
json: options.json,
|
|
||||||
lastCommit: options.lastCommit,
|
|
||||||
listTests: options.listTests,
|
|
||||||
logHeapUsage: options.logHeapUsage,
|
|
||||||
maxConcurrency: options.maxConcurrency,
|
|
||||||
maxWorkers: options.maxWorkers,
|
|
||||||
noSCM: undefined,
|
|
||||||
noStackTrace: options.noStackTrace,
|
|
||||||
nonFlagArgs: options.nonFlagArgs,
|
|
||||||
notify: options.notify,
|
|
||||||
notifyMode: options.notifyMode,
|
|
||||||
onlyChanged: options.onlyChanged,
|
|
||||||
onlyFailures: options.onlyFailures,
|
|
||||||
outputFile: options.outputFile,
|
|
||||||
passWithNoTests: options.passWithNoTests,
|
|
||||||
projects: options.projects,
|
|
||||||
replname: options.replname,
|
|
||||||
reporters: options.reporters,
|
|
||||||
rootDir: options.rootDir,
|
|
||||||
runTestsByPath: options.runTestsByPath,
|
|
||||||
silent: options.silent,
|
|
||||||
skipFilter: options.skipFilter,
|
|
||||||
testFailureExitCode: options.testFailureExitCode,
|
|
||||||
testNamePattern: options.testNamePattern,
|
|
||||||
testPathPattern: options.testPathPattern,
|
|
||||||
testResultsProcessor: options.testResultsProcessor,
|
|
||||||
testSequencer: options.testSequencer,
|
|
||||||
testTimeout: options.testTimeout,
|
|
||||||
updateSnapshot: options.updateSnapshot,
|
|
||||||
useStderr: options.useStderr,
|
|
||||||
verbose: options.verbose,
|
|
||||||
watch: options.watch,
|
|
||||||
watchAll: options.watchAll,
|
|
||||||
watchPlugins: options.watchPlugins,
|
|
||||||
watchman: options.watchman
|
|
||||||
}),
|
|
||||||
projectConfig: Object.freeze({
|
|
||||||
automock: options.automock,
|
|
||||||
browser: options.browser,
|
|
||||||
cache: options.cache,
|
|
||||||
cacheDirectory: options.cacheDirectory,
|
|
||||||
clearMocks: options.clearMocks,
|
|
||||||
coveragePathIgnorePatterns: options.coveragePathIgnorePatterns,
|
|
||||||
cwd: options.cwd,
|
|
||||||
dependencyExtractor: options.dependencyExtractor,
|
|
||||||
detectLeaks: options.detectLeaks,
|
|
||||||
detectOpenHandles: options.detectOpenHandles,
|
|
||||||
displayName: options.displayName,
|
|
||||||
errorOnDeprecated: options.errorOnDeprecated,
|
|
||||||
extraGlobals: options.extraGlobals,
|
|
||||||
filter: options.filter,
|
|
||||||
forceCoverageMatch: options.forceCoverageMatch,
|
|
||||||
globalSetup: options.globalSetup,
|
|
||||||
globalTeardown: options.globalTeardown,
|
|
||||||
globals: options.globals,
|
|
||||||
haste: options.haste,
|
|
||||||
moduleDirectories: options.moduleDirectories,
|
|
||||||
moduleFileExtensions: options.moduleFileExtensions,
|
|
||||||
moduleLoader: options.moduleLoader,
|
|
||||||
moduleNameMapper: options.moduleNameMapper,
|
|
||||||
modulePathIgnorePatterns: options.modulePathIgnorePatterns,
|
|
||||||
modulePaths: options.modulePaths,
|
|
||||||
name: options.name,
|
|
||||||
prettierPath: options.prettierPath,
|
|
||||||
resetMocks: options.resetMocks,
|
|
||||||
resetModules: options.resetModules,
|
|
||||||
resolver: options.resolver,
|
|
||||||
restoreMocks: options.restoreMocks,
|
|
||||||
rootDir: options.rootDir,
|
|
||||||
roots: options.roots,
|
|
||||||
runner: options.runner,
|
|
||||||
setupFiles: options.setupFiles,
|
|
||||||
setupFilesAfterEnv: options.setupFilesAfterEnv,
|
|
||||||
skipFilter: options.skipFilter,
|
|
||||||
skipNodeResolution: options.skipNodeResolution,
|
|
||||||
snapshotResolver: options.snapshotResolver,
|
|
||||||
snapshotSerializers: options.snapshotSerializers,
|
|
||||||
testEnvironment: options.testEnvironment,
|
|
||||||
testEnvironmentOptions: options.testEnvironmentOptions,
|
|
||||||
testLocationInResults: options.testLocationInResults,
|
|
||||||
testMatch: options.testMatch,
|
|
||||||
testPathIgnorePatterns: options.testPathIgnorePatterns,
|
|
||||||
testRegex: options.testRegex,
|
|
||||||
testRunner: options.testRunner,
|
|
||||||
testURL: options.testURL,
|
|
||||||
timers: options.timers,
|
|
||||||
transform: options.transform,
|
|
||||||
transformIgnorePatterns: options.transformIgnorePatterns,
|
|
||||||
unmockedModulePathPatterns: options.unmockedModulePathPatterns,
|
|
||||||
watchPathIgnorePatterns: options.watchPathIgnorePatterns
|
|
||||||
})
|
|
||||||
});
|
|
||||||
|
|
||||||
const ensureNoDuplicateConfigs = (parsedConfigs, projects) => {
|
|
||||||
if (projects.length <= 1) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const configPathMap = new Map();
|
|
||||||
|
|
||||||
for (const config of parsedConfigs) {
|
|
||||||
const {configPath} = config;
|
|
||||||
|
|
||||||
if (configPathMap.has(configPath)) {
|
|
||||||
const message = `Whoops! Two projects resolved to the same config path: ${_chalk().default.bold(
|
|
||||||
String(configPath)
|
|
||||||
)}:
|
|
||||||
|
|
||||||
Project 1: ${_chalk().default.bold(
|
|
||||||
projects[parsedConfigs.findIndex(x => x === config)]
|
|
||||||
)}
|
|
||||||
Project 2: ${_chalk().default.bold(
|
|
||||||
projects[parsedConfigs.findIndex(x => x === configPathMap.get(configPath))]
|
|
||||||
)}
|
|
||||||
|
|
||||||
This usually means that your ${_chalk().default.bold(
|
|
||||||
'"projects"'
|
|
||||||
)} config includes a directory that doesn't have any configuration recognizable by Jest. Please fix it.
|
|
||||||
`;
|
|
||||||
throw new Error(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (configPath !== null) {
|
|
||||||
configPathMap.set(configPath, config);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}; // Possible scenarios:
|
|
||||||
// 1. jest --config config.json
|
|
||||||
// 2. jest --projects p1 p2
|
|
||||||
// 3. jest --projects p1 p2 --config config.json
|
|
||||||
// 4. jest --projects p1
|
|
||||||
// 5. jest
|
|
||||||
//
|
|
||||||
// If no projects are specified, process.cwd() will be used as the default
|
|
||||||
// (and only) project.
|
|
||||||
|
|
||||||
async function readConfigs(argv, projectPaths) {
|
|
||||||
let globalConfig;
|
|
||||||
let hasDeprecationWarnings;
|
|
||||||
let configs = [];
|
|
||||||
let projects = projectPaths;
|
|
||||||
let configPath;
|
|
||||||
|
|
||||||
if (projectPaths.length === 1) {
|
|
||||||
const parsedConfig = await readConfig(argv, projects[0]);
|
|
||||||
configPath = parsedConfig.configPath;
|
|
||||||
hasDeprecationWarnings = parsedConfig.hasDeprecationWarnings;
|
|
||||||
globalConfig = parsedConfig.globalConfig;
|
|
||||||
configs = [parsedConfig.projectConfig];
|
|
||||||
|
|
||||||
if (globalConfig.projects && globalConfig.projects.length) {
|
|
||||||
// Even though we had one project in CLI args, there might be more
|
|
||||||
// projects defined in the config.
|
|
||||||
// In other words, if this was a single project,
|
|
||||||
// and its config has `projects` settings, use that value instead.
|
|
||||||
projects = globalConfig.projects;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (projects.length > 0) {
|
|
||||||
const projectIsCwd =
|
|
||||||
process.platform === 'win32'
|
|
||||||
? projects[0] === (0, _realpathNative().sync)(process.cwd())
|
|
||||||
: projects[0] === process.cwd();
|
|
||||||
const parsedConfigs = await Promise.all(
|
|
||||||
projects
|
|
||||||
.filter(root => {
|
|
||||||
// Ignore globbed files that cannot be `require`d.
|
|
||||||
if (
|
|
||||||
typeof root === 'string' &&
|
|
||||||
fs().existsSync(root) &&
|
|
||||||
!fs().lstatSync(root).isDirectory() &&
|
|
||||||
!constants.JEST_CONFIG_EXT_ORDER.some(ext => root.endsWith(ext))
|
|
||||||
) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
})
|
|
||||||
.map((root, projectIndex) => {
|
|
||||||
const projectIsTheOnlyProject =
|
|
||||||
projectIndex === 0 && projects.length === 1;
|
|
||||||
const skipArgvConfigOption = !(
|
|
||||||
projectIsTheOnlyProject && projectIsCwd
|
|
||||||
);
|
|
||||||
return readConfig(
|
|
||||||
argv,
|
|
||||||
root,
|
|
||||||
skipArgvConfigOption,
|
|
||||||
configPath,
|
|
||||||
projectIndex
|
|
||||||
);
|
|
||||||
})
|
|
||||||
);
|
|
||||||
ensureNoDuplicateConfigs(parsedConfigs, projects);
|
|
||||||
configs = parsedConfigs.map(({projectConfig}) => projectConfig);
|
|
||||||
|
|
||||||
if (!hasDeprecationWarnings) {
|
|
||||||
hasDeprecationWarnings = parsedConfigs.some(
|
|
||||||
({hasDeprecationWarnings}) => !!hasDeprecationWarnings
|
|
||||||
);
|
|
||||||
} // If no config was passed initially, use the one from the first project
|
|
||||||
|
|
||||||
if (!globalConfig) {
|
|
||||||
globalConfig = parsedConfigs[0].globalConfig;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!globalConfig || !configs.length) {
|
|
||||||
throw new Error('jest: No configuration found for any project.');
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
configs,
|
|
||||||
globalConfig,
|
|
||||||
hasDeprecationWarnings: !!hasDeprecationWarnings
|
|
||||||
};
|
|
||||||
}
|
|
14
node_modules/jest-config/build/normalize.d.ts
generated
vendored
14
node_modules/jest-config/build/normalize.d.ts
generated
vendored
@ -1,14 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { Config } from '@jest/types';
|
|
||||||
declare type AllOptions = Config.ProjectConfig & Config.GlobalConfig;
|
|
||||||
export default function normalize(initialOptions: Config.InitialOptions, argv: Config.Argv, configPath?: Config.Path | null, projectIndex?: number): {
|
|
||||||
hasDeprecationWarnings: boolean;
|
|
||||||
options: AllOptions;
|
|
||||||
};
|
|
||||||
export {};
|
|
||||||
//# sourceMappingURL=normalize.d.ts.map
|
|
1
node_modules/jest-config/build/normalize.d.ts.map
generated
vendored
1
node_modules/jest-config/build/normalize.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAkCxC,aAAK,UAAU,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;AAub7D,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,UAAU,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,EAC/B,YAAY,GAAE,MAAiB,GAC9B;IACD,sBAAsB,EAAE,OAAO,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC;CACrB,CAumBA"}
|
|
1311
node_modules/jest-config/build/normalize.js
generated
vendored
1311
node_modules/jest-config/build/normalize.js
generated
vendored
File diff suppressed because it is too large
Load Diff
9
node_modules/jest-config/build/readConfigFileAndSetRootDir.d.ts
generated
vendored
9
node_modules/jest-config/build/readConfigFileAndSetRootDir.d.ts
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { Config } from '@jest/types';
|
|
||||||
export default function readConfigFileAndSetRootDir(configPath: Config.Path): Promise<Config.InitialOptions>;
|
|
||||||
//# sourceMappingURL=readConfigFileAndSetRootDir.d.ts.map
|
|
1
node_modules/jest-config/build/readConfigFileAndSetRootDir.d.ts.map
generated
vendored
1
node_modules/jest-config/build/readConfigFileAndSetRootDir.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"readConfigFileAndSetRootDir.d.ts","sourceRoot":"","sources":["../src/readConfigFileAndSetRootDir.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAUxC,wBAA8B,2BAA2B,CACvD,UAAU,EAAE,MAAM,CAAC,IAAI,GACtB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CA0DhC"}
|
|
157
node_modules/jest-config/build/readConfigFileAndSetRootDir.js
generated
vendored
157
node_modules/jest-config/build/readConfigFileAndSetRootDir.js
generated
vendored
@ -1,157 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = readConfigFileAndSetRootDir;
|
|
||||||
|
|
||||||
function path() {
|
|
||||||
const data = _interopRequireWildcard(require('path'));
|
|
||||||
|
|
||||||
path = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function fs() {
|
|
||||||
const data = _interopRequireWildcard(require('fs'));
|
|
||||||
|
|
||||||
fs = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _jsonlint = _interopRequireDefault(require('./vendor/jsonlint'));
|
|
||||||
|
|
||||||
var _constants = require('./constants');
|
|
||||||
|
|
||||||
function _importEsm() {
|
|
||||||
const data = _interopRequireDefault(require('./importEsm'));
|
|
||||||
|
|
||||||
_importEsm = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) {
|
|
||||||
return obj && obj.__esModule ? obj : {default: obj};
|
|
||||||
}
|
|
||||||
|
|
||||||
function _getRequireWildcardCache() {
|
|
||||||
if (typeof WeakMap !== 'function') return null;
|
|
||||||
var cache = new WeakMap();
|
|
||||||
_getRequireWildcardCache = function () {
|
|
||||||
return cache;
|
|
||||||
};
|
|
||||||
return cache;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) {
|
|
||||||
if (obj && obj.__esModule) {
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
|
||||||
return {default: obj};
|
|
||||||
}
|
|
||||||
var cache = _getRequireWildcardCache();
|
|
||||||
if (cache && cache.has(obj)) {
|
|
||||||
return cache.get(obj);
|
|
||||||
}
|
|
||||||
var newObj = {};
|
|
||||||
var hasPropertyDescriptor =
|
|
||||||
Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
||||||
for (var key in obj) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
||||||
var desc = hasPropertyDescriptor
|
|
||||||
? Object.getOwnPropertyDescriptor(obj, key)
|
|
||||||
: null;
|
|
||||||
if (desc && (desc.get || desc.set)) {
|
|
||||||
Object.defineProperty(newObj, key, desc);
|
|
||||||
} else {
|
|
||||||
newObj[key] = obj[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
newObj.default = obj;
|
|
||||||
if (cache) {
|
|
||||||
cache.set(obj, newObj);
|
|
||||||
}
|
|
||||||
return newObj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
// @ts-ignore: vendored
|
|
||||||
// Read the configuration and set its `rootDir`
|
|
||||||
// 1. If it's a `package.json` file, we look into its "jest" property
|
|
||||||
// 2. For any other file, we just require it. If we receive an 'ERR_REQUIRE_ESM'
|
|
||||||
// from node, perform a dynamic import instead.
|
|
||||||
async function readConfigFileAndSetRootDir(configPath) {
|
|
||||||
const isJSON = configPath.endsWith(_constants.JEST_CONFIG_EXT_JSON);
|
|
||||||
let configObject;
|
|
||||||
|
|
||||||
try {
|
|
||||||
configObject = require(configPath);
|
|
||||||
} catch (error) {
|
|
||||||
if (error.code === 'ERR_REQUIRE_ESM') {
|
|
||||||
try {
|
|
||||||
const importedConfig = await (0, _importEsm().default)(configPath);
|
|
||||||
|
|
||||||
if (!importedConfig.default) {
|
|
||||||
throw new Error(
|
|
||||||
`Jest: Failed to load mjs config file ${configPath} - did you use a default export?`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
configObject = importedConfig.default;
|
|
||||||
} catch (innerError) {
|
|
||||||
if (innerError.message === 'Not supported') {
|
|
||||||
throw new Error(
|
|
||||||
`Jest: Your version of Node does not support dynamic import - please enable it or use a .cjs file extension for file ${configPath}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw innerError;
|
|
||||||
}
|
|
||||||
} else if (isJSON) {
|
|
||||||
throw new Error(
|
|
||||||
`Jest: Failed to parse config file ${configPath}\n` +
|
|
||||||
` ${_jsonlint.default.errors(fs().readFileSync(configPath, 'utf8'))}`
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (configPath.endsWith(_constants.PACKAGE_JSON)) {
|
|
||||||
// Event if there's no "jest" property in package.json we will still use
|
|
||||||
// an empty object.
|
|
||||||
configObject = configObject.jest || {};
|
|
||||||
}
|
|
||||||
|
|
||||||
if (configObject.rootDir) {
|
|
||||||
// We don't touch it if it has an absolute path specified
|
|
||||||
if (!path().isAbsolute(configObject.rootDir)) {
|
|
||||||
// otherwise, we'll resolve it relative to the file's __dirname
|
|
||||||
configObject.rootDir = path().resolve(
|
|
||||||
path().dirname(configPath),
|
|
||||||
configObject.rootDir
|
|
||||||
);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// If rootDir is not there, we'll set it to this file's __dirname
|
|
||||||
configObject.rootDir = path().dirname(configPath);
|
|
||||||
}
|
|
||||||
|
|
||||||
return configObject;
|
|
||||||
}
|
|
9
node_modules/jest-config/build/resolveConfigPath.d.ts
generated
vendored
9
node_modules/jest-config/build/resolveConfigPath.d.ts
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
declare const _default: (pathToResolve: string, cwd: string) => string;
|
|
||||||
export default _default;
|
|
||||||
//# sourceMappingURL=resolveConfigPath.d.ts.map
|
|
1
node_modules/jest-config/build/resolveConfigPath.d.ts.map
generated
vendored
1
node_modules/jest-config/build/resolveConfigPath.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"resolveConfigPath.d.ts","sourceRoot":"","sources":["../src/resolveConfigPath.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAgBH,wBA+BE"}
|
|
153
node_modules/jest-config/build/resolveConfigPath.js
generated
vendored
153
node_modules/jest-config/build/resolveConfigPath.js
generated
vendored
@ -1,153 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function path() {
|
|
||||||
const data = _interopRequireWildcard(require('path'));
|
|
||||||
|
|
||||||
path = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function fs() {
|
|
||||||
const data = _interopRequireWildcard(require('fs'));
|
|
||||||
|
|
||||||
fs = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _constants = require('./constants');
|
|
||||||
|
|
||||||
function _getRequireWildcardCache() {
|
|
||||||
if (typeof WeakMap !== 'function') return null;
|
|
||||||
var cache = new WeakMap();
|
|
||||||
_getRequireWildcardCache = function () {
|
|
||||||
return cache;
|
|
||||||
};
|
|
||||||
return cache;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) {
|
|
||||||
if (obj && obj.__esModule) {
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
|
||||||
return {default: obj};
|
|
||||||
}
|
|
||||||
var cache = _getRequireWildcardCache();
|
|
||||||
if (cache && cache.has(obj)) {
|
|
||||||
return cache.get(obj);
|
|
||||||
}
|
|
||||||
var newObj = {};
|
|
||||||
var hasPropertyDescriptor =
|
|
||||||
Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
||||||
for (var key in obj) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
||||||
var desc = hasPropertyDescriptor
|
|
||||||
? Object.getOwnPropertyDescriptor(obj, key)
|
|
||||||
: null;
|
|
||||||
if (desc && (desc.get || desc.set)) {
|
|
||||||
Object.defineProperty(newObj, key, desc);
|
|
||||||
} else {
|
|
||||||
newObj[key] = obj[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
newObj.default = obj;
|
|
||||||
if (cache) {
|
|
||||||
cache.set(obj, newObj);
|
|
||||||
}
|
|
||||||
return newObj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
const isFile = filePath =>
|
|
||||||
fs().existsSync(filePath) && !fs().lstatSync(filePath).isDirectory();
|
|
||||||
|
|
||||||
const getConfigFilename = ext => _constants.JEST_CONFIG_BASE_NAME + ext;
|
|
||||||
|
|
||||||
var _default = (pathToResolve, cwd) => {
|
|
||||||
if (!path().isAbsolute(cwd)) {
|
|
||||||
throw new Error(`"cwd" must be an absolute path. cwd: ${cwd}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
const absolutePath = path().isAbsolute(pathToResolve)
|
|
||||||
? pathToResolve
|
|
||||||
: path().resolve(cwd, pathToResolve);
|
|
||||||
|
|
||||||
if (isFile(absolutePath)) {
|
|
||||||
return absolutePath;
|
|
||||||
} // This is a guard against passing non existing path as a project/config,
|
|
||||||
// that will otherwise result in a very confusing situation.
|
|
||||||
// e.g.
|
|
||||||
// With a directory structure like this:
|
|
||||||
// my_project/
|
|
||||||
// packcage.json
|
|
||||||
//
|
|
||||||
// Passing a `my_project/some_directory_that_doesnt_exist` as a project
|
|
||||||
// name will resolve into a (possibly empty) `my_project/package.json` and
|
|
||||||
// try to run all tests it finds under `my_project` directory.
|
|
||||||
|
|
||||||
if (!fs().existsSync(absolutePath)) {
|
|
||||||
throw new Error(
|
|
||||||
`Can't find a root directory while resolving a config file path.\n` +
|
|
||||||
`Provided path to resolve: ${pathToResolve}\n` +
|
|
||||||
`cwd: ${cwd}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return resolveConfigPathByTraversing(absolutePath, pathToResolve, cwd);
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.default = _default;
|
|
||||||
|
|
||||||
const resolveConfigPathByTraversing = (pathToResolve, initialPath, cwd) => {
|
|
||||||
const jestConfig = _constants.JEST_CONFIG_EXT_ORDER.map(ext =>
|
|
||||||
path().resolve(pathToResolve, getConfigFilename(ext))
|
|
||||||
).find(isFile);
|
|
||||||
|
|
||||||
if (jestConfig) {
|
|
||||||
return jestConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
const packageJson = path().resolve(pathToResolve, _constants.PACKAGE_JSON);
|
|
||||||
|
|
||||||
if (isFile(packageJson)) {
|
|
||||||
return packageJson;
|
|
||||||
} // This is the system root.
|
|
||||||
// We tried everything, config is nowhere to be found ¯\_(ツ)_/¯
|
|
||||||
|
|
||||||
if (pathToResolve === path().dirname(pathToResolve)) {
|
|
||||||
throw new Error(makeResolutionErrorMessage(initialPath, cwd));
|
|
||||||
} // go up a level and try it again
|
|
||||||
|
|
||||||
return resolveConfigPathByTraversing(
|
|
||||||
path().dirname(pathToResolve),
|
|
||||||
initialPath,
|
|
||||||
cwd
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const makeResolutionErrorMessage = (initialPath, cwd) =>
|
|
||||||
'Could not find a config file based on provided values:\n' +
|
|
||||||
`path: "${initialPath}"\n` +
|
|
||||||
`cwd: "${cwd}"\n` +
|
|
||||||
'Config paths must be specified by either a direct path to a config\n' +
|
|
||||||
'file, or a path to a directory. If directory is given, Jest will try to\n' +
|
|
||||||
`traverse directory tree up, until it finds one of those files in exact order: ${_constants.JEST_CONFIG_EXT_ORDER.map(
|
|
||||||
ext => `"${getConfigFilename(ext)}"`
|
|
||||||
).join(' or ')}.`;
|
|
9
node_modules/jest-config/build/setFromArgv.d.ts
generated
vendored
9
node_modules/jest-config/build/setFromArgv.d.ts
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import type { Config } from '@jest/types';
|
|
||||||
export default function setFromArgv(options: Config.InitialOptions, argv: Config.Argv): Config.InitialOptions;
|
|
||||||
//# sourceMappingURL=setFromArgv.d.ts.map
|
|
1
node_modules/jest-config/build/setFromArgv.d.ts.map
generated
vendored
1
node_modules/jest-config/build/setFromArgv.d.ts.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"setFromArgv.d.ts","sourceRoot":"","sources":["../src/setFromArgv.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAKxC,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,OAAO,EAAE,MAAM,CAAC,cAAc,EAC9B,IAAI,EAAE,MAAM,CAAC,IAAI,GAChB,MAAM,CAAC,cAAc,CAyCvB"}
|
|
119
node_modules/jest-config/build/setFromArgv.js
generated
vendored
119
node_modules/jest-config/build/setFromArgv.js
generated
vendored
@ -1,119 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = setFromArgv;
|
|
||||||
|
|
||||||
var _utils = require('./utils');
|
|
||||||
|
|
||||||
function ownKeys(object, enumerableOnly) {
|
|
||||||
var keys = Object.keys(object);
|
|
||||||
if (Object.getOwnPropertySymbols) {
|
|
||||||
var symbols = Object.getOwnPropertySymbols(object);
|
|
||||||
if (enumerableOnly)
|
|
||||||
symbols = symbols.filter(function (sym) {
|
|
||||||
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
||||||
});
|
|
||||||
keys.push.apply(keys, symbols);
|
|
||||||
}
|
|
||||||
return keys;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _objectSpread(target) {
|
|
||||||
for (var i = 1; i < arguments.length; i++) {
|
|
||||||
var source = arguments[i] != null ? arguments[i] : {};
|
|
||||||
if (i % 2) {
|
|
||||||
ownKeys(Object(source), true).forEach(function (key) {
|
|
||||||
_defineProperty(target, key, source[key]);
|
|
||||||
});
|
|
||||||
} else if (Object.getOwnPropertyDescriptors) {
|
|
||||||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
||||||
} else {
|
|
||||||
ownKeys(Object(source)).forEach(function (key) {
|
|
||||||
Object.defineProperty(
|
|
||||||
target,
|
|
||||||
key,
|
|
||||||
Object.getOwnPropertyDescriptor(source, key)
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return target;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _defineProperty(obj, key, value) {
|
|
||||||
if (key in obj) {
|
|
||||||
Object.defineProperty(obj, key, {
|
|
||||||
value: value,
|
|
||||||
enumerable: true,
|
|
||||||
configurable: true,
|
|
||||||
writable: true
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
obj[key] = value;
|
|
||||||
}
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
const specialArgs = ['_', '$0', 'h', 'help', 'config'];
|
|
||||||
|
|
||||||
function setFromArgv(options, argv) {
|
|
||||||
const argvToOptions = Object.keys(argv)
|
|
||||||
.filter(key => argv[key] !== undefined && specialArgs.indexOf(key) === -1)
|
|
||||||
.reduce((options, key) => {
|
|
||||||
switch (key) {
|
|
||||||
case 'coverage':
|
|
||||||
options.collectCoverage = argv[key];
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'json':
|
|
||||||
options.useStderr = argv[key];
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'watchAll':
|
|
||||||
options.watch = false;
|
|
||||||
options.watchAll = argv[key];
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'env':
|
|
||||||
options.testEnvironment = argv[key];
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'config':
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'coverageThreshold':
|
|
||||||
case 'globals':
|
|
||||||
case 'moduleNameMapper':
|
|
||||||
case 'transform':
|
|
||||||
case 'haste':
|
|
||||||
const str = argv[key];
|
|
||||||
|
|
||||||
if ((0, _utils.isJSONString)(str)) {
|
|
||||||
options[key] = JSON.parse(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
options[key] = argv[key];
|
|
||||||
}
|
|
||||||
|
|
||||||
return options;
|
|
||||||
}, {});
|
|
||||||
return _objectSpread(
|
|
||||||
{},
|
|
||||||
options,
|
|
||||||
{},
|
|
||||||
(0, _utils.isJSONString)(argv.config) ? JSON.parse(argv.config) : null,
|
|
||||||
{},
|
|
||||||
argvToOptions
|
|
||||||
);
|
|
||||||
}
|
|
10
node_modules/jest-config/build/ts3.4/Defaults.d.ts
generated
vendored
10
node_modules/jest-config/build/ts3.4/Defaults.d.ts
generated
vendored
@ -1,10 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import { Config } from '@jest/types';
|
|
||||||
declare const defaultOptions: Config.DefaultOptions;
|
|
||||||
export default defaultOptions;
|
|
||||||
//# sourceMappingURL=Defaults.d.ts.map
|
|
9
node_modules/jest-config/build/ts3.4/Deprecated.d.ts
generated
vendored
9
node_modules/jest-config/build/ts3.4/Deprecated.d.ts
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
declare const _default: Record<string, Function>;
|
|
||||||
export default _default;
|
|
||||||
//# sourceMappingURL=Deprecated.d.ts.map
|
|
12
node_modules/jest-config/build/ts3.4/Descriptions.d.ts
generated
vendored
12
node_modules/jest-config/build/ts3.4/Descriptions.d.ts
generated
vendored
@ -1,12 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import { Config } from '@jest/types';
|
|
||||||
declare const descriptions: {
|
|
||||||
[key in keyof Config.InitialOptions]: string;
|
|
||||||
};
|
|
||||||
export default descriptions;
|
|
||||||
//# sourceMappingURL=Descriptions.d.ts.map
|
|
20
node_modules/jest-config/build/ts3.4/ReporterValidationErrors.d.ts
generated
vendored
20
node_modules/jest-config/build/ts3.4/ReporterValidationErrors.d.ts
generated
vendored
@ -1,20 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import { Config } from '@jest/types';
|
|
||||||
import { ValidationError } from 'jest-validate';
|
|
||||||
/**
|
|
||||||
* Reporter Validation Error is thrown if the given arguments
|
|
||||||
* within the reporter are not valid.
|
|
||||||
*
|
|
||||||
* This is a highly specific reporter error and in the future will be
|
|
||||||
* merged with jest-validate. Till then, we can make use of it. It works
|
|
||||||
* and that's what counts most at this time.
|
|
||||||
*/
|
|
||||||
export declare function createReporterError(reporterIndex: number, reporterValue: Array<Config.ReporterConfig> | string): ValidationError;
|
|
||||||
export declare function createArrayReporterError(arrayReporter: Config.ReporterConfig, reporterIndex: number, valueIndex: number, value: string | Record<string, any>, expectedType: string, valueName: string): ValidationError;
|
|
||||||
export declare function validateReporters(reporterConfig: Array<Config.ReporterConfig | string>): boolean;
|
|
||||||
//# sourceMappingURL=ReporterValidationErrors.d.ts.map
|
|
10
node_modules/jest-config/build/ts3.4/ValidConfig.d.ts
generated
vendored
10
node_modules/jest-config/build/ts3.4/ValidConfig.d.ts
generated
vendored
@ -1,10 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import { Config } from '@jest/types';
|
|
||||||
declare const initialOptions: Config.InitialOptions;
|
|
||||||
export default initialOptions;
|
|
||||||
//# sourceMappingURL=ValidConfig.d.ts.map
|
|
8
node_modules/jest-config/build/ts3.4/color.d.ts
generated
vendored
8
node_modules/jest-config/build/ts3.4/color.d.ts
generated
vendored
@ -1,8 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
export declare const getDisplayNameColor: (seed?: string | undefined) => "hex" | "bold" | "reset" | "black" | "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "blackBright" | "redBright" | "greenBright" | "yellowBright" | "blueBright" | "magentaBright" | "cyanBright" | "whiteBright" | "bgBlack" | "bgRed" | "bgGreen" | "bgYellow" | "bgBlue" | "bgMagenta" | "bgCyan" | "bgWhite" | "bgGray" | "bgGrey" | "bgBlackBright" | "bgRedBright" | "bgGreenBright" | "bgYellowBright" | "bgBlueBright" | "bgMagentaBright" | "bgCyanBright" | "bgWhiteBright" | "dim" | "italic" | "underline" | "inverse" | "hidden" | "strikethrough" | "visible" | "Instance" | "level" | "keyword" | "rgb" | "hsl" | "hsv" | "hwb" | "ansi" | "ansi256" | "bgHex" | "bgKeyword" | "bgRgb" | "bgHsl" | "bgHsv" | "bgHwb" | "bgAnsi" | "bgAnsi256" | "supportsColor" | "Level" | "Color" | "ForegroundColor" | "BackgroundColor" | "Modifiers" | "stderr";
|
|
||||||
//# sourceMappingURL=color.d.ts.map
|
|
17
node_modules/jest-config/build/ts3.4/constants.d.ts
generated
vendored
17
node_modules/jest-config/build/ts3.4/constants.d.ts
generated
vendored
@ -1,17 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
export declare const NODE_MODULES: string;
|
|
||||||
export declare const DEFAULT_JS_PATTERN = "^.+\\.[jt]sx?$";
|
|
||||||
export declare const DEFAULT_REPORTER_LABEL = "default";
|
|
||||||
export declare const PACKAGE_JSON = "package.json";
|
|
||||||
export declare const JEST_CONFIG_BASE_NAME = "jest.config";
|
|
||||||
export declare const JEST_CONFIG_EXT_CJS = ".cjs";
|
|
||||||
export declare const JEST_CONFIG_EXT_MJS = ".mjs";
|
|
||||||
export declare const JEST_CONFIG_EXT_JS = ".js";
|
|
||||||
export declare const JEST_CONFIG_EXT_JSON = ".json";
|
|
||||||
export declare const JEST_CONFIG_EXT_ORDER: readonly string[];
|
|
||||||
//# sourceMappingURL=constants.d.ts.map
|
|
9
node_modules/jest-config/build/ts3.4/getCacheDirectory.d.ts
generated
vendored
9
node_modules/jest-config/build/ts3.4/getCacheDirectory.d.ts
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
declare const getCacheDirectory: () => string;
|
|
||||||
export default getCacheDirectory;
|
|
||||||
//# sourceMappingURL=getCacheDirectory.d.ts.map
|
|
9
node_modules/jest-config/build/ts3.4/getMaxWorkers.d.ts
generated
vendored
9
node_modules/jest-config/build/ts3.4/getMaxWorkers.d.ts
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import { Config } from '@jest/types';
|
|
||||||
export default function getMaxWorkers(argv: Partial<Pick<Config.Argv, 'maxWorkers' | 'runInBand' | 'watch' | 'watchAll'>>, defaultOptions?: Partial<Pick<Config.Argv, 'maxWorkers'>>): number;
|
|
||||||
//# sourceMappingURL=getMaxWorkers.d.ts.map
|
|
11
node_modules/jest-config/build/ts3.4/importEsm.d.ts
generated
vendored
11
node_modules/jest-config/build/ts3.4/importEsm.d.ts
generated
vendored
@ -1,11 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
declare const _default: (specifier: string) => Promise<{
|
|
||||||
default: unknown;
|
|
||||||
}>;
|
|
||||||
export default _default;
|
|
||||||
//# sourceMappingURL=importEsm.d.ts.map
|
|
28
node_modules/jest-config/build/ts3.4/index.d.ts
generated
vendored
28
node_modules/jest-config/build/ts3.4/index.d.ts
generated
vendored
@ -1,28 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import { Config } from '@jest/types';
|
|
||||||
export { getTestEnvironment, isJSONString } from './utils';
|
|
||||||
export { default as normalize } from './normalize';
|
|
||||||
export { default as deprecationEntries } from './Deprecated';
|
|
||||||
export { replaceRootDirInPath } from './utils';
|
|
||||||
export { default as defaults } from './Defaults';
|
|
||||||
export { default as descriptions } from './Descriptions';
|
|
||||||
import * as constants from './constants';
|
|
||||||
export { constants };
|
|
||||||
declare type ReadConfig = {
|
|
||||||
configPath: Config.Path | null | undefined;
|
|
||||||
globalConfig: Config.GlobalConfig;
|
|
||||||
hasDeprecationWarnings: boolean;
|
|
||||||
projectConfig: Config.ProjectConfig;
|
|
||||||
};
|
|
||||||
export declare function readConfig(argv: Config.Argv, packageRootOrConfig: Config.Path | Config.InitialOptions, skipArgvConfigOption?: boolean, parentConfigPath?: Config.Path | null, projectIndex?: number): Promise<ReadConfig>;
|
|
||||||
export declare function readConfigs(argv: Config.Argv, projectPaths: Array<Config.Path>): Promise<{
|
|
||||||
globalConfig: Config.GlobalConfig;
|
|
||||||
configs: Array<Config.ProjectConfig>;
|
|
||||||
hasDeprecationWarnings: boolean;
|
|
||||||
}>;
|
|
||||||
//# sourceMappingURL=index.d.ts.map
|
|
14
node_modules/jest-config/build/ts3.4/normalize.d.ts
generated
vendored
14
node_modules/jest-config/build/ts3.4/normalize.d.ts
generated
vendored
@ -1,14 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
import { Config } from '@jest/types';
|
|
||||||
declare type AllOptions = Config.ProjectConfig & Config.GlobalConfig;
|
|
||||||
export default function normalize(initialOptions: Config.InitialOptions, argv: Config.Argv, configPath?: Config.Path | null, projectIndex?: number): {
|
|
||||||
hasDeprecationWarnings: boolean;
|
|
||||||
options: AllOptions;
|
|
||||||
};
|
|
||||||
export {};
|
|
||||||
//# sourceMappingURL=normalize.d.ts.map
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user