@plugjs/plug 0.0.26 → 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 -218
- package/dist/plugs/coverage/report.cjs.map +0 -6
- package/dist/plugs/coverage/report.d.ts +0 -53
- package/dist/plugs/coverage/report.mjs +0 -203
- package/dist/plugs/coverage/report.mjs.map +0 -6
- package/dist/plugs/coverage.cjs +0 -137
- package/dist/plugs/coverage.cjs.map +0 -6
- package/dist/plugs/coverage.d.ts +0 -49
- package/dist/plugs/coverage.mjs +0 -120
- 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 -345
- package/src/plugs/coverage.ts +0 -213
- 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/fork.cjs
CHANGED
|
@@ -25,30 +25,31 @@ __export(fork_exports, {
|
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(fork_exports);
|
|
27
27
|
var import_node_child_process = require("node:child_process");
|
|
28
|
-
var
|
|
28
|
+
var import_asserts = require("./asserts.cjs");
|
|
29
29
|
var import_async = require("./async.cjs");
|
|
30
|
-
var import_failure = require("./failure.cjs");
|
|
31
30
|
var import_files = require("./files.cjs");
|
|
32
|
-
var
|
|
31
|
+
var import_logging = require("./logging.cjs");
|
|
33
32
|
var import_paths = require("./paths.cjs");
|
|
34
33
|
var import_pipe = require("./pipe.cjs");
|
|
35
34
|
var ForkingPlug = class {
|
|
36
|
-
constructor(_scriptFile, _arguments) {
|
|
35
|
+
constructor(_scriptFile, _arguments, _exportName) {
|
|
37
36
|
this._scriptFile = _scriptFile;
|
|
38
37
|
this._arguments = _arguments;
|
|
38
|
+
this._exportName = _exportName;
|
|
39
39
|
}
|
|
40
40
|
pipe(files, context) {
|
|
41
41
|
const message = {
|
|
42
42
|
scriptFile: this._scriptFile,
|
|
43
|
+
exportName: this._exportName,
|
|
43
44
|
constructorArgs: this._arguments,
|
|
44
45
|
taskName: context.taskName,
|
|
45
46
|
buildFile: context.buildFile,
|
|
46
47
|
filesDir: files.directory,
|
|
47
48
|
filesList: [...files.absolutePaths()],
|
|
48
|
-
logOpts:
|
|
49
|
+
logOpts: import_logging.logOptions.fork(context.taskName)
|
|
49
50
|
};
|
|
50
51
|
const script = (0, import_paths.requireFilename)(__filename);
|
|
51
|
-
context.log.debug("About to fork plug from", (0,
|
|
52
|
+
context.log.debug("About to fork plug from", (0, import_logging.$p)(script));
|
|
52
53
|
const env = { ...process.env };
|
|
53
54
|
for (let i = this._arguments.length - 1; i >= 0; i--) {
|
|
54
55
|
if (this._arguments[i] == null)
|
|
@@ -56,7 +57,7 @@ var ForkingPlug = class {
|
|
|
56
57
|
if (typeof this._arguments[i] === "object") {
|
|
57
58
|
if (typeof this._arguments[i].coverageDir === "string") {
|
|
58
59
|
const dir = env.NODE_V8_COVERAGE = context.resolve(this._arguments[i].coverageDir);
|
|
59
|
-
context.log.debug("Forked process will produce coverage in", (0,
|
|
60
|
+
context.log.debug("Forked process will produce coverage in", (0, import_logging.$p)(dir));
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
}
|
|
@@ -64,13 +65,13 @@ var ForkingPlug = class {
|
|
|
64
65
|
stdio: ["ignore", "inherit", "inherit", "ipc"],
|
|
65
66
|
env
|
|
66
67
|
});
|
|
67
|
-
context.log.info("Running", (0,
|
|
68
|
+
context.log.info("Running", (0, import_logging.$p)(script), (0, import_logging.$gry)(`(pid=${child.pid})`));
|
|
68
69
|
let done = false;
|
|
69
70
|
return new Promise((resolve, reject) => {
|
|
70
71
|
let result = void 0;
|
|
71
72
|
child.on("error", (error) => {
|
|
72
73
|
context.log.error("Child process error", error);
|
|
73
|
-
return done || reject(
|
|
74
|
+
return done || reject(import_asserts.BuildFailure.fail());
|
|
74
75
|
});
|
|
75
76
|
child.on("message", (message2) => {
|
|
76
77
|
context.log.debug("Message from child process", message2);
|
|
@@ -78,16 +79,16 @@ var ForkingPlug = class {
|
|
|
78
79
|
});
|
|
79
80
|
child.on("exit", (code, signal) => {
|
|
80
81
|
if (signal) {
|
|
81
|
-
context.log.error(`Child process exited with signal ${signal}`, (0,
|
|
82
|
-
return done || reject(
|
|
82
|
+
context.log.error(`Child process exited with signal ${signal}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
|
|
83
|
+
return done || reject(import_asserts.BuildFailure.fail());
|
|
83
84
|
} else if (code !== 0) {
|
|
84
|
-
context.log.error(`Child process exited with code ${code}`, (0,
|
|
85
|
-
return done || reject(
|
|
85
|
+
context.log.error(`Child process exited with code ${code}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
|
|
86
|
+
return done || reject(import_asserts.BuildFailure.fail());
|
|
86
87
|
} else if (!result) {
|
|
87
|
-
context.log.error("Child process exited with no result", (0,
|
|
88
|
-
return done || reject(
|
|
88
|
+
context.log.error("Child process exited with no result", (0, import_logging.$gry)(`(pid=${child.pid})`));
|
|
89
|
+
return done || reject(import_asserts.BuildFailure.fail());
|
|
89
90
|
} else if (result.failed) {
|
|
90
|
-
return done || reject(
|
|
91
|
+
return done || reject(import_asserts.BuildFailure.fail());
|
|
91
92
|
}
|
|
92
93
|
return done || resolve(message.filesDir && message.filesList ? import_files.Files.builder(message.filesDir).add(...message.filesList).build() : void 0);
|
|
93
94
|
});
|
|
@@ -95,16 +96,16 @@ var ForkingPlug = class {
|
|
|
95
96
|
const result2 = child.send(message, (error) => {
|
|
96
97
|
if (error) {
|
|
97
98
|
context.log.error("Error sending message to child process (callback failure)", error);
|
|
98
|
-
reject(
|
|
99
|
+
reject(import_asserts.BuildFailure.fail());
|
|
99
100
|
}
|
|
100
101
|
});
|
|
101
102
|
if (!result2) {
|
|
102
103
|
context.log.error("Error sending message to child process (send returned false)");
|
|
103
|
-
reject(
|
|
104
|
+
reject(import_asserts.BuildFailure.fail());
|
|
104
105
|
}
|
|
105
106
|
} catch (error) {
|
|
106
107
|
context.log.error("Error sending message to child process (exception caught)", error);
|
|
107
|
-
reject(
|
|
108
|
+
reject(import_asserts.BuildFailure.fail());
|
|
108
109
|
}
|
|
109
110
|
}).finally(() => done = true);
|
|
110
111
|
}
|
|
@@ -118,6 +119,7 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
|
|
|
118
119
|
clearTimeout(timeout);
|
|
119
120
|
const {
|
|
120
121
|
scriptFile,
|
|
122
|
+
exportName,
|
|
121
123
|
constructorArgs,
|
|
122
124
|
taskName,
|
|
123
125
|
buildFile,
|
|
@@ -125,19 +127,22 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
|
|
|
125
127
|
filesList,
|
|
126
128
|
logOpts
|
|
127
129
|
} = message;
|
|
128
|
-
Object.assign(
|
|
130
|
+
Object.assign(import_logging.logOptions, logOpts);
|
|
129
131
|
const context = new import_pipe.Context(buildFile, taskName);
|
|
130
132
|
context.log.debug("Message from parent process", message);
|
|
131
133
|
const result = (0, import_async.runAsync)(context, taskName, async () => {
|
|
132
|
-
(0,
|
|
134
|
+
(0, import_asserts.assert)((0, import_paths.resolveFile)(scriptFile), `Script file ${(0, import_logging.$p)(scriptFile)} not found`);
|
|
133
135
|
const script = await import(scriptFile);
|
|
134
|
-
let Ctor
|
|
135
|
-
|
|
136
|
-
Ctor =
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
`Script ${(0,
|
|
140
|
-
|
|
136
|
+
let Ctor;
|
|
137
|
+
if (exportName === "default") {
|
|
138
|
+
Ctor = script;
|
|
139
|
+
while (Ctor && typeof Ctor !== "function")
|
|
140
|
+
Ctor = Ctor.default;
|
|
141
|
+
(0, import_asserts.assert)(typeof Ctor === "function", `Script ${(0, import_logging.$p)(scriptFile)} does not export a default constructor`);
|
|
142
|
+
} else {
|
|
143
|
+
Ctor = script[exportName];
|
|
144
|
+
(0, import_asserts.assert)(typeof Ctor === "function", `Script ${(0, import_logging.$p)(scriptFile)} does not export "${exportName}"`);
|
|
145
|
+
}
|
|
141
146
|
const plug = new Ctor(...constructorArgs);
|
|
142
147
|
const files = import_files.Files.builder(filesDir).add(...filesList).build();
|
|
143
148
|
return plug.pipe(files, context);
|
|
@@ -162,10 +167,10 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
|
|
|
162
167
|
});
|
|
163
168
|
});
|
|
164
169
|
}
|
|
165
|
-
function installForking(plugName, scriptFile) {
|
|
170
|
+
function installForking(plugName, scriptFile, exportName = "default") {
|
|
166
171
|
const ctor = class extends ForkingPlug {
|
|
167
172
|
constructor(...args) {
|
|
168
|
-
super(scriptFile, args);
|
|
173
|
+
super(scriptFile, args, exportName);
|
|
169
174
|
}
|
|
170
175
|
};
|
|
171
176
|
(0, import_pipe.install)(plugName, ctor);
|
package/dist/fork.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/fork.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAqB;AAErB,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["message", "result"]
|
|
6
6
|
}
|
package/dist/fork.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { Files } from './files';
|
|
2
2
|
import { Context } from './pipe';
|
|
3
|
-
import type { LogOptions } from './
|
|
3
|
+
import type { LogOptions } from './logging';
|
|
4
4
|
import type { AbsolutePath } from './paths';
|
|
5
5
|
import type { Plug, PlugName, PlugResult } from './pipe';
|
|
6
6
|
/** Fork data, from parent to child process */
|
|
7
7
|
export interface ForkData {
|
|
8
8
|
/** Script name for the Plug to execute */
|
|
9
9
|
scriptFile: AbsolutePath;
|
|
10
|
+
/** Export name in the script for the Plug to execute */
|
|
11
|
+
exportName: string;
|
|
10
12
|
/** Plug constructor arguments */
|
|
11
13
|
constructorArgs: any[];
|
|
12
14
|
/** Task name (for logs) */
|
|
@@ -32,7 +34,8 @@ export interface ForkResult {
|
|
|
32
34
|
export declare abstract class ForkingPlug implements Plug<PlugResult> {
|
|
33
35
|
private readonly _scriptFile;
|
|
34
36
|
private readonly _arguments;
|
|
35
|
-
|
|
37
|
+
private readonly _exportName;
|
|
38
|
+
constructor(_scriptFile: AbsolutePath, _arguments: any[], _exportName: string);
|
|
36
39
|
pipe(files: Files, context: Context): Promise<PlugResult>;
|
|
37
40
|
}
|
|
38
41
|
/**
|
|
@@ -52,4 +55,4 @@ export declare abstract class ForkingPlug implements Plug<PlugResult> {
|
|
|
52
55
|
* `scriptFile` specified below. This is to simplify interoperability between
|
|
53
56
|
* CommonJS and ESM modules as we use dynamic `import(...)` statements.
|
|
54
57
|
*/
|
|
55
|
-
export declare function installForking<Name extends PlugName>(plugName: Name, scriptFile: AbsolutePath): void;
|
|
58
|
+
export declare function installForking<Name extends PlugName>(plugName: Name, scriptFile: AbsolutePath, exportName?: string): void;
|
package/dist/fork.mjs
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
// fork.ts
|
|
2
2
|
import { fork } from "node:child_process";
|
|
3
|
-
import { assert } from "./
|
|
3
|
+
import { assert, BuildFailure } from "./asserts.mjs";
|
|
4
4
|
import { runAsync } from "./async.mjs";
|
|
5
|
-
import { BuildFailure } from "./failure.mjs";
|
|
6
5
|
import { Files } from "./files.mjs";
|
|
7
|
-
import { $gry, $p, logOptions } from "./
|
|
6
|
+
import { $gry, $p, logOptions } from "./logging.mjs";
|
|
8
7
|
import { requireFilename, resolveFile } from "./paths.mjs";
|
|
9
8
|
import { Context, install } from "./pipe.mjs";
|
|
10
9
|
var ForkingPlug = class {
|
|
11
|
-
constructor(_scriptFile, _arguments) {
|
|
10
|
+
constructor(_scriptFile, _arguments, _exportName) {
|
|
12
11
|
this._scriptFile = _scriptFile;
|
|
13
12
|
this._arguments = _arguments;
|
|
13
|
+
this._exportName = _exportName;
|
|
14
14
|
}
|
|
15
15
|
pipe(files, context) {
|
|
16
16
|
const message = {
|
|
17
17
|
scriptFile: this._scriptFile,
|
|
18
|
+
exportName: this._exportName,
|
|
18
19
|
constructorArgs: this._arguments,
|
|
19
20
|
taskName: context.taskName,
|
|
20
21
|
buildFile: context.buildFile,
|
|
@@ -93,6 +94,7 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
|
|
|
93
94
|
clearTimeout(timeout);
|
|
94
95
|
const {
|
|
95
96
|
scriptFile,
|
|
97
|
+
exportName,
|
|
96
98
|
constructorArgs,
|
|
97
99
|
taskName,
|
|
98
100
|
buildFile,
|
|
@@ -106,13 +108,16 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
|
|
|
106
108
|
const result = runAsync(context, taskName, async () => {
|
|
107
109
|
assert(resolveFile(scriptFile), `Script file ${$p(scriptFile)} not found`);
|
|
108
110
|
const script = await import(scriptFile);
|
|
109
|
-
let Ctor
|
|
110
|
-
|
|
111
|
-
Ctor =
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
`Script ${$p(scriptFile)} does not export a default constructor`
|
|
115
|
-
|
|
111
|
+
let Ctor;
|
|
112
|
+
if (exportName === "default") {
|
|
113
|
+
Ctor = script;
|
|
114
|
+
while (Ctor && typeof Ctor !== "function")
|
|
115
|
+
Ctor = Ctor.default;
|
|
116
|
+
assert(typeof Ctor === "function", `Script ${$p(scriptFile)} does not export a default constructor`);
|
|
117
|
+
} else {
|
|
118
|
+
Ctor = script[exportName];
|
|
119
|
+
assert(typeof Ctor === "function", `Script ${$p(scriptFile)} does not export "${exportName}"`);
|
|
120
|
+
}
|
|
116
121
|
const plug = new Ctor(...constructorArgs);
|
|
117
122
|
const files = Files.builder(filesDir).add(...filesList).build();
|
|
118
123
|
return plug.pipe(files, context);
|
|
@@ -137,10 +142,10 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
|
|
|
137
142
|
});
|
|
138
143
|
});
|
|
139
144
|
}
|
|
140
|
-
function installForking(plugName, scriptFile) {
|
|
145
|
+
function installForking(plugName, scriptFile, exportName = "default") {
|
|
141
146
|
const ctor = class extends ForkingPlug {
|
|
142
147
|
constructor(...args) {
|
|
143
|
-
super(scriptFile, args);
|
|
148
|
+
super(scriptFile, args, exportName);
|
|
144
149
|
}
|
|
145
150
|
};
|
|
146
151
|
install(plugName, ctor);
|
package/dist/fork.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/fork.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,YAAY;AAErB,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["message", "result"]
|
|
6
6
|
}
|
|
@@ -23,9 +23,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
23
23
|
));
|
|
24
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
25
|
|
|
26
|
-
//
|
|
27
|
-
var
|
|
28
|
-
__export(
|
|
26
|
+
// fs.ts
|
|
27
|
+
var fs_exports = {};
|
|
28
|
+
__export(fs_exports, {
|
|
29
29
|
access: () => access,
|
|
30
30
|
appendFile: () => appendFile,
|
|
31
31
|
chmod: () => chmod,
|
|
@@ -57,9 +57,9 @@ __export(asyncfs_exports, {
|
|
|
57
57
|
watch: () => watch,
|
|
58
58
|
writeFile: () => writeFile
|
|
59
59
|
});
|
|
60
|
-
module.exports = __toCommonJS(
|
|
61
|
-
var import_node_fs = require("node:fs");
|
|
60
|
+
module.exports = __toCommonJS(fs_exports);
|
|
62
61
|
var import_promises = __toESM(require("node:fs/promises"));
|
|
62
|
+
var import_node_fs = require("node:fs");
|
|
63
63
|
var fs = Object.entries(import_promises.default).reduce((fs2, [key, val]) => {
|
|
64
64
|
if (typeof val === "function") {
|
|
65
65
|
const f = function(...args) {
|
|
@@ -136,4 +136,4 @@ var fsConstants = import_node_fs.constants;
|
|
|
136
136
|
watch,
|
|
137
137
|
writeFile
|
|
138
138
|
});
|
|
139
|
-
//# sourceMappingURL=
|
|
139
|
+
//# sourceMappingURL=fs.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
3
|
+
"sources": ["../src/fs.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAgB;AAChB,qBAA0B;AA0B1B,IAAM,KAAK,OAAO,QAAQ,gBAAAA,OAAU,EAAE,OAAO,CAACC,KAAI,CAAE,KAAK,GAAI,MAAM;AACjE,MAAI,OAAO,QAAQ,YAAY;AAE7B,UAAM,IAAI,YAAY,MAAkB;AAEtC,aAAO,IAAI,MAAM,gBAAAD,SAAK,IAAI,EAAE,MAAM,CAAC,UAAe;AAEhD,cAAM,kBAAkB,KAAK;AAC7B,cAAM;AAAA,MACR,CAAC;AAAA,IACH;AAGA,WAAO,eAAe,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC;AAE/C,IAAAC,IAAG,OAAO;AAAA,EACZ;AAGA,SAAOA;AACT,GAAG,CAAC,CAAQ;AAIL,IAAM,SAAS,GAAG;AAClB,IAAM,WAAW,GAAG;AACpB,IAAM,KAAK,GAAG;AACd,IAAM,OAAO,GAAG;AAChB,IAAM,UAAU,GAAG;AACnB,IAAM,SAAS,GAAG;AAClB,IAAM,WAAW,GAAG;AACpB,IAAM,KAAK,GAAG;AACd,IAAM,QAAQ,GAAG;AACjB,IAAM,QAAQ,GAAG;AACjB,IAAM,UAAU,GAAG;AACnB,IAAM,WAAW,GAAG;AACpB,IAAM,UAAU,GAAG;AACnB,IAAM,QAAQ,GAAG;AACjB,IAAM,OAAO,GAAG;AAChB,IAAM,OAAO,GAAG;AAChB,IAAM,SAAS,GAAG;AAClB,IAAM,QAAQ,GAAG;AACjB,IAAM,SAAS,GAAG;AAClB,IAAM,SAAS,GAAG;AAClB,IAAM,QAAQ,GAAG;AACjB,IAAM,SAAS,GAAG;AAClB,IAAM,UAAU,GAAG;AACnB,IAAM,WAAW,GAAG;AACpB,IAAM,UAAU,GAAG;AACnB,IAAM,YAAY,GAAG;AACrB,IAAM,aAAa,GAAG;AACtB,IAAM,WAAW,GAAG;AACpB,IAAM,QAAQ,GAAG;AAGjB,IAAM,cAAc;",
|
|
5
5
|
"names": ["fsp", "fs"]
|
|
6
6
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
-
import { constants } from 'node:fs';
|
|
4
3
|
import fsp from 'node:fs/promises';
|
|
4
|
+
import { constants } from 'node:fs';
|
|
5
5
|
export declare const access: typeof fsp.access;
|
|
6
6
|
export declare const copyFile: typeof fsp.copyFile;
|
|
7
7
|
export declare const cp: typeof fsp.cp;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
//
|
|
2
|
-
import { constants } from "node:fs";
|
|
1
|
+
// fs.ts
|
|
3
2
|
import fsp from "node:fs/promises";
|
|
3
|
+
import { constants } from "node:fs";
|
|
4
4
|
var fs = Object.entries(fsp).reduce((fs2, [key, val]) => {
|
|
5
5
|
if (typeof val === "function") {
|
|
6
6
|
const f = function(...args) {
|
|
@@ -76,4 +76,4 @@ export {
|
|
|
76
76
|
watch,
|
|
77
77
|
writeFile
|
|
78
78
|
};
|
|
79
|
-
//# sourceMappingURL=
|
|
79
|
+
//# sourceMappingURL=fs.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
4
|
-
"mappings": ";AAAA,SAAS
|
|
3
|
+
"sources": ["../src/fs.ts"],
|
|
4
|
+
"mappings": ";AAAA,OAAO,SAAS;AAChB,SAAS,iBAAiB;AA0B1B,IAAM,KAAK,OAAO,QAAQ,GAAU,EAAE,OAAO,CAACA,KAAI,CAAE,KAAK,GAAI,MAAM;AACjE,MAAI,OAAO,QAAQ,YAAY;AAE7B,UAAM,IAAI,YAAY,MAAkB;AAEtC,aAAO,IAAI,MAAM,KAAK,IAAI,EAAE,MAAM,CAAC,UAAe;AAEhD,cAAM,kBAAkB,KAAK;AAC7B,cAAM;AAAA,MACR,CAAC;AAAA,IACH;AAGA,WAAO,eAAe,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC;AAE/C,IAAAA,IAAG,OAAO;AAAA,EACZ;AAGA,SAAOA;AACT,GAAG,CAAC,CAAQ;AAIL,IAAM,SAAS,GAAG;AAClB,IAAM,WAAW,GAAG;AACpB,IAAM,KAAK,GAAG;AACd,IAAM,OAAO,GAAG;AAChB,IAAM,UAAU,GAAG;AACnB,IAAM,SAAS,GAAG;AAClB,IAAM,WAAW,GAAG;AACpB,IAAM,KAAK,GAAG;AACd,IAAM,QAAQ,GAAG;AACjB,IAAM,QAAQ,GAAG;AACjB,IAAM,UAAU,GAAG;AACnB,IAAM,WAAW,GAAG;AACpB,IAAM,UAAU,GAAG;AACnB,IAAM,QAAQ,GAAG;AACjB,IAAM,OAAO,GAAG;AAChB,IAAM,OAAO,GAAG;AAChB,IAAM,SAAS,GAAG;AAClB,IAAM,QAAQ,GAAG;AACjB,IAAM,SAAS,GAAG;AAClB,IAAM,SAAS,GAAG;AAClB,IAAM,QAAQ,GAAG;AACjB,IAAM,SAAS,GAAG;AAClB,IAAM,UAAU,GAAG;AACnB,IAAM,WAAW,GAAG;AACpB,IAAM,UAAU,GAAG;AACnB,IAAM,YAAY,GAAG;AACrB,IAAM,aAAa,GAAG;AACtB,IAAM,WAAW,GAAG;AACpB,IAAM,QAAQ,GAAG;AAGjB,IAAM,cAAc;",
|
|
5
5
|
"names": ["fs"]
|
|
6
6
|
}
|
package/dist/helpers.cjs
CHANGED
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// helpers.ts
|
|
21
21
|
var helpers_exports = {};
|
|
22
22
|
__export(helpers_exports, {
|
|
23
|
+
exec: () => exec,
|
|
23
24
|
find: () => find,
|
|
24
25
|
isDirectory: () => isDirectory,
|
|
25
26
|
isFile: () => isFile,
|
|
@@ -29,19 +30,20 @@ __export(helpers_exports, {
|
|
|
29
30
|
rmrf: () => rmrf
|
|
30
31
|
});
|
|
31
32
|
module.exports = __toCommonJS(helpers_exports);
|
|
32
|
-
var
|
|
33
|
+
var import_asserts = require("./asserts.cjs");
|
|
33
34
|
var import_async = require("./async.cjs");
|
|
34
35
|
var import_files = require("./files.cjs");
|
|
35
|
-
var
|
|
36
|
+
var import_fs = require("./fs.cjs");
|
|
37
|
+
var import_logging = require("./logging.cjs");
|
|
36
38
|
var import_paths = require("./paths.cjs");
|
|
37
39
|
var import_pipe = require("./pipe.cjs");
|
|
38
|
-
var
|
|
40
|
+
var import_exec = require("./utils/exec.cjs");
|
|
39
41
|
var import_options = require("./utils/options.cjs");
|
|
40
42
|
var import_walk = require("./utils/walk.cjs");
|
|
41
43
|
function find(...args) {
|
|
42
44
|
const { params: globs, options } = (0, import_options.parseOptions)(args, {});
|
|
43
45
|
const context = (0, import_async.requireContext)();
|
|
44
|
-
return new import_pipe.
|
|
46
|
+
return new import_pipe.PipeImpl(context, Promise.resolve().then(async () => {
|
|
45
47
|
const directory = options.directory ? context.resolve(options.directory) : (0, import_paths.getCurrentWorkingDirectory)();
|
|
46
48
|
const builder = import_files.Files.builder(directory);
|
|
47
49
|
for await (const file of (0, import_walk.walk)(directory, globs, options)) {
|
|
@@ -53,27 +55,27 @@ function find(...args) {
|
|
|
53
55
|
async function rmrf(directory) {
|
|
54
56
|
const context = (0, import_async.requireContext)();
|
|
55
57
|
const dir = context.resolve(directory);
|
|
56
|
-
(0,
|
|
58
|
+
(0, import_asserts.assert)(
|
|
57
59
|
dir !== (0, import_paths.getCurrentWorkingDirectory)(),
|
|
58
|
-
`Cowardly refusing to wipe current working directory ${(0,
|
|
60
|
+
`Cowardly refusing to wipe current working directory ${(0, import_logging.$p)(dir)}`
|
|
59
61
|
);
|
|
60
|
-
(0,
|
|
62
|
+
(0, import_asserts.assert)(
|
|
61
63
|
dir !== context.resolve("@"),
|
|
62
|
-
`Cowardly refusing to wipe build file directory ${(0,
|
|
64
|
+
`Cowardly refusing to wipe build file directory ${(0, import_logging.$p)(dir)}`
|
|
63
65
|
);
|
|
64
66
|
if (!(0, import_paths.resolveDirectory)(dir)) {
|
|
65
|
-
|
|
67
|
+
import_logging.log.info("Directory", (0, import_logging.$p)(dir), "not found");
|
|
66
68
|
return;
|
|
67
69
|
}
|
|
68
|
-
|
|
69
|
-
await (0,
|
|
70
|
+
import_logging.log.notice("Removing directory", (0, import_logging.$p)(dir), "recursively");
|
|
71
|
+
await (0, import_fs.rm)(dir, { recursive: true });
|
|
70
72
|
}
|
|
71
73
|
function merge(pipes) {
|
|
72
74
|
const context = (0, import_async.requireContext)();
|
|
73
|
-
return new import_pipe.
|
|
75
|
+
return new import_pipe.PipeImpl(context, Promise.resolve().then(async () => {
|
|
74
76
|
if (pipes.length === 0)
|
|
75
77
|
return import_files.Files.builder((0, import_paths.getCurrentWorkingDirectory)()).build();
|
|
76
|
-
const results = await (0,
|
|
78
|
+
const results = await (0, import_asserts.assertPromises)(pipes);
|
|
77
79
|
const [firstDir, ...otherDirs] = results.map((f) => f.directory);
|
|
78
80
|
const directory = (0, import_paths.commonPath)(firstDir, ...otherDirs);
|
|
79
81
|
return import_files.Files.builder(directory).merge(...results).build();
|
|
@@ -82,7 +84,7 @@ function merge(pipes) {
|
|
|
82
84
|
function noop() {
|
|
83
85
|
const context = (0, import_async.requireContext)();
|
|
84
86
|
const files = new import_files.Files((0, import_paths.getCurrentWorkingDirectory)());
|
|
85
|
-
return new import_pipe.
|
|
87
|
+
return new import_pipe.PipeImpl(context, Promise.resolve(files));
|
|
86
88
|
}
|
|
87
89
|
function resolve(...paths) {
|
|
88
90
|
return (0, import_async.requireContext)().resolve(...paths);
|
|
@@ -95,8 +97,13 @@ function isDirectory(...paths) {
|
|
|
95
97
|
const path = (0, import_async.requireContext)().resolve(...paths);
|
|
96
98
|
return (0, import_paths.resolveDirectory)(path);
|
|
97
99
|
}
|
|
100
|
+
function exec(cmd, ...args) {
|
|
101
|
+
const { params, options } = (0, import_options.parseOptions)(args);
|
|
102
|
+
return (0, import_exec.execChild)(cmd, params, options, (0, import_async.requireContext)());
|
|
103
|
+
}
|
|
98
104
|
// Annotate the CommonJS export names for ESM import in node:
|
|
99
105
|
0 && (module.exports = {
|
|
106
|
+
exec,
|
|
100
107
|
find,
|
|
101
108
|
isDirectory,
|
|
102
109
|
isFile,
|
package/dist/helpers.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/helpers.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAuC;AACvC,mBAA+B;AAC/B,mBAAsB;AACtB,gBAAmB;AACnB,qBAAwB;AACxB,mBAAsF;AACtF,kBAAyB;AACzB,kBAA0B;AAC1B,qBAA6B;AAC7B,kBAAqB;AA2Bd,SAAS,QAAQ,MAAuC;AAC7D,QAAM,EAAE,QAAQ,OAAO,QAAQ,QAAI,6BAAa,MAAM,CAAC,CAAC;AAExD,QAAM,cAAU,6BAAe;AAC/B,SAAO,IAAI,qBAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAC9D,UAAM,YAAY,QAAQ,YACxB,QAAQ,QAAQ,QAAQ,SAAS,QACjC,yCAA2B;AAE7B,UAAM,UAAU,mBAAM,QAAQ,SAAS;AACvC,qBAAiB,YAAQ,kBAAK,WAAW,OAAO,OAAO,GAAG;AACxD,cAAQ,IAAI,IAAI;AAAA,IAClB;AAEA,WAAO,QAAQ,MAAM;AAAA,EACvB,CAAC,CAAC;AACJ;AAKA,eAAsB,KAAK,WAAkC;AAC3D,QAAM,cAAU,6BAAe;AAC/B,QAAM,MAAM,QAAQ,QAAQ,SAAS;AAErC;AAAA,IAAO,YAAQ,yCAA2B;AAAA,IACtC,2DAAuD,mBAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,QAAQ,QAAQ,GAAG;AAAA,IAC9B,sDAAkD,mBAAG,GAAG;AAAA,EAAG;AAE/D,MAAI,KAAE,+BAAiB,GAAG,GAAG;AAC3B,uBAAI,KAAK,iBAAa,mBAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,qBAAI,OAAO,0BAAsB,mBAAG,GAAG,GAAG,aAAa;AACvD,YAAM,cAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAiBO,SAAS,MAAM,OAAgD;AACpE,QAAM,cAAU,6BAAe;AAC/B,SAAO,IAAI,qBAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAE9D,QAAI,MAAM,WAAW;AAAG,aAAO,mBAAM,YAAQ,yCAA2B,CAAC,EAAE,MAAM;AAGjF,UAAM,UAAU,UAAM,+BAAsB,KAAK;AAGjD,UAAM,CAAE,aAAa,SAAU,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,SAAS;AACjE,UAAM,gBAAY,yBAAW,UAAW,GAAG,SAAS;AAGpD,WAAO,mBAAM,QAAQ,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM;AAAA,EAC1D,CAAC,CAAC;AACJ;AAgBO,SAAS,OAAa;AAC3B,QAAM,cAAU,6BAAe;AAC/B,QAAM,QAAQ,IAAI,uBAAM,yCAA2B,CAAC;AACpD,SAAO,IAAI,qBAAS,SAAS,QAAQ,QAAQ,KAAK,CAAC;AACrD;AAUO,SAAS,WAAW,OAA8C;AACvE,aAAO,6BAAe,EAAE,QAAQ,GAAG,KAAK;AAC1C;AAOO,SAAS,UAAU,OAA0D;AAClF,QAAM,WAAO,6BAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,aAAO,0BAAY,IAAI;AACzB;AAOO,SAAS,eAAe,OAA0D;AACvF,QAAM,WAAO,6BAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,aAAO,+BAAiB,IAAI;AAC9B;AAuBO,SAAS,KACZ,QACG,MACU;AACf,QAAM,EAAE,QAAQ,QAAQ,QAAI,6BAAa,IAAI;AAC7C,aAAO,uBAAU,KAAK,QAAQ,aAAS,6BAAe,CAAC;AACzD;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Files } from './files';
|
|
2
|
-
import { Pipe } from './
|
|
2
|
+
import type { Pipe } from './index';
|
|
3
3
|
import type { AbsolutePath } from './paths';
|
|
4
|
+
import type { ExecChildOptions } from './utils/exec';
|
|
4
5
|
import type { WalkOptions } from './utils/walk';
|
|
5
6
|
/** The {@link FindOptions} interface defines the options for finding files. */
|
|
6
7
|
export interface FindOptions extends WalkOptions {
|
|
@@ -71,3 +72,25 @@ export declare function isFile(...paths: [string, ...string[]]): AbsolutePath |
|
|
|
71
72
|
* See the comments on {@link resolve} to understand how paths are resolved.
|
|
72
73
|
*/
|
|
73
74
|
export declare function isDirectory(...paths: [string, ...string[]]): AbsolutePath | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Execute a command and await for its result from within a task.
|
|
77
|
+
*
|
|
78
|
+
* For example:
|
|
79
|
+
*
|
|
80
|
+
* ```
|
|
81
|
+
* import { exec } from '@plugjs/plugjs'
|
|
82
|
+
*
|
|
83
|
+
* export default build({
|
|
84
|
+
* async runme() {
|
|
85
|
+
* await exec('ls', '-la', '/')
|
|
86
|
+
* // or similarly letting the shell interpret the command
|
|
87
|
+
* await exec('ls -la /', { shell: true })
|
|
88
|
+
* },
|
|
89
|
+
* })
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* @param cmd The command to execute
|
|
93
|
+
* @param args Any additional argument for the command to execute
|
|
94
|
+
* @param options Extra {@link ExecChildOptions | options} for process execution
|
|
95
|
+
*/
|
|
96
|
+
export declare function exec(cmd: string, ...args: [...args: string[]] | [...args: string[], options: ExecChildOptions]): Promise<void>;
|
package/dist/helpers.mjs
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
// helpers.ts
|
|
2
|
-
import { assert, assertPromises } from "./
|
|
2
|
+
import { assert, assertPromises } from "./asserts.mjs";
|
|
3
3
|
import { requireContext } from "./async.mjs";
|
|
4
4
|
import { Files } from "./files.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { rm } from "./fs.mjs";
|
|
6
|
+
import { $p, log } from "./logging.mjs";
|
|
6
7
|
import { commonPath, getCurrentWorkingDirectory, resolveDirectory, resolveFile } from "./paths.mjs";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
8
|
+
import { PipeImpl } from "./pipe.mjs";
|
|
9
|
+
import { execChild } from "./utils/exec.mjs";
|
|
9
10
|
import { parseOptions } from "./utils/options.mjs";
|
|
10
11
|
import { walk } from "./utils/walk.mjs";
|
|
11
12
|
function find(...args) {
|
|
12
13
|
const { params: globs, options } = parseOptions(args, {});
|
|
13
14
|
const context = requireContext();
|
|
14
|
-
return new
|
|
15
|
+
return new PipeImpl(context, Promise.resolve().then(async () => {
|
|
15
16
|
const directory = options.directory ? context.resolve(options.directory) : getCurrentWorkingDirectory();
|
|
16
17
|
const builder = Files.builder(directory);
|
|
17
18
|
for await (const file of walk(directory, globs, options)) {
|
|
@@ -40,7 +41,7 @@ async function rmrf(directory) {
|
|
|
40
41
|
}
|
|
41
42
|
function merge(pipes) {
|
|
42
43
|
const context = requireContext();
|
|
43
|
-
return new
|
|
44
|
+
return new PipeImpl(context, Promise.resolve().then(async () => {
|
|
44
45
|
if (pipes.length === 0)
|
|
45
46
|
return Files.builder(getCurrentWorkingDirectory()).build();
|
|
46
47
|
const results = await assertPromises(pipes);
|
|
@@ -52,7 +53,7 @@ function merge(pipes) {
|
|
|
52
53
|
function noop() {
|
|
53
54
|
const context = requireContext();
|
|
54
55
|
const files = new Files(getCurrentWorkingDirectory());
|
|
55
|
-
return new
|
|
56
|
+
return new PipeImpl(context, Promise.resolve(files));
|
|
56
57
|
}
|
|
57
58
|
function resolve(...paths) {
|
|
58
59
|
return requireContext().resolve(...paths);
|
|
@@ -65,7 +66,12 @@ function isDirectory(...paths) {
|
|
|
65
66
|
const path = requireContext().resolve(...paths);
|
|
66
67
|
return resolveDirectory(path);
|
|
67
68
|
}
|
|
69
|
+
function exec(cmd, ...args) {
|
|
70
|
+
const { params, options } = parseOptions(args);
|
|
71
|
+
return execChild(cmd, params, options, requireContext());
|
|
72
|
+
}
|
|
68
73
|
export {
|
|
74
|
+
exec,
|
|
69
75
|
find,
|
|
70
76
|
isDirectory,
|
|
71
77
|
isFile,
|
package/dist/helpers.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/helpers.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,QAAQ,sBAAsB;AACvC,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,IAAI,WAAW;AACxB,SAAS,YAAY,4BAA4B,kBAAkB,mBAAmB;AACtF,SAAS,
|
|
4
|
+
"mappings": ";AAAA,SAAS,QAAQ,sBAAsB;AACvC,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,UAAU;AACnB,SAAS,IAAI,WAAW;AACxB,SAAS,YAAY,4BAA4B,kBAAkB,mBAAmB;AACtF,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AA2Bd,SAAS,QAAQ,MAAuC;AAC7D,QAAM,EAAE,QAAQ,OAAO,QAAQ,IAAI,aAAa,MAAM,CAAC,CAAC;AAExD,QAAM,UAAU,eAAe;AAC/B,SAAO,IAAI,SAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAC9D,UAAM,YAAY,QAAQ,YACxB,QAAQ,QAAQ,QAAQ,SAAS,IACjC,2BAA2B;AAE7B,UAAM,UAAU,MAAM,QAAQ,SAAS;AACvC,qBAAiB,QAAQ,KAAK,WAAW,OAAO,OAAO,GAAG;AACxD,cAAQ,IAAI,IAAI;AAAA,IAClB;AAEA,WAAO,QAAQ,MAAM;AAAA,EACvB,CAAC,CAAC;AACJ;AAKA,eAAsB,KAAK,WAAkC;AAC3D,QAAM,UAAU,eAAe;AAC/B,QAAM,MAAM,QAAQ,QAAQ,SAAS;AAErC;AAAA,IAAO,QAAQ,2BAA2B;AAAA,IACtC,uDAAuD,GAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,QAAQ,QAAQ,GAAG;AAAA,IAC9B,kDAAkD,GAAG,GAAG;AAAA,EAAG;AAE/D,MAAI,CAAE,iBAAiB,GAAG,GAAG;AAC3B,QAAI,KAAK,aAAa,GAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,MAAI,OAAO,sBAAsB,GAAG,GAAG,GAAG,aAAa;AACvD,QAAM,GAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAiBO,SAAS,MAAM,OAAgD;AACpE,QAAM,UAAU,eAAe;AAC/B,SAAO,IAAI,SAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAE9D,QAAI,MAAM,WAAW;AAAG,aAAO,MAAM,QAAQ,2BAA2B,CAAC,EAAE,MAAM;AAGjF,UAAM,UAAU,MAAM,eAAsB,KAAK;AAGjD,UAAM,CAAE,aAAa,SAAU,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,SAAS;AACjE,UAAM,YAAY,WAAW,UAAW,GAAG,SAAS;AAGpD,WAAO,MAAM,QAAQ,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM;AAAA,EAC1D,CAAC,CAAC;AACJ;AAgBO,SAAS,OAAa;AAC3B,QAAM,UAAU,eAAe;AAC/B,QAAM,QAAQ,IAAI,MAAM,2BAA2B,CAAC;AACpD,SAAO,IAAI,SAAS,SAAS,QAAQ,QAAQ,KAAK,CAAC;AACrD;AAUO,SAAS,WAAW,OAA8C;AACvE,SAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC1C;AAOO,SAAS,UAAU,OAA0D;AAClF,QAAM,OAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,SAAO,YAAY,IAAI;AACzB;AAOO,SAAS,eAAe,OAA0D;AACvF,QAAM,OAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,SAAO,iBAAiB,IAAI;AAC9B;AAuBO,SAAS,KACZ,QACG,MACU;AACf,QAAM,EAAE,QAAQ,QAAQ,IAAI,aAAa,IAAI;AAC7C,SAAO,UAAU,KAAK,QAAQ,SAAS,eAAe,CAAC;AACzD;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|