@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/utils/caller.cjs
CHANGED
|
@@ -26,6 +26,7 @@ module.exports = __toCommonJS(caller_exports);
|
|
|
26
26
|
var import_node_fs = require("node:fs");
|
|
27
27
|
var import_node_url = require("node:url");
|
|
28
28
|
var import_assert = require("../assert.cjs");
|
|
29
|
+
var import_log = require("../log.cjs");
|
|
29
30
|
var import_paths = require("../paths.cjs");
|
|
30
31
|
function findCaller(of) {
|
|
31
32
|
const oldPrepareStackTrace = Error.prepareStackTrace;
|
|
@@ -34,20 +35,16 @@ function findCaller(of) {
|
|
|
34
35
|
const nullableFileOrUrl = stackTraces[0].getFileName();
|
|
35
36
|
if (!nullableFileOrUrl)
|
|
36
37
|
return;
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const column = typeof nullableColumn === "number" ? nullableColumn : void 0;
|
|
41
|
-
const file = nullableFileOrUrl.startsWith("file:/") ? (0, import_node_url.fileURLToPath)(nullableFileOrUrl) : nullableFileOrUrl;
|
|
42
|
-
(0, import_paths.assertAbsolutePath)(file);
|
|
43
|
-
return { file, line, column };
|
|
38
|
+
const file2 = nullableFileOrUrl.startsWith("file:/") ? (0, import_node_url.fileURLToPath)(nullableFileOrUrl) : nullableFileOrUrl;
|
|
39
|
+
(0, import_paths.assertAbsolutePath)(file2);
|
|
40
|
+
return file2;
|
|
44
41
|
};
|
|
45
42
|
const record = {};
|
|
46
43
|
Error.captureStackTrace(record, of);
|
|
47
|
-
const
|
|
48
|
-
(0, import_assert.assert)(
|
|
49
|
-
(0, import_assert.assert)((0, import_node_fs.statSync)(
|
|
50
|
-
return
|
|
44
|
+
const file = record.stack;
|
|
45
|
+
(0, import_assert.assert)(file, "Unable to determine build file name");
|
|
46
|
+
(0, import_assert.assert)((0, import_node_fs.statSync)(file).isFile(), `Build file ${(0, import_log.$p)(file)} not found`);
|
|
47
|
+
return file;
|
|
51
48
|
} finally {
|
|
52
49
|
Error.prepareStackTrace = oldPrepareStackTrace;
|
|
53
50
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/caller.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAyB;AACzB,sBAA8B;AAC9B,oBAAuB;AACvB,mBAAiD;
|
|
5
|
-
"names": []
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAyB;AACzB,sBAA8B;AAC9B,oBAAuB;AACvB,iBAAmB;AACnB,mBAAiD;AAE1C,SAAS,WAAW,IAA2C;AACpE,QAAM,uBAAuB,MAAM;AAEnC,MAAI;AACF,UAAM,oBAAoB,CAAC,GAAG,gBAA0C;AACtE,YAAM,oBAAoB,YAAY,GAAG,YAAY;AACrD,UAAI,CAAE;AAAmB;AAEzB,YAAMA,QACJ,kBAAkB,WAAW,QAAQ,QACnC,+BAAc,iBAAiB,IAC/B;AAEJ,2CAAmBA,KAAI;AACvB,aAAOA;AAAA,IACT;AAEA,UAAM,SAAmC,CAAC;AAC1C,UAAM,kBAAkB,QAAQ,EAAE;AAClC,UAAM,OAAO,OAAO;AAEpB,8BAAO,MAAM,qCAAqC;AAClD,kCAAO,yBAAS,IAAI,EAAE,OAAO,GAAG,kBAAc,eAAG,IAAI,aAAa;AAClE,WAAO;AAAA,EACT,UAAE;AACA,UAAM,oBAAoB;AAAA,EAC5B;AACF;",
|
|
5
|
+
"names": ["file"]
|
|
6
6
|
}
|
package/dist/utils/caller.mjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { statSync } from "node:fs";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import { assert } from "../assert.mjs";
|
|
5
|
+
import { $p } from "../log.mjs";
|
|
5
6
|
import { assertAbsolutePath } from "../paths.mjs";
|
|
6
7
|
function findCaller(of) {
|
|
7
8
|
const oldPrepareStackTrace = Error.prepareStackTrace;
|
|
@@ -10,20 +11,16 @@ function findCaller(of) {
|
|
|
10
11
|
const nullableFileOrUrl = stackTraces[0].getFileName();
|
|
11
12
|
if (!nullableFileOrUrl)
|
|
12
13
|
return;
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const column = typeof nullableColumn === "number" ? nullableColumn : void 0;
|
|
17
|
-
const file = nullableFileOrUrl.startsWith("file:/") ? fileURLToPath(nullableFileOrUrl) : nullableFileOrUrl;
|
|
18
|
-
assertAbsolutePath(file);
|
|
19
|
-
return { file, line, column };
|
|
14
|
+
const file2 = nullableFileOrUrl.startsWith("file:/") ? fileURLToPath(nullableFileOrUrl) : nullableFileOrUrl;
|
|
15
|
+
assertAbsolutePath(file2);
|
|
16
|
+
return file2;
|
|
20
17
|
};
|
|
21
18
|
const record = {};
|
|
22
19
|
Error.captureStackTrace(record, of);
|
|
23
|
-
const
|
|
24
|
-
assert(
|
|
25
|
-
assert(statSync(
|
|
26
|
-
return
|
|
20
|
+
const file = record.stack;
|
|
21
|
+
assert(file, "Unable to determine build file name");
|
|
22
|
+
assert(statSync(file).isFile(), `Build file ${$p(file)} not found`);
|
|
23
|
+
return file;
|
|
27
24
|
} finally {
|
|
28
25
|
Error.prepareStackTrace = oldPrepareStackTrace;
|
|
29
26
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/caller.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,cAAc;AACvB,SAAuB,0BAA0B;
|
|
5
|
-
"names": []
|
|
4
|
+
"mappings": ";AAAA,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,cAAc;AACvB,SAAS,UAAU;AACnB,SAAuB,0BAA0B;AAE1C,SAAS,WAAW,IAA2C;AACpE,QAAM,uBAAuB,MAAM;AAEnC,MAAI;AACF,UAAM,oBAAoB,CAAC,GAAG,gBAA0C;AACtE,YAAM,oBAAoB,YAAY,GAAG,YAAY;AACrD,UAAI,CAAE;AAAmB;AAEzB,YAAMA,QACJ,kBAAkB,WAAW,QAAQ,IACnC,cAAc,iBAAiB,IAC/B;AAEJ,yBAAmBA,KAAI;AACvB,aAAOA;AAAA,IACT;AAEA,UAAM,SAAmC,CAAC;AAC1C,UAAM,kBAAkB,QAAQ,EAAE;AAClC,UAAM,OAAO,OAAO;AAEpB,WAAO,MAAM,qCAAqC;AAClD,WAAO,SAAS,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,aAAa;AAClE,WAAO;AAAA,EACT,UAAE;AACA,UAAM,oBAAoB;AAAA,EAC5B;AACF;",
|
|
5
|
+
"names": ["file"]
|
|
6
6
|
}
|
|
File without changes
|
package/dist/utils/options.cjs
CHANGED
|
@@ -25,13 +25,11 @@ __export(options_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(options_exports);
|
|
26
26
|
function parseOptions(args, defaults) {
|
|
27
27
|
const params = [];
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
params.push(arg);
|
|
32
|
-
else
|
|
33
|
-
Object.assign(options, arg);
|
|
28
|
+
const clone = [...args];
|
|
29
|
+
while (typeof clone[0] === "string") {
|
|
30
|
+
params.push(clone.shift());
|
|
34
31
|
}
|
|
32
|
+
const options = Object.assign({}, defaults, clone.pop());
|
|
35
33
|
return { params, options };
|
|
36
34
|
}
|
|
37
35
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/options.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCO,SAAS,aAId,MAAY,UAA4D;AACxE,QAAM,SAAmB,CAAC;AAC1B,QAAM,QAAe,CAAE,GAAG,IAAK;AAG/B,SAAO,OAAO,MAAM,OAAO,UAAU;AACnC,WAAO,KAAK,MAAM,MAAM,CAAC;AAAA,EAC3B;AAGA,QAAM,UAAU,OAAO,OAAO,CAAC,GAAG,UAAU,MAAM,IAAI,CAAC;AAGvD,SAAO,EAAE,QAAQ,QAAQ;AAC3B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** A type extacting string parameters from an arguments array */
|
|
2
|
+
export declare type ParsedParams<Args extends readonly any[]> = Args extends readonly [infer First, ...infer Rest] ? First extends string ? [First, ...ParsedParams<Rest>] : [] : Args extends readonly [...infer First, infer Rest] ? Rest extends string ? [...ParsedParams<First>, Rest] : [...ParsedParams<First>] : Args extends readonly string[] ? [...Args] : [];
|
|
3
|
+
/** A type extacting the (last) options type from an arguments array */
|
|
4
|
+
export declare type ParsedOptions<Args extends readonly any[]> = Args extends readonly [...string[], infer Last] ? Last extends object ? Last : never : never;
|
|
5
|
+
/** Parserable arguments: a number of strings, followed by optional options */
|
|
6
|
+
export declare type ParseOptions<Options extends Record<any, any>> = readonly [...params: string[]] | readonly [...params: string[], options: Options];
|
|
7
|
+
/** The return type from {@link ParseOptions} */
|
|
8
|
+
export interface ParsedResult<Args extends readonly any[], Options, Defaults> {
|
|
9
|
+
params: ParsedParams<Args>;
|
|
10
|
+
options: Defaults extends null | undefined ? Options | undefined : Options & Defaults;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Parse an array of arguments (a number of strings optionally followed by an
|
|
14
|
+
* options object into parameters and options.
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseOptions<Args extends ParseOptions<any>, Options extends ParsedOptions<Args> = ParsedOptions<Args>, Defaults extends ParsedOptions<Args> | null | undefined = undefined>(args: Args, defaults?: Defaults): ParsedResult<Args, Options, Defaults>;
|
package/dist/utils/options.mjs
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
// utils/options.ts
|
|
2
2
|
function parseOptions(args, defaults) {
|
|
3
3
|
const params = [];
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
params.push(arg);
|
|
8
|
-
else
|
|
9
|
-
Object.assign(options, arg);
|
|
4
|
+
const clone = [...args];
|
|
5
|
+
while (typeof clone[0] === "string") {
|
|
6
|
+
params.push(clone.shift());
|
|
10
7
|
}
|
|
8
|
+
const options = Object.assign({}, defaults, clone.pop());
|
|
11
9
|
return { params, options };
|
|
12
10
|
}
|
|
13
11
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/options.ts"],
|
|
4
|
-
"mappings": ";
|
|
4
|
+
"mappings": ";AAmCO,SAAS,aAId,MAAY,UAA4D;AACxE,QAAM,SAAmB,CAAC;AAC1B,QAAM,QAAe,CAAE,GAAG,IAAK;AAG/B,SAAO,OAAO,MAAM,OAAO,UAAU;AACnC,WAAO,KAAK,MAAM,MAAM,CAAC;AAAA,EAC3B;AAGA,QAAM,UAAU,OAAO,OAAO,CAAC,GAAG,UAAU,MAAM,IAAI,CAAC;AAGvD,SAAO,EAAE,QAAQ,QAAQ;AAC3B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbsolutePath } from '../paths
|
|
2
|
-
import { MatchOptions } from './match
|
|
1
|
+
import { AbsolutePath } from '../paths';
|
|
2
|
+
import { MatchOptions } from './match';
|
|
3
3
|
/** Specific options for walking a directory */
|
|
4
4
|
export interface WalkOptions extends MatchOptions {
|
|
5
5
|
/**
|
package/extra/cli.mjs
CHANGED
|
@@ -9,8 +9,11 @@ async function main(options2) {
|
|
|
9
9
|
if (tasks.length === 0)
|
|
10
10
|
tasks.push("default");
|
|
11
11
|
let build = await import(buildFile);
|
|
12
|
-
while (build
|
|
12
|
+
while (build) {
|
|
13
|
+
if (isBuild(build))
|
|
14
|
+
break;
|
|
13
15
|
build = build.default;
|
|
16
|
+
}
|
|
14
17
|
if (!isBuild(build)) {
|
|
15
18
|
console.log("Build file did not export a proper build");
|
|
16
19
|
console.log();
|
|
@@ -22,19 +25,10 @@ async function main(options2) {
|
|
|
22
25
|
console.log();
|
|
23
26
|
process.exit(1);
|
|
24
27
|
}
|
|
25
|
-
for (const task of tasks) {
|
|
26
|
-
if (task in build)
|
|
27
|
-
continue;
|
|
28
|
-
console.log(`Build file does not contain task "${task}"`);
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
31
28
|
if (listOnly) {
|
|
32
29
|
console.log("Build file tasks\n- " + Object.keys(build).sort().join("\n- "));
|
|
33
30
|
} else {
|
|
34
|
-
|
|
35
|
-
for (const task of tasks) {
|
|
36
|
-
run = await build[task](run);
|
|
37
|
-
}
|
|
31
|
+
await build[buildMarker](tasks);
|
|
38
32
|
}
|
|
39
33
|
}
|
|
40
34
|
const sourceMapsEnabled = process.execArgv.indexOf("--enable-source-maps") >= 0;
|
|
@@ -64,7 +58,7 @@ if (sourceMapsEnabled && typeScriptEnabled) {
|
|
|
64
58
|
const loader = _path.resolve(directory, `ts-loader${extension}`);
|
|
65
59
|
execArgv.push(`--experimental-loader=${loader}`, "--no-warnings");
|
|
66
60
|
}
|
|
67
|
-
const env = options.
|
|
61
|
+
const env = options.force ? { __TS_LOADER_FORCE_TYPE: options.force, ...process.env } : process.env;
|
|
68
62
|
const child = _childProcess.fork(script, [...process.argv.slice(2)], {
|
|
69
63
|
stdio: ["inherit", "inherit", "inherit", "ipc"],
|
|
70
64
|
execArgv,
|
|
@@ -89,7 +83,7 @@ if (sourceMapsEnabled && typeScriptEnabled) {
|
|
|
89
83
|
const buildMarker = Symbol.for("plugjs:isBuild");
|
|
90
84
|
const buildFailure = Symbol.for("plugjs:buildFailure");
|
|
91
85
|
function isBuild(build) {
|
|
92
|
-
return build && build[buildMarker] ===
|
|
86
|
+
return build && typeof build[buildMarker] === "function";
|
|
93
87
|
}
|
|
94
88
|
function isBuildFailure(arg) {
|
|
95
89
|
return arg && arg[buildFailure] === buildFailure;
|
|
@@ -102,7 +96,6 @@ function parseCommandLine() {
|
|
|
102
96
|
"strip-dashed": true
|
|
103
97
|
},
|
|
104
98
|
alias: {
|
|
105
|
-
"force-esm": ["e"],
|
|
106
99
|
"verbose": ["v"],
|
|
107
100
|
"quiet": ["q"],
|
|
108
101
|
"colors": ["c"],
|
|
@@ -111,7 +104,7 @@ function parseCommandLine() {
|
|
|
111
104
|
"help": ["h"]
|
|
112
105
|
},
|
|
113
106
|
string: ["file"],
|
|
114
|
-
boolean: ["help", "colors", "list", "force-esm"],
|
|
107
|
+
boolean: ["help", "colors", "list", "force-esm", "force-cjs"],
|
|
115
108
|
count: ["verbose", "quiet"]
|
|
116
109
|
});
|
|
117
110
|
const tasks = [];
|
|
@@ -119,6 +112,7 @@ function parseCommandLine() {
|
|
|
119
112
|
let colors = void 0;
|
|
120
113
|
let file = void 0;
|
|
121
114
|
let forceEsm = false;
|
|
115
|
+
let forceCjs = false;
|
|
122
116
|
let listOnly = false;
|
|
123
117
|
let help = false;
|
|
124
118
|
for (const key in parsed) {
|
|
@@ -138,6 +132,9 @@ function parseCommandLine() {
|
|
|
138
132
|
case "force-esm":
|
|
139
133
|
forceEsm = !!parsed[key];
|
|
140
134
|
break;
|
|
135
|
+
case "force-cjs":
|
|
136
|
+
forceCjs = !!parsed[key];
|
|
137
|
+
break;
|
|
141
138
|
case "colors":
|
|
142
139
|
colors = !!parsed[key];
|
|
143
140
|
break;
|
|
@@ -157,16 +154,27 @@ function parseCommandLine() {
|
|
|
157
154
|
|
|
158
155
|
plugjs [--options] [... tasks]
|
|
159
156
|
|
|
157
|
+
TypeScript module format:
|
|
158
|
+
|
|
159
|
+
Normally our TypeScript loader will transpile ".ts" files to the "type"
|
|
160
|
+
specified in "package.json", either "commonjs" (the default) or "module".
|
|
161
|
+
|
|
162
|
+
To force a specific module format we can use one of the following flags:
|
|
163
|
+
|
|
164
|
+
--force-esm Force transpilation of ".ts" files to EcmaScript modules
|
|
165
|
+
--force-cjs Force transpilation of ".ts" files to CommonJS modules
|
|
166
|
+
|
|
160
167
|
Options:
|
|
168
|
+
|
|
161
169
|
-v --verbose Increase logging verbosity
|
|
162
170
|
-q --quiet Decrease logging verbosity
|
|
163
171
|
-c --colors Force colorful output (use "--no-colors" to force plain text)
|
|
164
|
-
-e --force-esm Force our TypeScript loader to interpret ".ts" files as ESM
|
|
165
172
|
-f --file Specify the build file to use (default "./build.[ts/js/...]")
|
|
166
173
|
-l --list Only list the tasks defined by the build, nothing more!
|
|
167
174
|
-h --help Help! You're reading it now!
|
|
168
175
|
|
|
169
176
|
Tasks:
|
|
177
|
+
|
|
170
178
|
Any other argument will be treated as a task name. If no task names are
|
|
171
179
|
specified, the "default" task will be executed.
|
|
172
180
|
`);
|
|
@@ -206,7 +214,12 @@ function parseCommandLine() {
|
|
|
206
214
|
console.log(`Unable to find build file "./build.[${exts.join("|")}]`);
|
|
207
215
|
process.exit(1);
|
|
208
216
|
}
|
|
209
|
-
|
|
217
|
+
if (forceEsm && forceCjs) {
|
|
218
|
+
console.log('The "--force-cjs" and "--force-esm" flags can not coexist');
|
|
219
|
+
process.exit(1);
|
|
220
|
+
}
|
|
221
|
+
const force = forceEsm ? "module" : forceCjs ? "commonjs" : void 0;
|
|
222
|
+
return { buildFile, tasks, listOnly, force };
|
|
210
223
|
}
|
|
211
224
|
function isFile(path) {
|
|
212
225
|
try {
|
|
@@ -216,8 +229,6 @@ function isFile(path) {
|
|
|
216
229
|
}
|
|
217
230
|
}
|
|
218
231
|
export {
|
|
219
|
-
isBuild,
|
|
220
|
-
isBuildFailure,
|
|
221
232
|
parseCommandLine
|
|
222
233
|
};
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,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
|
package/extra/ts-loader.mjs
CHANGED
|
@@ -23,10 +23,11 @@ function _throw(type, message, options = {}) {
|
|
|
23
23
|
throw error;
|
|
24
24
|
}
|
|
25
25
|
const _moduleFormatCache = /* @__PURE__ */ new Map();
|
|
26
|
-
if (process.env.
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
if (process.env.__TS_LOADER_FORCE_TYPE) {
|
|
27
|
+
const type = process.env.__TS_LOADER_FORCE_TYPE;
|
|
28
|
+
const dir = process.cwd();
|
|
29
|
+
_log(null, `Forcing ".ts" files from "${dir}" to be interpreted as "${type}"`);
|
|
30
|
+
_moduleFormatCache.set(dir, type);
|
|
30
31
|
}
|
|
31
32
|
if (_debug)
|
|
32
33
|
process.on("exit", () => _log(null, "Format cache", _moduleFormatCache));
|
|
@@ -218,4 +219,4 @@ export {
|
|
|
218
219
|
load,
|
|
219
220
|
resolve
|
|
220
221
|
};
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,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
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plugjs/plug",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
|
-
"types": "./
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
10
|
"require": {
|
|
11
|
-
"types": "./
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
12
|
"default": "./dist/index.cjs"
|
|
13
13
|
},
|
|
14
14
|
"import": {
|
|
15
|
-
"types": "./
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
16
|
"default": "./dist/index.mjs"
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -30,15 +30,15 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@babel/parser": "^7.18.13",
|
|
32
32
|
"@babel/types": "^7.18.13",
|
|
33
|
-
"@plugjs/cov8-html": "^0.0.
|
|
33
|
+
"@plugjs/cov8-html": "^0.0.2",
|
|
34
34
|
"@types/node": "<17",
|
|
35
35
|
"diff": "^5.1.0",
|
|
36
|
-
"esbuild": "^0.15.
|
|
37
|
-
"eslint": "^8.
|
|
36
|
+
"esbuild": "^0.15.6",
|
|
37
|
+
"eslint": "^8.23.0",
|
|
38
38
|
"mocha": "^10.0.0",
|
|
39
39
|
"picomatch": "^2.3.1",
|
|
40
40
|
"source-map": "^0.7.4",
|
|
41
|
-
"typescript": "^4.
|
|
41
|
+
"typescript": "^4.8.2",
|
|
42
42
|
"yargs-parser": "^21.1.1"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"@types/ms": "^0.7.31",
|
|
51
51
|
"@types/picomatch": "^2.3.0",
|
|
52
52
|
"@types/yargs-parser": "^21.0.0",
|
|
53
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
54
|
-
"@typescript-eslint/parser": "^5.
|
|
53
|
+
"@typescript-eslint/eslint-plugin": "^5.36.1",
|
|
54
|
+
"@typescript-eslint/parser": "^5.36.1",
|
|
55
55
|
"chai": "^4.3.6",
|
|
56
56
|
"eslint-config-google": "^0.14.0"
|
|
57
57
|
}
|
package/src/async.ts
CHANGED
|
@@ -1,38 +1,46 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'node:async_hooks'
|
|
2
|
-
import {
|
|
2
|
+
import { assert } from './assert'
|
|
3
|
+
import { Context } from './pipe'
|
|
3
4
|
|
|
4
5
|
/* ========================================================================== *
|
|
5
6
|
* EXPORTED *
|
|
6
7
|
* ========================================================================== */
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
|
-
* Run the specified `callback` associating the specified {@link
|
|
10
|
+
* Run the specified `callback` associating the specified {@link Context} and task
|
|
10
11
|
* name with the current asynchronous invocation context.
|
|
11
12
|
*/
|
|
12
|
-
export function runAsync<T>(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
export function runAsync<T>(
|
|
14
|
+
context: Context,
|
|
15
|
+
taskName: string,
|
|
16
|
+
callback: () => Promise<T>,
|
|
17
|
+
): Promise<T> {
|
|
18
|
+
return storage.run(context, async () => {
|
|
19
|
+
try {
|
|
20
|
+
tasks.add(taskName)
|
|
21
|
+
return await callback()
|
|
22
|
+
} finally {
|
|
23
|
+
tasks.delete(taskName)
|
|
24
|
+
}
|
|
19
25
|
})
|
|
20
26
|
}
|
|
21
27
|
|
|
22
28
|
/**
|
|
23
|
-
* Returns the
|
|
24
|
-
* context or `undefined`.
|
|
29
|
+
* Returns the {@link Context} associated with the current asynchronous
|
|
30
|
+
* invocation context or `undefined`.
|
|
25
31
|
*/
|
|
26
|
-
export function
|
|
27
|
-
return storage.getStore()
|
|
32
|
+
export function currentContext(): Context | undefined {
|
|
33
|
+
return storage.getStore()
|
|
28
34
|
}
|
|
29
35
|
|
|
30
36
|
/**
|
|
31
|
-
* Returns the {@link
|
|
32
|
-
* context
|
|
37
|
+
* Returns the {@link Context} associated with the current asynchronous
|
|
38
|
+
* invocation context and fail if none was found.
|
|
33
39
|
*/
|
|
34
|
-
export function
|
|
35
|
-
|
|
40
|
+
export function requireContext(): Context {
|
|
41
|
+
const context = storage.getStore()
|
|
42
|
+
assert(context, 'Unable to retrieve current context')
|
|
43
|
+
return context
|
|
36
44
|
}
|
|
37
45
|
|
|
38
46
|
/**
|
|
@@ -46,5 +54,5 @@ export function runningTasks(): string[] {
|
|
|
46
54
|
* INTERNALS *
|
|
47
55
|
* ========================================================================== */
|
|
48
56
|
|
|
49
|
-
const storage = new AsyncLocalStorage<
|
|
50
|
-
const tasks
|
|
57
|
+
const storage = new AsyncLocalStorage<Context>()
|
|
58
|
+
const tasks = new Set<string>
|
package/src/files.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { mkdir, writeFile } from './utils/asyncfs.js'
|
|
1
|
+
import { AbsolutePath, assertRelativeChildPath, getAbsoluteParent, resolveAbsolutePath } from './paths'
|
|
2
|
+
import { mkdir, writeFile } from './utils/asyncfs'
|
|
4
3
|
|
|
5
4
|
/** The {@link FilesBuilder} interface defines a builder for {@link Files}. */
|
|
6
5
|
export interface FilesBuilder {
|
|
@@ -8,20 +7,12 @@ export interface FilesBuilder {
|
|
|
8
7
|
readonly directory: AbsolutePath
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
|
-
* Push files into the {@link Files} instance being built
|
|
12
|
-
* their existance on disk**.
|
|
10
|
+
* Push files into the {@link Files} instance being built.
|
|
13
11
|
*
|
|
14
|
-
* This
|
|
15
|
-
* sure the file already exist.
|
|
12
|
+
* This method will not check that files actually exist on disk.
|
|
16
13
|
*/
|
|
17
14
|
add(...files: string[]): this
|
|
18
15
|
|
|
19
|
-
/**
|
|
20
|
-
* Push files into the {@link Files} instance being built without checking
|
|
21
|
-
* they exist on disk _(use with care!)_.
|
|
22
|
-
*/
|
|
23
|
-
unchecked(...files: string[]): this
|
|
24
|
-
|
|
25
16
|
/** Merge orther {@link Files} instance to the {@link Files} being built */
|
|
26
17
|
merge(...files: Files[]): this
|
|
27
18
|
|
|
@@ -97,21 +88,6 @@ export class Files {
|
|
|
97
88
|
add(...files: string[]): FilesBuilder {
|
|
98
89
|
if (built) throw new Error('FileBuilder "build()" already called')
|
|
99
90
|
|
|
100
|
-
if (typeof files === 'string') files = [ files ]
|
|
101
|
-
for (const file of files) {
|
|
102
|
-
const relative = assertRelativeChildPath(instance.directory, file)
|
|
103
|
-
const resolved = resolveAbsolutePath(instance.directory, file)
|
|
104
|
-
|
|
105
|
-
assert(resolveFile(resolved), `File "${resolved}" does not exist`)
|
|
106
|
-
set.add(relative)
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return this
|
|
110
|
-
},
|
|
111
|
-
|
|
112
|
-
unchecked(...files: string[]): FilesBuilder {
|
|
113
|
-
if (built) throw new Error('FileBuilder "build()" already called')
|
|
114
|
-
|
|
115
91
|
if (typeof files === 'string') files = [ files ]
|
|
116
92
|
for (const file of files) {
|
|
117
93
|
const relative = assertRelativeChildPath(instance.directory, file)
|
|
@@ -126,7 +102,7 @@ export class Files {
|
|
|
126
102
|
|
|
127
103
|
for (const files of args) {
|
|
128
104
|
for (const file of files.absolutePaths()) {
|
|
129
|
-
this.
|
|
105
|
+
this.add(file)
|
|
130
106
|
}
|
|
131
107
|
}
|
|
132
108
|
|
|
@@ -140,7 +116,7 @@ export class Files {
|
|
|
140
116
|
|
|
141
117
|
await mkdir(directory, { recursive: true })
|
|
142
118
|
await writeFile(absolute, content)
|
|
143
|
-
this.
|
|
119
|
+
this.add(absolute)
|
|
144
120
|
|
|
145
121
|
return absolute
|
|
146
122
|
},
|