@plugjs/plug 0.0.27 → 0.1.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/dist/{failure.cjs → asserts.cjs} +29 -9
- package/dist/asserts.cjs.map +6 -0
- package/dist/{failure.d.ts → asserts.d.ts} +4 -1
- package/dist/asserts.mjs +51 -0
- package/dist/asserts.mjs.map +6 -0
- package/dist/async.cjs +2 -2
- package/dist/async.cjs.map +1 -1
- package/dist/async.mjs +2 -2
- package/dist/async.mjs.map +1 -1
- package/dist/build.cjs +21 -30
- package/dist/build.cjs.map +1 -1
- package/dist/build.d.ts +2 -13
- package/dist/build.mjs +16 -24
- package/dist/build.mjs.map +1 -1
- package/dist/files.cjs +3 -3
- package/dist/files.cjs.map +1 -1
- package/dist/files.mjs +1 -1
- package/dist/files.mjs.map +1 -1
- package/dist/fork.cjs +35 -30
- package/dist/fork.cjs.map +1 -1
- package/dist/fork.d.ts +6 -3
- package/dist/fork.mjs +18 -13
- package/dist/fork.mjs.map +1 -1
- package/dist/{utils/asyncfs.cjs → fs.cjs} +6 -6
- package/dist/{utils/asyncfs.cjs.map → fs.cjs.map} +2 -2
- package/dist/{utils/asyncfs.d.ts → fs.d.ts} +1 -1
- package/dist/{utils/asyncfs.mjs → fs.mjs} +3 -3
- package/dist/{utils/asyncfs.mjs.map → fs.mjs.map} +2 -2
- package/dist/helpers.cjs +21 -14
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.d.ts +24 -1
- package/dist/helpers.mjs +13 -7
- package/dist/helpers.mjs.map +1 -1
- package/dist/index.cjs +36 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +25 -8
- package/dist/index.mjs +20 -5
- package/dist/index.mjs.map +1 -1
- package/dist/{log → logging}/colors.cjs +1 -1
- package/dist/{log → logging}/colors.cjs.map +1 -1
- package/dist/{log → logging}/colors.d.ts +0 -0
- package/dist/{log → logging}/colors.mjs +1 -1
- package/dist/{log → logging}/colors.mjs.map +1 -1
- package/dist/{log → logging}/emit.cjs +1 -2
- package/dist/{log → logging}/emit.cjs.map +2 -2
- package/dist/{log → logging}/emit.d.ts +0 -0
- package/dist/{log → logging}/emit.mjs +1 -2
- package/dist/{log → logging}/emit.mjs.map +2 -2
- package/dist/{log → logging}/levels.cjs +1 -1
- package/dist/{log → logging}/levels.cjs.map +1 -1
- package/dist/{log → logging}/levels.d.ts +0 -0
- package/dist/{log → logging}/levels.mjs +1 -1
- package/dist/{log → logging}/levels.mjs.map +1 -1
- package/dist/{log → logging}/logger.cjs +13 -7
- package/dist/logging/logger.cjs.map +6 -0
- package/dist/{log → logging}/logger.d.ts +0 -0
- package/dist/{log → logging}/logger.mjs +11 -5
- package/dist/logging/logger.mjs.map +6 -0
- package/dist/{log → logging}/options.cjs +12 -6
- package/dist/logging/options.cjs.map +6 -0
- package/dist/{log → logging}/options.d.ts +1 -1
- package/dist/{log → logging}/options.mjs +12 -6
- package/dist/logging/options.mjs.map +6 -0
- package/dist/{log → logging}/report.cjs +10 -9
- package/dist/{log → logging}/report.cjs.map +2 -2
- package/dist/{log → logging}/report.d.ts +0 -0
- package/dist/{log → logging}/report.mjs +7 -6
- package/dist/{log → logging}/report.mjs.map +2 -2
- package/dist/{log → logging}/spinner.cjs +1 -1
- package/dist/{log → logging}/spinner.cjs.map +1 -1
- package/dist/{log → logging}/spinner.d.ts +0 -0
- package/dist/{log → logging}/spinner.mjs +1 -1
- package/dist/{log → logging}/spinner.mjs.map +1 -1
- package/dist/{log.cjs → logging.cjs} +12 -12
- package/dist/{log.cjs.map → logging.cjs.map} +2 -2
- package/dist/{log.d.ts → logging.d.ts} +6 -6
- package/dist/{log.mjs → logging.mjs} +9 -9
- package/dist/{log.mjs.map → logging.mjs.map} +1 -1
- package/dist/paths.cjs +5 -5
- package/dist/paths.cjs.map +1 -1
- package/dist/paths.mjs +1 -1
- package/dist/pipe.cjs +10 -13
- package/dist/pipe.cjs.map +1 -1
- package/dist/pipe.d.ts +6 -12
- package/dist/pipe.mjs +6 -9
- package/dist/pipe.mjs.map +1 -1
- package/dist/plugs/copy.cjs +14 -14
- package/dist/plugs/copy.cjs.map +1 -1
- package/dist/plugs/copy.d.ts +1 -1
- package/dist/plugs/copy.mjs +3 -3
- package/dist/plugs/copy.mjs.map +1 -1
- package/dist/plugs/debug.cjs +7 -7
- package/dist/plugs/debug.cjs.map +1 -1
- package/dist/plugs/debug.d.ts +1 -1
- package/dist/plugs/debug.mjs +1 -1
- package/dist/plugs/edit.cjs +21 -0
- package/dist/plugs/edit.cjs.map +6 -0
- package/dist/plugs/edit.d.ts +7 -0
- package/dist/plugs/edit.mjs +29 -0
- package/dist/plugs/edit.mjs.map +6 -0
- package/dist/plugs/esbuild/fix-extensions.cjs +4 -4
- package/dist/plugs/esbuild/fix-extensions.cjs.map +1 -1
- package/dist/plugs/esbuild/fix-extensions.mjs +1 -1
- package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
- package/dist/plugs/esbuild.cjs +19 -14
- package/dist/plugs/esbuild.cjs.map +1 -1
- package/dist/plugs/esbuild.d.ts +1 -1
- package/dist/plugs/esbuild.mjs +8 -3
- package/dist/plugs/esbuild.mjs.map +1 -1
- package/dist/plugs/exec.cjs +2 -82
- package/dist/plugs/exec.cjs.map +2 -2
- package/dist/plugs/exec.d.ts +6 -32
- package/dist/plugs/exec.mjs +2 -68
- package/dist/plugs/exec.mjs.map +1 -1
- package/dist/plugs/filter.d.ts +1 -1
- package/dist/plugs/rmf.cjs +5 -5
- package/dist/plugs/rmf.cjs.map +1 -1
- package/dist/plugs/rmf.d.ts +1 -1
- package/dist/plugs/rmf.mjs +2 -2
- package/dist/plugs/rmf.mjs.map +1 -1
- package/dist/plugs.cjs +1 -4
- package/dist/plugs.cjs.map +1 -1
- package/dist/plugs.d.ts +1 -4
- package/dist/plugs.mjs +1 -4
- package/dist/plugs.mjs.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/utils/caller.cjs +8 -5
- package/dist/utils/caller.cjs.map +1 -1
- package/dist/utils/caller.mjs +6 -3
- package/dist/utils/caller.mjs.map +1 -1
- package/dist/utils/exec.cjs +102 -0
- package/dist/utils/exec.cjs.map +6 -0
- package/dist/utils/exec.d.ts +15 -0
- package/dist/utils/exec.mjs +71 -0
- package/dist/utils/exec.mjs.map +6 -0
- package/dist/utils/walk.cjs +7 -7
- package/dist/utils/walk.cjs.map +1 -1
- package/dist/utils/walk.mjs +2 -2
- package/dist/utils/walk.mjs.map +1 -1
- package/dist/{plugs/tsc.cjs → utils.cjs} +9 -7
- package/dist/utils.cjs.map +6 -0
- package/dist/utils.d.ts +4 -0
- package/dist/utils.mjs +6 -0
- package/dist/utils.mjs.map +6 -0
- package/extra/cli.mjs +26 -5
- package/extra/ts-loader.mjs +2 -2
- package/package.json +90 -15
- package/src/{assert.ts → asserts.ts} +36 -1
- package/src/async.ts +3 -1
- package/src/files.ts +1 -1
- package/src/fork.ts +19 -11
- package/src/{utils/asyncfs.ts → fs.ts} +1 -1
- package/src/helpers.ts +40 -8
- package/src/index.ts +30 -8
- package/src/{log → logging}/colors.ts +0 -0
- package/src/{log → logging}/emit.ts +0 -1
- package/src/{log → logging}/levels.ts +0 -0
- package/src/{log → logging}/logger.ts +13 -4
- package/src/{log → logging}/options.ts +11 -7
- package/src/{log → logging}/report.ts +10 -9
- package/src/{log → logging}/spinner.ts +0 -0
- package/src/{log.ts → logging.ts} +7 -7
- package/src/paths.ts +1 -1
- package/src/pipe.ts +13 -20
- package/src/plugs/copy.ts +4 -4
- package/src/plugs/debug.ts +2 -2
- package/src/plugs/edit.ts +34 -0
- package/src/plugs/esbuild/fix-extensions.ts +2 -2
- package/src/plugs/esbuild.ts +13 -7
- package/src/plugs/exec.ts +8 -129
- package/src/plugs/filter.ts +1 -1
- package/src/plugs/rmf.ts +3 -3
- package/src/plugs.ts +1 -13
- package/src/types.ts +1 -1
- package/src/utils/caller.ts +6 -3
- package/src/utils/exec.ts +112 -0
- package/src/utils/walk.ts +3 -3
- package/src/utils.ts +4 -0
- package/types/{webassembly.d.ts → plugjs.d.ts} +7 -1
- package/dist/assert.cjs +0 -52
- package/dist/assert.cjs.map +0 -6
- package/dist/assert.d.ts +0 -4
- package/dist/assert.mjs +0 -26
- package/dist/assert.mjs.map +0 -6
- package/dist/failure.cjs.map +0 -6
- package/dist/failure.mjs +0 -33
- package/dist/failure.mjs.map +0 -6
- package/dist/log/logger.cjs.map +0 -6
- package/dist/log/logger.mjs.map +0 -6
- package/dist/log/options.cjs.map +0 -6
- package/dist/log/options.mjs.map +0 -6
- package/dist/plugs/coverage/analysis.cjs +0 -234
- package/dist/plugs/coverage/analysis.cjs.map +0 -6
- package/dist/plugs/coverage/analysis.d.ts +0 -104
- package/dist/plugs/coverage/analysis.mjs +0 -207
- package/dist/plugs/coverage/analysis.mjs.map +0 -6
- package/dist/plugs/coverage/report.cjs +0 -235
- package/dist/plugs/coverage/report.cjs.map +0 -6
- package/dist/plugs/coverage/report.d.ts +0 -59
- package/dist/plugs/coverage/report.mjs +0 -220
- package/dist/plugs/coverage/report.mjs.map +0 -6
- package/dist/plugs/coverage.cjs +0 -140
- package/dist/plugs/coverage.cjs.map +0 -6
- package/dist/plugs/coverage.d.ts +0 -49
- package/dist/plugs/coverage.mjs +0 -123
- package/dist/plugs/coverage.mjs.map +0 -6
- package/dist/plugs/eslint/runner.cjs +0 -91
- package/dist/plugs/eslint/runner.cjs.map +0 -6
- package/dist/plugs/eslint/runner.d.ts +0 -8
- package/dist/plugs/eslint/runner.mjs +0 -68
- package/dist/plugs/eslint/runner.mjs.map +0 -6
- package/dist/plugs/eslint.cjs +0 -22
- package/dist/plugs/eslint.cjs.map +0 -6
- package/dist/plugs/eslint.d.ts +0 -34
- package/dist/plugs/eslint.mjs +0 -5
- package/dist/plugs/eslint.mjs.map +0 -6
- package/dist/plugs/mocha/reporter.cjs +0 -159
- package/dist/plugs/mocha/reporter.cjs.map +0 -6
- package/dist/plugs/mocha/reporter.d.ts +0 -6
- package/dist/plugs/mocha/reporter.mjs +0 -127
- package/dist/plugs/mocha/reporter.mjs.map +0 -6
- package/dist/plugs/mocha/runner.cjs +0 -82
- package/dist/plugs/mocha/runner.cjs.map +0 -6
- package/dist/plugs/mocha/runner.d.ts +0 -8
- package/dist/plugs/mocha/runner.mjs +0 -53
- package/dist/plugs/mocha/runner.mjs.map +0 -6
- package/dist/plugs/mocha.cjs +0 -22
- package/dist/plugs/mocha.cjs.map +0 -6
- package/dist/plugs/mocha.d.ts +0 -37
- package/dist/plugs/mocha.mjs +0 -5
- package/dist/plugs/mocha.mjs.map +0 -6
- package/dist/plugs/tsc/compiler.cjs +0 -74
- package/dist/plugs/tsc/compiler.cjs.map +0 -6
- package/dist/plugs/tsc/compiler.d.ts +0 -24
- package/dist/plugs/tsc/compiler.mjs +0 -43
- package/dist/plugs/tsc/compiler.mjs.map +0 -6
- package/dist/plugs/tsc/options.cjs +0 -82
- package/dist/plugs/tsc/options.cjs.map +0 -6
- package/dist/plugs/tsc/options.d.ts +0 -8
- package/dist/plugs/tsc/options.mjs +0 -51
- package/dist/plugs/tsc/options.mjs.map +0 -6
- package/dist/plugs/tsc/report.cjs +0 -90
- package/dist/plugs/tsc/report.cjs.map +0 -6
- package/dist/plugs/tsc/report.d.ts +0 -5
- package/dist/plugs/tsc/report.mjs +0 -59
- package/dist/plugs/tsc/report.mjs.map +0 -6
- package/dist/plugs/tsc/runner.cjs +0 -124
- package/dist/plugs/tsc/runner.cjs.map +0 -6
- package/dist/plugs/tsc/runner.d.ts +0 -8
- package/dist/plugs/tsc/runner.mjs +0 -95
- package/dist/plugs/tsc/runner.mjs.map +0 -6
- package/dist/plugs/tsc.cjs.map +0 -6
- package/dist/plugs/tsc.d.ts +0 -48
- package/dist/plugs/tsc.mjs +0 -5
- package/dist/plugs/tsc.mjs.map +0 -6
- package/src/failure.ts +0 -43
- package/src/plugs/coverage/analysis.ts +0 -400
- package/src/plugs/coverage/report.ts +0 -368
- package/src/plugs/coverage.ts +0 -216
- package/src/plugs/eslint/runner.ts +0 -100
- package/src/plugs/eslint.ts +0 -42
- package/src/plugs/mocha/reporter.ts +0 -178
- package/src/plugs/mocha/runner.ts +0 -66
- package/src/plugs/mocha.ts +0 -43
- package/src/plugs/tsc/compiler.ts +0 -68
- package/src/plugs/tsc/options.ts +0 -100
- package/src/plugs/tsc/report.ts +0 -77
- package/src/plugs/tsc/runner.ts +0 -133
- package/src/plugs/tsc.ts +0 -58
- package/types/globals.d.ts +0 -15
package/dist/log/options.cjs.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/log/options.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA6B;AAE7B,oBAAuC;AAkDvC,IAAM,iBAAN,cAA6B,gCAAmC;AAAA,EACtD,UAAoB,QAAQ;AAAA,EAC5B,SAAmB;AAAA,EACnB,UAAgC,KAAK,QAAS;AAAA,EAC9C,WAAW;AAAA,EACX,cAAoC,KAAK,QAAS,WAAW;AAAA,EAC7D,eAAe;AAAA,EACf,kBAAkC,CAAC;AAAA,EACnC,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,cAAc;AAAA,EAEtB,cAAc;AACZ,UAAM;AAGN,QAAI,QAAQ,IAAI,WAAW;AACzB,WAAK,aAAS,8BAAe,QAAQ,IAAI,SAA2B;AAAA,IACtE;AAGA,QAAI,QAAQ,IAAI,WAAW;AACzB,UAAI,QAAQ,IAAI,UAAU,YAAY,MAAM;AAAQ,aAAK,SAAS;AAClE,UAAI,QAAQ,IAAI,UAAU,YAAY,MAAM;AAAS,aAAK,SAAS;AAAA,IAErE;AAOA,WAAO,OAAO,MAAM,KAAK,MAAM,QAAQ,IAAI,iBAAiB,IAAI,CAAC;AAAA,EACnE;AAAA,EAEQ,mBAAyB;AAC/B,UAAM,KAAK,WAAW,IAAI;AAAA,EAC5B;AAAA,EAEA,KAAK,UAAwC;AAC3C,WAAO;AAAA,MACL,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,MACjB,iBAAiB,YAAY,KAAK;AAAA,MAClC,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,IAAI,SAAmB;AACrB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,OAAO,QAAkB;AAC3B,SAAK,UAAU;AACf,SAAK,UAAU,CAAC,CAAwB,OAAQ;AAChD,SAAK,cAAoC,OAAQ;AACjD,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,IAAI,QAAkB;AACpB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,MAAM,OAAiB;AACzB,SAAK,SAAS;AACd,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,IAAI,SAAkB;AACpB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,OAAO,OAAgB;AACzB,SAAK,UAAU;AACf,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,IAAI,UAAmB;AACrB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,QAAQ,SAAkB;AAC5B,SAAK,WAAW;AAChB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,IAAI,aAAqB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,WAAW,YAAoB;AACjC,SAAK,cAAc;AACnB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,IAAI,aAAqB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,WAAW,YAAoB;AACjC,SAAK,cAAc;AACnB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,IAAI,aAAqB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,WAAW,YAAoB;AACjC,SAAK,cAAc;AACnB,QAAI,KAAK,cAAc;AAAG,WAAK,cAAc;AAC7C,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,IAAI,cAAuB;AACzB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,YAAY,aAAsB;AACpC,SAAK,eAAe;AACpB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,IAAI,kBAA0B;AAC5B,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,gBAAgB,iBAAyB;AAC3C,SAAK,mBAAmB;AACxB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,IAAI,iBAAiC;AACnC,WAAO;AAAA,MACL,QAAQ,KAAK;AAAA,MACb,aAAa,KAAK;AAAA,MAClB,GAAG,KAAK;AAAA,IACV;AAAA,EACF;AAAA,EAEA,iBAAiD,KAAQ,OAAgC;AACvF,SAAK,gBAAgB,OAAO;AAC5B,SAAK,iBAAiB;AAAA,EACxB;AACF;AAGO,IAAM,aAAyB,IAAI,eAAe;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/log/options.mjs.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/log/options.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,234 +0,0 @@
|
|
|
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
|
-
var _a;
|
|
99
|
-
(_a = this._sourceMap) == null ? void 0 : _a.destroy();
|
|
100
|
-
}
|
|
101
|
-
coverage(source, line, column) {
|
|
102
|
-
(0, import_assert.assert)(this._sourceMap, "Analyser not initialized");
|
|
103
|
-
if (this._sourceMapBias === "none") {
|
|
104
|
-
const key = this._key(source, line, column);
|
|
105
|
-
const location = this._preciseMappings.get(key);
|
|
106
|
-
if (!location) {
|
|
107
|
-
this._log.debug(`No precise mapping for ${source}:${line}:${column}`);
|
|
108
|
-
return 0;
|
|
109
|
-
} else {
|
|
110
|
-
return super.coverage(this._result.url, location.line, location.column);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
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;
|
|
114
|
-
const generated = this._sourceMap.generatedPositionFor({ source, line, column, bias });
|
|
115
|
-
if (!generated) {
|
|
116
|
-
this._log.debug(`No position generated for ${source}:${line}:${column}`);
|
|
117
|
-
return 0;
|
|
118
|
-
}
|
|
119
|
-
if (generated.line == null) {
|
|
120
|
-
this._log.debug(`No line generated for ${source}:${line}:${column}`);
|
|
121
|
-
return 0;
|
|
122
|
-
}
|
|
123
|
-
if (generated.column == null) {
|
|
124
|
-
this._log.debug(`No column generated for ${source}:${line}:${column}`);
|
|
125
|
-
return 0;
|
|
126
|
-
}
|
|
127
|
-
return super.coverage(this._result.url, generated.line, generated.column);
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
function combineCoverage(analysers, source, line, column) {
|
|
131
|
-
let coverage = 0;
|
|
132
|
-
if (!analysers)
|
|
133
|
-
return coverage;
|
|
134
|
-
for (const analyser of analysers) {
|
|
135
|
-
coverage += analyser.coverage(source, line, column);
|
|
136
|
-
}
|
|
137
|
-
return coverage;
|
|
138
|
-
}
|
|
139
|
-
var SourcesCoverageAnalyser = class extends CoverageAnalyserImpl {
|
|
140
|
-
constructor(log, _filename) {
|
|
141
|
-
super(log);
|
|
142
|
-
this._filename = _filename;
|
|
143
|
-
}
|
|
144
|
-
_mappings = /* @__PURE__ */ new Map();
|
|
145
|
-
hasMappings() {
|
|
146
|
-
return this._mappings.size > 0;
|
|
147
|
-
}
|
|
148
|
-
add(source, analyser) {
|
|
149
|
-
const analysers = this._mappings.get(source) || /* @__PURE__ */ new Set();
|
|
150
|
-
analysers.add(analyser);
|
|
151
|
-
this._mappings.set(source, analysers);
|
|
152
|
-
}
|
|
153
|
-
async init() {
|
|
154
|
-
this._log.debug("SourcesCoverageAnalyser", (0, import_log.$p)(this._filename), (0, import_log.$gry)(`(${this._mappings.size} mappings)`));
|
|
155
|
-
for (const analysers of this._mappings.values()) {
|
|
156
|
-
for (const analyser of analysers) {
|
|
157
|
-
await analyser.init();
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
return this;
|
|
161
|
-
}
|
|
162
|
-
destroy() {
|
|
163
|
-
for (const analysers of this._mappings.values()) {
|
|
164
|
-
for (const analyser of analysers) {
|
|
165
|
-
analyser.destroy();
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
coverage(source, line, column) {
|
|
170
|
-
const analysers = this._mappings.get(source);
|
|
171
|
-
return combineCoverage(analysers, source, line, column);
|
|
172
|
-
}
|
|
173
|
-
};
|
|
174
|
-
var CombiningCoverageAnalyser = class extends CoverageAnalyserImpl {
|
|
175
|
-
_analysers = /* @__PURE__ */ new Set();
|
|
176
|
-
add(analyser) {
|
|
177
|
-
this._analysers.add(analyser);
|
|
178
|
-
}
|
|
179
|
-
async init() {
|
|
180
|
-
this._log.debug("CombiningCoverageAnalyser", (0, import_log.$gry)(`(${this._analysers.size} analysers)`));
|
|
181
|
-
this._log.enter();
|
|
182
|
-
try {
|
|
183
|
-
for (const analyser of this._analysers)
|
|
184
|
-
await analyser.init();
|
|
185
|
-
return this;
|
|
186
|
-
} finally {
|
|
187
|
-
this._log.leave();
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
destroy() {
|
|
191
|
-
for (const analyser of this._analysers)
|
|
192
|
-
analyser.destroy();
|
|
193
|
-
}
|
|
194
|
-
coverage(source, line, column) {
|
|
195
|
-
return combineCoverage(this._analysers, source, line, column);
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
async function createAnalyser(sourceFiles, coverageFiles, sourceMapBias, log) {
|
|
199
|
-
var _a;
|
|
200
|
-
const urls = sourceFiles.map((path) => (0, import_node_url.pathToFileURL)(path).toString());
|
|
201
|
-
const analyser = new CombiningCoverageAnalyser(log);
|
|
202
|
-
for await (const coverageFile of coverageFiles) {
|
|
203
|
-
const coverageFileAnalyser = new SourcesCoverageAnalyser(log, coverageFile);
|
|
204
|
-
log.info("Parsing coverage file", (0, import_log.$p)(coverageFile));
|
|
205
|
-
const contents = await (0, import_asyncfs.readFile)(coverageFile, "utf-8");
|
|
206
|
-
const coverage = JSON.parse(contents);
|
|
207
|
-
for (const result of coverage.result) {
|
|
208
|
-
const mapping = (_a = coverage["source-map-cache"]) == null ? void 0 : _a[result.url];
|
|
209
|
-
if (mapping) {
|
|
210
|
-
const matches = urls.filter((url) => {
|
|
211
|
-
var _a2;
|
|
212
|
-
return (_a2 = mapping.data) == null ? void 0 : _a2.sources.includes(url);
|
|
213
|
-
});
|
|
214
|
-
if (matches.length) {
|
|
215
|
-
const sourceAnalyser = new CoverageSitemapAnalyser(log, result, mapping, sourceMapBias);
|
|
216
|
-
for (const match of matches)
|
|
217
|
-
coverageFileAnalyser.add(match, sourceAnalyser);
|
|
218
|
-
}
|
|
219
|
-
} else if (urls.includes(result.url)) {
|
|
220
|
-
coverageFileAnalyser.add(result.url, new CoverageResultAnalyser(log, result));
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
if (coverageFileAnalyser.hasMappings())
|
|
224
|
-
analyser.add(coverageFileAnalyser);
|
|
225
|
-
}
|
|
226
|
-
return await analyser.init();
|
|
227
|
-
}
|
|
228
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
229
|
-
0 && (module.exports = {
|
|
230
|
-
CombiningCoverageAnalyser,
|
|
231
|
-
SourcesCoverageAnalyser,
|
|
232
|
-
createAnalyser
|
|
233
|
-
});
|
|
234
|
-
//# sourceMappingURL=analysis.cjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/plugs/coverage/analysis.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["_a"]
|
|
6
|
-
}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import type { Logger } from '../../log';
|
|
2
|
-
import type { RawSourceMap } from 'source-map';
|
|
3
|
-
import type { AbsolutePath } from '../../paths';
|
|
4
|
-
/** Coverage range */
|
|
5
|
-
export interface V8CoveredRange {
|
|
6
|
-
/** The offset in the script of the first character covered */
|
|
7
|
-
startOffset: number;
|
|
8
|
-
/** The offset (exclusive) in the script of the last character covered */
|
|
9
|
-
endOffset: number;
|
|
10
|
-
/** The number of times the specified offset was covered */
|
|
11
|
-
count: number;
|
|
12
|
-
}
|
|
13
|
-
/** Coverage report per function as invoked by Node */
|
|
14
|
-
export interface V8CoveredFunction {
|
|
15
|
-
/** The name of the function being covered */
|
|
16
|
-
functionName: string;
|
|
17
|
-
/** A flag indicating whether fine-grained (precise) coverage is available */
|
|
18
|
-
isBlockCoverage: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* The ranges covered.
|
|
21
|
-
*
|
|
22
|
-
* The first range indicates the whole function.
|
|
23
|
-
*/
|
|
24
|
-
ranges: V8CoveredRange[];
|
|
25
|
-
}
|
|
26
|
-
/** Coverage result for a particlar script as seen by Node */
|
|
27
|
-
export interface V8CoverageResult {
|
|
28
|
-
/** The script ID, uniquely identifying the script within the Node process */
|
|
29
|
-
scriptId: string;
|
|
30
|
-
/** The URL of the script (might not be unique, if the script is loaded multiple times) */
|
|
31
|
-
url: string;
|
|
32
|
-
/** Per-function report of coverage */
|
|
33
|
-
functions: V8CoveredFunction[];
|
|
34
|
-
}
|
|
35
|
-
/** Cached source map for a coverage result */
|
|
36
|
-
export interface V8SourceMapCache {
|
|
37
|
-
/** The line lengths (sans EOL) in the transpiled code */
|
|
38
|
-
lineLengths: number[];
|
|
39
|
-
/** The source map associated with the transpiled code */
|
|
40
|
-
data: RawSourceMap | null;
|
|
41
|
-
/** The url (if any) of the sourcemap, for resolving relative paths */
|
|
42
|
-
url: string | null;
|
|
43
|
-
}
|
|
44
|
-
/** The RAW coverage data as emitted by Node, parsed from JSON */
|
|
45
|
-
export interface V8CoverageData {
|
|
46
|
-
/**
|
|
47
|
-
* Coverage results, per script.
|
|
48
|
-
*
|
|
49
|
-
* The first element in the array describes the coverage for the whole script.
|
|
50
|
-
*/
|
|
51
|
-
'result': V8CoverageResult[];
|
|
52
|
-
/** Timestamp when coverage was taken */
|
|
53
|
-
'timestamp'?: number;
|
|
54
|
-
/** Source maps caches keyed by `result[?].url` */
|
|
55
|
-
'source-map-cache'?: Record<string, V8SourceMapCache>;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* The bias for source map analisys (defaults to `least_upper_bound`).
|
|
59
|
-
*
|
|
60
|
-
* We use `least_upper_bound` here, as it's the _opposite_ of the default
|
|
61
|
-
* `greatest_lower_bound`, and we _reverse_ the lookup of the sourcemaps (from
|
|
62
|
-
* source code to generated code).
|
|
63
|
-
*/
|
|
64
|
-
export declare type SourceMapBias = 'greatest_lower_bound' | 'least_upper_bound' | 'none' | undefined;
|
|
65
|
-
/** Interface providing coverage data */
|
|
66
|
-
export interface CoverageAnalyser {
|
|
67
|
-
/** Return the number of coverage passes for the given location */
|
|
68
|
-
coverage(source: string, line: number, column: number): number;
|
|
69
|
-
/** Destroy this instance */
|
|
70
|
-
destroy(): void;
|
|
71
|
-
}
|
|
72
|
-
/** Basic abstract class implementing the {@link CoverageAnalyser} class */
|
|
73
|
-
declare abstract class CoverageAnalyserImpl implements CoverageAnalyser {
|
|
74
|
-
protected readonly _log: Logger;
|
|
75
|
-
constructor(_log: Logger);
|
|
76
|
-
abstract init(): Promise<this>;
|
|
77
|
-
abstract destroy(): void;
|
|
78
|
-
abstract coverage(source: string, line: number, column: number): number;
|
|
79
|
-
}
|
|
80
|
-
/** Associate one or more {@link CoverageAnalyser} with different sources */
|
|
81
|
-
export declare class SourcesCoverageAnalyser extends CoverageAnalyserImpl {
|
|
82
|
-
private readonly _filename;
|
|
83
|
-
private readonly _mappings;
|
|
84
|
-
constructor(log: Logger, _filename: AbsolutePath);
|
|
85
|
-
hasMappings(): boolean;
|
|
86
|
-
add(source: string, analyser: CoverageAnalyserImpl): void;
|
|
87
|
-
init(): Promise<this>;
|
|
88
|
-
destroy(): void;
|
|
89
|
-
coverage(source: string, line: number, column: number): number;
|
|
90
|
-
}
|
|
91
|
-
/** Combine multiple {@link CoverageAnalyser} instances together */
|
|
92
|
-
export declare class CombiningCoverageAnalyser extends CoverageAnalyserImpl {
|
|
93
|
-
private readonly _analysers;
|
|
94
|
-
add(analyser: CoverageAnalyserImpl): void;
|
|
95
|
-
init(): Promise<this>;
|
|
96
|
-
destroy(): void;
|
|
97
|
-
coverage(source: string, line: number, column: number): number;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Analyse coverage for the specified source files, using the data from the
|
|
101
|
-
* specified coverage files and produce a {@link CoverageReport}.
|
|
102
|
-
*/
|
|
103
|
-
export declare function createAnalyser(sourceFiles: AbsolutePath[], coverageFiles: AbsolutePath[], sourceMapBias: SourceMapBias, log: Logger): Promise<CoverageAnalyser>;
|
|
104
|
-
export {};
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
// plugs/coverage/analysis.ts
|
|
2
|
-
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
3
|
-
import { SourceMapConsumer } from "source-map";
|
|
4
|
-
import { assert } from "../../assert.mjs";
|
|
5
|
-
import { $gry, $p } from "../../log.mjs";
|
|
6
|
-
import { readFile } from "../../utils/asyncfs.mjs";
|
|
7
|
-
var CoverageAnalyserImpl = class {
|
|
8
|
-
constructor(_log) {
|
|
9
|
-
this._log = _log;
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
var CoverageResultAnalyser = class extends CoverageAnalyserImpl {
|
|
13
|
-
constructor(log, _result) {
|
|
14
|
-
super(log);
|
|
15
|
-
this._result = _result;
|
|
16
|
-
const _coverage = [];
|
|
17
|
-
for (const coveredFunction of _result.functions) {
|
|
18
|
-
for (const range of coveredFunction.ranges) {
|
|
19
|
-
for (let i = range.startOffset; i < range.endOffset; i++) {
|
|
20
|
-
_coverage[i] = range.count;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
this._coverage = _coverage;
|
|
25
|
-
}
|
|
26
|
-
_coverage;
|
|
27
|
-
_lineLengths;
|
|
28
|
-
async init() {
|
|
29
|
-
const filename = fileURLToPath(this._result.url);
|
|
30
|
-
const source = await readFile(filename, "utf-8");
|
|
31
|
-
this._lineLengths = source.split("\n").map((line) => line.length);
|
|
32
|
-
return this;
|
|
33
|
-
}
|
|
34
|
-
destroy() {
|
|
35
|
-
}
|
|
36
|
-
coverage(source, line, column) {
|
|
37
|
-
assert(this._lineLengths, "Analyser not initialized");
|
|
38
|
-
assert(source === this._result.url, `Wrong source ${source} (should be ${this._result.url})`);
|
|
39
|
-
const { _lineLengths, _coverage } = this;
|
|
40
|
-
let offset = 0;
|
|
41
|
-
for (let l = line - 2; l >= 0; l--)
|
|
42
|
-
offset += _lineLengths[l] + 1;
|
|
43
|
-
return _coverage[offset + column] || 0;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
var CoverageSitemapAnalyser = class extends CoverageResultAnalyser {
|
|
47
|
-
constructor(log, result, _sourceMapCache, _sourceMapBias) {
|
|
48
|
-
super(log, result);
|
|
49
|
-
this._sourceMapCache = _sourceMapCache;
|
|
50
|
-
this._sourceMapBias = _sourceMapBias;
|
|
51
|
-
this._lineLengths = _sourceMapCache.lineLengths;
|
|
52
|
-
}
|
|
53
|
-
_preciseMappings = /* @__PURE__ */ new Map();
|
|
54
|
-
_sourceMap;
|
|
55
|
-
_key(source, line, column) {
|
|
56
|
-
return `${line}:${column}:${source}`;
|
|
57
|
-
}
|
|
58
|
-
async init() {
|
|
59
|
-
const sourceMap = this._sourceMapCache.data;
|
|
60
|
-
assert(sourceMap, "Missing source map data from cache");
|
|
61
|
-
this._sourceMap = await new SourceMapConsumer(sourceMap);
|
|
62
|
-
if (this._sourceMapBias === "none") {
|
|
63
|
-
this._sourceMap.eachMapping((m) => {
|
|
64
|
-
const location = { line: m.generatedLine, column: m.generatedColumn };
|
|
65
|
-
const key = this._key(m.source, m.originalLine, m.originalColumn);
|
|
66
|
-
this._preciseMappings.set(key, location);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
return this;
|
|
70
|
-
}
|
|
71
|
-
destroy() {
|
|
72
|
-
var _a;
|
|
73
|
-
(_a = this._sourceMap) == null ? void 0 : _a.destroy();
|
|
74
|
-
}
|
|
75
|
-
coverage(source, line, column) {
|
|
76
|
-
assert(this._sourceMap, "Analyser not initialized");
|
|
77
|
-
if (this._sourceMapBias === "none") {
|
|
78
|
-
const key = this._key(source, line, column);
|
|
79
|
-
const location = this._preciseMappings.get(key);
|
|
80
|
-
if (!location) {
|
|
81
|
-
this._log.debug(`No precise mapping for ${source}:${line}:${column}`);
|
|
82
|
-
return 0;
|
|
83
|
-
} else {
|
|
84
|
-
return super.coverage(this._result.url, location.line, location.column);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
const bias = this._sourceMapBias === "greatest_lower_bound" ? SourceMapConsumer.GREATEST_LOWER_BOUND : this._sourceMapBias === "least_upper_bound" ? SourceMapConsumer.LEAST_UPPER_BOUND : void 0;
|
|
88
|
-
const generated = this._sourceMap.generatedPositionFor({ source, line, column, bias });
|
|
89
|
-
if (!generated) {
|
|
90
|
-
this._log.debug(`No position generated for ${source}:${line}:${column}`);
|
|
91
|
-
return 0;
|
|
92
|
-
}
|
|
93
|
-
if (generated.line == null) {
|
|
94
|
-
this._log.debug(`No line generated for ${source}:${line}:${column}`);
|
|
95
|
-
return 0;
|
|
96
|
-
}
|
|
97
|
-
if (generated.column == null) {
|
|
98
|
-
this._log.debug(`No column generated for ${source}:${line}:${column}`);
|
|
99
|
-
return 0;
|
|
100
|
-
}
|
|
101
|
-
return super.coverage(this._result.url, generated.line, generated.column);
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
function combineCoverage(analysers, source, line, column) {
|
|
105
|
-
let coverage = 0;
|
|
106
|
-
if (!analysers)
|
|
107
|
-
return coverage;
|
|
108
|
-
for (const analyser of analysers) {
|
|
109
|
-
coverage += analyser.coverage(source, line, column);
|
|
110
|
-
}
|
|
111
|
-
return coverage;
|
|
112
|
-
}
|
|
113
|
-
var SourcesCoverageAnalyser = class extends CoverageAnalyserImpl {
|
|
114
|
-
constructor(log, _filename) {
|
|
115
|
-
super(log);
|
|
116
|
-
this._filename = _filename;
|
|
117
|
-
}
|
|
118
|
-
_mappings = /* @__PURE__ */ new Map();
|
|
119
|
-
hasMappings() {
|
|
120
|
-
return this._mappings.size > 0;
|
|
121
|
-
}
|
|
122
|
-
add(source, analyser) {
|
|
123
|
-
const analysers = this._mappings.get(source) || /* @__PURE__ */ new Set();
|
|
124
|
-
analysers.add(analyser);
|
|
125
|
-
this._mappings.set(source, analysers);
|
|
126
|
-
}
|
|
127
|
-
async init() {
|
|
128
|
-
this._log.debug("SourcesCoverageAnalyser", $p(this._filename), $gry(`(${this._mappings.size} mappings)`));
|
|
129
|
-
for (const analysers of this._mappings.values()) {
|
|
130
|
-
for (const analyser of analysers) {
|
|
131
|
-
await analyser.init();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return this;
|
|
135
|
-
}
|
|
136
|
-
destroy() {
|
|
137
|
-
for (const analysers of this._mappings.values()) {
|
|
138
|
-
for (const analyser of analysers) {
|
|
139
|
-
analyser.destroy();
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
coverage(source, line, column) {
|
|
144
|
-
const analysers = this._mappings.get(source);
|
|
145
|
-
return combineCoverage(analysers, source, line, column);
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
var CombiningCoverageAnalyser = class extends CoverageAnalyserImpl {
|
|
149
|
-
_analysers = /* @__PURE__ */ new Set();
|
|
150
|
-
add(analyser) {
|
|
151
|
-
this._analysers.add(analyser);
|
|
152
|
-
}
|
|
153
|
-
async init() {
|
|
154
|
-
this._log.debug("CombiningCoverageAnalyser", $gry(`(${this._analysers.size} analysers)`));
|
|
155
|
-
this._log.enter();
|
|
156
|
-
try {
|
|
157
|
-
for (const analyser of this._analysers)
|
|
158
|
-
await analyser.init();
|
|
159
|
-
return this;
|
|
160
|
-
} finally {
|
|
161
|
-
this._log.leave();
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
destroy() {
|
|
165
|
-
for (const analyser of this._analysers)
|
|
166
|
-
analyser.destroy();
|
|
167
|
-
}
|
|
168
|
-
coverage(source, line, column) {
|
|
169
|
-
return combineCoverage(this._analysers, source, line, column);
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
async function createAnalyser(sourceFiles, coverageFiles, sourceMapBias, log) {
|
|
173
|
-
var _a;
|
|
174
|
-
const urls = sourceFiles.map((path) => pathToFileURL(path).toString());
|
|
175
|
-
const analyser = new CombiningCoverageAnalyser(log);
|
|
176
|
-
for await (const coverageFile of coverageFiles) {
|
|
177
|
-
const coverageFileAnalyser = new SourcesCoverageAnalyser(log, coverageFile);
|
|
178
|
-
log.info("Parsing coverage file", $p(coverageFile));
|
|
179
|
-
const contents = await readFile(coverageFile, "utf-8");
|
|
180
|
-
const coverage = JSON.parse(contents);
|
|
181
|
-
for (const result of coverage.result) {
|
|
182
|
-
const mapping = (_a = coverage["source-map-cache"]) == null ? void 0 : _a[result.url];
|
|
183
|
-
if (mapping) {
|
|
184
|
-
const matches = urls.filter((url) => {
|
|
185
|
-
var _a2;
|
|
186
|
-
return (_a2 = mapping.data) == null ? void 0 : _a2.sources.includes(url);
|
|
187
|
-
});
|
|
188
|
-
if (matches.length) {
|
|
189
|
-
const sourceAnalyser = new CoverageSitemapAnalyser(log, result, mapping, sourceMapBias);
|
|
190
|
-
for (const match of matches)
|
|
191
|
-
coverageFileAnalyser.add(match, sourceAnalyser);
|
|
192
|
-
}
|
|
193
|
-
} else if (urls.includes(result.url)) {
|
|
194
|
-
coverageFileAnalyser.add(result.url, new CoverageResultAnalyser(log, result));
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
if (coverageFileAnalyser.hasMappings())
|
|
198
|
-
analyser.add(coverageFileAnalyser);
|
|
199
|
-
}
|
|
200
|
-
return await analyser.init();
|
|
201
|
-
}
|
|
202
|
-
export {
|
|
203
|
-
CombiningCoverageAnalyser,
|
|
204
|
-
SourcesCoverageAnalyser,
|
|
205
|
-
createAnalyser
|
|
206
|
-
};
|
|
207
|
-
//# sourceMappingURL=analysis.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/plugs/coverage/analysis.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["_a"]
|
|
6
|
-
}
|