@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
package/dist/pipe.cjs
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// pipe.ts
|
|
21
|
+
var pipe_exports = {};
|
|
22
|
+
__export(pipe_exports, {
|
|
23
|
+
Pipe: () => Pipe,
|
|
24
|
+
PipeImpl: () => PipeImpl,
|
|
25
|
+
install: () => install
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(pipe_exports);
|
|
28
|
+
var import_assert = require("./assert.cjs");
|
|
29
|
+
var Pipe = class {
|
|
30
|
+
};
|
|
31
|
+
var PipeImpl = class extends Pipe {
|
|
32
|
+
#promise;
|
|
33
|
+
#run;
|
|
34
|
+
constructor(start, run) {
|
|
35
|
+
super();
|
|
36
|
+
this.#promise = Promise.resolve(start);
|
|
37
|
+
this.#run = run;
|
|
38
|
+
}
|
|
39
|
+
plug(arg) {
|
|
40
|
+
const plug = typeof arg === "function" ? { pipe: arg } : arg;
|
|
41
|
+
const promise = this.#promise.then((files) => {
|
|
42
|
+
(0, import_assert.assert)(files, "Pipe can not be further extended");
|
|
43
|
+
return plug.pipe(files, this.#run);
|
|
44
|
+
});
|
|
45
|
+
return new PipeImpl(promise, this.#run);
|
|
46
|
+
}
|
|
47
|
+
then(onfulfilled, onrejected) {
|
|
48
|
+
return this.#promise.then(onfulfilled, onrejected);
|
|
49
|
+
}
|
|
50
|
+
catch(onrejected) {
|
|
51
|
+
return this.#promise.catch(onrejected);
|
|
52
|
+
}
|
|
53
|
+
finally(onfinally) {
|
|
54
|
+
return this.#promise.finally(onfinally);
|
|
55
|
+
}
|
|
56
|
+
[Symbol.toStringTag] = "Pipe";
|
|
57
|
+
};
|
|
58
|
+
function install(name, ctor) {
|
|
59
|
+
function create(...args) {
|
|
60
|
+
return this.plug(new ctor(...args));
|
|
61
|
+
}
|
|
62
|
+
Object.defineProperty(create, "name", { value: name });
|
|
63
|
+
Object.defineProperty(Pipe.prototype, name, { value: create });
|
|
64
|
+
}
|
|
65
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
+
0 && (module.exports = {
|
|
67
|
+
Pipe,
|
|
68
|
+
PipeImpl,
|
|
69
|
+
install
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=pipe.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/pipe.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AA4BhB,IAAe,OAAf,MAAoC;AAG3C;AAIO,IAAM,WAAN,cAAoD,KAA2B;AAAA,EAC3E;AAAA,EACA;AAAA,EAET,YAAY,OAAuB,KAAU;AAC3C,UAAM;AACN,SAAK,WAAW,QAAQ,QAAQ,KAAK;AACrC,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,KAAkC,KAAmD;AACnF,UAAM,OAAO,OAAO,QAAQ,aAAa,EAAE,MAAM,IAAI,IAAI;AACzD,UAAM,UAAU,KAAK,SAAS,KAAK,CAAC,UAAU;AAC5C,gCAAO,OAAO,kCAAkC;AAChD,aAAO,KAAK,KAAK,OAAO,KAAK,IAAI;AAAA,IACnC,CAAC;AACD,WAAO,IAAI,SAAS,SAAS,KAAK,IAAI;AAAA,EACxC;AAAA,EAEA,KACI,aACA,YACgB;AAClB,WAAO,KAAK,SAAS,KAAK,aAAa,UAAU;AAAA,EACnD;AAAA,EAEA,MACI,YACe;AACjB,WAAO,KAAK,SAAS,MAAM,UAAU;AAAA,EACvC;AAAA,EAEA,QACI,WACU;AACZ,WAAO,KAAK,SAAS,QAAQ,SAAS;AAAA,EACxC;AAAA,EAEA,CAAC,OAAO,eAAe;AACzB;AA+IO,SAAS,QAAmC,MAAgB,MAAe;AAGhF,WAAS,UAAsB,MAA8C;AAE3E,WAAO,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAAQ;AAAA,EAC3C;AAGA,SAAO,eAAe,QAAQ,QAAQ,EAAE,OAAO,KAAK,CAAC;AAGrD,SAAO,eAAe,KAAK,WAAW,MAAM,EAAE,OAAO,OAAO,CAAC;AAC/D;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/pipe.mjs
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// pipe.ts
|
|
2
|
+
import { assert } from "./assert.mjs";
|
|
3
|
+
var Pipe = class {
|
|
4
|
+
};
|
|
5
|
+
var PipeImpl = class extends Pipe {
|
|
6
|
+
#promise;
|
|
7
|
+
#run;
|
|
8
|
+
constructor(start, run) {
|
|
9
|
+
super();
|
|
10
|
+
this.#promise = Promise.resolve(start);
|
|
11
|
+
this.#run = run;
|
|
12
|
+
}
|
|
13
|
+
plug(arg) {
|
|
14
|
+
const plug = typeof arg === "function" ? { pipe: arg } : arg;
|
|
15
|
+
const promise = this.#promise.then((files) => {
|
|
16
|
+
assert(files, "Pipe can not be further extended");
|
|
17
|
+
return plug.pipe(files, this.#run);
|
|
18
|
+
});
|
|
19
|
+
return new PipeImpl(promise, this.#run);
|
|
20
|
+
}
|
|
21
|
+
then(onfulfilled, onrejected) {
|
|
22
|
+
return this.#promise.then(onfulfilled, onrejected);
|
|
23
|
+
}
|
|
24
|
+
catch(onrejected) {
|
|
25
|
+
return this.#promise.catch(onrejected);
|
|
26
|
+
}
|
|
27
|
+
finally(onfinally) {
|
|
28
|
+
return this.#promise.finally(onfinally);
|
|
29
|
+
}
|
|
30
|
+
[Symbol.toStringTag] = "Pipe";
|
|
31
|
+
};
|
|
32
|
+
function install(name, ctor) {
|
|
33
|
+
function create(...args) {
|
|
34
|
+
return this.plug(new ctor(...args));
|
|
35
|
+
}
|
|
36
|
+
Object.defineProperty(create, "name", { value: name });
|
|
37
|
+
Object.defineProperty(Pipe.prototype, name, { value: create });
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
Pipe,
|
|
41
|
+
PipeImpl,
|
|
42
|
+
install
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=pipe.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/pipe.ts"],
|
|
4
|
+
"mappings": ";AAAA,SAAS,cAAc;AA4BhB,IAAe,OAAf,MAAoC;AAG3C;AAIO,IAAM,WAAN,cAAoD,KAA2B;AAAA,EAC3E;AAAA,EACA;AAAA,EAET,YAAY,OAAuB,KAAU;AAC3C,UAAM;AACN,SAAK,WAAW,QAAQ,QAAQ,KAAK;AACrC,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,KAAkC,KAAmD;AACnF,UAAM,OAAO,OAAO,QAAQ,aAAa,EAAE,MAAM,IAAI,IAAI;AACzD,UAAM,UAAU,KAAK,SAAS,KAAK,CAAC,UAAU;AAC5C,aAAO,OAAO,kCAAkC;AAChD,aAAO,KAAK,KAAK,OAAO,KAAK,IAAI;AAAA,IACnC,CAAC;AACD,WAAO,IAAI,SAAS,SAAS,KAAK,IAAI;AAAA,EACxC;AAAA,EAEA,KACI,aACA,YACgB;AAClB,WAAO,KAAK,SAAS,KAAK,aAAa,UAAU;AAAA,EACnD;AAAA,EAEA,MACI,YACe;AACjB,WAAO,KAAK,SAAS,MAAM,UAAU;AAAA,EACvC;AAAA,EAEA,QACI,WACU;AACZ,WAAO,KAAK,SAAS,QAAQ,SAAS;AAAA,EACxC;AAAA,EAEA,CAAC,OAAO,eAAe;AACzB;AA+IO,SAAS,QAAmC,MAAgB,MAAe;AAGhF,WAAS,UAAsB,MAA8C;AAE3E,WAAO,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAAQ;AAAA,EAC3C;AAGA,SAAO,eAAe,QAAQ,QAAQ,EAAE,OAAO,KAAK,CAAC;AAGrD,SAAO,eAAe,KAAK,WAAW,MAAM,EAAE,OAAO,OAAO,CAAC;AAC/D;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
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/copy.ts
|
|
27
|
+
var copy_exports = {};
|
|
28
|
+
__export(copy_exports, {
|
|
29
|
+
Copy: () => Copy
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(copy_exports);
|
|
32
|
+
var import_asyncfs = __toESM(require("../utils/asyncfs.cjs"), 1);
|
|
33
|
+
var import_assert = require("../assert.cjs");
|
|
34
|
+
var import_log = require("../log.cjs");
|
|
35
|
+
var import_paths = require("../paths.cjs");
|
|
36
|
+
var import_pipe = require("../pipe.cjs");
|
|
37
|
+
var Copy = class {
|
|
38
|
+
constructor(_directory, _options = {}) {
|
|
39
|
+
this._directory = _directory;
|
|
40
|
+
this._options = _options;
|
|
41
|
+
}
|
|
42
|
+
async pipe(files, run) {
|
|
43
|
+
const { mode, dirMode, overwrite, rename = (s) => s } = this._options;
|
|
44
|
+
const flags = overwrite ? import_asyncfs.default.constants.COPYFILE_EXCL : 0;
|
|
45
|
+
const dmode = parseMode(dirMode);
|
|
46
|
+
const fmode = parseMode(mode);
|
|
47
|
+
const builder = run.files(this._directory);
|
|
48
|
+
for (const [relative, absolute] of files.pathMappings()) {
|
|
49
|
+
const target = (0, import_paths.resolveAbsolutePath)(builder.directory, rename(relative));
|
|
50
|
+
if (target === absolute) {
|
|
51
|
+
run.log.warn("Cowardly refusing to copy same file", (0, import_log.$p)(absolute));
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
const directory = (0, import_paths.getAbsoluteParent)(target);
|
|
55
|
+
const firstParent = await import_asyncfs.default.mkdir(directory, { recursive: true });
|
|
56
|
+
if (firstParent && dmode !== void 0) {
|
|
57
|
+
(0, import_paths.assertAbsolutePath)(firstParent);
|
|
58
|
+
for (let dir = directory; ; dir = (0, import_paths.getAbsoluteParent)(dir)) {
|
|
59
|
+
run.log.trace(`Setting mode ${stringifyMode(dmode)} for directory`, (0, import_log.$p)(dir));
|
|
60
|
+
await import_asyncfs.default.chmod(dir, dmode);
|
|
61
|
+
if (dir === firstParent)
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
run.log.trace(`Copying "${(0, import_log.$p)(absolute)}" to "${(0, import_log.$p)(target)}"`);
|
|
66
|
+
await import_asyncfs.default.copyFile(absolute, target, flags);
|
|
67
|
+
if (fmode !== void 0) {
|
|
68
|
+
run.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, (0, import_log.$p)(target));
|
|
69
|
+
await import_asyncfs.default.chmod(target, fmode);
|
|
70
|
+
}
|
|
71
|
+
builder.add(relative);
|
|
72
|
+
}
|
|
73
|
+
const result = builder.build();
|
|
74
|
+
run.log.info("Copied", result.length, "files to", (0, import_log.$p)(builder.directory));
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
(0, import_pipe.install)("copy", Copy);
|
|
79
|
+
function parseMode(mode) {
|
|
80
|
+
if (mode === void 0)
|
|
81
|
+
return void 0;
|
|
82
|
+
if (typeof mode === "number")
|
|
83
|
+
return mode;
|
|
84
|
+
const parsed = parseInt(mode, 8);
|
|
85
|
+
(0, import_assert.assert)(!isNaN(parsed), `Invalid mode "${mode}"`);
|
|
86
|
+
return parsed;
|
|
87
|
+
}
|
|
88
|
+
function stringifyMode(mode) {
|
|
89
|
+
return mode.toString(8).padStart(4, "0");
|
|
90
|
+
}
|
|
91
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
92
|
+
0 && (module.exports = {
|
|
93
|
+
Copy
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=copy.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/plugs/copy.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAe;AAEf,oBAAuB;AAEvB,iBAAmB;AACnB,mBAA2E;AAC3E,kBAA8B;AAgBvB,IAAM,OAAN,MAAkC;AAAA,EAEvC,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,KAA0B;AAEjD,UAAM,EAAE,MAAM,SAAS,WAAW,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AACrE,UAAM,QAAQ,YAAY,eAAAA,QAAG,UAAU,gBAAgB;AACvD,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,UAAU,IAAI,MAAM,KAAK,UAAU;AAGzC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,aAAS,kCAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,YAAI,IAAI,KAAK,2CAAuC,eAAG,QAAQ,CAAC;AAChE;AAAA,MACF;AAGA,YAAM,gBAAY,gCAAkB,MAAM;AAC1C,YAAM,cAAc,MAAM,eAAAA,QAAG,MAAM,WAAW,EAAE,WAAW,KAAK,CAAC;AAGjE,UAAI,eAAgB,UAAU,QAAY;AACxC,6CAAmB,WAAW;AAC9B,iBAAS,MAAM,aAAa,UAAM,gCAAkB,GAAG,GAAG;AACxD,cAAI,IAAI,MAAM,gBAAgB,cAAc,KAAK,uBAAmB,eAAG,GAAG,CAAC;AAC3E,gBAAM,eAAAA,QAAG,MAAM,KAAK,KAAK;AACzB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAGA,UAAI,IAAI,MAAM,gBAAY,eAAG,QAAQ,cAAU,eAAG,MAAM,IAAI;AAC5D,YAAM,eAAAA,QAAG,SAAS,UAAU,QAAQ,KAAK;AAGzC,UAAI,UAAU,QAAW;AACvB,YAAI,IAAI,MAAM,gBAAgB,cAAc,KAAK,kBAAc,eAAG,MAAM,CAAC;AACzE,cAAM,eAAAA,QAAG,MAAM,QAAQ,KAAK;AAAA,MAC9B;AAGA,cAAQ,IAAI,QAAQ;AAAA,IACtB;AAEA,UAAM,SAAS,QAAQ,MAAM;AAC7B,QAAI,IAAI,KAAK,UAAU,OAAO,QAAQ,gBAAY,eAAG,QAAQ,SAAS,CAAC;AACvE,WAAO;AAAA,EACT;AACF;AAAA,IAMA,qBAAQ,QAAQ,IAAI;AAapB,SAAS,UAAU,MAAuD;AACxE,MAAI,SAAS;AAAW,WAAO;AAC/B,MAAI,OAAO,SAAS;AAAU,WAAO;AACrC,QAAM,SAAS,SAAS,MAAM,CAAC;AAC/B,4BAAO,CAAE,MAAM,MAAM,GAAG,iBAAiB,OAAO;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,MAAsB;AAC3C,SAAO,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG;AACzC;",
|
|
5
|
+
"names": ["fs"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// plugs/copy.ts
|
|
2
|
+
import fs from "../utils/asyncfs.mjs";
|
|
3
|
+
import { assert } from "../assert.mjs";
|
|
4
|
+
import { $p } from "../log.mjs";
|
|
5
|
+
import { assertAbsolutePath, getAbsoluteParent, resolveAbsolutePath } from "../paths.mjs";
|
|
6
|
+
import { install } from "../pipe.mjs";
|
|
7
|
+
var Copy = class {
|
|
8
|
+
constructor(_directory, _options = {}) {
|
|
9
|
+
this._directory = _directory;
|
|
10
|
+
this._options = _options;
|
|
11
|
+
}
|
|
12
|
+
async pipe(files, run) {
|
|
13
|
+
const { mode, dirMode, overwrite, rename = (s) => s } = this._options;
|
|
14
|
+
const flags = overwrite ? fs.constants.COPYFILE_EXCL : 0;
|
|
15
|
+
const dmode = parseMode(dirMode);
|
|
16
|
+
const fmode = parseMode(mode);
|
|
17
|
+
const builder = run.files(this._directory);
|
|
18
|
+
for (const [relative, absolute] of files.pathMappings()) {
|
|
19
|
+
const target = resolveAbsolutePath(builder.directory, rename(relative));
|
|
20
|
+
if (target === absolute) {
|
|
21
|
+
run.log.warn("Cowardly refusing to copy same file", $p(absolute));
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const directory = getAbsoluteParent(target);
|
|
25
|
+
const firstParent = await fs.mkdir(directory, { recursive: true });
|
|
26
|
+
if (firstParent && dmode !== void 0) {
|
|
27
|
+
assertAbsolutePath(firstParent);
|
|
28
|
+
for (let dir = directory; ; dir = getAbsoluteParent(dir)) {
|
|
29
|
+
run.log.trace(`Setting mode ${stringifyMode(dmode)} for directory`, $p(dir));
|
|
30
|
+
await fs.chmod(dir, dmode);
|
|
31
|
+
if (dir === firstParent)
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
run.log.trace(`Copying "${$p(absolute)}" to "${$p(target)}"`);
|
|
36
|
+
await fs.copyFile(absolute, target, flags);
|
|
37
|
+
if (fmode !== void 0) {
|
|
38
|
+
run.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, $p(target));
|
|
39
|
+
await fs.chmod(target, fmode);
|
|
40
|
+
}
|
|
41
|
+
builder.add(relative);
|
|
42
|
+
}
|
|
43
|
+
const result = builder.build();
|
|
44
|
+
run.log.info("Copied", result.length, "files to", $p(builder.directory));
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
install("copy", Copy);
|
|
49
|
+
function parseMode(mode) {
|
|
50
|
+
if (mode === void 0)
|
|
51
|
+
return void 0;
|
|
52
|
+
if (typeof mode === "number")
|
|
53
|
+
return mode;
|
|
54
|
+
const parsed = parseInt(mode, 8);
|
|
55
|
+
assert(!isNaN(parsed), `Invalid mode "${mode}"`);
|
|
56
|
+
return parsed;
|
|
57
|
+
}
|
|
58
|
+
function stringifyMode(mode) {
|
|
59
|
+
return mode.toString(8).padStart(4, "0");
|
|
60
|
+
}
|
|
61
|
+
export {
|
|
62
|
+
Copy
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=copy.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/plugs/copy.ts"],
|
|
4
|
+
"mappings": ";AAAA,OAAO,QAAQ;AAEf,SAAS,cAAc;AAEvB,SAAS,UAAU;AACnB,SAAS,oBAAoB,mBAAmB,2BAA2B;AAC3E,SAAS,eAAqB;AAgBvB,IAAM,OAAN,MAAkC;AAAA,EAEvC,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,KAA0B;AAEjD,UAAM,EAAE,MAAM,SAAS,WAAW,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AACrE,UAAM,QAAQ,YAAY,GAAG,UAAU,gBAAgB;AACvD,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,UAAU,IAAI,MAAM,KAAK,UAAU;AAGzC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,SAAS,oBAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,YAAI,IAAI,KAAK,uCAAuC,GAAG,QAAQ,CAAC;AAChE;AAAA,MACF;AAGA,YAAM,YAAY,kBAAkB,MAAM;AAC1C,YAAM,cAAc,MAAM,GAAG,MAAM,WAAW,EAAE,WAAW,KAAK,CAAC;AAGjE,UAAI,eAAgB,UAAU,QAAY;AACxC,2BAAmB,WAAW;AAC9B,iBAAS,MAAM,aAAa,MAAM,kBAAkB,GAAG,GAAG;AACxD,cAAI,IAAI,MAAM,gBAAgB,cAAc,KAAK,mBAAmB,GAAG,GAAG,CAAC;AAC3E,gBAAM,GAAG,MAAM,KAAK,KAAK;AACzB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAGA,UAAI,IAAI,MAAM,YAAY,GAAG,QAAQ,UAAU,GAAG,MAAM,IAAI;AAC5D,YAAM,GAAG,SAAS,UAAU,QAAQ,KAAK;AAGzC,UAAI,UAAU,QAAW;AACvB,YAAI,IAAI,MAAM,gBAAgB,cAAc,KAAK,cAAc,GAAG,MAAM,CAAC;AACzE,cAAM,GAAG,MAAM,QAAQ,KAAK;AAAA,MAC9B;AAGA,cAAQ,IAAI,QAAQ;AAAA,IACtB;AAEA,UAAM,SAAS,QAAQ,MAAM;AAC7B,QAAI,IAAI,KAAK,UAAU,OAAO,QAAQ,YAAY,GAAG,QAAQ,SAAS,CAAC;AACvE,WAAO;AAAA,EACT;AACF;AAMA,QAAQ,QAAQ,IAAI;AAapB,SAAS,UAAU,MAAuD;AACxE,MAAI,SAAS;AAAW,WAAO;AAC/B,MAAI,OAAO,SAAS;AAAU,WAAO;AACrC,QAAM,SAAS,SAAS,MAAM,CAAC;AAC/B,SAAO,CAAE,MAAM,MAAM,GAAG,iBAAiB,OAAO;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,MAAsB;AAC3C,SAAO,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG;AACzC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// plugs/coverage/analysis.ts
|
|
21
|
+
var analysis_exports = {};
|
|
22
|
+
__export(analysis_exports, {
|
|
23
|
+
CombiningCoverageAnalyser: () => CombiningCoverageAnalyser,
|
|
24
|
+
SourcesCoverageAnalyser: () => SourcesCoverageAnalyser,
|
|
25
|
+
createAnalyser: () => createAnalyser
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(analysis_exports);
|
|
28
|
+
var import_node_url = require("node:url");
|
|
29
|
+
var import_source_map = require("source-map");
|
|
30
|
+
var import_assert = require("../../assert.cjs");
|
|
31
|
+
var import_log = require("../../log.cjs");
|
|
32
|
+
var import_asyncfs = require("../../utils/asyncfs.cjs");
|
|
33
|
+
var CoverageAnalyserImpl = class {
|
|
34
|
+
constructor(_log) {
|
|
35
|
+
this._log = _log;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var CoverageResultAnalyser = class extends CoverageAnalyserImpl {
|
|
39
|
+
constructor(log, _result) {
|
|
40
|
+
super(log);
|
|
41
|
+
this._result = _result;
|
|
42
|
+
const _coverage = [];
|
|
43
|
+
for (const coveredFunction of _result.functions) {
|
|
44
|
+
for (const range of coveredFunction.ranges) {
|
|
45
|
+
for (let i = range.startOffset; i < range.endOffset; i++) {
|
|
46
|
+
_coverage[i] = range.count;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
this._coverage = _coverage;
|
|
51
|
+
}
|
|
52
|
+
_coverage;
|
|
53
|
+
_lineLengths;
|
|
54
|
+
async init() {
|
|
55
|
+
const filename = (0, import_node_url.fileURLToPath)(this._result.url);
|
|
56
|
+
const source = await (0, import_asyncfs.readFile)(filename, "utf-8");
|
|
57
|
+
this._lineLengths = source.split("\n").map((line) => line.length);
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
destroy() {
|
|
61
|
+
}
|
|
62
|
+
coverage(source, line, column) {
|
|
63
|
+
(0, import_assert.assert)(this._lineLengths, "Analyser not initialized");
|
|
64
|
+
(0, import_assert.assert)(source === this._result.url, `Wrong source ${source} (should be ${this._result.url})`);
|
|
65
|
+
const { _lineLengths, _coverage } = this;
|
|
66
|
+
let offset = 0;
|
|
67
|
+
for (let l = line - 2; l >= 0; l--)
|
|
68
|
+
offset += _lineLengths[l] + 1;
|
|
69
|
+
return _coverage[offset + column] || 0;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var CoverageSitemapAnalyser = class extends CoverageResultAnalyser {
|
|
73
|
+
constructor(log, result, _sourceMapCache, _sourceMapBias) {
|
|
74
|
+
super(log, result);
|
|
75
|
+
this._sourceMapCache = _sourceMapCache;
|
|
76
|
+
this._sourceMapBias = _sourceMapBias;
|
|
77
|
+
this._lineLengths = _sourceMapCache.lineLengths;
|
|
78
|
+
}
|
|
79
|
+
_preciseMappings = /* @__PURE__ */ new Map();
|
|
80
|
+
_sourceMap;
|
|
81
|
+
_key(source, line, column) {
|
|
82
|
+
return `${line}:${column}:${source}`;
|
|
83
|
+
}
|
|
84
|
+
async init() {
|
|
85
|
+
const sourceMap = this._sourceMapCache.data;
|
|
86
|
+
(0, import_assert.assert)(sourceMap, "Missing source map data from cache");
|
|
87
|
+
this._sourceMap = await new import_source_map.SourceMapConsumer(sourceMap);
|
|
88
|
+
if (this._sourceMapBias === "none") {
|
|
89
|
+
this._sourceMap.eachMapping((m) => {
|
|
90
|
+
const location = { line: m.generatedLine, column: m.generatedColumn };
|
|
91
|
+
const key = this._key(m.source, m.originalLine, m.originalColumn);
|
|
92
|
+
this._preciseMappings.set(key, location);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
destroy() {
|
|
98
|
+
this._sourceMap?.destroy();
|
|
99
|
+
}
|
|
100
|
+
coverage(source, line, column) {
|
|
101
|
+
(0, import_assert.assert)(this._sourceMap, "Analyser not initialized");
|
|
102
|
+
if (this._sourceMapBias === "none") {
|
|
103
|
+
const key = this._key(source, line, column);
|
|
104
|
+
const location = this._preciseMappings.get(key);
|
|
105
|
+
if (!location) {
|
|
106
|
+
this._log.debug(`No precise mapping for ${source}:${line}:${column}`);
|
|
107
|
+
return 0;
|
|
108
|
+
} else {
|
|
109
|
+
return super.coverage(this._result.url, location.line, location.column);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const bias = this._sourceMapBias === "greatest_lower_bound" ? import_source_map.SourceMapConsumer.GREATEST_LOWER_BOUND : this._sourceMapBias === "least_upper_bound" ? import_source_map.SourceMapConsumer.LEAST_UPPER_BOUND : void 0;
|
|
113
|
+
const generated = this._sourceMap.generatedPositionFor({ source, line, column, bias });
|
|
114
|
+
if (!generated) {
|
|
115
|
+
this._log.debug(`No position generated for ${source}:${line}:${column}`);
|
|
116
|
+
return 0;
|
|
117
|
+
}
|
|
118
|
+
if (generated.line == null) {
|
|
119
|
+
this._log.debug(`No line generated for ${source}:${line}:${column}`);
|
|
120
|
+
return 0;
|
|
121
|
+
}
|
|
122
|
+
if (generated.column == null) {
|
|
123
|
+
this._log.debug(`No column generated for ${source}:${line}:${column}`);
|
|
124
|
+
return 0;
|
|
125
|
+
}
|
|
126
|
+
return super.coverage(this._result.url, generated.line, generated.column);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
function combineCoverage(analysers, source, line, column) {
|
|
130
|
+
let coverage = 0;
|
|
131
|
+
if (!analysers)
|
|
132
|
+
return coverage;
|
|
133
|
+
for (const analyser of analysers) {
|
|
134
|
+
coverage += analyser.coverage(source, line, column);
|
|
135
|
+
}
|
|
136
|
+
return coverage;
|
|
137
|
+
}
|
|
138
|
+
var SourcesCoverageAnalyser = class extends CoverageAnalyserImpl {
|
|
139
|
+
constructor(log, _filename) {
|
|
140
|
+
super(log);
|
|
141
|
+
this._filename = _filename;
|
|
142
|
+
}
|
|
143
|
+
_mappings = /* @__PURE__ */ new Map();
|
|
144
|
+
hasMappings() {
|
|
145
|
+
return this._mappings.size > 0;
|
|
146
|
+
}
|
|
147
|
+
add(source, analyser) {
|
|
148
|
+
const analysers = this._mappings.get(source) || /* @__PURE__ */ new Set();
|
|
149
|
+
analysers.add(analyser);
|
|
150
|
+
this._mappings.set(source, analysers);
|
|
151
|
+
}
|
|
152
|
+
async init() {
|
|
153
|
+
this._log.debug("SourcesCoverageAnalyser", (0, import_log.$p)(this._filename), (0, import_log.$gry)(`(${this._mappings.size} mappings)`));
|
|
154
|
+
for (const analysers of this._mappings.values()) {
|
|
155
|
+
for (const analyser of analysers) {
|
|
156
|
+
await analyser.init();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return this;
|
|
160
|
+
}
|
|
161
|
+
destroy() {
|
|
162
|
+
for (const analysers of this._mappings.values()) {
|
|
163
|
+
for (const analyser of analysers) {
|
|
164
|
+
analyser.destroy();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
coverage(source, line, column) {
|
|
169
|
+
const analysers = this._mappings.get(source);
|
|
170
|
+
return combineCoverage(analysers, source, line, column);
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
var CombiningCoverageAnalyser = class extends CoverageAnalyserImpl {
|
|
174
|
+
_analysers = /* @__PURE__ */ new Set();
|
|
175
|
+
add(analyser) {
|
|
176
|
+
this._analysers.add(analyser);
|
|
177
|
+
}
|
|
178
|
+
async init() {
|
|
179
|
+
this._log.debug("CombiningCoverageAnalyser", (0, import_log.$gry)(`(${this._analysers.size} analysers)`));
|
|
180
|
+
this._log.enter();
|
|
181
|
+
try {
|
|
182
|
+
for (const analyser of this._analysers)
|
|
183
|
+
await analyser.init();
|
|
184
|
+
return this;
|
|
185
|
+
} finally {
|
|
186
|
+
this._log.leave();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
destroy() {
|
|
190
|
+
for (const analyser of this._analysers)
|
|
191
|
+
analyser.destroy();
|
|
192
|
+
}
|
|
193
|
+
coverage(source, line, column) {
|
|
194
|
+
return combineCoverage(this._analysers, source, line, column);
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
async function createAnalyser(sourceFiles, coverageFiles, sourceMapBias, log) {
|
|
198
|
+
const urls = sourceFiles.map((path) => (0, import_node_url.pathToFileURL)(path).toString());
|
|
199
|
+
const analyser = new CombiningCoverageAnalyser(log);
|
|
200
|
+
for await (const coverageFile of coverageFiles) {
|
|
201
|
+
const coverageFileAnalyser = new SourcesCoverageAnalyser(log, coverageFile);
|
|
202
|
+
log.info("Parsing coverage file", (0, import_log.$p)(coverageFile));
|
|
203
|
+
const contents = await (0, import_asyncfs.readFile)(coverageFile, "utf-8");
|
|
204
|
+
const coverage = JSON.parse(contents);
|
|
205
|
+
for (const result of coverage.result) {
|
|
206
|
+
const mapping = coverage["source-map-cache"]?.[result.url];
|
|
207
|
+
if (mapping) {
|
|
208
|
+
const matches = urls.filter((url) => mapping.data?.sources.includes(url));
|
|
209
|
+
if (matches.length) {
|
|
210
|
+
const sourceAnalyser = new CoverageSitemapAnalyser(log, result, mapping, sourceMapBias);
|
|
211
|
+
for (const match of matches)
|
|
212
|
+
coverageFileAnalyser.add(match, sourceAnalyser);
|
|
213
|
+
}
|
|
214
|
+
} else if (urls.includes(result.url)) {
|
|
215
|
+
coverageFileAnalyser.add(result.url, new CoverageResultAnalyser(log, result));
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
if (coverageFileAnalyser.hasMappings())
|
|
219
|
+
analyser.add(coverageFileAnalyser);
|
|
220
|
+
}
|
|
221
|
+
return await analyser.init();
|
|
222
|
+
}
|
|
223
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
224
|
+
0 && (module.exports = {
|
|
225
|
+
CombiningCoverageAnalyser,
|
|
226
|
+
SourcesCoverageAnalyser,
|
|
227
|
+
createAnalyser
|
|
228
|
+
});
|
|
229
|
+
//# sourceMappingURL=analysis.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugs/coverage/analysis.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|