@plugjs/plug 0.0.1
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/LICENSE.md +211 -0
- package/NOTICE.md +13 -0
- package/README.md +7 -0
- package/dist/assert.cjs +72 -0
- package/dist/assert.cjs.map +6 -0
- package/dist/assert.mjs +41 -0
- package/dist/assert.mjs.map +6 -0
- package/dist/async.cjs +58 -0
- package/dist/async.cjs.map +6 -0
- package/dist/async.mjs +30 -0
- package/dist/async.mjs.map +6 -0
- package/dist/build.cjs +136 -0
- package/dist/build.cjs.map +6 -0
- package/dist/build.mjs +110 -0
- package/dist/build.mjs.map +6 -0
- package/dist/files.cjs +113 -0
- package/dist/files.cjs.map +6 -0
- package/dist/files.mjs +88 -0
- package/dist/files.mjs.map +6 -0
- package/dist/fork.cjs +177 -0
- package/dist/fork.cjs.map +6 -0
- package/dist/fork.mjs +151 -0
- package/dist/fork.mjs.map +6 -0
- package/dist/helpers.cjs +129 -0
- package/dist/helpers.cjs.map +6 -0
- package/dist/helpers.mjs +97 -0
- package/dist/helpers.mjs.map +6 -0
- package/dist/index.cjs +25 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.mjs +7 -0
- package/dist/index.mjs.map +6 -0
- package/dist/log/colors.cjs +129 -0
- package/dist/log/colors.cjs.map +6 -0
- package/dist/log/colors.mjs +93 -0
- package/dist/log/colors.mjs.map +6 -0
- package/dist/log/emit.cjs +109 -0
- package/dist/log/emit.cjs.map +6 -0
- package/dist/log/emit.mjs +83 -0
- package/dist/log/emit.mjs.map +6 -0
- package/dist/log/levels.cjs +75 -0
- package/dist/log/levels.cjs.map +6 -0
- package/dist/log/levels.mjs +41 -0
- package/dist/log/levels.mjs.map +6 -0
- package/dist/log/logger.cjs +129 -0
- package/dist/log/logger.cjs.map +6 -0
- package/dist/log/logger.mjs +104 -0
- package/dist/log/logger.mjs.map +6 -0
- package/dist/log/options.cjs +149 -0
- package/dist/log/options.cjs.map +6 -0
- package/dist/log/options.mjs +124 -0
- package/dist/log/options.mjs.map +6 -0
- package/dist/log/report.cjs +284 -0
- package/dist/log/report.cjs.map +6 -0
- package/dist/log/report.mjs +259 -0
- package/dist/log/report.mjs.map +6 -0
- package/dist/log/spinner.cjs +83 -0
- package/dist/log/spinner.cjs.map +6 -0
- package/dist/log/spinner.mjs +57 -0
- package/dist/log/spinner.mjs.map +6 -0
- package/dist/log.cjs +71 -0
- package/dist/log.cjs.map +6 -0
- package/dist/log.mjs +45 -0
- package/dist/log.mjs.map +6 -0
- package/dist/paths.cjs +158 -0
- package/dist/paths.cjs.map +6 -0
- package/dist/paths.mjs +122 -0
- package/dist/paths.mjs.map +6 -0
- package/dist/pipe.cjs +71 -0
- package/dist/pipe.cjs.map +6 -0
- package/dist/pipe.mjs +44 -0
- package/dist/pipe.mjs.map +6 -0
- package/dist/plugs/copy.cjs +95 -0
- package/dist/plugs/copy.cjs.map +6 -0
- package/dist/plugs/copy.mjs +64 -0
- package/dist/plugs/copy.mjs.map +6 -0
- package/dist/plugs/coverage/analysis.cjs +229 -0
- package/dist/plugs/coverage/analysis.cjs.map +6 -0
- package/dist/plugs/coverage/analysis.mjs +202 -0
- package/dist/plugs/coverage/analysis.mjs.map +6 -0
- package/dist/plugs/coverage/report.cjs +215 -0
- package/dist/plugs/coverage/report.cjs.map +6 -0
- package/dist/plugs/coverage/report.mjs +200 -0
- package/dist/plugs/coverage/report.mjs.map +6 -0
- package/dist/plugs/coverage.cjs +142 -0
- package/dist/plugs/coverage.cjs.map +6 -0
- package/dist/plugs/coverage.mjs +117 -0
- package/dist/plugs/coverage.mjs.map +6 -0
- package/dist/plugs/debug.cjs +50 -0
- package/dist/plugs/debug.cjs.map +6 -0
- package/dist/plugs/debug.mjs +25 -0
- package/dist/plugs/debug.mjs.map +6 -0
- package/dist/plugs/esbuild/bundle-locals.cjs +51 -0
- package/dist/plugs/esbuild/bundle-locals.cjs.map +6 -0
- package/dist/plugs/esbuild/bundle-locals.mjs +26 -0
- package/dist/plugs/esbuild/bundle-locals.mjs.map +6 -0
- package/dist/plugs/esbuild/check-dependencies.cjs +140 -0
- package/dist/plugs/esbuild/check-dependencies.cjs.map +6 -0
- package/dist/plugs/esbuild/check-dependencies.mjs +115 -0
- package/dist/plugs/esbuild/check-dependencies.mjs.map +6 -0
- package/dist/plugs/esbuild/fix-extensions.cjs +91 -0
- package/dist/plugs/esbuild/fix-extensions.cjs.map +6 -0
- package/dist/plugs/esbuild/fix-extensions.mjs +60 -0
- package/dist/plugs/esbuild/fix-extensions.mjs.map +6 -0
- package/dist/plugs/esbuild.cjs +109 -0
- package/dist/plugs/esbuild.cjs.map +6 -0
- package/dist/plugs/esbuild.mjs +83 -0
- package/dist/plugs/esbuild.mjs.map +6 -0
- package/dist/plugs/eslint/runner.cjs +91 -0
- package/dist/plugs/eslint/runner.cjs.map +6 -0
- package/dist/plugs/eslint/runner.mjs +68 -0
- package/dist/plugs/eslint/runner.mjs.map +6 -0
- package/dist/plugs/exec.cjs +128 -0
- package/dist/plugs/exec.cjs.map +6 -0
- package/dist/plugs/exec.mjs +96 -0
- package/dist/plugs/exec.mjs.map +6 -0
- package/dist/plugs/filter.cjs +59 -0
- package/dist/plugs/filter.cjs.map +6 -0
- package/dist/plugs/filter.mjs +34 -0
- package/dist/plugs/filter.mjs.map +6 -0
- package/dist/plugs/mocha/reporter.cjs +140 -0
- package/dist/plugs/mocha/reporter.cjs.map +6 -0
- package/dist/plugs/mocha/reporter.mjs +107 -0
- package/dist/plugs/mocha/reporter.mjs.map +6 -0
- package/dist/plugs/mocha/runner.cjs +73 -0
- package/dist/plugs/mocha/runner.cjs.map +6 -0
- package/dist/plugs/mocha/runner.mjs +44 -0
- package/dist/plugs/mocha/runner.mjs.map +6 -0
- package/dist/plugs/tsc/compiler.cjs +74 -0
- package/dist/plugs/tsc/compiler.cjs.map +6 -0
- package/dist/plugs/tsc/compiler.mjs +43 -0
- package/dist/plugs/tsc/compiler.mjs.map +6 -0
- package/dist/plugs/tsc/options.cjs +82 -0
- package/dist/plugs/tsc/options.cjs.map +6 -0
- package/dist/plugs/tsc/options.mjs +51 -0
- package/dist/plugs/tsc/options.mjs.map +6 -0
- package/dist/plugs/tsc/report.cjs +90 -0
- package/dist/plugs/tsc/report.cjs.map +6 -0
- package/dist/plugs/tsc/report.mjs +59 -0
- package/dist/plugs/tsc/report.mjs.map +6 -0
- package/dist/plugs/tsc/runner.cjs +101 -0
- package/dist/plugs/tsc/runner.cjs.map +6 -0
- package/dist/plugs/tsc/runner.mjs +72 -0
- package/dist/plugs/tsc/runner.mjs.map +6 -0
- package/dist/plugs.cjs +31 -0
- package/dist/plugs.cjs.map +6 -0
- package/dist/plugs.mjs +13 -0
- package/dist/plugs.mjs.map +6 -0
- package/dist/run.cjs +95 -0
- package/dist/run.cjs.map +6 -0
- package/dist/run.mjs +70 -0
- package/dist/run.mjs.map +6 -0
- package/dist/task.cjs +39 -0
- package/dist/task.cjs.map +6 -0
- package/dist/task.mjs +14 -0
- package/dist/task.mjs.map +6 -0
- package/dist/utils/asyncfs.cjs +143 -0
- package/dist/utils/asyncfs.cjs.map +6 -0
- package/dist/utils/asyncfs.mjs +83 -0
- package/dist/utils/asyncfs.mjs.map +6 -0
- package/dist/utils/caller.cjs +59 -0
- package/dist/utils/caller.cjs.map +6 -0
- package/dist/utils/caller.mjs +34 -0
- package/dist/utils/caller.mjs.map +6 -0
- package/dist/utils/match.cjs +69 -0
- package/dist/utils/match.cjs.map +6 -0
- package/dist/utils/match.mjs +38 -0
- package/dist/utils/match.mjs.map +6 -0
- package/dist/utils/options.cjs +41 -0
- package/dist/utils/options.cjs.map +6 -0
- package/dist/utils/options.mjs +16 -0
- package/dist/utils/options.mjs.map +6 -0
- package/dist/utils/walk.cjs +104 -0
- package/dist/utils/walk.cjs.map +6 -0
- package/dist/utils/walk.mjs +79 -0
- package/dist/utils/walk.mjs.map +6 -0
- package/extra/cli.mjs +212 -0
- package/extra/ts-loader.mjs +214 -0
- package/extra/webassembly.d.ts +11 -0
- package/package.json +57 -0
- package/src/assert.ts +47 -0
- package/src/async.ts +50 -0
- package/src/files.ts +129 -0
- package/src/fork.ts +263 -0
- package/src/helpers.ts +145 -0
- package/src/index.ts +20 -0
- package/src/log/colors.ts +119 -0
- package/src/log/emit.ts +125 -0
- package/src/log/levels.ts +65 -0
- package/src/log/logger.ts +171 -0
- package/src/log/options.ts +199 -0
- package/src/log/report.ts +433 -0
- package/src/log/spinner.ts +70 -0
- package/src/log.ts +68 -0
- package/src/paths.ts +213 -0
- package/src/pipe.ts +231 -0
- package/src/plugs/copy.ts +113 -0
- package/src/plugs/coverage/analysis.ts +395 -0
- package/src/plugs/coverage/report.ts +337 -0
- package/src/plugs/coverage.ts +194 -0
- package/src/plugs/debug.ts +35 -0
- package/src/plugs/esbuild/bundle-locals.ts +33 -0
- package/src/plugs/esbuild/check-dependencies.ts +158 -0
- package/src/plugs/esbuild/fix-extensions.ts +108 -0
- package/src/plugs/esbuild.ts +128 -0
- package/src/plugs/eslint/runner.ts +112 -0
- package/src/plugs/exec.ts +215 -0
- package/src/plugs/filter.ts +56 -0
- package/src/plugs/mocha/reporter.ts +152 -0
- package/src/plugs/mocha/runner.ts +77 -0
- package/src/plugs/tsc/compiler.ts +66 -0
- package/src/plugs/tsc/options.ts +97 -0
- package/src/plugs/tsc/report.ts +74 -0
- package/src/plugs/tsc/runner.ts +100 -0
- package/src/plugs.ts +33 -0
- package/src/run.ts +160 -0
- package/src/task.ts +26 -0
- package/src/utils/asyncfs.ts +82 -0
- package/src/utils/caller.ts +45 -0
- package/src/utils/match.ts +286 -0
- package/src/utils/options.ts +22 -0
- package/src/utils/walk.ts +136 -0
- package/types/assert.d.ts +18 -0
- package/types/async.d.ts +20 -0
- package/types/build.d.ts +56 -0
- package/types/files.d.ts +44 -0
- package/types/fork.d.ts +57 -0
- package/types/helpers.d.ts +49 -0
- package/types/index.d.ts +14 -0
- package/types/log/colors.d.ts +25 -0
- package/types/log/emit.d.ts +14 -0
- package/types/log/levels.d.ts +52 -0
- package/types/log/logger.d.ts +31 -0
- package/types/log/options.d.ts +40 -0
- package/types/log/report.d.ts +64 -0
- package/types/log/spinner.d.ts +2 -0
- package/types/log.d.ts +10 -0
- package/types/paths.d.ts +76 -0
- package/types/pipe.d.ts +152 -0
- package/types/plugs/copy.d.ts +27 -0
- package/types/plugs/coverage/analysis.d.ts +104 -0
- package/types/plugs/coverage/report.d.ts +53 -0
- package/types/plugs/coverage.d.ts +46 -0
- package/types/plugs/debug.d.ts +14 -0
- package/types/plugs/esbuild/bundle-locals.d.ts +6 -0
- package/types/plugs/esbuild/check-dependencies.d.ts +12 -0
- package/types/plugs/esbuild/fix-extensions.d.ts +29 -0
- package/types/plugs/esbuild.d.ts +24 -0
- package/types/plugs/eslint/runner.d.ts +22 -0
- package/types/plugs/exec.d.ts +90 -0
- package/types/plugs/filter.d.ts +23 -0
- package/types/plugs/mocha/reporter.d.ts +8 -0
- package/types/plugs/mocha/runner.d.ts +34 -0
- package/types/plugs/tsc/compiler.d.ts +24 -0
- package/types/plugs/tsc/options.d.ts +8 -0
- package/types/plugs/tsc/report.d.ts +5 -0
- package/types/plugs/tsc/runner.d.ts +13 -0
- package/types/plugs.d.ts +16 -0
- package/types/run.d.ts +89 -0
- package/types/task.d.ts +15 -0
- package/types/utils/asyncfs.d.ts +37 -0
- package/types/utils/caller.d.ts +7 -0
- package/types/utils/match.d.ts +216 -0
- package/types/utils/options.d.ts +15 -0
- package/types/utils/walk.d.ts +28 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// plugs/mocha/reporter.ts
|
|
2
|
+
import RealMocha from "mocha";
|
|
3
|
+
import { diffJson } from "diff";
|
|
4
|
+
import { $blu, $grn, $gry, $ms, $red, $wht, $ylw, ERROR, NOTICE, WARN } from "../../log.mjs";
|
|
5
|
+
var _pending = "\u22EF";
|
|
6
|
+
var _success = "\u2714";
|
|
7
|
+
var _failure = "\u2718";
|
|
8
|
+
var _details = "\u21B3";
|
|
9
|
+
var logSymbol = Symbol();
|
|
10
|
+
var runSymbol = Symbol();
|
|
11
|
+
var PlugReporter = class extends RealMocha.reporters.Base {
|
|
12
|
+
constructor(runner, options) {
|
|
13
|
+
super(runner, options);
|
|
14
|
+
const showDiff = !!options.diff;
|
|
15
|
+
const log = options.reporterOptions[logSymbol];
|
|
16
|
+
const failures = [];
|
|
17
|
+
const rootSuite = runner.suite;
|
|
18
|
+
runner.on("suite", (suite) => {
|
|
19
|
+
if (suite === rootSuite)
|
|
20
|
+
return;
|
|
21
|
+
log.notice("");
|
|
22
|
+
log.enter(NOTICE, `${$wht(suite.title)}`);
|
|
23
|
+
});
|
|
24
|
+
runner.on("suite end", () => {
|
|
25
|
+
log.leave();
|
|
26
|
+
});
|
|
27
|
+
runner.on("test", (test) => {
|
|
28
|
+
log.enter(NOTICE, `${$blu(_pending)} ${test.title}`);
|
|
29
|
+
});
|
|
30
|
+
runner.on("test end", (test) => {
|
|
31
|
+
if (test.isPassed()) {
|
|
32
|
+
log.leave(NOTICE, `${$grn(_success)} ${test.title}`);
|
|
33
|
+
} else if (test.isPending()) {
|
|
34
|
+
const tag = $gry("[") + $ylw("skipped") + $gry("]");
|
|
35
|
+
log.leave(WARN, `${$ylw(_pending)} ${test.title} ${tag}`);
|
|
36
|
+
} else if (test.isFailed()) {
|
|
37
|
+
const number = failures.push(test);
|
|
38
|
+
const tag = $gry("[") + $red("failed") + $gry("] [") + $red(number) + $gry("]");
|
|
39
|
+
log.leave(ERROR, `${$red(_failure)} ${test.title} ${tag}`);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
runner.once("end", () => {
|
|
43
|
+
try {
|
|
44
|
+
for (let i = 0; i < failures.length; i++) {
|
|
45
|
+
log.notice("");
|
|
46
|
+
const failure = failures[i];
|
|
47
|
+
const titles = [failure.title];
|
|
48
|
+
for (let parent = failure.parent; parent; parent = parent?.parent) {
|
|
49
|
+
if (parent.parent)
|
|
50
|
+
titles.unshift(parent.title);
|
|
51
|
+
}
|
|
52
|
+
log.error(`${$gry("Failure [")}${$red(i + 1)}${$gry("]")}`);
|
|
53
|
+
titles.forEach((title, indent) => {
|
|
54
|
+
log.error(` ${"".padStart(indent * 4)}${$gry(_details)} ${$wht(title)}`);
|
|
55
|
+
});
|
|
56
|
+
if (failure.err) {
|
|
57
|
+
const message = `${failure.err}`;
|
|
58
|
+
const messageOrStack = failure.err.stack || `${failure.err}`;
|
|
59
|
+
const messageIndex = messageOrStack.indexOf(message);
|
|
60
|
+
const stack = messageOrStack === message ? "" : messageIndex < 0 ? messageOrStack : messageOrStack.substring(messageIndex + message.length);
|
|
61
|
+
const stackLines = stack.split("\n").map((line) => line.trim()).filter((line) => !!line);
|
|
62
|
+
log.enter(ERROR, "");
|
|
63
|
+
log.error($red(message));
|
|
64
|
+
if (showDiff && "actual" in failure.err && "expected" in failure.err) {
|
|
65
|
+
const err = failure.err;
|
|
66
|
+
const actual = err.actual === void 0 ? "[undefined]" : err.actual === null ? "[null]" : err.actual;
|
|
67
|
+
const expected = err.expected === void 0 ? "[undefined]" : err.expected === null ? "[null]" : err.expected;
|
|
68
|
+
const changes = diffJson(actual, expected);
|
|
69
|
+
const diff = changes.map((change) => {
|
|
70
|
+
if (change.removed)
|
|
71
|
+
return $red(change.value);
|
|
72
|
+
if (change.added)
|
|
73
|
+
return $grn(change.value);
|
|
74
|
+
return $gry(change.value);
|
|
75
|
+
}).join("");
|
|
76
|
+
log.enter(ERROR, `${$gry("diff")} ${$grn("expected")} ${$gry("/")} ${$red("actual")}`);
|
|
77
|
+
log.error(diff);
|
|
78
|
+
log.leave();
|
|
79
|
+
}
|
|
80
|
+
stackLines.forEach((line) => log.error(line));
|
|
81
|
+
log.leave();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (runner.stats) {
|
|
85
|
+
log.notice("");
|
|
86
|
+
const { passes, pending, failures: failures2, duration = 0 } = runner.stats;
|
|
87
|
+
const fmt = (n) => n === 1 ? `${n} test` : `${n} tests`;
|
|
88
|
+
if (passes)
|
|
89
|
+
log.notice($grn(fmt(passes)), "passing", $ms(duration));
|
|
90
|
+
if (pending)
|
|
91
|
+
log.warn($ylw(fmt(pending)), "pending");
|
|
92
|
+
if (failures2)
|
|
93
|
+
log.error($red(fmt(failures2)), "pending");
|
|
94
|
+
}
|
|
95
|
+
log.notice("");
|
|
96
|
+
} catch (error) {
|
|
97
|
+
log.error("Error rendering Mocha report", error);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
export {
|
|
103
|
+
PlugReporter,
|
|
104
|
+
logSymbol,
|
|
105
|
+
runSymbol
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=reporter.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugs/mocha/reporter.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["failures"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
|
|
26
|
+
// plugs/mocha/runner.ts
|
|
27
|
+
var runner_exports = {};
|
|
28
|
+
__export(runner_exports, {
|
|
29
|
+
default: () => Mocha
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(runner_exports);
|
|
32
|
+
var import_mocha = __toESM(require("mocha"), 1);
|
|
33
|
+
var import_assert = require("../../assert.cjs");
|
|
34
|
+
var import_log = require("../../log.cjs");
|
|
35
|
+
var import_reporter = require("./reporter.cjs");
|
|
36
|
+
var Mocha = class {
|
|
37
|
+
constructor(_options = {}) {
|
|
38
|
+
this._options = _options;
|
|
39
|
+
}
|
|
40
|
+
async pipe(files, run) {
|
|
41
|
+
run.log.notice("");
|
|
42
|
+
run.log.enter(import_log.NOTICE, (0, import_log.$wht)("Starting Mocha"));
|
|
43
|
+
const mocha = new import_mocha.default({
|
|
44
|
+
diff: true,
|
|
45
|
+
reporter: import_reporter.PlugReporter,
|
|
46
|
+
...this._options,
|
|
47
|
+
reporterOptions: {
|
|
48
|
+
...this._options.reporterOptions,
|
|
49
|
+
[import_reporter.logSymbol]: run.log,
|
|
50
|
+
[import_reporter.runSymbol]: run
|
|
51
|
+
},
|
|
52
|
+
allowUncaught: false,
|
|
53
|
+
delay: false
|
|
54
|
+
});
|
|
55
|
+
for (const file of files.absolutePaths())
|
|
56
|
+
mocha.addFile(file);
|
|
57
|
+
await mocha.loadFilesAsync();
|
|
58
|
+
return new Promise((resolve, reject) => {
|
|
59
|
+
try {
|
|
60
|
+
mocha.run((failures) => {
|
|
61
|
+
if (failures)
|
|
62
|
+
reject((0, import_assert.failure)());
|
|
63
|
+
resolve(void 0);
|
|
64
|
+
});
|
|
65
|
+
} catch (error) {
|
|
66
|
+
reject(error);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
+
0 && (module.exports = {});
|
|
73
|
+
//# sourceMappingURL=runner.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugs/mocha/runner.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AAEtB,oBAAwB;AAExB,iBAA6B;AAG7B,sBAAmD;AA6BnD,IAAqB,QAArB,MAAsD;AAAA,EACpD,YAA6B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA,EAE3D,MAAM,KAAK,OAAc,KAA8B;AAGrD,QAAI,IAAI,OAAO,EAAE;AACjB,QAAI,IAAI,MAAM,uBAAQ,iBAAK,gBAAgB,CAAC;AAG5C,UAAM,QAAQ,IAAI,aAAAA,QAAU;AAAA,MAC1B,MAAM;AAAA,MACN,UAAU;AAAA,MACV,GAAG,KAAK;AAAA,MACR,iBAAiB;AAAA,QACf,GAAG,KAAK,SAAS;AAAA,QACjB,CAAC,4BAAY,IAAI;AAAA,QACjB,CAAC,4BAAY;AAAA,MACf;AAAA,MACA,eAAe;AAAA,MACf,OAAO;AAAA,IACT,CAAC;AAGD,eAAW,QAAQ,MAAM,cAAc;AAAG,YAAM,QAAQ,IAAI;AAE5D,UAAM,MAAM,eAAe;AAG3B,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAI;AACF,cAAM,IAAI,CAAC,aAAa;AACtB,cAAI;AAAU,uBAAO,uBAAQ,CAAC;AAC9B,kBAAQ,MAAS;AAAA,QACnB,CAAC;AAAA,MACH,SAAS,OAAP;AACA,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
5
|
+
"names": ["RealMocha"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// plugs/mocha/runner.ts
|
|
2
|
+
import RealMocha from "mocha";
|
|
3
|
+
import { failure } from "../../assert.mjs";
|
|
4
|
+
import { $wht, NOTICE } from "../../log.mjs";
|
|
5
|
+
import { logSymbol, PlugReporter, runSymbol } from "./reporter.mjs";
|
|
6
|
+
var Mocha = class {
|
|
7
|
+
constructor(_options = {}) {
|
|
8
|
+
this._options = _options;
|
|
9
|
+
}
|
|
10
|
+
async pipe(files, run) {
|
|
11
|
+
run.log.notice("");
|
|
12
|
+
run.log.enter(NOTICE, $wht("Starting Mocha"));
|
|
13
|
+
const mocha = new RealMocha({
|
|
14
|
+
diff: true,
|
|
15
|
+
reporter: PlugReporter,
|
|
16
|
+
...this._options,
|
|
17
|
+
reporterOptions: {
|
|
18
|
+
...this._options.reporterOptions,
|
|
19
|
+
[logSymbol]: run.log,
|
|
20
|
+
[runSymbol]: run
|
|
21
|
+
},
|
|
22
|
+
allowUncaught: false,
|
|
23
|
+
delay: false
|
|
24
|
+
});
|
|
25
|
+
for (const file of files.absolutePaths())
|
|
26
|
+
mocha.addFile(file);
|
|
27
|
+
await mocha.loadFilesAsync();
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
try {
|
|
30
|
+
mocha.run((failures) => {
|
|
31
|
+
if (failures)
|
|
32
|
+
reject(failure());
|
|
33
|
+
resolve(void 0);
|
|
34
|
+
});
|
|
35
|
+
} catch (error) {
|
|
36
|
+
reject(error);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
Mocha as default
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=runner.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugs/mocha/runner.ts"],
|
|
4
|
+
"mappings": ";AAAA,OAAO,eAAe;AAEtB,SAAS,eAAe;AAExB,SAAS,MAAM,cAAc;AAG7B,SAAS,WAAW,cAAc,iBAAiB;AA6BnD,IAAqB,QAArB,MAAsD;AAAA,EACpD,YAA6B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA,EAE3D,MAAM,KAAK,OAAc,KAA8B;AAGrD,QAAI,IAAI,OAAO,EAAE;AACjB,QAAI,IAAI,MAAM,QAAQ,KAAK,gBAAgB,CAAC;AAG5C,UAAM,QAAQ,IAAI,UAAU;AAAA,MAC1B,MAAM;AAAA,MACN,UAAU;AAAA,MACV,GAAG,KAAK;AAAA,MACR,iBAAiB;AAAA,QACf,GAAG,KAAK,SAAS;AAAA,QACjB,CAAC,YAAY,IAAI;AAAA,QACjB,CAAC,YAAY;AAAA,MACf;AAAA,MACA,eAAe;AAAA,MACf,OAAO;AAAA,IACT,CAAC;AAGD,eAAW,QAAQ,MAAM,cAAc;AAAG,YAAM,QAAQ,IAAI;AAE5D,UAAM,MAAM,eAAe;AAG3B,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAI;AACF,cAAM,IAAI,CAAC,aAAa;AACtB,cAAI;AAAU,mBAAO,QAAQ,CAAC;AAC9B,kBAAQ,MAAS;AAAA,QACnB,CAAC;AAAA,MACH,SAAS,OAAP;AACA,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
|
|
26
|
+
// plugs/tsc/compiler.ts
|
|
27
|
+
var compiler_exports = {};
|
|
28
|
+
__export(compiler_exports, {
|
|
29
|
+
TypeScriptHost: () => TypeScriptHost
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(compiler_exports);
|
|
32
|
+
var import_typescript = __toESM(require("typescript"), 1);
|
|
33
|
+
var import_paths = require("../../paths.cjs");
|
|
34
|
+
var TypeScriptHost = class {
|
|
35
|
+
constructor(_directory) {
|
|
36
|
+
this._directory = _directory;
|
|
37
|
+
}
|
|
38
|
+
getSourceFile(fileName, languageVersion) {
|
|
39
|
+
const code = this.readFile(fileName);
|
|
40
|
+
return code ? import_typescript.default.createSourceFile(fileName, code, languageVersion) : void 0;
|
|
41
|
+
}
|
|
42
|
+
writeFile(fileName) {
|
|
43
|
+
throw new Error(`Cowardly refusing to write "${fileName}"`);
|
|
44
|
+
}
|
|
45
|
+
getDefaultLibFileName(options) {
|
|
46
|
+
return import_typescript.default.getDefaultLibFilePath(options);
|
|
47
|
+
}
|
|
48
|
+
useCaseSensitiveFileNames() {
|
|
49
|
+
return import_typescript.default.sys.useCaseSensitiveFileNames;
|
|
50
|
+
}
|
|
51
|
+
fileExists(fileName) {
|
|
52
|
+
return import_typescript.default.sys.fileExists((0, import_paths.resolveAbsolutePath)(this.getCurrentDirectory(), fileName));
|
|
53
|
+
}
|
|
54
|
+
readFile(fileName) {
|
|
55
|
+
return import_typescript.default.sys.readFile((0, import_paths.resolveAbsolutePath)(this.getCurrentDirectory(), fileName));
|
|
56
|
+
}
|
|
57
|
+
getCurrentDirectory() {
|
|
58
|
+
return this._directory;
|
|
59
|
+
}
|
|
60
|
+
getCanonicalFileName(fileName) {
|
|
61
|
+
if (import_typescript.default.sys.useCaseSensitiveFileNames)
|
|
62
|
+
return fileName;
|
|
63
|
+
const fileNameLowerCaseRegExp = /[^\u0130\u0131\u00DFa-z0-9\\/:\-_. ]+/g;
|
|
64
|
+
return fileNameLowerCaseRegExp.test(fileName) ? fileName.replace(fileNameLowerCaseRegExp, (s) => s.toLowerCase()) : fileName;
|
|
65
|
+
}
|
|
66
|
+
getNewLine() {
|
|
67
|
+
return import_typescript.default.sys.newLine;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
71
|
+
0 && (module.exports = {
|
|
72
|
+
TypeScriptHost
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=compiler.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugs/tsc/compiler.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAe;AAEf,mBAAkD;AAE3C,IAAM,iBAAN,MACoB;AAAA,EAEzB,YAA6B,YAA0B;AAA1B;AAAA,EAA2B;AAAA,EAKxD,cACI,UACA,iBACyB;AAC3B,UAAM,OAAO,KAAK,SAAS,QAAQ;AACnC,WAAO,OAAO,kBAAAA,QAAG,iBAAiB,UAAU,MAAM,eAAe,IAAI;AAAA,EACvE;AAAA,EAGA,UAAU,UAAwB;AAChC,UAAM,IAAI,MAAM,+BAA+B,WAAW;AAAA,EAC5D;AAAA,EAGA,sBAAsB,SAAqC;AACzD,WAAO,kBAAAA,QAAG,sBAAsB,OAAO;AAAA,EACzC;AAAA,EAGA,4BAAqC;AACnC,WAAO,kBAAAA,QAAG,IAAI;AAAA,EAChB;AAAA,EAGA,WAAW,UAA2B;AACpC,WAAO,kBAAAA,QAAG,IAAI,eAAW,kCAAoB,KAAK,oBAAoB,GAAG,QAAQ,CAAC;AAAA,EACpF;AAAA,EAGA,SAAS,UAAsC;AAC7C,WAAO,kBAAAA,QAAG,IAAI,aAAS,kCAAoB,KAAK,oBAAoB,GAAG,QAAQ,CAAC;AAAA,EAClF;AAAA,EAGA,sBAAoC;AAClC,WAAO,KAAK;AAAA,EACd;AAAA,EAGA,qBAAqB,UAA0B;AAC7C,QAAI,kBAAAA,QAAG,IAAI;AAA2B,aAAO;AAG7C,UAAM,0BAA0B;AAChC,WAAO,wBAAwB,KAAK,QAAQ,IAC1C,SAAS,QAAQ,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,IAChE;AAAA,EACJ;AAAA,EAGA,aAAqB;AACnB,WAAO,kBAAAA,QAAG,IAAI;AAAA,EAChB;AACF;",
|
|
5
|
+
"names": ["ts"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// plugs/tsc/compiler.ts
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
import { resolveAbsolutePath } from "../../paths.mjs";
|
|
4
|
+
var TypeScriptHost = class {
|
|
5
|
+
constructor(_directory) {
|
|
6
|
+
this._directory = _directory;
|
|
7
|
+
}
|
|
8
|
+
getSourceFile(fileName, languageVersion) {
|
|
9
|
+
const code = this.readFile(fileName);
|
|
10
|
+
return code ? ts.createSourceFile(fileName, code, languageVersion) : void 0;
|
|
11
|
+
}
|
|
12
|
+
writeFile(fileName) {
|
|
13
|
+
throw new Error(`Cowardly refusing to write "${fileName}"`);
|
|
14
|
+
}
|
|
15
|
+
getDefaultLibFileName(options) {
|
|
16
|
+
return ts.getDefaultLibFilePath(options);
|
|
17
|
+
}
|
|
18
|
+
useCaseSensitiveFileNames() {
|
|
19
|
+
return ts.sys.useCaseSensitiveFileNames;
|
|
20
|
+
}
|
|
21
|
+
fileExists(fileName) {
|
|
22
|
+
return ts.sys.fileExists(resolveAbsolutePath(this.getCurrentDirectory(), fileName));
|
|
23
|
+
}
|
|
24
|
+
readFile(fileName) {
|
|
25
|
+
return ts.sys.readFile(resolveAbsolutePath(this.getCurrentDirectory(), fileName));
|
|
26
|
+
}
|
|
27
|
+
getCurrentDirectory() {
|
|
28
|
+
return this._directory;
|
|
29
|
+
}
|
|
30
|
+
getCanonicalFileName(fileName) {
|
|
31
|
+
if (ts.sys.useCaseSensitiveFileNames)
|
|
32
|
+
return fileName;
|
|
33
|
+
const fileNameLowerCaseRegExp = /[^\u0130\u0131\u00DFa-z0-9\\/:\-_. ]+/g;
|
|
34
|
+
return fileNameLowerCaseRegExp.test(fileName) ? fileName.replace(fileNameLowerCaseRegExp, (s) => s.toLowerCase()) : fileName;
|
|
35
|
+
}
|
|
36
|
+
getNewLine() {
|
|
37
|
+
return ts.sys.newLine;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
export {
|
|
41
|
+
TypeScriptHost
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=compiler.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugs/tsc/compiler.ts"],
|
|
4
|
+
"mappings": ";AAAA,OAAO,QAAQ;AAEf,SAAuB,2BAA2B;AAE3C,IAAM,iBAAN,MACoB;AAAA,EAEzB,YAA6B,YAA0B;AAA1B;AAAA,EAA2B;AAAA,EAKxD,cACI,UACA,iBACyB;AAC3B,UAAM,OAAO,KAAK,SAAS,QAAQ;AACnC,WAAO,OAAO,GAAG,iBAAiB,UAAU,MAAM,eAAe,IAAI;AAAA,EACvE;AAAA,EAGA,UAAU,UAAwB;AAChC,UAAM,IAAI,MAAM,+BAA+B,WAAW;AAAA,EAC5D;AAAA,EAGA,sBAAsB,SAAqC;AACzD,WAAO,GAAG,sBAAsB,OAAO;AAAA,EACzC;AAAA,EAGA,4BAAqC;AACnC,WAAO,GAAG,IAAI;AAAA,EAChB;AAAA,EAGA,WAAW,UAA2B;AACpC,WAAO,GAAG,IAAI,WAAW,oBAAoB,KAAK,oBAAoB,GAAG,QAAQ,CAAC;AAAA,EACpF;AAAA,EAGA,SAAS,UAAsC;AAC7C,WAAO,GAAG,IAAI,SAAS,oBAAoB,KAAK,oBAAoB,GAAG,QAAQ,CAAC;AAAA,EAClF;AAAA,EAGA,sBAAoC;AAClC,WAAO,KAAK;AAAA,EACd;AAAA,EAGA,qBAAqB,UAA0B;AAC7C,QAAI,GAAG,IAAI;AAA2B,aAAO;AAG7C,UAAM,0BAA0B;AAChC,WAAO,wBAAwB,KAAK,QAAQ,IAC1C,SAAS,QAAQ,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,IAChE;AAAA,EACJ;AAAA,EAGA,aAAqB;AACnB,WAAO,GAAG,IAAI;AAAA,EAChB;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
|
|
26
|
+
// plugs/tsc/options.ts
|
|
27
|
+
var options_exports = {};
|
|
28
|
+
__export(options_exports, {
|
|
29
|
+
getCompilerOptions: () => getCompilerOptions
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(options_exports);
|
|
32
|
+
var import_typescript = __toESM(require("typescript"), 1);
|
|
33
|
+
var import_paths = require("../../paths.cjs");
|
|
34
|
+
var import_asyncfs = require("../../utils/asyncfs.cjs");
|
|
35
|
+
function mergeResults(base, override) {
|
|
36
|
+
return {
|
|
37
|
+
options: { ...base.options, ...override.options },
|
|
38
|
+
errors: [...base.errors, ...override.errors]
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
async function loadOptions(file, stack = [file]) {
|
|
42
|
+
const dir = (0, import_paths.getAbsoluteParent)(file);
|
|
43
|
+
const data = await (0, import_asyncfs.readFile)(file, "utf-8");
|
|
44
|
+
const { config, error } = import_typescript.default.parseConfigFileTextToJson(file, data);
|
|
45
|
+
if (error)
|
|
46
|
+
return { options: {}, errors: [error] };
|
|
47
|
+
const { compilerOptions = {}, extends: extendsPath } = config;
|
|
48
|
+
const result = import_typescript.default.convertCompilerOptionsFromJson(compilerOptions, dir, file);
|
|
49
|
+
if (result.errors.length)
|
|
50
|
+
return result;
|
|
51
|
+
if (!extendsPath)
|
|
52
|
+
return result;
|
|
53
|
+
const ext = (0, import_paths.resolveAbsolutePath)(dir, extendsPath);
|
|
54
|
+
if (stack.includes(ext)) {
|
|
55
|
+
return { options: {}, errors: [{
|
|
56
|
+
messageText: `Circularity detected extending from "${ext}"`,
|
|
57
|
+
category: import_typescript.default.DiagnosticCategory.Error,
|
|
58
|
+
code: 18e3,
|
|
59
|
+
file: import_typescript.default.createSourceFile(file, data, import_typescript.default.ScriptTarget.JSON, false, import_typescript.default.ScriptKind.JSON),
|
|
60
|
+
start: void 0,
|
|
61
|
+
length: void 0
|
|
62
|
+
}] };
|
|
63
|
+
}
|
|
64
|
+
return mergeResults(await loadOptions(ext, [...stack, ext]), result);
|
|
65
|
+
}
|
|
66
|
+
async function getCompilerOptions(file, ...override) {
|
|
67
|
+
let result = { options: import_typescript.default.getDefaultCompilerOptions(), errors: [] };
|
|
68
|
+
if (file)
|
|
69
|
+
result = mergeResults(result, await loadOptions(file));
|
|
70
|
+
if (override.length) {
|
|
71
|
+
const [overrides, overridesFile] = override;
|
|
72
|
+
const overridesDir = (0, import_paths.getAbsoluteParent)(overridesFile);
|
|
73
|
+
const options = import_typescript.default.convertCompilerOptionsFromJson(overrides, overridesDir, overridesFile);
|
|
74
|
+
result = mergeResults(result, options);
|
|
75
|
+
}
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
78
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
79
|
+
0 && (module.exports = {
|
|
80
|
+
getCompilerOptions
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=options.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugs/tsc/options.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAe;AAEf,mBAAqE;AACrE,qBAAyB;AAWzB,SAAS,aACL,MACA,UAC6B;AAC/B,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,IAChD,QAAQ,CAAE,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAO;AAAA,EAC/C;AACF;AAIA,eAAe,YACX,MACA,QAAwB,CAAE,IAAK,GACO;AACxC,QAAM,UAAM,gCAAkB,IAAI;AAGlC,QAAM,OAAO,UAAM,yBAAS,MAAM,OAAO;AACzC,QAAM,EAAE,QAAQ,MAAM,IAAI,kBAAAA,QAAG,0BAA0B,MAAM,IAAI;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAGnD,QAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,YAAY,IAAI;AACvD,QAAM,SAAS,kBAAAA,QAAG,+BAA+B,iBAAiB,KAAK,IAAI;AAC3E,MAAI,OAAO,OAAO;AAAQ,WAAO;AAGjC,MAAI,CAAC;AAAa,WAAO;AAGzB,QAAM,UAAM,kCAAoB,KAAK,WAAW;AAGhD,MAAI,MAAM,SAAS,GAAG,GAAG;AACvB,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE;AAAA,MAC9B,aAAa,wCAAwC;AAAA,MACrD,UAAU,kBAAAA,QAAG,mBAAmB;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,kBAAAA,QAAG,iBAAiB,MAAM,MAAM,kBAAAA,QAAG,aAAa,MAAM,OAAO,kBAAAA,QAAG,WAAW,IAAI;AAAA,MACrF,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAE,EAAE;AAAA,EACN;AAGA,SAAO,aAAa,MAAM,YAAY,KAAK,CAAE,GAAG,OAAO,GAAI,CAAC,GAAG,MAAM;AACvE;AAeA,eAAsB,mBAClB,SACG,UACmC;AACxC,MAAI,SAAwC,EAAE,SAAS,kBAAAA,QAAG,0BAA0B,GAAG,QAAQ,CAAC,EAAE;AAGlG,MAAI;AAAM,aAAS,aAAa,QAAQ,MAAM,YAAY,IAAI,CAAC;AAG/D,MAAI,SAAS,QAAQ;AACnB,UAAM,CAAE,WAAW,aAAc,IAAI;AACrC,UAAM,mBAAe,gCAAkB,aAAa;AACpD,UAAM,UAAU,kBAAAA,QAAG,+BAA+B,WAAW,cAAc,aAAa;AACxF,aAAS,aAAa,QAAQ,OAAO;AAAA,EACvC;AAGA,SAAO;AACT;",
|
|
5
|
+
"names": ["ts"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// plugs/tsc/options.ts
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
import { getAbsoluteParent, resolveAbsolutePath } from "../../paths.mjs";
|
|
4
|
+
import { readFile } from "../../utils/asyncfs.mjs";
|
|
5
|
+
function mergeResults(base, override) {
|
|
6
|
+
return {
|
|
7
|
+
options: { ...base.options, ...override.options },
|
|
8
|
+
errors: [...base.errors, ...override.errors]
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
async function loadOptions(file, stack = [file]) {
|
|
12
|
+
const dir = getAbsoluteParent(file);
|
|
13
|
+
const data = await readFile(file, "utf-8");
|
|
14
|
+
const { config, error } = ts.parseConfigFileTextToJson(file, data);
|
|
15
|
+
if (error)
|
|
16
|
+
return { options: {}, errors: [error] };
|
|
17
|
+
const { compilerOptions = {}, extends: extendsPath } = config;
|
|
18
|
+
const result = ts.convertCompilerOptionsFromJson(compilerOptions, dir, file);
|
|
19
|
+
if (result.errors.length)
|
|
20
|
+
return result;
|
|
21
|
+
if (!extendsPath)
|
|
22
|
+
return result;
|
|
23
|
+
const ext = resolveAbsolutePath(dir, extendsPath);
|
|
24
|
+
if (stack.includes(ext)) {
|
|
25
|
+
return { options: {}, errors: [{
|
|
26
|
+
messageText: `Circularity detected extending from "${ext}"`,
|
|
27
|
+
category: ts.DiagnosticCategory.Error,
|
|
28
|
+
code: 18e3,
|
|
29
|
+
file: ts.createSourceFile(file, data, ts.ScriptTarget.JSON, false, ts.ScriptKind.JSON),
|
|
30
|
+
start: void 0,
|
|
31
|
+
length: void 0
|
|
32
|
+
}] };
|
|
33
|
+
}
|
|
34
|
+
return mergeResults(await loadOptions(ext, [...stack, ext]), result);
|
|
35
|
+
}
|
|
36
|
+
async function getCompilerOptions(file, ...override) {
|
|
37
|
+
let result = { options: ts.getDefaultCompilerOptions(), errors: [] };
|
|
38
|
+
if (file)
|
|
39
|
+
result = mergeResults(result, await loadOptions(file));
|
|
40
|
+
if (override.length) {
|
|
41
|
+
const [overrides, overridesFile] = override;
|
|
42
|
+
const overridesDir = getAbsoluteParent(overridesFile);
|
|
43
|
+
const options = ts.convertCompilerOptionsFromJson(overrides, overridesDir, overridesFile);
|
|
44
|
+
result = mergeResults(result, options);
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
getCompilerOptions
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=options.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugs/tsc/options.ts"],
|
|
4
|
+
"mappings": ";AAAA,OAAO,QAAQ;AAEf,SAAuB,mBAAmB,2BAA2B;AACrE,SAAS,gBAAgB;AAWzB,SAAS,aACL,MACA,UAC6B;AAC/B,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,IAChD,QAAQ,CAAE,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAO;AAAA,EAC/C;AACF;AAIA,eAAe,YACX,MACA,QAAwB,CAAE,IAAK,GACO;AACxC,QAAM,MAAM,kBAAkB,IAAI;AAGlC,QAAM,OAAO,MAAM,SAAS,MAAM,OAAO;AACzC,QAAM,EAAE,QAAQ,MAAM,IAAI,GAAG,0BAA0B,MAAM,IAAI;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAGnD,QAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,YAAY,IAAI;AACvD,QAAM,SAAS,GAAG,+BAA+B,iBAAiB,KAAK,IAAI;AAC3E,MAAI,OAAO,OAAO;AAAQ,WAAO;AAGjC,MAAI,CAAC;AAAa,WAAO;AAGzB,QAAM,MAAM,oBAAoB,KAAK,WAAW;AAGhD,MAAI,MAAM,SAAS,GAAG,GAAG;AACvB,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE;AAAA,MAC9B,aAAa,wCAAwC;AAAA,MACrD,UAAU,GAAG,mBAAmB;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,GAAG,iBAAiB,MAAM,MAAM,GAAG,aAAa,MAAM,OAAO,GAAG,WAAW,IAAI;AAAA,MACrF,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAE,EAAE;AAAA,EACN;AAGA,SAAO,aAAa,MAAM,YAAY,KAAK,CAAE,GAAG,OAAO,GAAI,CAAC,GAAG,MAAM;AACvE;AAeA,eAAsB,mBAClB,SACG,UACmC;AACxC,MAAI,SAAwC,EAAE,SAAS,GAAG,0BAA0B,GAAG,QAAQ,CAAC,EAAE;AAGlG,MAAI;AAAM,aAAS,aAAa,QAAQ,MAAM,YAAY,IAAI,CAAC;AAG/D,MAAI,SAAS,QAAQ;AACnB,UAAM,CAAE,WAAW,aAAc,IAAI;AACrC,UAAM,eAAe,kBAAkB,aAAa;AACpD,UAAM,UAAU,GAAG,+BAA+B,WAAW,cAAc,aAAa;AACxF,aAAS,aAAa,QAAQ,OAAO;AAAA,EACvC;AAGA,SAAO;AACT;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
|
|
26
|
+
// plugs/tsc/report.ts
|
|
27
|
+
var report_exports = {};
|
|
28
|
+
__export(report_exports, {
|
|
29
|
+
updateReport: () => updateReport
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(report_exports);
|
|
32
|
+
var import_typescript = __toESM(require("typescript"), 1);
|
|
33
|
+
var import_log = require("../../log.cjs");
|
|
34
|
+
var import_paths = require("../../paths.cjs");
|
|
35
|
+
function convertMessageChain(chain, indent = 0) {
|
|
36
|
+
const message = `${"".padStart(indent * 2)}${chain.messageText}`;
|
|
37
|
+
if (chain.next) {
|
|
38
|
+
const next = chain.next.map((c) => convertMessageChain(c, indent + 1));
|
|
39
|
+
return [message, ...next.flat(1)];
|
|
40
|
+
} else {
|
|
41
|
+
return [message];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function convertDiagnostics(diagnostics, directory) {
|
|
45
|
+
return diagnostics.map((diagnostic) => {
|
|
46
|
+
let level;
|
|
47
|
+
switch (diagnostic.category) {
|
|
48
|
+
case import_typescript.default.DiagnosticCategory.Error:
|
|
49
|
+
level = import_log.ERROR;
|
|
50
|
+
break;
|
|
51
|
+
case import_typescript.default.DiagnosticCategory.Warning:
|
|
52
|
+
level = import_log.WARN;
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
level = import_log.NOTICE;
|
|
56
|
+
}
|
|
57
|
+
let message;
|
|
58
|
+
if (typeof diagnostic.messageText === "string") {
|
|
59
|
+
message = diagnostic.messageText;
|
|
60
|
+
} else {
|
|
61
|
+
message = convertMessageChain(diagnostic.messageText);
|
|
62
|
+
}
|
|
63
|
+
const tags = `TS${diagnostic.code}`;
|
|
64
|
+
if (diagnostic.file) {
|
|
65
|
+
const { file: sourceFile, start, length } = diagnostic;
|
|
66
|
+
const file = (0, import_paths.resolveAbsolutePath)(directory, sourceFile.fileName);
|
|
67
|
+
const source = sourceFile.getFullText();
|
|
68
|
+
if (start !== void 0) {
|
|
69
|
+
const position = sourceFile.getLineAndCharacterOfPosition(start);
|
|
70
|
+
let { line, character: column } = position;
|
|
71
|
+
column += 1;
|
|
72
|
+
line += 1;
|
|
73
|
+
return { level, message, tags, file, source, line, column, length };
|
|
74
|
+
} else {
|
|
75
|
+
return { level, message, tags, file, source };
|
|
76
|
+
}
|
|
77
|
+
} else {
|
|
78
|
+
return { level, message, tags };
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function updateReport(report, diagnostics, directory) {
|
|
83
|
+
const records = convertDiagnostics(diagnostics, directory);
|
|
84
|
+
report.add(...records);
|
|
85
|
+
}
|
|
86
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
+
0 && (module.exports = {
|
|
88
|
+
updateReport
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=report.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugs/tsc/report.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAe;AAEf,iBAAuE;AACvE,mBAAkD;AAElD,SAAS,oBAAoB,OAAkC,SAAS,GAAa;AACnF,QAAM,UAAU,GAAG,GAAG,SAAS,SAAS,CAAC,IAAI,MAAM;AAEnD,MAAI,MAAM,MAAM;AACd,UAAM,OAAO,MAAM,KAAK,IAAI,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC,CAAC;AACrE,WAAO,CAAE,SAAS,GAAG,KAAK,KAAK,CAAC,CAAE;AAAA,EACpC,OAAO;AACL,WAAO,CAAE,OAAQ;AAAA,EACnB;AACF;AAEA,SAAS,mBACL,aACA,WACc;AAChB,SAAO,YAAY,IAAI,CAAC,eAA6B;AAKnD,QAAI;AACJ,YAAQ,WAAW;AAAA,WACZ,kBAAAA,QAAG,mBAAmB;AAAO,gBAAQ;AAAO;AAAA,WAC5C,kBAAAA,QAAG,mBAAmB;AAAS,gBAAQ;AAAM;AAAA;AACzC,gBAAQ;AAAA;AAInB,QAAI;AACJ,QAAI,OAAO,WAAW,gBAAgB,UAAU;AAC9C,gBAAU,WAAW;AAAA,IACvB,OAAO;AACL,gBAAU,oBAAoB,WAAW,WAAW;AAAA,IACtD;AAGA,UAAM,OAAO,KAAK,WAAW;AAG7B,QAAI,WAAW,MAAM;AACnB,YAAM,EAAE,MAAM,YAAY,OAAO,OAAO,IAAI;AAC5C,YAAM,WAAO,kCAAoB,WAAW,WAAW,QAAQ;AAC/D,YAAM,SAAS,WAAW,YAAY;AAEtC,UAAI,UAAU,QAAW;AACvB,cAAM,WAAW,WAAW,8BAA8B,KAAK;AAC/D,YAAI,EAAE,MAAM,WAAW,OAAO,IAAI;AAClC,kBAAU;AACV,gBAAQ;AAER,eAAO,EAAE,OAAO,SAAS,MAAM,MAAM,QAAQ,MAAM,QAAQ,OAAO;AAAA,MACpE,OAAO;AACL,eAAO,EAAE,OAAO,SAAS,MAAM,MAAM,OAAO;AAAA,MAC9C;AAAA,IACF,OAAO;AACL,aAAO,EAAE,OAAO,SAAS,KAAK;AAAA,IAChC;AAAA,EACF,CAAC;AACH;AAGO,SAAS,aACZ,QACA,aACA,WACI;AACN,QAAM,UAAU,mBAAmB,aAAa,SAAS;AACzD,SAAO,IAAI,GAAG,OAAO;AACvB;",
|
|
5
|
+
"names": ["ts"]
|
|
6
|
+
}
|