just-test-node 1.5.0 → 2.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Discover.d.ts +25 -0
- package/lib/Discover.js +4 -0
- package/lib/OptionsDefinitions.d.ts +15 -0
- package/lib/OptionsDefinitions.js +55 -0
- package/lib/StackTrace.d.ts +1 -0
- package/lib/StackTrace.js +44 -0
- package/lib/Suite.d.ts +45 -0
- package/lib/Suite.js +115 -0
- package/lib/Test.d.ts +9 -6
- package/lib/Test.js +16 -12
- package/lib/TestStage.d.ts +1 -1
- package/lib/TestStage.js +2 -1
- package/lib/code-position-resolution.d.ts +2 -0
- package/lib/code-position-resolution.js +50 -0
- package/lib/exampleTestFile.test.js +48 -45
- package/lib/help.d.ts +1 -1
- package/lib/help.js +2 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +62 -39
- package/lib/reporters/JsonReporter.d.ts +20 -0
- package/lib/reporters/JsonReporter.js +39 -0
- package/lib/reporters/Reporter.d.ts +4 -0
- package/lib/reporters/Reporter.js +4 -0
- package/lib/reporters/SpecReporter.d.ts +14 -0
- package/lib/reporters/SpecReporter.js +90 -0
- package/lib/reporters/index.d.ts +3 -0
- package/lib/reporters/index.js +17 -0
- package/lib/run-results/SuiteRunResult.d.ts +11 -0
- package/lib/run-results/SuiteRunResult.js +19 -0
- package/lib/run-results/TestRunResult.d.ts +9 -0
- package/lib/run-results/TestRunResult.js +15 -0
- package/lib/run-results/index.d.ts +2 -0
- package/lib/run-results/index.js +16 -0
- package/package.json +69 -64
- package/lib/OptionsDefinition.d.ts +0 -5
- package/lib/OptionsDefinition.js +0 -29
- package/lib/PerformancePolyfill.d.ts +0 -1
- package/lib/PerformancePolyfill.js +0 -16
- package/lib/SpecReporter.d.ts +0 -12
- package/lib/SpecReporter.js +0 -76
- package/lib/TestRunResult.d.ts +0 -9
- package/lib/TestRunResult.js +0 -13
- package/lib/TestSuiteClass.d.ts +0 -28
- package/lib/TestSuiteClass.js +0 -78
package/lib/index.js
CHANGED
|
@@ -1,35 +1,62 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
6
|
+
}) : (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
o[k2] = m[k];
|
|
9
|
+
}));
|
|
10
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
11
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
12
|
+
}) : function(o, v) {
|
|
13
|
+
o["default"] = v;
|
|
14
|
+
});
|
|
15
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
16
|
+
if (mod && mod.__esModule) return mod;
|
|
17
|
+
var result = {};
|
|
18
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
19
|
+
__setModuleDefault(result, mod);
|
|
20
|
+
return result;
|
|
21
|
+
};
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
3
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
26
|
+
const command_line_args_1 = __importDefault(require("command-line-args"));
|
|
27
|
+
const glob_1 = __importDefault(require("glob"));
|
|
28
|
+
const path_1 = __importDefault(require("path"));
|
|
29
|
+
const OptionsDefinitions_1 = require("./OptionsDefinitions");
|
|
8
30
|
const help_1 = require("./help");
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const PerformancePolyfill_1 = require("./PerformancePolyfill");
|
|
31
|
+
const Suite_1 = require("./Suite");
|
|
32
|
+
const reporters_1 = require("./reporters");
|
|
12
33
|
main();
|
|
13
34
|
async function main() {
|
|
14
35
|
try {
|
|
15
|
-
|
|
16
|
-
|
|
36
|
+
const options = (0, command_line_args_1.default)(OptionsDefinitions_1.optionsDefinitions);
|
|
37
|
+
(0, OptionsDefinitions_1.validateOptions)(options);
|
|
17
38
|
if (options.help) {
|
|
18
|
-
help_1.printHelp(
|
|
19
|
-
|
|
39
|
+
(0, help_1.printHelp)(OptionsDefinitions_1.optionsDefinitions);
|
|
40
|
+
return;
|
|
20
41
|
}
|
|
21
42
|
let testFiles = await getTestFiles(options);
|
|
22
|
-
|
|
43
|
+
if (options.discover) {
|
|
44
|
+
await outputDiscoveredTests(testFiles, options);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const passed = await test(testFiles, options);
|
|
48
|
+
if (!passed)
|
|
49
|
+
process.exit(options.testFailureExitCode);
|
|
23
50
|
}
|
|
24
51
|
catch (error) {
|
|
25
52
|
console.error(error);
|
|
26
|
-
process.exit(1);
|
|
53
|
+
process.exit(-1);
|
|
27
54
|
}
|
|
28
55
|
}
|
|
29
56
|
;
|
|
30
57
|
function getTestFiles(options) {
|
|
31
58
|
return new Promise((resolve, reject) => {
|
|
32
|
-
|
|
59
|
+
(0, glob_1.default)(options.glob, (error, matches) => {
|
|
33
60
|
if (error) {
|
|
34
61
|
reject(error);
|
|
35
62
|
}
|
|
@@ -40,33 +67,27 @@ function getTestFiles(options) {
|
|
|
40
67
|
});
|
|
41
68
|
}
|
|
42
69
|
async function test(files, options) {
|
|
43
|
-
|
|
44
|
-
|
|
70
|
+
const suite = await createRootSuite(files, !!options.debug);
|
|
71
|
+
const reporter = createReporter(options.reporter);
|
|
45
72
|
reporter.listenTo(suite);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
73
|
+
if (options.filter)
|
|
74
|
+
suite.treeShake(options.filter.toLowerCase());
|
|
75
|
+
return await suite.run({ debug: !!options.debug });
|
|
76
|
+
}
|
|
77
|
+
function createReporter(reporter) {
|
|
78
|
+
switch (reporter) {
|
|
79
|
+
case "spec":
|
|
80
|
+
return new reporters_1.SpecReporter(console);
|
|
81
|
+
case "json":
|
|
82
|
+
return new reporters_1.JsonReporter(console);
|
|
52
83
|
}
|
|
53
84
|
}
|
|
54
85
|
async function createRootSuite(files, isDebug) {
|
|
55
|
-
let rootSuite = new
|
|
86
|
+
let rootSuite = new Suite_1.Suite();
|
|
56
87
|
let testFileFunctions = [];
|
|
57
88
|
for (let file of files) {
|
|
58
89
|
testFileFunctions.push(await getTestFileFunction(file));
|
|
59
90
|
}
|
|
60
|
-
if (isDebug) {
|
|
61
|
-
// VSCode might miss a typescript breakpoint if the file was loaded and executed too fast.
|
|
62
|
-
// It looks like it takes vscode some time to:
|
|
63
|
-
// Scan the js file.
|
|
64
|
-
// Find and process the mapping.
|
|
65
|
-
// Load the typescript file and its breakpoints.
|
|
66
|
-
// Alert the debugger of the breakpoints.
|
|
67
|
-
// This simple await solves it. The 50 millisec is not special just picked to be safe.
|
|
68
|
-
await new Promise(r => setTimeout(r, 50));
|
|
69
|
-
}
|
|
70
91
|
for (let testFunc of testFileFunctions) {
|
|
71
92
|
testFunc(rootSuite);
|
|
72
93
|
}
|
|
@@ -75,19 +96,21 @@ async function createRootSuite(files, isDebug) {
|
|
|
75
96
|
async function getTestFileFunction(file) {
|
|
76
97
|
let testFileFunction;
|
|
77
98
|
try {
|
|
78
|
-
testFileFunction = await Promise.resolve().then(() => require(
|
|
99
|
+
testFileFunction = await Promise.resolve().then(() => __importStar(require(path_1.default.resolve(file))));
|
|
79
100
|
}
|
|
80
101
|
catch (reason) {
|
|
81
|
-
|
|
82
|
-
process.exit(1);
|
|
102
|
+
throw `The file '${file}' matched the tests glob but failed to be imported. reason: ${reason}`;
|
|
83
103
|
}
|
|
84
104
|
if (typeof testFileFunction != "function")
|
|
85
105
|
testFileFunction = testFileFunction.default;
|
|
86
106
|
if (typeof testFileFunction != "function") {
|
|
87
|
-
|
|
88
|
-
process.exit(1);
|
|
107
|
+
throw `The file '${file}' matched the tests glob but did not export a default function.`;
|
|
89
108
|
}
|
|
90
109
|
return testFileFunction;
|
|
91
110
|
}
|
|
111
|
+
async function outputDiscoveredTests(files, options) {
|
|
112
|
+
let suite = await createRootSuite(files, options.debug);
|
|
113
|
+
console.log(JSON.stringify(suite.discover()));
|
|
114
|
+
}
|
|
92
115
|
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,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
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SuiteResultStatus } from "../run-results/SuiteRunResult";
|
|
2
|
+
import { TestRunResult } from "../run-results/TestRunResult";
|
|
3
|
+
import { Suite } from "../Suite";
|
|
4
|
+
import { Reporter } from "./Reporter";
|
|
5
|
+
export interface SuiteResult {
|
|
6
|
+
title: string;
|
|
7
|
+
elapsed: number;
|
|
8
|
+
status: SuiteResultStatus;
|
|
9
|
+
tests: TestRunResult[];
|
|
10
|
+
childrenSuites: SuiteResult[];
|
|
11
|
+
}
|
|
12
|
+
export declare class JsonReporter implements Reporter {
|
|
13
|
+
private output;
|
|
14
|
+
private suiteToResultMap;
|
|
15
|
+
private testToResultMap;
|
|
16
|
+
constructor(output: Console);
|
|
17
|
+
listenTo(rootSuite: Suite): void;
|
|
18
|
+
private outputResultsFor;
|
|
19
|
+
private getResultOfSuite;
|
|
20
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonReporter = void 0;
|
|
4
|
+
class JsonReporter {
|
|
5
|
+
constructor(output) {
|
|
6
|
+
this.output = output;
|
|
7
|
+
this.suiteToResultMap = new Map();
|
|
8
|
+
this.testToResultMap = new Map();
|
|
9
|
+
}
|
|
10
|
+
listenTo(rootSuite) {
|
|
11
|
+
rootSuite.onSuiteEnded.add(args => {
|
|
12
|
+
this.suiteToResultMap.set(args.suite, args.result);
|
|
13
|
+
if (args.suite == rootSuite)
|
|
14
|
+
this.outputResultsFor(rootSuite);
|
|
15
|
+
});
|
|
16
|
+
rootSuite.onTestEnded.add(args => {
|
|
17
|
+
this.testToResultMap.set(args.test, args.result);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
outputResultsFor(suite) {
|
|
21
|
+
const result = this.getResultOfSuite(suite);
|
|
22
|
+
this.output.log(JSON.stringify(result));
|
|
23
|
+
}
|
|
24
|
+
getResultOfSuite(suite) {
|
|
25
|
+
const runResult = this.suiteToResultMap.get(suite);
|
|
26
|
+
const tests = suite.tests.map(e => this.testToResultMap.get(e));
|
|
27
|
+
const childrenSuites = suite.childrenSuites.map(e => this.getResultOfSuite(e));
|
|
28
|
+
return {
|
|
29
|
+
title: suite.title,
|
|
30
|
+
status: runResult.status,
|
|
31
|
+
elapsed: runResult.elapsed,
|
|
32
|
+
tests: tests,
|
|
33
|
+
childrenSuites: childrenSuites
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.JsonReporter = JsonReporter;
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlcG9ydGVycy9Kc29uUmVwb3J0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBY0EsTUFBYSxZQUFZO0lBSXhCLFlBQW9CLE1BQWU7UUFBZixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBSDNCLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO1FBQ3BELG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7SUFHekQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxTQUFnQjtRQUMvQixTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRW5ELElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTO2dCQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFZO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQVk7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUUsQ0FBQztRQUNwRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUM7UUFDakUsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQztRQUVoRixPQUFPO1lBQ04sS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtZQUN4QixPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87WUFDMUIsS0FBSyxFQUFFLEtBQUs7WUFDWixjQUFjLEVBQUUsY0FBYztTQUM5QixDQUFDO0lBQ0gsQ0FBQztDQUNEO0FBdkNELG9DQXVDQyIsImZpbGUiOiJyZXBvcnRlcnMvSnNvblJlcG9ydGVyLmpzIiwic291cmNlUm9vdCI6Ii4uXFwuLlxcc3JjIn0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlcG9ydGVycy9SZXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwiZmlsZSI6InJlcG9ydGVycy9SZXBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIuLlxcLi5cXHNyYyJ9
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Suite } from "../Suite";
|
|
2
|
+
import { Reporter } from "./Reporter";
|
|
3
|
+
export declare class SpecReporter implements Reporter {
|
|
4
|
+
private output;
|
|
5
|
+
private symbols;
|
|
6
|
+
private indentation;
|
|
7
|
+
private passedCount;
|
|
8
|
+
private errors;
|
|
9
|
+
constructor(output: Console);
|
|
10
|
+
listenTo(rootSuite: Suite): void;
|
|
11
|
+
private onEnd;
|
|
12
|
+
private formatElapsed;
|
|
13
|
+
private getTestFullTitle;
|
|
14
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SpecReporter = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
class SpecReporter {
|
|
9
|
+
constructor(output) {
|
|
10
|
+
this.output = output;
|
|
11
|
+
this.symbols = {
|
|
12
|
+
ok: '✓',
|
|
13
|
+
err: '✖',
|
|
14
|
+
};
|
|
15
|
+
this.indentation = " ";
|
|
16
|
+
this.passedCount = 0;
|
|
17
|
+
this.errors = [];
|
|
18
|
+
}
|
|
19
|
+
listenTo(rootSuite) {
|
|
20
|
+
let indent = "";
|
|
21
|
+
rootSuite.onSuiteStarted.add(suite => {
|
|
22
|
+
if (suite == rootSuite)
|
|
23
|
+
return;
|
|
24
|
+
this.output.log();
|
|
25
|
+
this.output.info(indent + suite.title);
|
|
26
|
+
indent += this.indentation;
|
|
27
|
+
});
|
|
28
|
+
rootSuite.onSuiteEnded.add(args => {
|
|
29
|
+
indent = indent.substr(0, indent.length - this.indentation.length);
|
|
30
|
+
if (args.suite == rootSuite) {
|
|
31
|
+
this.onEnd();
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
rootSuite.onTestEnded.add(args => {
|
|
35
|
+
const result = args.result;
|
|
36
|
+
const elapsed = this.formatElapsed(result.elapsed);
|
|
37
|
+
if (result.passed) {
|
|
38
|
+
this.passedCount++;
|
|
39
|
+
this.output.log(chalk_1.default.green(`${indent}${this.symbols.ok} ${result.title}`) + ` ${elapsed}`);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this.errors.push(args);
|
|
43
|
+
this.output.log(chalk_1.default.red(`${indent}${this.symbols.err} ${result.title}`) + ` ${elapsed}`);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
onEnd() {
|
|
48
|
+
if (!this.errors)
|
|
49
|
+
return;
|
|
50
|
+
this.output.log();
|
|
51
|
+
this.output.log("Failed tests:");
|
|
52
|
+
this.output.log("=============");
|
|
53
|
+
for (let failedTestRun of this.errors) {
|
|
54
|
+
this.output.log();
|
|
55
|
+
let title = this.getTestFullTitle(failedTestRun.test);
|
|
56
|
+
this.output.log(title);
|
|
57
|
+
let isError = failedTestRun.result.reason instanceof Error;
|
|
58
|
+
let message = isError ?
|
|
59
|
+
failedTestRun.result.reason.message :
|
|
60
|
+
JSON.stringify(failedTestRun.result.reason);
|
|
61
|
+
this.output.log(this.indentation + chalk_1.default.red(`${message}`));
|
|
62
|
+
isError && this.output.log(this.indentation + `${failedTestRun.result.reason.stack}`);
|
|
63
|
+
}
|
|
64
|
+
this.output.log();
|
|
65
|
+
this.output.log(chalk_1.default.green(`${this.passedCount} passing`));
|
|
66
|
+
if (this.errors.length > 0) {
|
|
67
|
+
this.output.log(chalk_1.default.red(`${this.errors.length} failing`));
|
|
68
|
+
}
|
|
69
|
+
this.output.log();
|
|
70
|
+
}
|
|
71
|
+
formatElapsed(elapsed) {
|
|
72
|
+
return chalk_1.default.grey(`(${elapsed.toFixed(2)}ms)`);
|
|
73
|
+
}
|
|
74
|
+
getTestFullTitle(test) {
|
|
75
|
+
let titles = [test.title];
|
|
76
|
+
let parent = test.parent;
|
|
77
|
+
while (parent && parent.title) {
|
|
78
|
+
titles.push(parent.title);
|
|
79
|
+
parent = parent.parent;
|
|
80
|
+
}
|
|
81
|
+
let title = titles.pop();
|
|
82
|
+
while (titles.length > 0) {
|
|
83
|
+
title += " -> " + titles.pop();
|
|
84
|
+
}
|
|
85
|
+
return title;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.SpecReporter = SpecReporter;
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlcG9ydGVycy9TcGVjUmVwb3J0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBSzFCLE1BQWEsWUFBWTtJQVd4QixZQUFvQixNQUFlO1FBQWYsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQVYzQixZQUFPLEdBQUc7WUFDakIsRUFBRSxFQUFFLEdBQUc7WUFDUCxHQUFHLEVBQUUsR0FBRztTQUNSLENBQUM7UUFFTSxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVuQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixXQUFNLEdBQW9CLEVBQUUsQ0FBQztJQUdyQyxDQUFDO0lBRU0sUUFBUSxDQUFDLFNBQWdCO1FBQy9CLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUVoQixTQUFTLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQyxJQUFJLEtBQUssSUFBSSxTQUFTO2dCQUNyQixPQUFPO1lBRVIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVuRSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksU0FBUyxFQUFFO2dCQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDYjtRQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVuRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDNUY7aUJBQ0k7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQzNGO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sS0FBSztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUNmLE9BQU87UUFFUixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWpDLEtBQUssSUFBSSxhQUFhLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRWxCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFdkIsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLFlBQVksS0FBSyxDQUFDO1lBQzNELElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDO2dCQUN0QixhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTdDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM1RCxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDdkY7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRTVELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sVUFBVSxDQUFDLENBQUMsQ0FBQztTQUM1RDtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxPQUFlO1FBQ3BDLE9BQU8sZUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUFVO1FBQ2xDLElBQUksTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLElBQUksTUFBTSxHQUFzQixJQUFJLENBQUMsTUFBTSxDQUFDO1FBRTVDLE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDdkI7UUFFRCxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFHLENBQUM7UUFFMUIsT0FBTyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QixLQUFLLElBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUMvQjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztDQUNEO0FBeEdELG9DQXdHQyIsImZpbGUiOiJyZXBvcnRlcnMvU3BlY1JlcG9ydGVyLmpzIiwic291cmNlUm9vdCI6Ii4uXFwuLlxcc3JjIn0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./Reporter"), exports);
|
|
14
|
+
__exportStar(require("./SpecReporter"), exports);
|
|
15
|
+
__exportStar(require("./JsonReporter"), exports);
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlcG9ydGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkI7QUFDM0IsaURBQStCO0FBQy9CLGlEQUErQiIsImZpbGUiOiJyZXBvcnRlcnMvaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi5cXC4uXFxzcmMifQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare enum SuiteResultStatus {
|
|
2
|
+
Passed = "passed",
|
|
3
|
+
Failed = "failed",
|
|
4
|
+
Partial = "partial"
|
|
5
|
+
}
|
|
6
|
+
export declare class SuiteRunResult {
|
|
7
|
+
title: string;
|
|
8
|
+
elapsed: number;
|
|
9
|
+
status: SuiteResultStatus;
|
|
10
|
+
constructor(title: string, elapsed: number, status: SuiteResultStatus);
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SuiteRunResult = exports.SuiteResultStatus = void 0;
|
|
4
|
+
var SuiteResultStatus;
|
|
5
|
+
(function (SuiteResultStatus) {
|
|
6
|
+
SuiteResultStatus["Passed"] = "passed";
|
|
7
|
+
SuiteResultStatus["Failed"] = "failed";
|
|
8
|
+
SuiteResultStatus["Partial"] = "partial";
|
|
9
|
+
})(SuiteResultStatus = exports.SuiteResultStatus || (exports.SuiteResultStatus = {}));
|
|
10
|
+
class SuiteRunResult {
|
|
11
|
+
constructor(title, elapsed, status) {
|
|
12
|
+
this.title = title;
|
|
13
|
+
this.elapsed = elapsed;
|
|
14
|
+
this.status = status;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.SuiteRunResult = SuiteRunResult;
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ1bi1yZXN1bHRzL1N1aXRlUnVuUmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUM1QixzQ0FBaUIsQ0FBQTtJQUNqQixzQ0FBaUIsQ0FBQTtJQUNqQix3Q0FBbUIsQ0FBQTtBQUNwQixDQUFDLEVBSlcsaUJBQWlCLEdBQWpCLHlCQUFpQixLQUFqQix5QkFBaUIsUUFJNUI7QUFFRCxNQUFhLGNBQWM7SUFDMUIsWUFBbUIsS0FBYSxFQUFTLE9BQWUsRUFBUyxNQUF5QjtRQUF2RSxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQzFGLENBQUM7Q0FDRDtBQUhELHdDQUdDIiwiZmlsZSI6InJ1bi1yZXN1bHRzL1N1aXRlUnVuUmVzdWx0LmpzIiwic291cmNlUm9vdCI6Ii4uXFwuLlxcc3JjIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TestStage } from "../TestStage";
|
|
2
|
+
export declare class TestRunResult {
|
|
3
|
+
title: string;
|
|
4
|
+
elapsed: number;
|
|
5
|
+
stage: TestStage;
|
|
6
|
+
passed: boolean;
|
|
7
|
+
reason?: any;
|
|
8
|
+
constructor(title: string, elapsed: number, stage: TestStage, passed: boolean, reason?: any);
|
|
9
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TestRunResult = void 0;
|
|
4
|
+
class TestRunResult {
|
|
5
|
+
constructor(title, elapsed, stage, passed, reason) {
|
|
6
|
+
this.title = title;
|
|
7
|
+
this.elapsed = elapsed;
|
|
8
|
+
this.stage = stage;
|
|
9
|
+
this.passed = passed;
|
|
10
|
+
this.reason = reason;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.TestRunResult = TestRunResult;
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ1bi1yZXN1bHRzL1Rlc3RSdW5SZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSxhQUFhO0lBQ3pCLFlBQW1CLEtBQWEsRUFBUyxPQUFlLEVBQVMsS0FBZ0IsRUFBUyxNQUFlLEVBQVMsTUFBWTtRQUEzRyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFTLFVBQUssR0FBTCxLQUFLLENBQVc7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBTTtJQUM5SCxDQUFDO0NBQ0Q7QUFIRCxzQ0FHQyIsImZpbGUiOiJydW4tcmVzdWx0cy9UZXN0UnVuUmVzdWx0LmpzIiwic291cmNlUm9vdCI6Ii4uXFwuLlxcc3JjIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./SuiteRunResult"), exports);
|
|
14
|
+
__exportStar(require("./TestRunResult"), exports);
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ1bi1yZXN1bHRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFpQztBQUNqQyxrREFBZ0MiLCJmaWxlIjoicnVuLXJlc3VsdHMvaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi5cXC4uXFxzcmMifQ==
|
package/package.json
CHANGED
|
@@ -1,64 +1,69 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "just-test-node",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "just-test on node.",
|
|
5
|
-
"main": "./lib/index.js",
|
|
6
|
-
"typings": "./lib/index.d.ts",
|
|
7
|
-
"files": [
|
|
8
|
-
"lib/"
|
|
9
|
-
],
|
|
10
|
-
"scripts": {
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"url": "https://gitlab.com/itayronen
|
|
23
|
-
},
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "just-test-node",
|
|
3
|
+
"version": "2.0.0-alpha.0",
|
|
4
|
+
"description": "just-test on node.",
|
|
5
|
+
"main": "./lib/index.js",
|
|
6
|
+
"typings": "./lib/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"lib/"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "gulp build",
|
|
12
|
+
"prepublishOnly": "gulp clean && gulp build",
|
|
13
|
+
"test": "gulp build && node ./lib/index.js",
|
|
14
|
+
"test-json": "gulp build && node ./lib/index.js --reporter=json",
|
|
15
|
+
"test-json-partial": "gulp build && node ./lib/index.js --reporter=json \"Simple test\"",
|
|
16
|
+
"test-discover": "gulp build && node ./lib/index.js --discover",
|
|
17
|
+
"test-ts": "gulp build && ts-node ./src/index.ts",
|
|
18
|
+
"test-ts-discover": "gulp build && ts-node ./src/index.ts --discover"
|
|
19
|
+
},
|
|
20
|
+
"author": {
|
|
21
|
+
"name": "Itay Ronen",
|
|
22
|
+
"url": "https://gitlab.com/itayronen"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://gitlab.com/itayronen/just-test-node",
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://gitlab.com/itayronen/just-test-node.git"
|
|
28
|
+
},
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"keywords": [
|
|
31
|
+
"test",
|
|
32
|
+
"testing",
|
|
33
|
+
"unit",
|
|
34
|
+
"unit-test",
|
|
35
|
+
"unittest",
|
|
36
|
+
"just-test",
|
|
37
|
+
"es",
|
|
38
|
+
"es6",
|
|
39
|
+
"node",
|
|
40
|
+
"typescript"
|
|
41
|
+
],
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"registry": "https://registry.npmjs.org/"
|
|
44
|
+
},
|
|
45
|
+
"bin": {
|
|
46
|
+
"just-test": "./lib/index.js",
|
|
47
|
+
"just-test-node": "./lib/index.js"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"chalk": "^4.1.2",
|
|
51
|
+
"command-line-args": "^5.2.0",
|
|
52
|
+
"glob": "^7.2.0",
|
|
53
|
+
"itay-events": "^3.0.1",
|
|
54
|
+
"just-test-api": "^2.0.0"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@types/chalk": "^2.2.0",
|
|
58
|
+
"@types/command-line-args": "^5.2.0",
|
|
59
|
+
"@types/glob": "^7.2.0",
|
|
60
|
+
"del": "^6.0.0",
|
|
61
|
+
"gulp": "^4.0.2",
|
|
62
|
+
"gulp-read": "^1.0.1",
|
|
63
|
+
"gulp-sourcemaps": "^3.0.0",
|
|
64
|
+
"gulp-typescript": "^5.0.1",
|
|
65
|
+
"itay-gulp-changed": "^1.2.0",
|
|
66
|
+
"merge2": "^1.4.1",
|
|
67
|
+
"typescript": "^4.5.2"
|
|
68
|
+
}
|
|
69
|
+
}
|
package/lib/OptionsDefinition.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.optionsDefinitions = [
|
|
4
|
-
{
|
|
5
|
-
name: 'glob', alias: 'g',
|
|
6
|
-
type: String,
|
|
7
|
-
defaultValue: "./!(node_modules)/**/*.test.js",
|
|
8
|
-
description: "Test files glob pattern."
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
name: "filter", alias: "f",
|
|
12
|
-
type: String,
|
|
13
|
-
defaultOption: true,
|
|
14
|
-
defaultValue: "",
|
|
15
|
-
description: "Filters tests."
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: 'help', alias: 'h',
|
|
19
|
-
type: Boolean,
|
|
20
|
-
description: "Show help."
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
name: 'debug',
|
|
24
|
-
type: Boolean,
|
|
25
|
-
description: "Debug mode. Will disable timeouts."
|
|
26
|
-
}
|
|
27
|
-
];
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk9wdGlvbnNEZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTWEsUUFBQSxrQkFBa0IsR0FBdUI7SUFDckQ7UUFDQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHO1FBQ3hCLElBQUksRUFBRSxNQUFNO1FBQ1osWUFBWSxFQUFFLGdDQUFnQztRQUM5QyxXQUFXLEVBQUUsMEJBQTBCO0tBQ3ZDO0lBQ0Q7UUFDQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHO1FBQzFCLElBQUksRUFBRSxNQUFNO1FBQ1osYUFBYSxFQUFFLElBQUk7UUFDbkIsWUFBWSxFQUFFLEVBQUU7UUFDaEIsV0FBVyxFQUFFLGdCQUFnQjtLQUM3QjtJQUNEO1FBQ0MsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRztRQUN4QixJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxZQUFZO0tBQ3pCO0lBQ0Q7UUFDQyxJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRSxPQUFPO1FBQ2IsV0FBVyxFQUFFLG9DQUFvQztLQUNqRDtDQUNELENBQUMiLCJmaWxlIjoiT3B0aW9uc0RlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiLi5cXHNyYyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function polyfillPerformance(): void;
|