@plugjs/plug 0.0.12 → 0.0.15
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/{types → dist}/assert.d.ts +0 -0
- package/dist/async.cjs +20 -19
- package/dist/async.cjs.map +1 -1
- package/dist/async.d.ts +20 -0
- package/dist/async.mjs +18 -17
- package/dist/async.mjs.map +1 -1
- package/dist/build.cjs +144 -110
- package/dist/build.cjs.map +2 -2
- package/dist/build.d.ts +12 -0
- package/dist/build.mjs +146 -112
- package/dist/build.mjs.map +2 -2
- package/dist/files.cjs +2 -16
- package/dist/files.cjs.map +1 -1
- package/{types → dist}/files.d.ts +3 -10
- package/dist/files.mjs +3 -17
- package/dist/files.mjs.map +1 -1
- package/dist/fork.cjs +28 -40
- package/dist/fork.cjs.map +1 -1
- package/dist/fork.d.ts +36 -0
- package/dist/fork.mjs +29 -40
- package/dist/fork.mjs.map +1 -1
- package/dist/helpers.cjs +61 -63
- package/dist/helpers.cjs.map +2 -2
- package/dist/helpers.d.ts +21 -0
- package/dist/helpers.mjs +61 -64
- package/dist/helpers.mjs.map +2 -2
- package/dist/index.cjs +3 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.mjs +3 -2
- package/dist/index.mjs.map +1 -1
- package/dist/log/colors.cjs +3 -1
- package/dist/log/colors.cjs.map +1 -1
- package/{types → dist}/log/colors.d.ts +2 -2
- package/dist/log/colors.mjs +3 -1
- package/dist/log/colors.mjs.map +1 -1
- package/{types → dist}/log/emit.d.ts +1 -1
- package/{types → dist}/log/levels.d.ts +0 -0
- package/dist/log/logger.cjs +4 -0
- package/dist/log/logger.cjs.map +1 -1
- package/{types → dist}/log/logger.d.ts +4 -1
- package/dist/log/logger.mjs +4 -0
- package/dist/log/logger.mjs.map +1 -1
- package/{types → dist}/log/options.d.ts +1 -1
- package/dist/log/report.cjs +4 -13
- package/dist/log/report.cjs.map +1 -1
- package/{types → dist}/log/report.d.ts +36 -4
- package/dist/log/report.mjs +3 -12
- package/dist/log/report.mjs.map +1 -1
- package/{types → dist}/log/spinner.d.ts +0 -0
- package/dist/log.cjs +1 -1
- package/dist/log.cjs.map +1 -1
- package/{types → dist}/log.d.ts +6 -6
- package/dist/log.mjs +2 -2
- package/dist/log.mjs.map +1 -1
- package/{types → dist}/paths.d.ts +0 -0
- package/dist/pipe.cjs +41 -34
- package/dist/pipe.cjs.map +1 -1
- package/dist/pipe.d.ts +182 -0
- package/dist/pipe.mjs +38 -32
- package/dist/pipe.mjs.map +1 -1
- package/dist/plugs/copy.cjs +15 -25
- package/dist/plugs/copy.cjs.map +2 -2
- package/dist/plugs/copy.d.ts +28 -0
- package/dist/plugs/copy.mjs +15 -17
- package/dist/plugs/copy.mjs.map +2 -2
- package/{types → dist}/plugs/coverage/analysis.d.ts +2 -2
- package/dist/plugs/coverage/report.cjs +4 -2
- package/dist/plugs/coverage/report.cjs.map +1 -1
- package/{types → dist}/plugs/coverage/report.d.ts +3 -3
- package/dist/plugs/coverage/report.mjs +4 -2
- package/dist/plugs/coverage/report.mjs.map +1 -1
- package/dist/plugs/coverage.cjs +23 -27
- package/dist/plugs/coverage.cjs.map +1 -1
- package/dist/plugs/coverage.d.ts +49 -0
- package/dist/plugs/coverage.mjs +24 -20
- package/dist/plugs/coverage.mjs.map +1 -1
- package/dist/plugs/debug.cjs +8 -37
- package/dist/plugs/debug.cjs.map +1 -1
- package/dist/plugs/debug.d.ts +7 -0
- package/dist/plugs/debug.mjs +24 -20
- package/dist/plugs/debug.mjs.map +1 -1
- package/{types → dist}/plugs/esbuild/bundle-locals.d.ts +0 -0
- package/{types → dist}/plugs/esbuild/fix-extensions.d.ts +0 -0
- package/dist/plugs/esbuild/fix-extensions.mjs +1 -1
- package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
- package/dist/plugs/esbuild.cjs +14 -25
- package/dist/plugs/esbuild.cjs.map +1 -1
- package/dist/plugs/esbuild.d.ts +18 -0
- package/dist/plugs/esbuild.mjs +14 -17
- package/dist/plugs/esbuild.mjs.map +1 -1
- package/dist/plugs/eslint/runner.cjs +5 -6
- package/dist/plugs/eslint/runner.cjs.map +1 -1
- package/dist/plugs/eslint/runner.d.ts +8 -0
- package/dist/plugs/eslint/runner.mjs +6 -7
- package/dist/plugs/eslint/runner.mjs.map +1 -1
- package/dist/{task.cjs → plugs/eslint.cjs} +7 -24
- package/dist/plugs/eslint.cjs.map +6 -0
- package/dist/plugs/eslint.d.ts +34 -0
- package/dist/plugs/eslint.mjs +5 -0
- package/dist/plugs/eslint.mjs.map +6 -0
- package/dist/plugs/exec.cjs +20 -24
- package/dist/plugs/exec.cjs.map +1 -1
- package/dist/plugs/exec.d.ts +90 -0
- package/dist/plugs/exec.mjs +20 -23
- package/dist/plugs/exec.mjs.map +1 -1
- package/dist/plugs/filter.cjs +9 -19
- package/dist/plugs/filter.cjs.map +1 -1
- package/dist/plugs/filter.d.ts +29 -0
- package/dist/plugs/filter.mjs +10 -12
- package/dist/plugs/filter.mjs.map +1 -1
- package/dist/plugs/mocha/reporter.cjs +19 -6
- package/dist/plugs/mocha/reporter.cjs.map +1 -1
- package/{types → dist}/plugs/mocha/reporter.d.ts +0 -2
- package/dist/plugs/mocha/reporter.mjs +18 -4
- package/dist/plugs/mocha/reporter.mjs.map +1 -1
- package/dist/plugs/mocha/runner.cjs +4 -5
- package/dist/plugs/mocha/runner.cjs.map +1 -1
- package/dist/plugs/mocha/runner.d.ts +8 -0
- package/dist/plugs/mocha/runner.mjs +5 -6
- package/dist/plugs/mocha/runner.mjs.map +1 -1
- package/dist/plugs/mocha.cjs +22 -0
- package/dist/plugs/mocha.cjs.map +6 -0
- package/{types/plugs/mocha/runner.d.ts → dist/plugs/mocha.d.ts} +9 -8
- package/dist/plugs/mocha.mjs +5 -0
- package/dist/plugs/mocha.mjs.map +6 -0
- package/dist/plugs/rmf.cjs +4 -32
- package/dist/plugs/rmf.cjs.map +1 -1
- package/dist/plugs/rmf.d.ts +11 -0
- package/dist/plugs/rmf.mjs +25 -20
- package/dist/plugs/rmf.mjs.map +1 -1
- package/{types → dist}/plugs/tsc/compiler.d.ts +1 -1
- package/{types → dist}/plugs/tsc/options.d.ts +1 -1
- package/{types → dist}/plugs/tsc/report.d.ts +2 -2
- package/dist/plugs/tsc/runner.cjs +12 -11
- package/dist/plugs/tsc/runner.cjs.map +1 -1
- package/dist/plugs/tsc/runner.d.ts +8 -0
- package/dist/plugs/tsc/runner.mjs +12 -11
- package/dist/plugs/tsc/runner.mjs.map +1 -1
- package/dist/plugs/tsc.cjs +7 -0
- package/dist/plugs/tsc.cjs.map +6 -0
- package/dist/plugs/tsc.d.ts +36 -0
- package/dist/plugs/tsc.mjs +15 -0
- package/dist/plugs/tsc.mjs.map +6 -0
- package/dist/plugs.cjs +3 -5
- package/dist/plugs.cjs.map +1 -1
- package/dist/plugs.d.ts +10 -0
- package/dist/plugs.mjs +3 -5
- package/dist/plugs.mjs.map +1 -1
- package/dist/types.cjs +19 -0
- package/dist/types.cjs.map +6 -0
- package/dist/types.d.ts +72 -0
- package/dist/types.mjs +1 -0
- package/dist/types.mjs.map +6 -0
- package/{types → dist}/utils/asyncfs.d.ts +0 -0
- package/dist/utils/caller.cjs +8 -11
- package/dist/utils/caller.cjs.map +2 -2
- package/dist/utils/caller.d.ts +2 -0
- package/dist/utils/caller.mjs +8 -11
- package/dist/utils/caller.mjs.map +2 -2
- package/{types → dist}/utils/match.d.ts +0 -0
- package/dist/utils/options.cjs +4 -6
- package/dist/utils/options.cjs.map +1 -1
- package/dist/utils/options.d.ts +16 -0
- package/dist/utils/options.mjs +4 -6
- package/dist/utils/options.mjs.map +1 -1
- package/{types → dist}/utils/walk.d.ts +2 -2
- package/extra/cli.mjs +31 -20
- package/extra/ts-loader.mjs +6 -5
- package/package.json +10 -10
- package/src/async.ts +27 -19
- package/src/files.ts +6 -30
- package/src/fork.ts +35 -76
- package/src/helpers.ts +89 -101
- package/src/index.ts +10 -15
- package/src/log/colors.ts +4 -3
- package/src/log/emit.ts +4 -4
- package/src/log/logger.ts +12 -4
- package/src/log/options.ts +1 -1
- package/src/log/report.ts +10 -24
- package/src/log/spinner.ts +3 -3
- package/src/log.ts +9 -9
- package/src/paths.ts +1 -1
- package/src/pipe.ts +191 -178
- package/src/plugs/copy.ts +40 -31
- package/src/plugs/coverage/analysis.ts +4 -4
- package/src/plugs/coverage/report.ts +9 -6
- package/src/plugs/coverage.ts +68 -55
- package/src/plugs/debug.ts +22 -27
- package/src/plugs/esbuild/fix-extensions.ts +2 -2
- package/src/plugs/esbuild.ts +42 -46
- package/src/plugs/eslint/runner.ts +16 -31
- package/src/plugs/eslint.ts +42 -0
- package/src/plugs/exec.ts +93 -82
- package/src/plugs/filter.ts +42 -27
- package/src/plugs/mocha/reporter.ts +19 -5
- package/src/plugs/mocha/runner.ts +12 -38
- package/src/plugs/mocha.ts +41 -0
- package/src/plugs/rmf.ts +21 -25
- package/src/plugs/tsc/compiler.ts +1 -1
- package/src/plugs/tsc/options.ts +2 -2
- package/src/plugs/tsc/report.ts +2 -2
- package/src/plugs/tsc/runner.ts +24 -30
- package/src/plugs/tsc.ts +45 -0
- package/src/plugs.ts +10 -25
- package/src/types.ts +123 -0
- package/src/utils/caller.ts +11 -22
- package/src/utils/options.ts +49 -17
- package/src/utils/walk.ts +4 -4
- package/dist/run.cjs +0 -90
- package/dist/run.cjs.map +0 -6
- package/dist/run.mjs +0 -65
- package/dist/run.mjs.map +0 -6
- package/dist/task.cjs.map +0 -6
- package/dist/task.mjs +0 -14
- package/dist/task.mjs.map +0 -6
- package/src/run.ts +0 -159
- package/src/task.ts +0 -26
- package/types/async.d.ts +0 -20
- package/types/build.d.ts +0 -56
- package/types/fork.d.ts +0 -57
- package/types/helpers.d.ts +0 -43
- package/types/index.d.ts +0 -14
- package/types/pipe.d.ts +0 -152
- package/types/plugs/copy.d.ts +0 -27
- package/types/plugs/coverage.d.ts +0 -46
- package/types/plugs/debug.d.ts +0 -14
- package/types/plugs/esbuild.d.ts +0 -23
- package/types/plugs/eslint/runner.d.ts +0 -22
- package/types/plugs/exec.d.ts +0 -90
- package/types/plugs/filter.d.ts +0 -23
- package/types/plugs/rmf.d.ts +0 -15
- package/types/plugs/tsc/runner.d.ts +0 -13
- package/types/plugs.d.ts +0 -17
- package/types/run.d.ts +0 -89
- package/types/task.d.ts +0 -15
- package/types/utils/caller.d.ts +0 -7
- package/types/utils/options.d.ts +0 -15
package/dist/plugs/coverage.cjs
CHANGED
|
@@ -3,10 +3,6 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
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
6
|
var __copyProps = (to, from, except, desc) => {
|
|
11
7
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
8
|
for (let key of __getOwnPropNames(from))
|
|
@@ -19,41 +15,43 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
15
|
|
|
20
16
|
// plugs/coverage.ts
|
|
21
17
|
var coverage_exports = {};
|
|
22
|
-
__export(coverage_exports, {
|
|
23
|
-
Coverage: () => Coverage
|
|
24
|
-
});
|
|
25
18
|
module.exports = __toCommonJS(coverage_exports);
|
|
26
19
|
var import_cov8_html = require("@plugjs/cov8-html");
|
|
27
20
|
var import_node_path = require("node:path");
|
|
28
21
|
var import_assert = require("../assert.cjs");
|
|
22
|
+
var import_files = require("../files.cjs");
|
|
29
23
|
var import_log = require("../log.cjs");
|
|
24
|
+
var import_paths = require("../paths.cjs");
|
|
30
25
|
var import_pipe = require("../pipe.cjs");
|
|
26
|
+
var import_walk = require("../utils/walk.cjs");
|
|
31
27
|
var import_analysis = require("./coverage/analysis.cjs");
|
|
32
28
|
var import_report = require("./coverage/report.cjs");
|
|
33
|
-
|
|
29
|
+
(0, import_pipe.install)("coverage", class Coverage {
|
|
34
30
|
constructor(_coverageDir, _options = {}) {
|
|
35
31
|
this._coverageDir = _coverageDir;
|
|
36
32
|
this._options = _options;
|
|
37
33
|
}
|
|
38
|
-
async pipe(files,
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
async pipe(files, context) {
|
|
35
|
+
const coverageDir = context.resolve(this._coverageDir);
|
|
36
|
+
const coverageFiles = [];
|
|
37
|
+
for await (const file of (0, import_walk.walk)(coverageDir, ["coverage-*.json"])) {
|
|
38
|
+
coverageFiles.push((0, import_paths.resolveAbsolutePath)(coverageDir, file));
|
|
39
|
+
}
|
|
42
40
|
if (coverageFiles.length === 0) {
|
|
43
|
-
(0, import_assert.fail)(`No coverage files found in ${(0, import_log.$p)(
|
|
41
|
+
(0, import_assert.fail)(`No coverage files found in ${(0, import_log.$p)(coverageDir)}`);
|
|
44
42
|
}
|
|
45
43
|
const sourceFiles = [...files.absolutePaths()];
|
|
46
44
|
const ms1 = Date.now();
|
|
47
45
|
const analyser = await (0, import_analysis.createAnalyser)(
|
|
48
46
|
sourceFiles,
|
|
49
|
-
|
|
47
|
+
coverageFiles,
|
|
50
48
|
this._options.sourceMapBias || "least_upper_bound",
|
|
51
|
-
|
|
49
|
+
context.log
|
|
52
50
|
);
|
|
53
|
-
|
|
51
|
+
context.log.info("Parsed", coverageFiles.length, "coverage files", (0, import_log.$ms)(Date.now() - ms1));
|
|
54
52
|
const ms2 = Date.now();
|
|
55
|
-
const report = await (0, import_report.coverageReport)(analyser, sourceFiles,
|
|
56
|
-
|
|
53
|
+
const report = await (0, import_report.coverageReport)(analyser, sourceFiles, context.log);
|
|
54
|
+
context.log.info("Analysed", sourceFiles.length, "source files", (0, import_log.$ms)(Date.now() - ms2));
|
|
57
55
|
analyser.destroy();
|
|
58
56
|
const {
|
|
59
57
|
minimumCoverage = 50,
|
|
@@ -73,11 +71,13 @@ var Coverage = class {
|
|
|
73
71
|
}
|
|
74
72
|
let fileErrors = 0;
|
|
75
73
|
let fileWarnings = 0;
|
|
76
|
-
const _report =
|
|
74
|
+
const _report = context.log.report("Coverage report");
|
|
77
75
|
for (const [_file, result] of Object.entries(report.results)) {
|
|
78
|
-
const { coverage } = result.nodeCoverage;
|
|
76
|
+
const { coverage, totalNodes } = result.nodeCoverage;
|
|
79
77
|
const file = _file;
|
|
80
|
-
if (
|
|
78
|
+
if (totalNodes === 0) {
|
|
79
|
+
_report.annotate(import_log.NOTICE, file, "n/a");
|
|
80
|
+
} else if (coverage < minimumFileCoverage) {
|
|
81
81
|
_report.annotate(import_log.ERROR, file, `${coverage} %`);
|
|
82
82
|
fileErrors++;
|
|
83
83
|
} else if (coverage < optimalFileCoverage) {
|
|
@@ -104,7 +104,8 @@ var Coverage = class {
|
|
|
104
104
|
}
|
|
105
105
|
if (this._options.reportDir == null)
|
|
106
106
|
return _report.done(false);
|
|
107
|
-
const
|
|
107
|
+
const reportDir = context.resolve(this._options.reportDir);
|
|
108
|
+
const builder = import_files.Files.builder(reportDir);
|
|
108
109
|
const date = new Date().toISOString();
|
|
109
110
|
const thresholds = {
|
|
110
111
|
minimumCoverage,
|
|
@@ -133,10 +134,5 @@ var Coverage = class {
|
|
|
133
134
|
_report.done(false);
|
|
134
135
|
return builder.build();
|
|
135
136
|
}
|
|
136
|
-
};
|
|
137
|
-
(0, import_pipe.install)("coverage", Coverage);
|
|
138
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
139
|
-
0 && (module.exports = {
|
|
140
|
-
Coverage
|
|
141
137
|
});
|
|
142
138
|
//# sourceMappingURL=coverage.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/coverage.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { SourceMapBias } from './coverage/analysis';
|
|
2
|
+
/** Options to analyse coverage reports */
|
|
3
|
+
export interface CoverageOptions {
|
|
4
|
+
/** The bias for source map analisys (defaults to `greatest_lower_bound`) */
|
|
5
|
+
sourceMapBias?: SourceMapBias;
|
|
6
|
+
/** Minimum _overall_ coverage (as a percentage, defaults to 50) */
|
|
7
|
+
minimumCoverage?: number;
|
|
8
|
+
/** Optimal _overall_ coverage (as a percentage, defaults to 50) */
|
|
9
|
+
optimalCoverage?: number;
|
|
10
|
+
/** Minimum _per-file_ coverage (as a percentage, defaults to 75) */
|
|
11
|
+
minimumFileCoverage?: number;
|
|
12
|
+
/** Optimal _per-file_ coverage (as a percentage, defaults to 75) */
|
|
13
|
+
optimalFileCoverage?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface CoverageReportOptions extends CoverageOptions {
|
|
16
|
+
/** If specified, a JSON and HTML report will be written to this directory */
|
|
17
|
+
reportDir: string;
|
|
18
|
+
}
|
|
19
|
+
declare module '../pipe' {
|
|
20
|
+
interface Pipe {
|
|
21
|
+
/**
|
|
22
|
+
* Analyse coverage using files generated by V8/NodeJS.
|
|
23
|
+
*
|
|
24
|
+
* @param coverageDir The directory where the `coverage-XXX.json` files
|
|
25
|
+
* generated by V8/NodeJS can be found.
|
|
26
|
+
*/
|
|
27
|
+
coverage(coverageDir: string): Promise<undefined>;
|
|
28
|
+
/**
|
|
29
|
+
* Analyse coverage using files generated by V8/NodeJS.
|
|
30
|
+
*
|
|
31
|
+
* @param coverageDir The directory where the `coverage-XXX.json` files
|
|
32
|
+
* generated by V8/NodeJS can be found.
|
|
33
|
+
* @param options Extra {@link CoverageOptions | options} allowing to
|
|
34
|
+
* specify coverage thresholds.
|
|
35
|
+
*/
|
|
36
|
+
coverage(coverageDir: string, options: CoverageOptions): Promise<undefined>;
|
|
37
|
+
/**
|
|
38
|
+
* Analyse coverage using files generated by V8/NodeJS and produce an HTML
|
|
39
|
+
* report in the directory specified in `options`.
|
|
40
|
+
*
|
|
41
|
+
* @param coverageDir The directory where the `coverage-XXX.json` files
|
|
42
|
+
* generated by V8/NodeJS can be found.
|
|
43
|
+
* @param options Extra {@link CoverageOptions | options} allowing to
|
|
44
|
+
* specify coverage thresholds where the HTML report should
|
|
45
|
+
* be written to.
|
|
46
|
+
*/
|
|
47
|
+
coverage(coverageDir: string, options: CoverageReportOptions): Pipe;
|
|
48
|
+
}
|
|
49
|
+
}
|
package/dist/plugs/coverage.mjs
CHANGED
|
@@ -2,34 +2,39 @@
|
|
|
2
2
|
import { html, initFunction } from "@plugjs/cov8-html";
|
|
3
3
|
import { sep } from "node:path";
|
|
4
4
|
import { fail } from "../assert.mjs";
|
|
5
|
+
import { Files } from "../files.mjs";
|
|
5
6
|
import { $gry, $ms, $p, $red, $ylw, ERROR, NOTICE, WARN } from "../log.mjs";
|
|
7
|
+
import { resolveAbsolutePath } from "../paths.mjs";
|
|
6
8
|
import { install } from "../pipe.mjs";
|
|
9
|
+
import { walk } from "../utils/walk.mjs";
|
|
7
10
|
import { createAnalyser } from "./coverage/analysis.mjs";
|
|
8
11
|
import { coverageReport } from "./coverage/report.mjs";
|
|
9
|
-
|
|
12
|
+
install("coverage", class Coverage {
|
|
10
13
|
constructor(_coverageDir, _options = {}) {
|
|
11
14
|
this._coverageDir = _coverageDir;
|
|
12
15
|
this._options = _options;
|
|
13
16
|
}
|
|
14
|
-
async pipe(files,
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
async pipe(files, context) {
|
|
18
|
+
const coverageDir = context.resolve(this._coverageDir);
|
|
19
|
+
const coverageFiles = [];
|
|
20
|
+
for await (const file of walk(coverageDir, ["coverage-*.json"])) {
|
|
21
|
+
coverageFiles.push(resolveAbsolutePath(coverageDir, file));
|
|
22
|
+
}
|
|
18
23
|
if (coverageFiles.length === 0) {
|
|
19
|
-
fail(`No coverage files found in ${$p(
|
|
24
|
+
fail(`No coverage files found in ${$p(coverageDir)}`);
|
|
20
25
|
}
|
|
21
26
|
const sourceFiles = [...files.absolutePaths()];
|
|
22
27
|
const ms1 = Date.now();
|
|
23
28
|
const analyser = await createAnalyser(
|
|
24
29
|
sourceFiles,
|
|
25
|
-
|
|
30
|
+
coverageFiles,
|
|
26
31
|
this._options.sourceMapBias || "least_upper_bound",
|
|
27
|
-
|
|
32
|
+
context.log
|
|
28
33
|
);
|
|
29
|
-
|
|
34
|
+
context.log.info("Parsed", coverageFiles.length, "coverage files", $ms(Date.now() - ms1));
|
|
30
35
|
const ms2 = Date.now();
|
|
31
|
-
const report = await coverageReport(analyser, sourceFiles,
|
|
32
|
-
|
|
36
|
+
const report = await coverageReport(analyser, sourceFiles, context.log);
|
|
37
|
+
context.log.info("Analysed", sourceFiles.length, "source files", $ms(Date.now() - ms2));
|
|
33
38
|
analyser.destroy();
|
|
34
39
|
const {
|
|
35
40
|
minimumCoverage = 50,
|
|
@@ -49,11 +54,13 @@ var Coverage = class {
|
|
|
49
54
|
}
|
|
50
55
|
let fileErrors = 0;
|
|
51
56
|
let fileWarnings = 0;
|
|
52
|
-
const _report =
|
|
57
|
+
const _report = context.log.report("Coverage report");
|
|
53
58
|
for (const [_file, result] of Object.entries(report.results)) {
|
|
54
|
-
const { coverage } = result.nodeCoverage;
|
|
59
|
+
const { coverage, totalNodes } = result.nodeCoverage;
|
|
55
60
|
const file = _file;
|
|
56
|
-
if (
|
|
61
|
+
if (totalNodes === 0) {
|
|
62
|
+
_report.annotate(NOTICE, file, "n/a");
|
|
63
|
+
} else if (coverage < minimumFileCoverage) {
|
|
57
64
|
_report.annotate(ERROR, file, `${coverage} %`);
|
|
58
65
|
fileErrors++;
|
|
59
66
|
} else if (coverage < optimalFileCoverage) {
|
|
@@ -80,7 +87,8 @@ var Coverage = class {
|
|
|
80
87
|
}
|
|
81
88
|
if (this._options.reportDir == null)
|
|
82
89
|
return _report.done(false);
|
|
83
|
-
const
|
|
90
|
+
const reportDir = context.resolve(this._options.reportDir);
|
|
91
|
+
const builder = Files.builder(reportDir);
|
|
84
92
|
const date = new Date().toISOString();
|
|
85
93
|
const thresholds = {
|
|
86
94
|
minimumCoverage,
|
|
@@ -109,9 +117,5 @@ var Coverage = class {
|
|
|
109
117
|
_report.done(false);
|
|
110
118
|
return builder.build();
|
|
111
119
|
}
|
|
112
|
-
};
|
|
113
|
-
install("coverage", Coverage);
|
|
114
|
-
export {
|
|
115
|
-
Coverage
|
|
116
|
-
};
|
|
120
|
+
});
|
|
117
121
|
//# sourceMappingURL=coverage.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/coverage.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,MAAM,oBAAoB;AACnC,SAAS,WAAW;AACpB,SAAS,YAAY;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/debug.cjs
CHANGED
|
@@ -1,50 +1,21 @@
|
|
|
1
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
2
|
|
|
20
3
|
// plugs/debug.ts
|
|
21
|
-
var debug_exports = {};
|
|
22
|
-
__export(debug_exports, {
|
|
23
|
-
Debug: () => Debug
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(debug_exports);
|
|
26
4
|
var import_log = require("../log.cjs");
|
|
27
5
|
var import_pipe = require("../pipe.cjs");
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
run.log.notice("- build file dir:", (0, import_log.$p)(run.resolve(".")));
|
|
35
|
-
run.log.notice("- files dir:", (0, import_log.$p)(files.directory));
|
|
6
|
+
(0, import_pipe.install)("debug", class Debug {
|
|
7
|
+
async pipe(files, context) {
|
|
8
|
+
context.log.notice("Debugging", files.length, "files");
|
|
9
|
+
context.log.notice("- base dir:", (0, import_log.$p)(context.resolve("@")));
|
|
10
|
+
context.log.notice("- build file dir:", (0, import_log.$p)(context.resolve(".")));
|
|
11
|
+
context.log.notice("- files dir:", (0, import_log.$p)(files.directory));
|
|
36
12
|
if (files.length) {
|
|
37
13
|
const [path, ...paths] = files;
|
|
38
|
-
|
|
14
|
+
context.log.notice("- relative paths:", (0, import_log.$und)((0, import_log.$gry)(path)));
|
|
39
15
|
for (const p of paths)
|
|
40
|
-
|
|
16
|
+
context.log.notice("- :", (0, import_log.$und)((0, import_log.$gry)(p)));
|
|
41
17
|
}
|
|
42
18
|
return files;
|
|
43
19
|
}
|
|
44
|
-
};
|
|
45
|
-
(0, import_pipe.install)("debug", Debug);
|
|
46
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
-
0 && (module.exports = {
|
|
48
|
-
Debug
|
|
49
20
|
});
|
|
50
21
|
//# sourceMappingURL=debug.cjs.map
|
package/dist/plugs/debug.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/debug.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": ";;;AACA,iBAA+B;AAC/B,kBAAuC;AAAA,IAcvC,qBAAQ,SAAS,MAAM,MAA6B;AAAA,EAClD,MAAM,KAAK,OAAc,SAAkC;AACzD,YAAQ,IAAI,OAAO,aAAa,MAAM,QAAQ,OAAO;AACrD,YAAQ,IAAI,OAAO,0BAAsB,eAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,YAAQ,IAAI,OAAO,0BAAsB,eAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,YAAQ,IAAI,OAAO,0BAAsB,eAAG,MAAM,SAAS,CAAC;AAC5D,QAAI,MAAM,QAAQ;AAChB,YAAM,CAAE,SAAS,KAAM,IAAI;AAC3B,cAAQ,IAAI,OAAO,0BAAsB,qBAAK,iBAAK,IAAI,CAAC,CAAC;AACzD,iBAAW,KAAK;AAAO,gBAAQ,IAAI,OAAO,0BAAsB,qBAAK,iBAAK,CAAC,CAAC,CAAC;AAAA,IAC/E;AACA,WAAO;AAAA,EACT;AACF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/debug.mjs
CHANGED
|
@@ -1,25 +1,29 @@
|
|
|
1
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
2
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
3
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
4
|
+
};
|
|
5
|
+
|
|
1
6
|
// plugs/debug.ts
|
|
2
7
|
import { $gry, $p, $und } from "../log.mjs";
|
|
3
8
|
import { install } from "../pipe.mjs";
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
var require_debug = __commonJS({
|
|
10
|
+
"plugs/debug.ts"() {
|
|
11
|
+
install("debug", class Debug {
|
|
12
|
+
async pipe(files, context) {
|
|
13
|
+
context.log.notice("Debugging", files.length, "files");
|
|
14
|
+
context.log.notice("- base dir:", $p(context.resolve("@")));
|
|
15
|
+
context.log.notice("- build file dir:", $p(context.resolve(".")));
|
|
16
|
+
context.log.notice("- files dir:", $p(files.directory));
|
|
17
|
+
if (files.length) {
|
|
18
|
+
const [path, ...paths] = files;
|
|
19
|
+
context.log.notice("- relative paths:", $und($gry(path)));
|
|
20
|
+
for (const p of paths)
|
|
21
|
+
context.log.notice("- :", $und($gry(p)));
|
|
22
|
+
}
|
|
23
|
+
return files;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
19
26
|
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export {
|
|
23
|
-
Debug
|
|
24
|
-
};
|
|
27
|
+
});
|
|
28
|
+
export default require_debug();
|
|
25
29
|
//# sourceMappingURL=debug.mjs.map
|
package/dist/plugs/debug.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/debug.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": ";;;;;;AACA,SAAS,MAAM,IAAI,YAAY;AAC/B,SAAS,eAA8B;AAFvC;AAAA;AAgBA,YAAQ,SAAS,MAAM,MAA6B;AAAA,MAClD,MAAM,KAAK,OAAc,SAAkC;AACzD,gBAAQ,IAAI,OAAO,aAAa,MAAM,QAAQ,OAAO;AACrD,gBAAQ,IAAI,OAAO,sBAAsB,GAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,gBAAQ,IAAI,OAAO,sBAAsB,GAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,gBAAQ,IAAI,OAAO,sBAAsB,GAAG,MAAM,SAAS,CAAC;AAC5D,YAAI,MAAM,QAAQ;AAChB,gBAAM,CAAE,SAAS,KAAM,IAAI;AAC3B,kBAAQ,IAAI,OAAO,sBAAsB,KAAK,KAAK,IAAI,CAAC,CAAC;AACzD,qBAAW,KAAK;AAAO,oBAAQ,IAAI,OAAO,sBAAsB,KAAK,KAAK,CAAC,CAAC,CAAC;AAAA,QAC/E;AACA,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// plugs/esbuild/fix-extensions.ts
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { assertAbsolutePath,
|
|
3
|
+
import { assertAbsolutePath, resolveAbsolutePath, resolveFile } from "../../paths.mjs";
|
|
4
4
|
import { stat } from "../../utils/asyncfs.mjs";
|
|
5
5
|
function fixExtensions() {
|
|
6
6
|
return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugs/esbuild/fix-extensions.ts"],
|
|
4
|
-
"mappings": ";AAAA,OAAO,UAAU;AAGjB,SAAS,oBAAoB,
|
|
4
|
+
"mappings": ";AAAA,OAAO,UAAU;AAGjB,SAAS,oBAAoB,qBAAqB,mBAAmB;AACrE,SAAS,YAAY;AA6Bd,SAAS,gBAAwB;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,MAAM,OAAa;AArCvB;AAuCM,YAAM,eAAe,SAAS;AAG9B,YAAM,QAAM,WAAM,eAAe,iBAArB,mBAAoC,YAAW;AAC3D,YAAM,QAAM,WAAM,eAAe,iBAArB,mBAAoC,YAAW;AAC3D,YAAM,OAAK,WAAM,eAAe,iBAArB,mBAAoC,WAAU;AAGzD,YAAM,OAAO,MAAM,eAAe,qBAAqB,CAAE,OAAO,OAAO,QAAQ,MAAO;AAGtF,YAAM,UAAU,EAAE,QAAQ,KAAK,GAAG,OAAO,SAAS;AAEhD,YAAI,CAAE,KAAK;AAAU,iBAAO;AAG5B,YAAI,CAAE,KAAK,KAAK,MAAM,UAAU;AAAG,iBAAO,EAAE,UAAU,KAAK;AAG3D,cAAM,aAAa,KAAK;AACxB,2BAAmB,UAAU;AAG7B,cAAM,WAAW,oBAAoB,YAAY,KAAK,IAAI;AAC1D,YAAI,YAAY,QAAQ;AAAG,iBAAO,EAAE,MAAM,KAAK,MAAM,UAAU,KAAK;AAOpE,cAAM,QAAQ,KAAK,KAAK,MAAM,kBAAkB;AAChD,YAAI,OAAO;AACT,gBAAM,CAAE,EAAE,MAAM,GAAI,IAAI;AACxB,gBAAM,SAAS,OAAO,IAAI,QAAQ,MAAM,IAAI;AAC5C,gBAAM,SAAS,oBAAoB,YAAY,MAAM;AACrD,cAAI,YAAY,MAAM,GAAG;AACvB,kBAAM,SAAS,QAAQ,SAAS,MAAM,QAAQ,SAAS,MAAM;AAC7D,mBAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,KAAK;AAAA,UAC/C;AAAA,QACF;AAGA,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,GAAG,KAAK,OAAO;AAChC,gBAAM,WAAW,KAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAM,SAAS,MAAM,KAAK,QAAQ,EAAE,KAAK,CAACA,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAI;AAAQ,mBAAO,EAAE,MAAM,GAAG,KAAK,OAAO,MAAM,UAAU,KAAK;AAAA,QACjE;AAGA,cAAM,UAAU,KAAK,QAAQ,KAAK,YAAY,KAAK,IAAI;AACvD,cAAM,QAAQ,MAAM,KAAK,OAAO,EAAE,KAAK,CAACA,UAASA,MAAK,YAAY,GAAG,CAAC,UAAU,MAAU;AAC1F,YAAI,CAAE;AAAO,iBAAO,EAAE,UAAU,KAAK;AAGrC,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,KAAK,KAAK,KAAK,MAAM,QAAQ,KAAK;AACnD,gBAAM,WAAW,KAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAM,SAAS,MAAM,KAAK,QAAQ,EAAE,KAAK,CAACA,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAI;AAAQ,mBAAO,EAAE,MAAM,GAAG,KAAK,aAAa,MAAM,UAAU,KAAK;AAAA,QACvE;AAGA,eAAO,EAAE,UAAU,KAAK;AAAA,MAC1B,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
|
|
5
5
|
"names": ["stat"]
|
|
6
6
|
}
|
package/dist/plugs/esbuild.cjs
CHANGED
|
@@ -3,10 +3,6 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
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
6
|
var __copyProps = (to, from, except, desc) => {
|
|
11
7
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
8
|
for (let key of __getOwnPropNames(from))
|
|
@@ -20,30 +16,28 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
16
|
|
|
21
17
|
// plugs/esbuild.ts
|
|
22
18
|
var esbuild_exports = {};
|
|
23
|
-
__export(esbuild_exports, {
|
|
24
|
-
ESBuild: () => ESBuild
|
|
25
|
-
});
|
|
26
19
|
module.exports = __toCommonJS(esbuild_exports);
|
|
27
20
|
var import_esbuild = require("esbuild");
|
|
28
21
|
var import_node_path = require("node:path");
|
|
29
22
|
var import_assert = require("../assert.cjs");
|
|
23
|
+
var import_files = require("../files.cjs");
|
|
30
24
|
var import_log = require("../log.cjs");
|
|
31
25
|
var import_paths = require("../paths.cjs");
|
|
32
26
|
var import_pipe = require("../pipe.cjs");
|
|
33
27
|
var import_asyncfs = require("../utils/asyncfs.cjs");
|
|
34
28
|
__reExport(esbuild_exports, require("./esbuild/bundle-locals.cjs"), module.exports);
|
|
35
29
|
__reExport(esbuild_exports, require("./esbuild/fix-extensions.cjs"), module.exports);
|
|
36
|
-
|
|
30
|
+
(0, import_pipe.install)("esbuild", class ESBuild {
|
|
37
31
|
constructor(_options) {
|
|
38
32
|
this._options = _options;
|
|
39
33
|
}
|
|
40
|
-
async pipe(files,
|
|
34
|
+
async pipe(files, context) {
|
|
41
35
|
const entryPoints = [...files];
|
|
42
36
|
const absWorkingDir = files.directory;
|
|
43
37
|
const options = {
|
|
44
38
|
platform: "node",
|
|
45
39
|
target: `node${process.versions["node"].split(".")[0]}`,
|
|
46
|
-
format: this._options.format || await _moduleFormat(files.directory,
|
|
40
|
+
format: this._options.format || await _moduleFormat(files.directory, context.log),
|
|
47
41
|
outbase: absWorkingDir,
|
|
48
42
|
...this._options,
|
|
49
43
|
absWorkingDir,
|
|
@@ -54,24 +48,24 @@ var ESBuild = class {
|
|
|
54
48
|
(0, import_assert.assert)(!(options.outdir && options.outfile), 'Options "outfile" and "outdir" can not coexist');
|
|
55
49
|
let builder;
|
|
56
50
|
if (options.bundle && options.outfile && entryPoints.length === 1) {
|
|
57
|
-
builder =
|
|
51
|
+
builder = import_files.Files.builder(absWorkingDir);
|
|
58
52
|
const outputFile = (0, import_paths.resolveAbsolutePath)(absWorkingDir, options.outfile);
|
|
59
53
|
const entryPoint = (0, import_paths.resolveAbsolutePath)(absWorkingDir, entryPoints[0]);
|
|
60
54
|
options.outfile = outputFile;
|
|
61
|
-
|
|
55
|
+
context.log.debug("Bundling", (0, import_log.$p)(entryPoint), "into", (0, import_log.$p)(outputFile));
|
|
62
56
|
} else {
|
|
63
57
|
(0, import_assert.assert)(options.outdir, 'Option "outdir" must be specified');
|
|
64
|
-
builder =
|
|
58
|
+
builder = import_files.Files.builder(context.resolve(options.outdir));
|
|
65
59
|
options.outdir = builder.directory;
|
|
66
60
|
const message = options.bundle ? "Bundling" : "Transpiling";
|
|
67
|
-
|
|
61
|
+
context.log.debug(message, entryPoints.length, "files to", (0, import_log.$p)(builder.directory));
|
|
68
62
|
}
|
|
69
|
-
const report =
|
|
70
|
-
|
|
63
|
+
const report = context.log.report("ESBuild Report");
|
|
64
|
+
context.log.trace("Running ESBuild", options);
|
|
71
65
|
let esbuild;
|
|
72
66
|
try {
|
|
73
67
|
esbuild = await (0, import_esbuild.build)({ ...options, metafile: true });
|
|
74
|
-
|
|
68
|
+
context.log.trace("ESBuild Results", esbuild);
|
|
75
69
|
report.add(...esbuild.warnings.map((m) => convertMessage(import_log.WARN, m, absWorkingDir)));
|
|
76
70
|
report.add(...esbuild.errors.map((m) => convertMessage(import_log.ERROR, m, absWorkingDir)));
|
|
77
71
|
} catch (error) {
|
|
@@ -85,13 +79,13 @@ var ESBuild = class {
|
|
|
85
79
|
report.done();
|
|
86
80
|
(0, import_assert.assert)(esbuild, "ESBuild did not produce any result");
|
|
87
81
|
for (const file in esbuild.metafile.outputs) {
|
|
88
|
-
builder.
|
|
82
|
+
builder.add((0, import_paths.resolveAbsolutePath)(absWorkingDir, file));
|
|
89
83
|
}
|
|
90
84
|
const result = builder.build();
|
|
91
|
-
|
|
85
|
+
context.log.info("ESBuild produced", result.length, "files into", (0, import_log.$p)(result.directory));
|
|
92
86
|
return result;
|
|
93
87
|
}
|
|
94
|
-
};
|
|
88
|
+
});
|
|
95
89
|
function convertMessage(level, message, directory) {
|
|
96
90
|
const record = { level, message: message.text };
|
|
97
91
|
record.tags = [message.id, message.pluginName].filter((tag) => !!tag);
|
|
@@ -102,7 +96,6 @@ function convertMessage(level, message, directory) {
|
|
|
102
96
|
}
|
|
103
97
|
return record;
|
|
104
98
|
}
|
|
105
|
-
(0, import_pipe.install)("esbuild", ESBuild);
|
|
106
99
|
var _moduleFormatCache = /* @__PURE__ */ new Map();
|
|
107
100
|
async function _moduleFormat(directory, log) {
|
|
108
101
|
const type = _moduleFormatCache.get(directory);
|
|
@@ -131,8 +124,4 @@ async function _moduleFormat(directory, log) {
|
|
|
131
124
|
return type2;
|
|
132
125
|
}
|
|
133
126
|
}
|
|
134
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
135
|
-
0 && (module.exports = {
|
|
136
|
-
ESBuild
|
|
137
|
-
});
|
|
138
127
|
//# sourceMappingURL=esbuild.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/esbuild.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["type"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BuildOptions } from 'esbuild';
|
|
2
|
+
export declare type ESBuildOptions = Omit<BuildOptions, 'absWorkingDir' | 'entryPoints' | 'watch'>;
|
|
3
|
+
export * from './esbuild/bundle-locals';
|
|
4
|
+
export * from './esbuild/fix-extensions';
|
|
5
|
+
declare module '../pipe' {
|
|
6
|
+
interface Pipe {
|
|
7
|
+
/**
|
|
8
|
+
* Transpile and bundle with {@link https://esbuild.github.io/ esbuild}.
|
|
9
|
+
*
|
|
10
|
+
* For documentation on the _options_ to pass to _esbuild_ refer to its
|
|
11
|
+
* {@link https://esbuild.github.io/api/#build-api documentation}.
|
|
12
|
+
*
|
|
13
|
+
* @param options Build {@link ESBuildOptions | options} to pass to esbuild.
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
esbuild(options: ESBuildOptions): Pipe;
|
|
17
|
+
}
|
|
18
|
+
}
|