@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/plugs/exec.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/exec.ts"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,kBAAwB;AACxB,qBAA6B;AAC7B,kBAA0B;AAAA,IA4E1B,qBAAQ,QAAQ,MAAM,KAA4B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EAEjB,eAAe,MAA8B;AAC3C,UAAM,EAAE,QAAQ,QAAQ,QAAI,6BAAa,MAAM,CAAC,CAAC;AACjD,UAAM,CAAE,SAAS,KAAM,IAAI;AAC3B,SAAK,OAAO;AACZ,SAAK,QAAQ;AACb,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,MAAM,KAAK,OAAc,SAAkC;AACzD,UAAM,EAAE,gBAAgB,SAAS,QAAQ,IAAI,KAAK;AAElD,QAAI,CAAE,QAAQ;AAAK,cAAQ,MAAM,MAAM;AAGvC,UAAM,SAAS,CAAE,GAAI,gBAAgB,QAAQ,MAAM,cAAc,CAAI;AAGrE,QAAI,QAAQ;AAAO,aAAO,QAAQ,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC;AAGvE,cAAM,uBAAU,KAAK,MAAM,CAAE,GAAG,KAAK,OAAO,GAAG,MAAO,GAAG,SAAS,OAAO;AAGzE,WAAO;AAAA,EACT;AACF,CAAC;",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
package/dist/plugs/exec.d.ts
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
|
+
import type { ExecChildOptions } from '../utils/exec';
|
|
1
2
|
/** Options for executing scripts */
|
|
2
|
-
export interface ExecOptions {
|
|
3
|
-
/** Extra environment variables, or overrides for existing ones */
|
|
4
|
-
env?: Record<string, any>;
|
|
5
|
-
/** Whether to run in the context of a _shell_ or not */
|
|
6
|
-
shell?: string | boolean;
|
|
3
|
+
export interface ExecOptions extends ExecChildOptions {
|
|
7
4
|
/**
|
|
8
5
|
* The current working directory of the process to execute.
|
|
9
6
|
*
|
|
10
|
-
* Defaults to the current {@link Files.directory | Files' directory}
|
|
11
|
-
* used as a {@link Plug} or `process.cwd()` when used from {@link exec}.
|
|
7
|
+
* Defaults to the current {@link Files.directory | Files' directory}.
|
|
12
8
|
*/
|
|
13
9
|
cwd?: string;
|
|
14
10
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
11
|
+
* Whether the {@link Files} will be appended to the current arguments as
|
|
12
|
+
* _relative_ files (default or `true`) or _absolute_ (if `false`).
|
|
17
13
|
*/
|
|
18
14
|
relativePaths?: boolean;
|
|
19
15
|
}
|
|
20
|
-
declare module '../
|
|
16
|
+
declare module '../index' {
|
|
21
17
|
interface Pipe {
|
|
22
18
|
/**
|
|
23
19
|
* Execute a shell command, adding to its _arguments_ the list of files
|
|
@@ -66,25 +62,3 @@ declare module '../pipe' {
|
|
|
66
62
|
exec(cmd: string, ...extra: [...args: string[], options: ExecOptions]): Pipe;
|
|
67
63
|
}
|
|
68
64
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Execute a command and await for its result from within a task.
|
|
71
|
-
*
|
|
72
|
-
* For example:
|
|
73
|
-
*
|
|
74
|
-
* ```
|
|
75
|
-
* import { exec } from '@plugjs/plugjs'
|
|
76
|
-
*
|
|
77
|
-
* export default build({
|
|
78
|
-
* async runme() {
|
|
79
|
-
* await exec('ls', '-la', '/')
|
|
80
|
-
* // or similarly letting the shell interpret the command
|
|
81
|
-
* await exec('ls -la /', { shell: true })
|
|
82
|
-
* },
|
|
83
|
-
* })
|
|
84
|
-
* ```
|
|
85
|
-
*
|
|
86
|
-
* @param cmd The command to execute
|
|
87
|
-
* @param args Any additional argument for the command to execute
|
|
88
|
-
* @param options Extra {@link ExecOptions | options} for process execution
|
|
89
|
-
*/
|
|
90
|
-
export declare function exec(cmd: string, ...args: [...args: string[]] | [...args: string[], options: ExecOptions]): Promise<void>;
|
package/dist/plugs/exec.mjs
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
// plugs/exec.ts
|
|
2
|
-
import { spawn } from "node:child_process";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
import reaadline from "node:readline";
|
|
5
|
-
import { assert } from "../assert.mjs";
|
|
6
|
-
import { requireContext } from "../async.mjs";
|
|
7
|
-
import { $p, logOptions } from "../log.mjs";
|
|
8
|
-
import { getCurrentWorkingDirectory, resolveDirectory } from "../paths.mjs";
|
|
9
2
|
import { install } from "../pipe.mjs";
|
|
10
3
|
import { parseOptions } from "../utils/options.mjs";
|
|
4
|
+
import { execChild } from "../utils/exec.mjs";
|
|
11
5
|
install("exec", class Exec {
|
|
12
6
|
_cmd;
|
|
13
7
|
_args;
|
|
@@ -26,68 +20,8 @@ install("exec", class Exec {
|
|
|
26
20
|
const params = [...relativePaths ? files : files.absolutePaths()];
|
|
27
21
|
if (options.shell)
|
|
28
22
|
params.forEach((s, i, a) => a[i] = JSON.stringify(s));
|
|
29
|
-
await
|
|
23
|
+
await execChild(this._cmd, [...this._args, ...params], options, context);
|
|
30
24
|
return files;
|
|
31
25
|
}
|
|
32
26
|
});
|
|
33
|
-
function exec(cmd, ...args) {
|
|
34
|
-
const { params, options } = parseOptions(args);
|
|
35
|
-
return spawnChild(cmd, params, options, requireContext());
|
|
36
|
-
}
|
|
37
|
-
async function spawnChild(cmd, args, options = {}, context) {
|
|
38
|
-
const {
|
|
39
|
-
env = {},
|
|
40
|
-
shell = false,
|
|
41
|
-
cwd = void 0,
|
|
42
|
-
...extraOptions
|
|
43
|
-
} = options;
|
|
44
|
-
const childCwd = cwd ? context.resolve(cwd) : getCurrentWorkingDirectory();
|
|
45
|
-
assert(resolveDirectory(childCwd), `Current working directory ${$p(childCwd)} does not exist`);
|
|
46
|
-
const childPaths = [];
|
|
47
|
-
const baseNodePath = context.resolve("@node_modules", ".bin");
|
|
48
|
-
if (resolveDirectory(baseNodePath))
|
|
49
|
-
childPaths.push(baseNodePath);
|
|
50
|
-
const buildNodePath = context.resolve("./node_modules", ".bin");
|
|
51
|
-
if (resolveDirectory(buildNodePath))
|
|
52
|
-
childPaths.push(buildNodePath);
|
|
53
|
-
const extraPath = env.PATH || process.env.PATH;
|
|
54
|
-
if (extraPath)
|
|
55
|
-
childPaths.push(extraPath);
|
|
56
|
-
const PATH = childPaths.join(path.delimiter);
|
|
57
|
-
const __LOG_OPTIONS = JSON.stringify(logOptions.fork(context.taskName));
|
|
58
|
-
const childEnv = { ...process.env, ...env, PATH, __LOG_OPTIONS };
|
|
59
|
-
const childOptions = {
|
|
60
|
-
...extraOptions,
|
|
61
|
-
stdio: ["ignore", "pipe", "pipe"],
|
|
62
|
-
cwd: childCwd,
|
|
63
|
-
env: childEnv,
|
|
64
|
-
shell
|
|
65
|
-
};
|
|
66
|
-
context.log.info("Executing", [cmd, ...args]);
|
|
67
|
-
context.log.info("Execution options", childOptions);
|
|
68
|
-
const child = spawn(cmd, args, childOptions);
|
|
69
|
-
if (child.stdout) {
|
|
70
|
-
const out = reaadline.createInterface(child.stdout);
|
|
71
|
-
out.on("line", (line) => line ? context.log.notice(line) : context.log.notice("\xA0"));
|
|
72
|
-
}
|
|
73
|
-
if (child.stderr) {
|
|
74
|
-
const err = reaadline.createInterface(child.stderr);
|
|
75
|
-
err.on("line", (line) => line ? context.log.warn(line) : context.log.warn("\xA0"));
|
|
76
|
-
}
|
|
77
|
-
return new Promise((resolve, reject) => {
|
|
78
|
-
child.on("error", (error) => reject(error));
|
|
79
|
-
child.on("exit", (code, signal) => {
|
|
80
|
-
if (code === 0)
|
|
81
|
-
return resolve();
|
|
82
|
-
if (signal)
|
|
83
|
-
return reject(new Error(`Child process exited with signal ${signal}`));
|
|
84
|
-
if (code)
|
|
85
|
-
return reject(new Error(`Child process exited with code ${code}`));
|
|
86
|
-
reject(new Error("Child process failed for an unknown reason"));
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
export {
|
|
91
|
-
exec
|
|
92
|
-
};
|
|
93
27
|
//# sourceMappingURL=exec.mjs.map
|
package/dist/plugs/exec.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/exec.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,
|
|
4
|
+
"mappings": ";AAAA,SAAS,eAAe;AACxB,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AA4E1B,QAAQ,QAAQ,MAAM,KAA4B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EAEjB,eAAe,MAA8B;AAC3C,UAAM,EAAE,QAAQ,QAAQ,IAAI,aAAa,MAAM,CAAC,CAAC;AACjD,UAAM,CAAE,SAAS,KAAM,IAAI;AAC3B,SAAK,OAAO;AACZ,SAAK,QAAQ;AACb,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,MAAM,KAAK,OAAc,SAAkC;AACzD,UAAM,EAAE,gBAAgB,SAAS,QAAQ,IAAI,KAAK;AAElD,QAAI,CAAE,QAAQ;AAAK,cAAQ,MAAM,MAAM;AAGvC,UAAM,SAAS,CAAE,GAAI,gBAAgB,QAAQ,MAAM,cAAc,CAAI;AAGrE,QAAI,QAAQ;AAAO,aAAO,QAAQ,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC;AAGvE,UAAM,UAAU,KAAK,MAAM,CAAE,GAAG,KAAK,OAAO,GAAG,MAAO,GAAG,SAAS,OAAO;AAGzE,WAAO;AAAA,EACT;AACF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/filter.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export interface FilterOptions extends MatchOptions {
|
|
|
4
4
|
/** The base directory for filtering, and relativising the resulting files. */
|
|
5
5
|
directory?: string;
|
|
6
6
|
}
|
|
7
|
-
declare module '../
|
|
7
|
+
declare module '../index' {
|
|
8
8
|
interface Pipe {
|
|
9
9
|
/**
|
|
10
10
|
* Filter the current {@link Files} using globs.
|
package/dist/plugs/rmf.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
// plugs/rmf.ts
|
|
4
|
-
var
|
|
4
|
+
var import_fs = require("../fs.cjs");
|
|
5
|
+
var import_logging = require("../logging.cjs");
|
|
5
6
|
var import_pipe = require("../pipe.cjs");
|
|
6
|
-
var import_asyncfs = require("../utils/asyncfs.cjs");
|
|
7
7
|
(0, import_pipe.install)("rmf", class Rmf {
|
|
8
8
|
_dryRun;
|
|
9
9
|
constructor(dryRun) {
|
|
@@ -12,12 +12,12 @@ var import_asyncfs = require("../utils/asyncfs.cjs");
|
|
|
12
12
|
async pipe(files, context) {
|
|
13
13
|
if (this._dryRun) {
|
|
14
14
|
for (const file of files.absolutePaths()) {
|
|
15
|
-
context.log.notice("Not removing file", (0,
|
|
15
|
+
context.log.notice("Not removing file", (0, import_logging.$p)(file), (0, import_logging.$gry)("(dry-run)"));
|
|
16
16
|
}
|
|
17
17
|
} else {
|
|
18
18
|
for (const file of files.absolutePaths()) {
|
|
19
|
-
context.log.notice("Removing file", (0,
|
|
20
|
-
await (0,
|
|
19
|
+
context.log.notice("Removing file", (0, import_logging.$p)(file));
|
|
20
|
+
await (0, import_fs.rm)(file);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
}
|
package/dist/plugs/rmf.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/rmf.ts"],
|
|
4
|
-
"mappings": ";;;AAAA,
|
|
4
|
+
"mappings": ";;;AAAA,gBAAmB;AACnB,qBAAyB;AACzB,kBAAwB;AAAA,IAiBxB,qBAAQ,OAAO,MAAM,IAA0B;AAAA,EAC5B;AAAA,EAGjB,YAAY,QAAkB;AAC5B,SAAK,UAAU,CAAC,CAAE;AAAA,EACpB;AAAA,EAEA,MAAM,KAAK,OAAc,SAAiC;AACxD,QAAI,KAAK,SAAS;AAChB,iBAAW,QAAQ,MAAM,cAAc,GAAG;AACxC,gBAAQ,IAAI,OAAO,yBAAqB,mBAAG,IAAI,OAAG,qBAAK,WAAW,CAAC;AAAA,MACrE;AAAA,IACF,OAAO;AACL,iBAAW,QAAQ,MAAM,cAAc,GAAG;AACxC,gBAAQ,IAAI,OAAO,qBAAiB,mBAAG,IAAI,CAAC;AAC5C,kBAAM,cAAG,IAAI;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/rmf.d.ts
CHANGED
package/dist/plugs/rmf.mjs
CHANGED
|
@@ -4,9 +4,9 @@ var __commonJS = (cb, mod) => function __require() {
|
|
|
4
4
|
};
|
|
5
5
|
|
|
6
6
|
// plugs/rmf.ts
|
|
7
|
-
import {
|
|
7
|
+
import { rm } from "../fs.mjs";
|
|
8
|
+
import { $gry, $p } from "../logging.mjs";
|
|
8
9
|
import { install } from "../pipe.mjs";
|
|
9
|
-
import { rm } from "../utils/asyncfs.mjs";
|
|
10
10
|
var require_rmf = __commonJS({
|
|
11
11
|
"plugs/rmf.ts"() {
|
|
12
12
|
install("rmf", class Rmf {
|
package/dist/plugs/rmf.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/rmf.ts"],
|
|
4
|
-
"mappings": ";;;;;;AAAA,SAAS,MAAM,UAAU;AACzB,SAAS,eAAe;
|
|
4
|
+
"mappings": ";;;;;;AAAA,SAAS,UAAU;AACnB,SAAS,MAAM,UAAU;AACzB,SAAS,eAAe;AAFxB;AAAA;AAmBA,YAAQ,OAAO,MAAM,IAA0B;AAAA,MAC5B;AAAA,MAGjB,YAAY,QAAkB;AAC5B,aAAK,UAAU,CAAC,CAAE;AAAA,MACpB;AAAA,MAEA,MAAM,KAAK,OAAc,SAAiC;AACxD,YAAI,KAAK,SAAS;AAChB,qBAAW,QAAQ,MAAM,cAAc,GAAG;AACxC,oBAAQ,IAAI,OAAO,qBAAqB,GAAG,IAAI,GAAG,KAAK,WAAW,CAAC;AAAA,UACrE;AAAA,QACF,OAAO;AACL,qBAAW,QAAQ,MAAM,cAAc,GAAG;AACxC,oBAAQ,IAAI,OAAO,iBAAiB,GAAG,IAAI,CAAC;AAC5C,kBAAM,GAAG,IAAI;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs.cjs
CHANGED
|
@@ -17,12 +17,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
17
17
|
// plugs.ts
|
|
18
18
|
var plugs_exports = {};
|
|
19
19
|
module.exports = __toCommonJS(plugs_exports);
|
|
20
|
-
__reExport(plugs_exports, require("./plugs/eslint.cjs"), module.exports);
|
|
21
|
-
__reExport(plugs_exports, require("./plugs/mocha.cjs"), module.exports);
|
|
22
|
-
__reExport(plugs_exports, require("./plugs/tsc.cjs"), module.exports);
|
|
23
20
|
__reExport(plugs_exports, require("./plugs/copy.cjs"), module.exports);
|
|
24
|
-
__reExport(plugs_exports, require("./plugs/coverage.cjs"), module.exports);
|
|
25
21
|
__reExport(plugs_exports, require("./plugs/debug.cjs"), module.exports);
|
|
22
|
+
__reExport(plugs_exports, require("./plugs/edit.cjs"), module.exports);
|
|
26
23
|
__reExport(plugs_exports, require("./plugs/esbuild.cjs"), module.exports);
|
|
27
24
|
__reExport(plugs_exports, require("./plugs/exec.cjs"), module.exports);
|
|
28
25
|
__reExport(plugs_exports, require("./plugs/filter.cjs"), module.exports);
|
package/dist/plugs.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/plugs.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,6BAAd;AACA,0BAAc,8BADd;AAEA,0BAAc,6BAFd;AAGA,0BAAc,gCAHd;AAIA,0BAAc,6BAJd;AAKA,0BAAc,+BALd;AAMA,0BAAc,4BANd;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
export * from './plugs/eslint';
|
|
2
|
-
export * from './plugs/mocha';
|
|
3
|
-
export * from './plugs/tsc';
|
|
4
1
|
export * from './plugs/copy';
|
|
5
|
-
export * from './plugs/coverage';
|
|
6
2
|
export * from './plugs/debug';
|
|
3
|
+
export * from './plugs/edit';
|
|
7
4
|
export * from './plugs/esbuild';
|
|
8
5
|
export * from './plugs/exec';
|
|
9
6
|
export * from './plugs/filter';
|
package/dist/plugs.mjs
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
// plugs.ts
|
|
2
|
-
export * from "./plugs/eslint.mjs";
|
|
3
|
-
export * from "./plugs/mocha.mjs";
|
|
4
|
-
export * from "./plugs/tsc.mjs";
|
|
5
2
|
export * from "./plugs/copy.mjs";
|
|
6
|
-
export * from "./plugs/coverage.mjs";
|
|
7
3
|
export * from "./plugs/debug.mjs";
|
|
4
|
+
export * from "./plugs/edit.mjs";
|
|
8
5
|
export * from "./plugs/esbuild.mjs";
|
|
9
6
|
export * from "./plugs/exec.mjs";
|
|
10
7
|
export * from "./plugs/filter.mjs";
|
package/dist/plugs.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/plugs.ts"],
|
|
4
|
-
"mappings": ";
|
|
4
|
+
"mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Files } from './files';
|
|
2
2
|
import type { AbsolutePath } from './paths';
|
|
3
|
-
import type { Pipe } from './
|
|
3
|
+
import type { Pipe } from './index';
|
|
4
4
|
/**
|
|
5
5
|
* A type describing the ultimate result of a {@link Plug}, {@link Pipe} or
|
|
6
6
|
* {@link Task}, that is either a {@link Files} instance or `undefined`.
|
package/dist/utils/caller.cjs
CHANGED
|
@@ -25,14 +25,17 @@ __export(caller_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(caller_exports);
|
|
26
26
|
var import_node_fs = require("node:fs");
|
|
27
27
|
var import_node_url = require("node:url");
|
|
28
|
-
var
|
|
29
|
-
var
|
|
28
|
+
var import_asserts = require("../asserts.cjs");
|
|
29
|
+
var import_logging = require("../logging.cjs");
|
|
30
30
|
var import_paths = require("../paths.cjs");
|
|
31
31
|
function findCaller(of) {
|
|
32
32
|
const oldPrepareStackTrace = Error.prepareStackTrace;
|
|
33
33
|
try {
|
|
34
34
|
Error.prepareStackTrace = (_, stackTraces) => {
|
|
35
|
-
const
|
|
35
|
+
const [stackTrace] = stackTraces;
|
|
36
|
+
if (!stackTrace)
|
|
37
|
+
return;
|
|
38
|
+
const nullableFileOrUrl = stackTrace.getFileName();
|
|
36
39
|
if (!nullableFileOrUrl)
|
|
37
40
|
return;
|
|
38
41
|
const file2 = nullableFileOrUrl.startsWith("file:/") ? (0, import_node_url.fileURLToPath)(nullableFileOrUrl) : nullableFileOrUrl;
|
|
@@ -42,8 +45,8 @@ function findCaller(of) {
|
|
|
42
45
|
const record = {};
|
|
43
46
|
Error.captureStackTrace(record, of);
|
|
44
47
|
const file = record.stack;
|
|
45
|
-
(0,
|
|
46
|
-
(0,
|
|
48
|
+
(0, import_asserts.assert)(file, "Unable to determine build file name");
|
|
49
|
+
(0, import_asserts.assert)((0, import_node_fs.statSync)(file).isFile(), `Build file ${(0, import_logging.$p)(file)} not found`);
|
|
47
50
|
return file;
|
|
48
51
|
} finally {
|
|
49
52
|
Error.prepareStackTrace = oldPrepareStackTrace;
|
|
@@ -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;AAE9B,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAyB;AACzB,sBAA8B;AAE9B,qBAAuB;AACvB,qBAAmB;AACnB,mBAAmC;AAI5B,SAAS,WAAW,IAA2C;AACpE,QAAM,uBAAuB,MAAM;AAEnC,MAAI;AACF,UAAM,oBAAoB,CAAC,GAAG,gBAA0C;AACtE,YAAM,CAAE,UAAW,IAAI;AACvB,UAAI,CAAE;AAAY;AAElB,YAAM,oBAAoB,WAAW,YAAY;AACjD,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,+BAAO,MAAM,qCAAqC;AAClD,mCAAO,yBAAS,IAAI,EAAE,OAAO,GAAG,kBAAc,mBAAG,IAAI,aAAa;AAClE,WAAO;AAAA,EACT,UAAE;AACA,UAAM,oBAAoB;AAAA,EAC5B;AACF;",
|
|
5
5
|
"names": ["file"]
|
|
6
6
|
}
|
package/dist/utils/caller.mjs
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
// utils/caller.ts
|
|
2
2
|
import { statSync } from "node:fs";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { assert } from "../
|
|
5
|
-
import { $p } from "../
|
|
4
|
+
import { assert } from "../asserts.mjs";
|
|
5
|
+
import { $p } from "../logging.mjs";
|
|
6
6
|
import { assertAbsolutePath } from "../paths.mjs";
|
|
7
7
|
function findCaller(of) {
|
|
8
8
|
const oldPrepareStackTrace = Error.prepareStackTrace;
|
|
9
9
|
try {
|
|
10
10
|
Error.prepareStackTrace = (_, stackTraces) => {
|
|
11
|
-
const
|
|
11
|
+
const [stackTrace] = stackTraces;
|
|
12
|
+
if (!stackTrace)
|
|
13
|
+
return;
|
|
14
|
+
const nullableFileOrUrl = stackTrace.getFileName();
|
|
12
15
|
if (!nullableFileOrUrl)
|
|
13
16
|
return;
|
|
14
17
|
const file2 = nullableFileOrUrl.startsWith("file:/") ? fileURLToPath(nullableFileOrUrl) : nullableFileOrUrl;
|
|
@@ -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;AAE9B,SAAS,cAAc;AACvB,SAAS,UAAU;AACnB,SAAS,0BAA0B;AAI5B,SAAS,WAAW,IAA2C;AACpE,QAAM,uBAAuB,MAAM;AAEnC,MAAI;AACF,UAAM,oBAAoB,CAAC,GAAG,gBAA0C;AACtE,YAAM,oBAAoB,
|
|
4
|
+
"mappings": ";AAAA,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAE9B,SAAS,cAAc;AACvB,SAAS,UAAU;AACnB,SAAS,0BAA0B;AAI5B,SAAS,WAAW,IAA2C;AACpE,QAAM,uBAAuB,MAAM;AAEnC,MAAI;AACF,UAAM,oBAAoB,CAAC,GAAG,gBAA0C;AACtE,YAAM,CAAE,UAAW,IAAI;AACvB,UAAI,CAAE;AAAY;AAElB,YAAM,oBAAoB,WAAW,YAAY;AACjD,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
5
|
"names": ["file"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
|
|
26
|
+
// utils/exec.ts
|
|
27
|
+
var exec_exports = {};
|
|
28
|
+
__export(exec_exports, {
|
|
29
|
+
execChild: () => execChild
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(exec_exports);
|
|
32
|
+
var import_node_path = __toESM(require("node:path"));
|
|
33
|
+
var import_node_readline = __toESM(require("node:readline"));
|
|
34
|
+
var import_node_child_process = require("node:child_process");
|
|
35
|
+
var import_asserts = require("../asserts.cjs");
|
|
36
|
+
var import_logging = require("../logging.cjs");
|
|
37
|
+
var import_paths = require("../paths.cjs");
|
|
38
|
+
async function execChild(cmd, args, options = {}, context) {
|
|
39
|
+
const {
|
|
40
|
+
env = {},
|
|
41
|
+
fork = false,
|
|
42
|
+
shell = false,
|
|
43
|
+
cwd = void 0,
|
|
44
|
+
coverageDir,
|
|
45
|
+
...extraOptions
|
|
46
|
+
} = options;
|
|
47
|
+
const childCwd = cwd ? context.resolve(cwd) : (0, import_paths.getCurrentWorkingDirectory)();
|
|
48
|
+
(0, import_asserts.assert)((0, import_paths.resolveDirectory)(childCwd), `Current working directory ${(0, import_logging.$p)(childCwd)} does not exist`);
|
|
49
|
+
(0, import_asserts.assert)(!(fork && shell), 'Options "fork" and "shell" can not coexist');
|
|
50
|
+
const childPaths = [];
|
|
51
|
+
const baseNodePath = context.resolve("@node_modules", ".bin");
|
|
52
|
+
if ((0, import_paths.resolveDirectory)(baseNodePath))
|
|
53
|
+
childPaths.push(baseNodePath);
|
|
54
|
+
const buildNodePath = context.resolve("./node_modules", ".bin");
|
|
55
|
+
if ((0, import_paths.resolveDirectory)(buildNodePath))
|
|
56
|
+
childPaths.push(buildNodePath);
|
|
57
|
+
const extraPath = env.PATH || process.env.PATH;
|
|
58
|
+
if (extraPath)
|
|
59
|
+
childPaths.push(extraPath);
|
|
60
|
+
const PATH = childPaths.join(import_node_path.default.delimiter);
|
|
61
|
+
const __LOG_OPTIONS = JSON.stringify(import_logging.logOptions.fork(context.taskName));
|
|
62
|
+
const childEnv = { ...process.env, ...env, PATH, __LOG_OPTIONS };
|
|
63
|
+
if (coverageDir)
|
|
64
|
+
childEnv.NODE_V8_COVERAGE = context.resolve(coverageDir);
|
|
65
|
+
const childOptions = {
|
|
66
|
+
...extraOptions,
|
|
67
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
68
|
+
cwd: childCwd,
|
|
69
|
+
env: childEnv,
|
|
70
|
+
shell
|
|
71
|
+
};
|
|
72
|
+
if (fork)
|
|
73
|
+
childOptions.stdio = ["ignore", "pipe", "pipe", "ipc"];
|
|
74
|
+
context.log.info("Executing", [cmd, ...args]);
|
|
75
|
+
context.log.info("Execution options", childOptions);
|
|
76
|
+
const child = fork ? (0, import_node_child_process.fork)(cmd, args, childOptions) : (0, import_node_child_process.spawn)(cmd, args, childOptions);
|
|
77
|
+
if (child.stdout) {
|
|
78
|
+
const out = import_node_readline.default.createInterface(child.stdout);
|
|
79
|
+
out.on("line", (line) => line ? context.log.notice(line) : context.log.notice("\xA0"));
|
|
80
|
+
}
|
|
81
|
+
if (child.stderr) {
|
|
82
|
+
const err = import_node_readline.default.createInterface(child.stderr);
|
|
83
|
+
err.on("line", (line) => line ? context.log.warn(line) : context.log.warn("\xA0"));
|
|
84
|
+
}
|
|
85
|
+
return new Promise((resolve, reject) => {
|
|
86
|
+
child.on("error", (error) => reject(error));
|
|
87
|
+
child.on("exit", (code, signal) => {
|
|
88
|
+
if (code === 0)
|
|
89
|
+
return resolve();
|
|
90
|
+
if (signal)
|
|
91
|
+
return reject(import_asserts.BuildFailure.withMessage(`Child process exited with signal ${signal}`));
|
|
92
|
+
if (code)
|
|
93
|
+
return reject(import_asserts.BuildFailure.withMessage(`Child process exited with code ${code}`));
|
|
94
|
+
reject(import_asserts.BuildFailure.withMessage("Child process failed for an unknown reason"));
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
99
|
+
0 && (module.exports = {
|
|
100
|
+
execChild
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=exec.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/exec.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAiB;AACjB,2BAAsB;AACtB,gCAA2D;AAE3D,qBAAqC;AACrC,qBAA+B;AAC/B,mBAA6D;AAoB7D,eAAsB,UAClB,KACA,MACA,UAA4B,CAAC,GAC7B,SACa;AACf,QAAM;AAAA,IACJ,MAAM,CAAC;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN;AAAA,OACG;AAAA,EACL,IAAI;AAEJ,QAAM,WAAW,MAAM,QAAQ,QAAQ,GAAG,QAAI,yCAA2B;AACzE,iCAAO,+BAAiB,QAAQ,GAAG,iCAA6B,mBAAG,QAAQ,kBAAkB;AAG7F,6BAAO,EAAE,QAAQ,QAAQ,4CAA4C;AAGrE,QAAM,aAA6B,CAAC;AAGpC,QAAM,eAAe,QAAQ,QAAQ,iBAAiB,MAAM;AAC5D,UAAI,+BAAiB,YAAY;AAAG,eAAW,KAAK,YAAY;AAGhE,QAAM,gBAAgB,QAAQ,QAAQ,kBAAkB,MAAM;AAC9D,UAAI,+BAAiB,aAAa;AAAG,eAAW,KAAK,aAAa;AAGlE,QAAM,YAAY,IAAI,QAAQ,QAAQ,IAAI;AAC1C,MAAI;AAAW,eAAW,KAAK,SAAS;AAGxC,QAAM,OAAO,WAAW,KAAK,iBAAAA,QAAK,SAAS;AAC3C,QAAM,gBAAgB,KAAK,UAAU,0BAAW,KAAK,QAAQ,QAAQ,CAAC;AACtE,QAAM,WAAmC,EAAE,GAAG,QAAQ,KAAK,GAAG,KAAK,MAAM,cAAc;AAGvF,MAAI;AAAa,aAAS,mBAAmB,QAAQ,QAAQ,WAAW;AAGxE,QAAM,eAA6B;AAAA,IACjC,GAAG;AAAA,IACH,OAAO,CAAE,UAAU,QAAQ,MAAO;AAAA,IAClC,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AAAA,EACF;AAGA,MAAI;AAAM,iBAAa,QAAQ,CAAE,UAAU,QAAQ,QAAQ,KAAM;AAGjE,UAAQ,IAAI,KAAK,aAAa,CAAE,KAAK,GAAG,IAAK,CAAC;AAC9C,UAAQ,IAAI,KAAK,qBAAqB,YAAY;AAClD,QAAM,QAAQ,WACZ,0BAAAC,MAAY,KAAK,MAAM,YAAY,QACnC,0BAAAC,OAAa,KAAK,MAAM,YAAY;AAGtC,MAAI,MAAM,QAAQ;AAChB,UAAM,MAAM,qBAAAC,QAAU,gBAAgB,MAAM,MAAM;AAClD,QAAI,GAAG,QAAQ,CAAC,SAAS,OAAO,QAAQ,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,OAAO,MAAQ,CAAC;AAAA,EACzF;AAGA,MAAI,MAAM,QAAQ;AAChB,UAAM,MAAM,qBAAAA,QAAU,gBAAgB,MAAM,MAAM;AAClD,QAAI,GAAG,QAAQ,CAAC,SAAS,OAAO,QAAQ,IAAI,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,MAAQ,CAAC;AAAA,EACrF;AAGA,SAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,UAAM,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAC1C,UAAM,GAAG,QAAQ,CAAC,MAAM,WAAW;AACjC,UAAI,SAAS;AAAG,eAAO,QAAQ;AAC/B,UAAI;AAAQ,eAAO,OAAO,4BAAa,YAAY,oCAAoC,QAAQ,CAAC;AAChG,UAAI;AAAM,eAAO,OAAO,4BAAa,YAAY,kCAAkC,MAAM,CAAC;AAC1F,aAAO,4BAAa,YAAY,4CAA4C,CAAC;AAAA,IAC/E,CAAC;AAAA,EACH,CAAC;AACH;",
|
|
5
|
+
"names": ["path", "forkProcess", "spawnProcess", "reaadline"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Context } from '../pipe';
|
|
2
|
+
/** Options for executing scripts */
|
|
3
|
+
export interface ExecChildOptions {
|
|
4
|
+
/** Specify the directory where coverage data will be saved */
|
|
5
|
+
coverageDir?: string;
|
|
6
|
+
/** Extra environment variables, or overrides for existing ones */
|
|
7
|
+
env?: Record<string, any>;
|
|
8
|
+
/** Whether to _fork_ the process (argument is a javascript file) or not */
|
|
9
|
+
fork?: boolean;
|
|
10
|
+
/** Whether to run the command in a shell (optionally name the shell) */
|
|
11
|
+
shell?: string | boolean;
|
|
12
|
+
/** The current working directory of the process to execute. */
|
|
13
|
+
cwd?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function execChild(cmd: string, args: readonly string[], options: ExecChildOptions | undefined, context: Context): Promise<void>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// utils/exec.ts
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import reaadline from "node:readline";
|
|
4
|
+
import { fork as forkProcess, spawn as spawnProcess } from "node:child_process";
|
|
5
|
+
import { assert, BuildFailure } from "../asserts.mjs";
|
|
6
|
+
import { $p, logOptions } from "../logging.mjs";
|
|
7
|
+
import { getCurrentWorkingDirectory, resolveDirectory } from "../paths.mjs";
|
|
8
|
+
async function execChild(cmd, args, options = {}, context) {
|
|
9
|
+
const {
|
|
10
|
+
env = {},
|
|
11
|
+
fork = false,
|
|
12
|
+
shell = false,
|
|
13
|
+
cwd = void 0,
|
|
14
|
+
coverageDir,
|
|
15
|
+
...extraOptions
|
|
16
|
+
} = options;
|
|
17
|
+
const childCwd = cwd ? context.resolve(cwd) : getCurrentWorkingDirectory();
|
|
18
|
+
assert(resolveDirectory(childCwd), `Current working directory ${$p(childCwd)} does not exist`);
|
|
19
|
+
assert(!(fork && shell), 'Options "fork" and "shell" can not coexist');
|
|
20
|
+
const childPaths = [];
|
|
21
|
+
const baseNodePath = context.resolve("@node_modules", ".bin");
|
|
22
|
+
if (resolveDirectory(baseNodePath))
|
|
23
|
+
childPaths.push(baseNodePath);
|
|
24
|
+
const buildNodePath = context.resolve("./node_modules", ".bin");
|
|
25
|
+
if (resolveDirectory(buildNodePath))
|
|
26
|
+
childPaths.push(buildNodePath);
|
|
27
|
+
const extraPath = env.PATH || process.env.PATH;
|
|
28
|
+
if (extraPath)
|
|
29
|
+
childPaths.push(extraPath);
|
|
30
|
+
const PATH = childPaths.join(path.delimiter);
|
|
31
|
+
const __LOG_OPTIONS = JSON.stringify(logOptions.fork(context.taskName));
|
|
32
|
+
const childEnv = { ...process.env, ...env, PATH, __LOG_OPTIONS };
|
|
33
|
+
if (coverageDir)
|
|
34
|
+
childEnv.NODE_V8_COVERAGE = context.resolve(coverageDir);
|
|
35
|
+
const childOptions = {
|
|
36
|
+
...extraOptions,
|
|
37
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
38
|
+
cwd: childCwd,
|
|
39
|
+
env: childEnv,
|
|
40
|
+
shell
|
|
41
|
+
};
|
|
42
|
+
if (fork)
|
|
43
|
+
childOptions.stdio = ["ignore", "pipe", "pipe", "ipc"];
|
|
44
|
+
context.log.info("Executing", [cmd, ...args]);
|
|
45
|
+
context.log.info("Execution options", childOptions);
|
|
46
|
+
const child = fork ? forkProcess(cmd, args, childOptions) : spawnProcess(cmd, args, childOptions);
|
|
47
|
+
if (child.stdout) {
|
|
48
|
+
const out = reaadline.createInterface(child.stdout);
|
|
49
|
+
out.on("line", (line) => line ? context.log.notice(line) : context.log.notice("\xA0"));
|
|
50
|
+
}
|
|
51
|
+
if (child.stderr) {
|
|
52
|
+
const err = reaadline.createInterface(child.stderr);
|
|
53
|
+
err.on("line", (line) => line ? context.log.warn(line) : context.log.warn("\xA0"));
|
|
54
|
+
}
|
|
55
|
+
return new Promise((resolve, reject) => {
|
|
56
|
+
child.on("error", (error) => reject(error));
|
|
57
|
+
child.on("exit", (code, signal) => {
|
|
58
|
+
if (code === 0)
|
|
59
|
+
return resolve();
|
|
60
|
+
if (signal)
|
|
61
|
+
return reject(BuildFailure.withMessage(`Child process exited with signal ${signal}`));
|
|
62
|
+
if (code)
|
|
63
|
+
return reject(BuildFailure.withMessage(`Child process exited with code ${code}`));
|
|
64
|
+
reject(BuildFailure.withMessage("Child process failed for an unknown reason"));
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
export {
|
|
69
|
+
execChild
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=exec.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/exec.ts"],
|
|
4
|
+
"mappings": ";AAAA,OAAO,UAAU;AACjB,OAAO,eAAe;AACtB,SAAS,QAAQ,aAAa,SAAS,oBAAoB;AAE3D,SAAS,QAAQ,oBAAoB;AACrC,SAAS,IAAI,kBAAkB;AAC/B,SAAS,4BAA4B,wBAAwB;AAoB7D,eAAsB,UAClB,KACA,MACA,UAA4B,CAAC,GAC7B,SACa;AACf,QAAM;AAAA,IACJ,MAAM,CAAC;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN;AAAA,OACG;AAAA,EACL,IAAI;AAEJ,QAAM,WAAW,MAAM,QAAQ,QAAQ,GAAG,IAAI,2BAA2B;AACzE,SAAO,iBAAiB,QAAQ,GAAG,6BAA6B,GAAG,QAAQ,kBAAkB;AAG7F,SAAO,EAAE,QAAQ,QAAQ,4CAA4C;AAGrE,QAAM,aAA6B,CAAC;AAGpC,QAAM,eAAe,QAAQ,QAAQ,iBAAiB,MAAM;AAC5D,MAAI,iBAAiB,YAAY;AAAG,eAAW,KAAK,YAAY;AAGhE,QAAM,gBAAgB,QAAQ,QAAQ,kBAAkB,MAAM;AAC9D,MAAI,iBAAiB,aAAa;AAAG,eAAW,KAAK,aAAa;AAGlE,QAAM,YAAY,IAAI,QAAQ,QAAQ,IAAI;AAC1C,MAAI;AAAW,eAAW,KAAK,SAAS;AAGxC,QAAM,OAAO,WAAW,KAAK,KAAK,SAAS;AAC3C,QAAM,gBAAgB,KAAK,UAAU,WAAW,KAAK,QAAQ,QAAQ,CAAC;AACtE,QAAM,WAAmC,EAAE,GAAG,QAAQ,KAAK,GAAG,KAAK,MAAM,cAAc;AAGvF,MAAI;AAAa,aAAS,mBAAmB,QAAQ,QAAQ,WAAW;AAGxE,QAAM,eAA6B;AAAA,IACjC,GAAG;AAAA,IACH,OAAO,CAAE,UAAU,QAAQ,MAAO;AAAA,IAClC,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AAAA,EACF;AAGA,MAAI;AAAM,iBAAa,QAAQ,CAAE,UAAU,QAAQ,QAAQ,KAAM;AAGjE,UAAQ,IAAI,KAAK,aAAa,CAAE,KAAK,GAAG,IAAK,CAAC;AAC9C,UAAQ,IAAI,KAAK,qBAAqB,YAAY;AAClD,QAAM,QAAQ,OACZ,YAAY,KAAK,MAAM,YAAY,IACnC,aAAa,KAAK,MAAM,YAAY;AAGtC,MAAI,MAAM,QAAQ;AAChB,UAAM,MAAM,UAAU,gBAAgB,MAAM,MAAM;AAClD,QAAI,GAAG,QAAQ,CAAC,SAAS,OAAO,QAAQ,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,OAAO,MAAQ,CAAC;AAAA,EACzF;AAGA,MAAI,MAAM,QAAQ;AAChB,UAAM,MAAM,UAAU,gBAAgB,MAAM,MAAM;AAClD,QAAI,GAAG,QAAQ,CAAC,SAAS,OAAO,QAAQ,IAAI,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,MAAQ,CAAC;AAAA,EACrF;AAGA,SAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,UAAM,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAC1C,UAAM,GAAG,QAAQ,CAAC,MAAM,WAAW;AACjC,UAAI,SAAS;AAAG,eAAO,QAAQ;AAC/B,UAAI;AAAQ,eAAO,OAAO,aAAa,YAAY,oCAAoC,QAAQ,CAAC;AAChG,UAAI;AAAM,eAAO,OAAO,aAAa,YAAY,kCAAkC,MAAM,CAAC;AAC1F,aAAO,aAAa,YAAY,4CAA4C,CAAC;AAAA,IAC/E,CAAC;AAAA,EACH,CAAC;AACH;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|