@plugjs/plug 0.3.5 → 0.4.1
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/asserts.cjs +10 -12
- package/dist/asserts.cjs.map +1 -1
- package/dist/asserts.d.ts +1 -2
- package/dist/asserts.mjs +9 -10
- package/dist/asserts.mjs.map +1 -1
- package/dist/async.cjs +5 -20
- package/dist/async.cjs.map +2 -2
- package/dist/async.mjs +5 -20
- package/dist/async.mjs.map +2 -2
- package/dist/build.cjs +113 -64
- package/dist/build.cjs.map +2 -2
- package/dist/build.d.ts +9 -7
- package/dist/build.mjs +110 -63
- package/dist/build.mjs.map +2 -2
- package/dist/cli.d.mts +12 -0
- package/dist/cli.mjs +266 -0
- package/dist/cli.mjs.map +6 -0
- package/dist/files.cjs +5 -3
- package/dist/files.cjs.map +1 -1
- package/dist/files.d.ts +2 -1
- package/dist/files.mjs +11 -4
- package/dist/files.mjs.map +1 -1
- package/dist/fork.cjs +30 -12
- package/dist/fork.cjs.map +1 -1
- package/dist/fork.d.ts +10 -0
- package/dist/fork.mjs +31 -13
- package/dist/fork.mjs.map +1 -1
- package/dist/helpers.cjs +32 -13
- package/dist/helpers.cjs.map +2 -2
- package/dist/helpers.d.ts +12 -0
- package/dist/helpers.mjs +37 -14
- package/dist/helpers.mjs.map +2 -2
- package/dist/index.cjs +5 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +4 -1
- package/dist/index.mjs.map +1 -1
- package/dist/logging/emit.cjs +4 -4
- package/dist/logging/emit.cjs.map +1 -1
- package/dist/logging/emit.mjs +4 -4
- package/dist/logging/emit.mjs.map +1 -1
- package/dist/logging/logger.cjs +43 -2
- package/dist/logging/logger.cjs.map +1 -1
- package/dist/logging/logger.d.ts +36 -3
- package/dist/logging/logger.mjs +43 -3
- package/dist/logging/logger.mjs.map +1 -1
- package/dist/logging/options.cjs +8 -12
- package/dist/logging/options.cjs.map +1 -1
- package/dist/logging/options.d.ts +44 -1
- package/dist/logging/options.mjs +8 -12
- package/dist/logging/options.mjs.map +1 -1
- package/dist/logging.cjs +14 -3
- package/dist/logging.cjs.map +1 -1
- package/dist/logging.d.ts +2 -0
- package/dist/logging.mjs +13 -3
- package/dist/logging.mjs.map +1 -1
- package/dist/plugs/build.cjs +63 -0
- package/dist/plugs/build.cjs.map +6 -0
- package/dist/plugs/build.d.ts +13 -0
- package/dist/plugs/build.mjs +37 -0
- package/dist/plugs/build.mjs.map +6 -0
- package/dist/plugs/debug.cjs +7 -9
- package/dist/plugs/debug.cjs.map +1 -1
- package/dist/plugs/debug.mjs +8 -10
- package/dist/plugs/debug.mjs.map +1 -1
- package/dist/types.cjs +12 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.ts +35 -9
- package/dist/types.mjs +5 -0
- package/dist/types.mjs.map +2 -2
- package/dist/utils/diff.cjs +1 -4
- package/dist/utils/diff.cjs.map +1 -1
- package/dist/utils/diff.mjs +1 -4
- package/dist/utils/diff.mjs.map +1 -1
- package/dist/utils/exec.cjs +5 -12
- package/dist/utils/exec.cjs.map +2 -2
- package/dist/utils/exec.d.ts +0 -2
- package/dist/utils/exec.mjs +6 -13
- package/dist/utils/exec.mjs.map +1 -1
- package/dist/utils/{types.cjs → singleton.cjs} +14 -13
- package/dist/utils/singleton.cjs.map +6 -0
- package/dist/utils/singleton.d.ts +12 -0
- package/dist/utils/singleton.mjs +13 -0
- package/dist/utils/singleton.mjs.map +6 -0
- package/dist/utils.cjs +2 -2
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.mjs +1 -1
- package/package.json +7 -9
- package/src/asserts.ts +10 -12
- package/src/async.ts +6 -29
- package/src/build.ts +169 -106
- package/{extra/plug.mts → src/cli.mts} +115 -141
- package/src/files.ts +14 -6
- package/src/fork.ts +42 -16
- package/src/helpers.ts +56 -5
- package/src/index.ts +2 -1
- package/src/logging/emit.ts +4 -4
- package/src/logging/logger.ts +60 -7
- package/src/logging/options.ts +9 -14
- package/src/logging.ts +20 -5
- package/src/plugs/build.ts +45 -0
- package/src/plugs/debug.ts +10 -9
- package/src/types.ts +54 -23
- package/src/utils/diff.ts +1 -6
- package/src/utils/exec.ts +6 -20
- package/src/utils/singleton.ts +19 -0
- package/src/utils.ts +1 -1
- package/cli/plug.mjs +0 -1385
- package/cli/ts-loader.mjs +0 -275
- package/cli/tsrun.mjs +0 -1204
- package/dist/utils/types.cjs.map +0 -6
- package/dist/utils/types.d.ts +0 -4
- package/dist/utils/types.mjs +0 -12
- package/dist/utils/types.mjs.map +0 -6
- package/extra/ts-loader.mts +0 -546
- package/extra/tsrun.mts +0 -127
- package/extra/utils.ts +0 -150
- package/src/utils/types.ts +0 -11
package/dist/files.mjs
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
// files.ts
|
|
2
|
+
import { inspect } from "node:util";
|
|
2
3
|
import { assert } from "./asserts.mjs";
|
|
3
4
|
import { mkdir, writeFile } from "./fs.mjs";
|
|
4
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
assertRelativeChildPath,
|
|
7
|
+
getAbsoluteParent,
|
|
8
|
+
getCurrentWorkingDirectory,
|
|
9
|
+
resolveAbsolutePath
|
|
10
|
+
} from "./paths.mjs";
|
|
5
11
|
var Files = class {
|
|
6
12
|
_directory;
|
|
7
13
|
_files;
|
|
@@ -10,10 +16,9 @@ var Files = class {
|
|
|
10
16
|
* relative to the specified {@link Run}'s directory.
|
|
11
17
|
*/
|
|
12
18
|
constructor(directory) {
|
|
13
|
-
this._directory = directory;
|
|
19
|
+
this._directory = directory || getCurrentWorkingDirectory();
|
|
14
20
|
this._files = [];
|
|
15
|
-
|
|
16
|
-
Object.defineProperty(this, inspect, { value: () => ({
|
|
21
|
+
Object.defineProperty(this, inspect.custom, { value: () => ({
|
|
17
22
|
directory: this._directory,
|
|
18
23
|
files: [...this._files]
|
|
19
24
|
}) });
|
|
@@ -42,6 +47,8 @@ var Files = class {
|
|
|
42
47
|
yield [file, resolveAbsolutePath(this._directory, file)];
|
|
43
48
|
}
|
|
44
49
|
static builder(arg) {
|
|
50
|
+
if (!arg)
|
|
51
|
+
arg = getCurrentWorkingDirectory();
|
|
45
52
|
const directory = typeof arg === "string" ? arg : arg.directory;
|
|
46
53
|
const set = typeof arg === "string" ? /* @__PURE__ */ new Set() : new Set(arg._files);
|
|
47
54
|
const instance = new Files(directory);
|
package/dist/files.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/files.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,OAAO,iBAAiB;AACjC,
|
|
4
|
+
"mappings": ";AAAA,SAAS,eAAe;AAExB,SAAS,cAAc;AACvB,SAAS,OAAO,iBAAiB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA8BA,IAAM,QAAN,MAAY;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjB,YAAY,WAA0B;AACpC,SAAK,aAAa,aAAa,2BAA2B;AAC1D,SAAK,SAAS,CAAC;AAGf,WAAO,eAAe,MAAM,QAAQ,QAAQ,EAAE,OAAO,OAAO;AAAA,MAC1D,WAAW,KAAK;AAAA,MAChB,OAAO,CAAE,GAAG,KAAK,MAAO;AAAA,IAC1B,GAAG,CAAC;AAAA,EACN;AAAA;AAAA,EAGA,IAAI,YAA0B;AAC5B,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,IAAI,SAAiB;AACnB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA;AAAA,EAGA,EAAG,OAAO,QAAQ,IAAuB;AACvC,eAAW,QAAQ,KAAK;AAAQ,YAAM;AAAA,EACxC;AAAA;AAAA,EAGA,CAAE,gBAAyC;AACzC,eAAW,QAAQ;AAAM,YAAM,oBAAoB,KAAK,YAAY,IAAI;AAAA,EAC1E;AAAA;AAAA,EAGA,CAAE,eAAwE;AACxE,eAAW,QAAQ;AAAM,YAAM,CAAE,MAAM,oBAAoB,KAAK,YAAY,IAAI,CAAE;AAAA,EACpF;AAAA,EAMA,OAAO,QAAQ,KAA0C;AACvD,QAAI,CAAE;AAAK,YAAM,2BAA2B;AAC5C,UAAM,YAAY,OAAO,QAAQ,WAAW,MAAM,IAAI;AACtD,UAAM,MAAM,OAAO,QAAQ,WAAW,oBAAI,IAAY,IAAI,IAAI,IAAI,IAAI,MAAM;AAE5E,UAAM,WAAW,IAAI,MAAM,SAAS;AACpC,QAAI,QAAQ;AAEZ,WAAO;AAAA,MACL,WAAW,SAAS;AAAA,MAEpB,OAAO,OAA+B;AACpC,eAAO,CAAE,OAAO,sCAAsC;AAEtD,mBAAW,QAAQ,OAAO;AACxB,gBAAM,WAAW,wBAAwB,SAAS,WAAW,IAAI;AACjE,cAAI,IAAI,QAAQ;AAAA,QAClB;AAEA,eAAO;AAAA,MACT;AAAA,MAEA,SAAS,MAA6B;AACpC,eAAO,CAAE,OAAO,sCAAsC;AAEtD,mBAAW,SAAS,MAAM;AACxB,qBAAW,QAAQ,MAAM,cAAc,GAAG;AACxC,iBAAK,IAAI,IAAI;AAAA,UACf;AAAA,QACF;AAEA,eAAO;AAAA,MACT;AAAA,MAEA,MAAM,MAAM,MAAc,SAAqD;AAC7E,cAAM,WAAW,wBAAwB,SAAS,WAAW,IAAI;AACjE,cAAM,WAAW,oBAAoB,SAAS,WAAW,QAAQ;AACjE,cAAMA,aAAY,kBAAkB,QAAQ;AAE5C,cAAM,MAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAC1C,cAAM,UAAU,UAAU,OAAO;AACjC,aAAK,IAAI,QAAQ;AAEjB,eAAO;AAAA,MACT;AAAA,MAEA,QAAe;AACb,eAAO,CAAE,OAAO,sCAAsC;AAEtD,gBAAQ;AACR,iBAAS,OAAO,KAAK,GAAG,GAAG;AAC3B,iBAAS,OAAO,KAAK;AACrB,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;",
|
|
5
5
|
"names": ["directory"]
|
|
6
6
|
}
|
package/dist/fork.cjs
CHANGED
|
@@ -58,6 +58,10 @@ var ForkingPlug = class {
|
|
|
58
58
|
const dir = env.NODE_V8_COVERAGE = context.resolve(this._arguments[i].coverageDir);
|
|
59
59
|
context.log.debug("Forked process will produce coverage in", (0, import_logging.$p)(dir));
|
|
60
60
|
}
|
|
61
|
+
if (typeof this._arguments[i].forceModule === "string") {
|
|
62
|
+
const force = env.__TS_LOADER_FORCE_TYPE = this._arguments[i].forceModule;
|
|
63
|
+
context.log.debug("Forked process will force module type as", (0, import_logging.$p)(force));
|
|
64
|
+
}
|
|
61
65
|
}
|
|
62
66
|
}
|
|
63
67
|
const child = (0, import_node_child_process.fork)(script, {
|
|
@@ -72,22 +76,22 @@ var ForkingPlug = class {
|
|
|
72
76
|
return new Promise((resolve, reject) => {
|
|
73
77
|
let response = void 0;
|
|
74
78
|
child.on("error", (error) => {
|
|
75
|
-
context.log.error("
|
|
79
|
+
context.log.error("Forked plug process error", error);
|
|
76
80
|
return done || reject(import_asserts.BuildFailure.fail());
|
|
77
81
|
});
|
|
78
82
|
child.on("message", (message) => {
|
|
79
|
-
context.log.debug("Message from
|
|
83
|
+
context.log.debug("Message from forked plug process with PID", child.pid, message);
|
|
80
84
|
response = message;
|
|
81
85
|
});
|
|
82
86
|
child.on("exit", (code, signal) => {
|
|
83
87
|
if (signal) {
|
|
84
|
-
context.log.error(`
|
|
88
|
+
context.log.error(`Forked plug process exited with signal ${signal}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
|
|
85
89
|
return done || reject(import_asserts.BuildFailure.fail());
|
|
86
90
|
} else if (code !== 0) {
|
|
87
|
-
context.log.error(`
|
|
91
|
+
context.log.error(`Forked plug process exited with code ${code}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
|
|
88
92
|
return done || reject(import_asserts.BuildFailure.fail());
|
|
89
93
|
} else if (!response) {
|
|
90
|
-
context.log.error("
|
|
94
|
+
context.log.error("Forked plug process exited with no result", (0, import_logging.$gry)(`(pid=${child.pid})`));
|
|
91
95
|
return done || reject(import_asserts.BuildFailure.fail());
|
|
92
96
|
} else if (response.failed) {
|
|
93
97
|
return done || reject(import_asserts.BuildFailure.fail());
|
|
@@ -97,22 +101,34 @@ var ForkingPlug = class {
|
|
|
97
101
|
try {
|
|
98
102
|
const result = child.send(request, (error) => {
|
|
99
103
|
if (error) {
|
|
100
|
-
context.log.error("Error sending message to
|
|
104
|
+
context.log.error("Error sending message to forked plug process (callback failure)", error);
|
|
101
105
|
reject(import_asserts.BuildFailure.fail());
|
|
102
106
|
}
|
|
103
107
|
});
|
|
104
108
|
if (!result) {
|
|
105
|
-
context.log.error("Error sending message to
|
|
109
|
+
context.log.error("Error sending message to forked plug process (send returned false)");
|
|
106
110
|
reject(import_asserts.BuildFailure.fail());
|
|
107
111
|
}
|
|
108
112
|
} catch (error) {
|
|
109
|
-
context.log.error("Error sending message to
|
|
113
|
+
context.log.error("Error sending message to forked plug process (exception caught)", error);
|
|
110
114
|
reject(import_asserts.BuildFailure.fail());
|
|
111
115
|
}
|
|
112
116
|
}).finally(() => done = true);
|
|
113
117
|
}
|
|
114
118
|
};
|
|
115
119
|
if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process.send) {
|
|
120
|
+
process.on("uncaughtException", (error, origin) => {
|
|
121
|
+
console.error(
|
|
122
|
+
(0, import_logging.$red)("\n= UNCAUGHT EXCEPTION ========================================="),
|
|
123
|
+
`
|
|
124
|
+
Error (${origin}):`,
|
|
125
|
+
error,
|
|
126
|
+
`
|
|
127
|
+
Node.js ${process.version} (pid=${process.pid})
|
|
128
|
+
`
|
|
129
|
+
);
|
|
130
|
+
process.nextTick(() => process.exit(3));
|
|
131
|
+
});
|
|
116
132
|
const timeout = setTimeout(() => {
|
|
117
133
|
console.error("Fork not initialized in 5 seconds");
|
|
118
134
|
process.exit(2);
|
|
@@ -163,14 +179,16 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
|
|
|
163
179
|
promise.then(() => {
|
|
164
180
|
context.log.debug("Forked plug exiting");
|
|
165
181
|
process.disconnect();
|
|
182
|
+
process.exitCode = 0;
|
|
183
|
+
}, (error) => {
|
|
184
|
+
console.log("\n\nError sending message back to parent process", error);
|
|
185
|
+
process.exitCode = 1;
|
|
186
|
+
}).finally(() => {
|
|
187
|
+
import_logging.logOptions.output.end();
|
|
166
188
|
setTimeout(() => {
|
|
167
189
|
console.log("\n\nProcess %d for %s did not exit in 5 seconds", process.pid, exportName);
|
|
168
190
|
process.exit(2);
|
|
169
191
|
}, 5e3).unref();
|
|
170
|
-
process.exitCode = 0;
|
|
171
|
-
}, (error) => {
|
|
172
|
-
console.log("\n\nError sending message back to parent process", error);
|
|
173
|
-
process.exit(1);
|
|
174
192
|
});
|
|
175
193
|
});
|
|
176
194
|
}
|
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,qBAAqC;AACrC,mBAAyB;AACzB,mBAAsB;AACtB,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["result", "message"]
|
|
6
6
|
}
|
package/dist/fork.d.ts
CHANGED
|
@@ -2,6 +2,16 @@ import { Files } from './files';
|
|
|
2
2
|
import { Context } from './pipe';
|
|
3
3
|
import type { AbsolutePath } from './paths';
|
|
4
4
|
import type { Plug, PlugName, PlugResult } from './pipe';
|
|
5
|
+
/**
|
|
6
|
+
* Options accepted by {@link ForkingPlug}'s instrumenting how the process
|
|
7
|
+
* will be spawned (environment variables to be passed to the child process).
|
|
8
|
+
*/
|
|
9
|
+
export interface ForkOptions {
|
|
10
|
+
/** The directory where coverage data will be saved */
|
|
11
|
+
coverageDir?: string;
|
|
12
|
+
/** Force the specified module type when dynamically transpiling TypeScript */
|
|
13
|
+
forceModule?: 'commonjs' | 'module';
|
|
14
|
+
}
|
|
5
15
|
/** Fork data, from parent to child process */
|
|
6
16
|
export interface ForkData {
|
|
7
17
|
/** Script name for the Plug to execute */
|
package/dist/fork.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { fork } from "node:child_process";
|
|
|
3
3
|
import { assert, BuildFailure } from "./asserts.mjs";
|
|
4
4
|
import { runAsync } from "./async.mjs";
|
|
5
5
|
import { Files } from "./files.mjs";
|
|
6
|
-
import { $gry, $p, logOptions } from "./logging.mjs";
|
|
6
|
+
import { $gry, $p, $red, logOptions } from "./logging.mjs";
|
|
7
7
|
import { requireFilename, resolveFile } from "./paths.mjs";
|
|
8
8
|
import { Context, install } from "./pipe.mjs";
|
|
9
9
|
var ForkingPlug = class {
|
|
@@ -33,6 +33,10 @@ var ForkingPlug = class {
|
|
|
33
33
|
const dir = env.NODE_V8_COVERAGE = context.resolve(this._arguments[i].coverageDir);
|
|
34
34
|
context.log.debug("Forked process will produce coverage in", $p(dir));
|
|
35
35
|
}
|
|
36
|
+
if (typeof this._arguments[i].forceModule === "string") {
|
|
37
|
+
const force = env.__TS_LOADER_FORCE_TYPE = this._arguments[i].forceModule;
|
|
38
|
+
context.log.debug("Forked process will force module type as", $p(force));
|
|
39
|
+
}
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
42
|
const child = fork(script, {
|
|
@@ -47,22 +51,22 @@ var ForkingPlug = class {
|
|
|
47
51
|
return new Promise((resolve, reject) => {
|
|
48
52
|
let response = void 0;
|
|
49
53
|
child.on("error", (error) => {
|
|
50
|
-
context.log.error("
|
|
54
|
+
context.log.error("Forked plug process error", error);
|
|
51
55
|
return done || reject(BuildFailure.fail());
|
|
52
56
|
});
|
|
53
57
|
child.on("message", (message) => {
|
|
54
|
-
context.log.debug("Message from
|
|
58
|
+
context.log.debug("Message from forked plug process with PID", child.pid, message);
|
|
55
59
|
response = message;
|
|
56
60
|
});
|
|
57
61
|
child.on("exit", (code, signal) => {
|
|
58
62
|
if (signal) {
|
|
59
|
-
context.log.error(`
|
|
63
|
+
context.log.error(`Forked plug process exited with signal ${signal}`, $gry(`(pid=${child.pid})`));
|
|
60
64
|
return done || reject(BuildFailure.fail());
|
|
61
65
|
} else if (code !== 0) {
|
|
62
|
-
context.log.error(`
|
|
66
|
+
context.log.error(`Forked plug process exited with code ${code}`, $gry(`(pid=${child.pid})`));
|
|
63
67
|
return done || reject(BuildFailure.fail());
|
|
64
68
|
} else if (!response) {
|
|
65
|
-
context.log.error("
|
|
69
|
+
context.log.error("Forked plug process exited with no result", $gry(`(pid=${child.pid})`));
|
|
66
70
|
return done || reject(BuildFailure.fail());
|
|
67
71
|
} else if (response.failed) {
|
|
68
72
|
return done || reject(BuildFailure.fail());
|
|
@@ -72,22 +76,34 @@ var ForkingPlug = class {
|
|
|
72
76
|
try {
|
|
73
77
|
const result = child.send(request, (error) => {
|
|
74
78
|
if (error) {
|
|
75
|
-
context.log.error("Error sending message to
|
|
79
|
+
context.log.error("Error sending message to forked plug process (callback failure)", error);
|
|
76
80
|
reject(BuildFailure.fail());
|
|
77
81
|
}
|
|
78
82
|
});
|
|
79
83
|
if (!result) {
|
|
80
|
-
context.log.error("Error sending message to
|
|
84
|
+
context.log.error("Error sending message to forked plug process (send returned false)");
|
|
81
85
|
reject(BuildFailure.fail());
|
|
82
86
|
}
|
|
83
87
|
} catch (error) {
|
|
84
|
-
context.log.error("Error sending message to
|
|
88
|
+
context.log.error("Error sending message to forked plug process (exception caught)", error);
|
|
85
89
|
reject(BuildFailure.fail());
|
|
86
90
|
}
|
|
87
91
|
}).finally(() => done = true);
|
|
88
92
|
}
|
|
89
93
|
};
|
|
90
94
|
if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
|
|
95
|
+
process.on("uncaughtException", (error, origin) => {
|
|
96
|
+
console.error(
|
|
97
|
+
$red("\n= UNCAUGHT EXCEPTION ========================================="),
|
|
98
|
+
`
|
|
99
|
+
Error (${origin}):`,
|
|
100
|
+
error,
|
|
101
|
+
`
|
|
102
|
+
Node.js ${process.version} (pid=${process.pid})
|
|
103
|
+
`
|
|
104
|
+
);
|
|
105
|
+
process.nextTick(() => process.exit(3));
|
|
106
|
+
});
|
|
91
107
|
const timeout = setTimeout(() => {
|
|
92
108
|
console.error("Fork not initialized in 5 seconds");
|
|
93
109
|
process.exit(2);
|
|
@@ -138,14 +154,16 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
|
|
|
138
154
|
promise.then(() => {
|
|
139
155
|
context.log.debug("Forked plug exiting");
|
|
140
156
|
process.disconnect();
|
|
157
|
+
process.exitCode = 0;
|
|
158
|
+
}, (error) => {
|
|
159
|
+
console.log("\n\nError sending message back to parent process", error);
|
|
160
|
+
process.exitCode = 1;
|
|
161
|
+
}).finally(() => {
|
|
162
|
+
logOptions.output.end();
|
|
141
163
|
setTimeout(() => {
|
|
142
164
|
console.log("\n\nProcess %d for %s did not exit in 5 seconds", process.pid, exportName);
|
|
143
165
|
process.exit(2);
|
|
144
166
|
}, 5e3).unref();
|
|
145
|
-
process.exitCode = 0;
|
|
146
|
-
}, (error) => {
|
|
147
|
-
console.log("\n\nError sending message back to parent process", error);
|
|
148
|
-
process.exit(1);
|
|
149
167
|
});
|
|
150
168
|
});
|
|
151
169
|
}
|
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,QAAQ,oBAAoB;AACrC,SAAS,gBAAgB;AACzB,SAAS,aAAa;AACtB,SAAS,MAAM,IAAI,kBAAkB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["result", "message"]
|
|
6
6
|
}
|
package/dist/helpers.cjs
CHANGED
|
@@ -20,8 +20,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// helpers.ts
|
|
21
21
|
var helpers_exports = {};
|
|
22
22
|
__export(helpers_exports, {
|
|
23
|
+
context: () => context,
|
|
23
24
|
exec: () => exec,
|
|
24
25
|
find: () => find,
|
|
26
|
+
invokeBuild: () => invokeBuild,
|
|
25
27
|
isDirectory: () => isDirectory,
|
|
26
28
|
isFile: () => isFile,
|
|
27
29
|
merge: () => merge,
|
|
@@ -42,14 +44,18 @@ var import_fs = require("./fs.cjs");
|
|
|
42
44
|
var import_logging = require("./logging.cjs");
|
|
43
45
|
var import_paths = require("./paths.cjs");
|
|
44
46
|
var import_pipe = require("./pipe.cjs");
|
|
47
|
+
var import_build = require("./plugs/build.cjs");
|
|
45
48
|
var import_exec = require("./utils/exec.cjs");
|
|
46
49
|
var import_options = require("./utils/options.cjs");
|
|
47
50
|
var import_walk = require("./utils/walk.cjs");
|
|
51
|
+
function context() {
|
|
52
|
+
return (0, import_async.requireContext)();
|
|
53
|
+
}
|
|
48
54
|
function find(...args) {
|
|
49
55
|
const { params: globs, options } = (0, import_options.parseOptions)(args, {});
|
|
50
|
-
const
|
|
51
|
-
return new import_pipe.PipeImpl(
|
|
52
|
-
const directory = options.directory ?
|
|
56
|
+
const context2 = (0, import_async.requireContext)();
|
|
57
|
+
return new import_pipe.PipeImpl(context2, Promise.resolve().then(async () => {
|
|
58
|
+
const directory = options.directory ? context2.resolve(options.directory) : (0, import_paths.getCurrentWorkingDirectory)();
|
|
53
59
|
const builder = import_files.Files.builder(directory);
|
|
54
60
|
for await (const file of (0, import_walk.walk)(directory, globs, options)) {
|
|
55
61
|
builder.add(file);
|
|
@@ -57,15 +63,27 @@ function find(...args) {
|
|
|
57
63
|
return builder.build();
|
|
58
64
|
}));
|
|
59
65
|
}
|
|
66
|
+
async function invokeBuild(buildFile, tasksOrOptions, maybeOptions) {
|
|
67
|
+
const [tasks, options = {}] = typeof tasksOrOptions === "string" ? [[tasksOrOptions], maybeOptions] : Array.isArray(tasksOrOptions) ? [tasksOrOptions, maybeOptions] : typeof tasksOrOptions === "object" ? [["default"], tasksOrOptions] : [["default"], {}];
|
|
68
|
+
if (tasks.length === 0)
|
|
69
|
+
tasks.push("default");
|
|
70
|
+
const { coverageDir, forceModule, ...props } = options;
|
|
71
|
+
const forkOptions = { coverageDir, forceModule };
|
|
72
|
+
const context2 = (0, import_async.requireContext)();
|
|
73
|
+
const file = context2.resolve(buildFile);
|
|
74
|
+
const dir = (0, import_paths.getAbsoluteParent)(file);
|
|
75
|
+
const files = import_files.Files.builder(dir).add(file).build();
|
|
76
|
+
return new import_build.RunBuild(tasks, props, forkOptions).pipe(files, context2).then(() => void 0);
|
|
77
|
+
}
|
|
60
78
|
async function rmrf(directory) {
|
|
61
|
-
const
|
|
62
|
-
const dir =
|
|
79
|
+
const context2 = (0, import_async.requireContext)();
|
|
80
|
+
const dir = context2.resolve(directory);
|
|
63
81
|
(0, import_asserts.assert)(
|
|
64
82
|
dir !== (0, import_paths.getCurrentWorkingDirectory)(),
|
|
65
83
|
`Cowardly refusing to wipe current working directory ${(0, import_logging.$p)(dir)}`
|
|
66
84
|
);
|
|
67
85
|
(0, import_asserts.assert)(
|
|
68
|
-
dir !==
|
|
86
|
+
dir !== context2.resolve("@"),
|
|
69
87
|
`Cowardly refusing to wipe build file directory ${(0, import_logging.$p)(dir)}`
|
|
70
88
|
);
|
|
71
89
|
if (!(0, import_paths.resolveDirectory)(dir)) {
|
|
@@ -76,23 +94,22 @@ async function rmrf(directory) {
|
|
|
76
94
|
await (0, import_fs.rm)(dir, { recursive: true });
|
|
77
95
|
}
|
|
78
96
|
function merge(pipes) {
|
|
79
|
-
const
|
|
80
|
-
return new import_pipe.PipeImpl(
|
|
97
|
+
const context2 = (0, import_async.requireContext)();
|
|
98
|
+
return new import_pipe.PipeImpl(context2, Promise.resolve().then(async () => {
|
|
81
99
|
if (pipes.length === 0)
|
|
82
|
-
return import_files.Files
|
|
100
|
+
return new import_files.Files();
|
|
83
101
|
const awaited = await (0, import_asserts.assertPromises)(pipes);
|
|
84
102
|
const results = awaited.filter((result) => result.length);
|
|
85
103
|
if (results.length === 0)
|
|
86
|
-
return import_files.Files
|
|
104
|
+
return new import_files.Files();
|
|
87
105
|
const [firstDir, ...otherDirs] = results.map((f) => f.directory);
|
|
88
106
|
const directory = (0, import_paths.commonPath)(firstDir, ...otherDirs);
|
|
89
107
|
return import_files.Files.builder(directory).merge(...results).build();
|
|
90
108
|
}));
|
|
91
109
|
}
|
|
92
110
|
function noop() {
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
return new import_pipe.PipeImpl(context, Promise.resolve(files));
|
|
111
|
+
const context2 = (0, import_async.requireContext)();
|
|
112
|
+
return new import_pipe.PipeImpl(context2, Promise.resolve(new import_files.Files()));
|
|
96
113
|
}
|
|
97
114
|
function resolve(...paths) {
|
|
98
115
|
return (0, import_async.requireContext)().resolve(...paths);
|
|
@@ -134,8 +151,10 @@ function parseJson(file) {
|
|
|
134
151
|
}
|
|
135
152
|
// Annotate the CommonJS export names for ESM import in node:
|
|
136
153
|
0 && (module.exports = {
|
|
154
|
+
context,
|
|
137
155
|
exec,
|
|
138
156
|
find,
|
|
157
|
+
invokeBuild,
|
|
139
158
|
isDirectory,
|
|
140
159
|
isFile,
|
|
141
160
|
merge,
|
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;AAAA;AAAA;AAAA,qBAA0C;AAC1C,qBAAuB;AACvB,uBAAqB;AAErB,qBAAuC;AACvC,mBAA+B;AAC/B,mBAAsB;AACtB,gBAAmB;AACnB,qBAAwB;AACxB,
|
|
5
|
-
"names": []
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["context"]
|
|
6
6
|
}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Files } from './files';
|
|
2
|
+
import type { ForkOptions } from './fork';
|
|
2
3
|
import type { Pipe } from './index';
|
|
3
4
|
import type { AbsolutePath } from './paths';
|
|
5
|
+
import type { Context } from './pipe';
|
|
4
6
|
import type { ExecChildOptions } from './utils/exec';
|
|
5
7
|
import type { WalkOptions } from './utils/walk';
|
|
6
8
|
/** The {@link FindOptions} interface defines the options for finding files. */
|
|
@@ -8,6 +10,8 @@ export interface FindOptions extends WalkOptions {
|
|
|
8
10
|
/** The directory where to start looking for files. */
|
|
9
11
|
directory?: string;
|
|
10
12
|
}
|
|
13
|
+
/** Return the current execution {@link Context} */
|
|
14
|
+
export declare function context(): Context;
|
|
11
15
|
/** Find files in the current directory using the specified _glob_. */
|
|
12
16
|
export declare function find(glob: string): Pipe;
|
|
13
17
|
/** Find files in the current directory using the specified _globs_. */
|
|
@@ -16,6 +20,14 @@ export declare function find(glob: string, ...globs: string[]): Pipe;
|
|
|
16
20
|
export declare function find(glob: string, options: FindOptions): Pipe;
|
|
17
21
|
/** Find files using the specified _globs_ and {@link FindOptions | options}. */
|
|
18
22
|
export declare function find(glob: string, ...extra: [...globs: string[], options: FindOptions]): Pipe;
|
|
23
|
+
export type InvokeBuildOptions = ForkOptions & Record<string, string>;
|
|
24
|
+
export type InvokeBuildTasks = string | [string, ...string[]];
|
|
25
|
+
export declare function invokeBuild(buildFile: string): Promise<void>;
|
|
26
|
+
export declare function invokeBuild(buildFile: string, task: string): Promise<void>;
|
|
27
|
+
export declare function invokeBuild(buildFile: string, task: string, options: InvokeBuildOptions): Promise<void>;
|
|
28
|
+
export declare function invokeBuild(buildFile: string, tasks: [string, ...string[]]): Promise<void>;
|
|
29
|
+
export declare function invokeBuild(buildFile: string, tasks: [string, ...string[]], options: InvokeBuildOptions): Promise<void>;
|
|
30
|
+
export declare function invokeBuild(buildFile: string, options: InvokeBuildOptions): Promise<void>;
|
|
19
31
|
/**
|
|
20
32
|
* Recursively remove the specified directory _**(use with care)**_.
|
|
21
33
|
*/
|
package/dist/helpers.mjs
CHANGED
|
@@ -7,16 +7,26 @@ import { requireContext } from "./async.mjs";
|
|
|
7
7
|
import { Files } from "./files.mjs";
|
|
8
8
|
import { rm } from "./fs.mjs";
|
|
9
9
|
import { $p, log } from "./logging.mjs";
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
commonPath,
|
|
12
|
+
getAbsoluteParent,
|
|
13
|
+
getCurrentWorkingDirectory,
|
|
14
|
+
resolveDirectory,
|
|
15
|
+
resolveFile
|
|
16
|
+
} from "./paths.mjs";
|
|
11
17
|
import { PipeImpl } from "./pipe.mjs";
|
|
18
|
+
import { RunBuild } from "./plugs/build.mjs";
|
|
12
19
|
import { execChild } from "./utils/exec.mjs";
|
|
13
20
|
import { parseOptions } from "./utils/options.mjs";
|
|
14
21
|
import { walk } from "./utils/walk.mjs";
|
|
22
|
+
function context() {
|
|
23
|
+
return requireContext();
|
|
24
|
+
}
|
|
15
25
|
function find(...args) {
|
|
16
26
|
const { params: globs, options } = parseOptions(args, {});
|
|
17
|
-
const
|
|
18
|
-
return new PipeImpl(
|
|
19
|
-
const directory = options.directory ?
|
|
27
|
+
const context2 = requireContext();
|
|
28
|
+
return new PipeImpl(context2, Promise.resolve().then(async () => {
|
|
29
|
+
const directory = options.directory ? context2.resolve(options.directory) : getCurrentWorkingDirectory();
|
|
20
30
|
const builder = Files.builder(directory);
|
|
21
31
|
for await (const file of walk(directory, globs, options)) {
|
|
22
32
|
builder.add(file);
|
|
@@ -24,15 +34,27 @@ function find(...args) {
|
|
|
24
34
|
return builder.build();
|
|
25
35
|
}));
|
|
26
36
|
}
|
|
37
|
+
async function invokeBuild(buildFile, tasksOrOptions, maybeOptions) {
|
|
38
|
+
const [tasks, options = {}] = typeof tasksOrOptions === "string" ? [[tasksOrOptions], maybeOptions] : Array.isArray(tasksOrOptions) ? [tasksOrOptions, maybeOptions] : typeof tasksOrOptions === "object" ? [["default"], tasksOrOptions] : [["default"], {}];
|
|
39
|
+
if (tasks.length === 0)
|
|
40
|
+
tasks.push("default");
|
|
41
|
+
const { coverageDir, forceModule, ...props } = options;
|
|
42
|
+
const forkOptions = { coverageDir, forceModule };
|
|
43
|
+
const context2 = requireContext();
|
|
44
|
+
const file = context2.resolve(buildFile);
|
|
45
|
+
const dir = getAbsoluteParent(file);
|
|
46
|
+
const files = Files.builder(dir).add(file).build();
|
|
47
|
+
return new RunBuild(tasks, props, forkOptions).pipe(files, context2).then(() => void 0);
|
|
48
|
+
}
|
|
27
49
|
async function rmrf(directory) {
|
|
28
|
-
const
|
|
29
|
-
const dir =
|
|
50
|
+
const context2 = requireContext();
|
|
51
|
+
const dir = context2.resolve(directory);
|
|
30
52
|
assert(
|
|
31
53
|
dir !== getCurrentWorkingDirectory(),
|
|
32
54
|
`Cowardly refusing to wipe current working directory ${$p(dir)}`
|
|
33
55
|
);
|
|
34
56
|
assert(
|
|
35
|
-
dir !==
|
|
57
|
+
dir !== context2.resolve("@"),
|
|
36
58
|
`Cowardly refusing to wipe build file directory ${$p(dir)}`
|
|
37
59
|
);
|
|
38
60
|
if (!resolveDirectory(dir)) {
|
|
@@ -43,23 +65,22 @@ async function rmrf(directory) {
|
|
|
43
65
|
await rm(dir, { recursive: true });
|
|
44
66
|
}
|
|
45
67
|
function merge(pipes) {
|
|
46
|
-
const
|
|
47
|
-
return new PipeImpl(
|
|
68
|
+
const context2 = requireContext();
|
|
69
|
+
return new PipeImpl(context2, Promise.resolve().then(async () => {
|
|
48
70
|
if (pipes.length === 0)
|
|
49
|
-
return Files
|
|
71
|
+
return new Files();
|
|
50
72
|
const awaited = await assertPromises(pipes);
|
|
51
73
|
const results = awaited.filter((result) => result.length);
|
|
52
74
|
if (results.length === 0)
|
|
53
|
-
return Files
|
|
75
|
+
return new Files();
|
|
54
76
|
const [firstDir, ...otherDirs] = results.map((f) => f.directory);
|
|
55
77
|
const directory = commonPath(firstDir, ...otherDirs);
|
|
56
78
|
return Files.builder(directory).merge(...results).build();
|
|
57
79
|
}));
|
|
58
80
|
}
|
|
59
81
|
function noop() {
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
return new PipeImpl(context, Promise.resolve(files));
|
|
82
|
+
const context2 = requireContext();
|
|
83
|
+
return new PipeImpl(context2, Promise.resolve(new Files()));
|
|
63
84
|
}
|
|
64
85
|
function resolve(...paths) {
|
|
65
86
|
return requireContext().resolve(...paths);
|
|
@@ -100,8 +121,10 @@ function parseJson(file) {
|
|
|
100
121
|
}
|
|
101
122
|
}
|
|
102
123
|
export {
|
|
124
|
+
context,
|
|
103
125
|
exec,
|
|
104
126
|
find,
|
|
127
|
+
invokeBuild,
|
|
105
128
|
isDirectory,
|
|
106
129
|
isFile,
|
|
107
130
|
merge,
|
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,aAAa,oBAAoB;AAC1C,SAAS,cAAc;AACvB,SAAS,YAAY;AAErB,SAAS,QAAQ,sBAAsB;AACvC,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,UAAU;AACnB,SAAS,IAAI,WAAW;AACxB,
|
|
5
|
-
"names": []
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["context"]
|
|
6
6
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -47,6 +47,8 @@ __export(src_exports, {
|
|
|
47
47
|
Files: () => import_files.Files,
|
|
48
48
|
assert: () => import_asserts.assert,
|
|
49
49
|
asserts: () => asserts,
|
|
50
|
+
async: () => async,
|
|
51
|
+
banner: () => import_logging.banner,
|
|
50
52
|
fail: () => import_asserts.fail,
|
|
51
53
|
files: () => files,
|
|
52
54
|
fork: () => fork,
|
|
@@ -60,6 +62,7 @@ __export(src_exports, {
|
|
|
60
62
|
module.exports = __toCommonJS(src_exports);
|
|
61
63
|
var import_files = require("./files.cjs");
|
|
62
64
|
var asserts = __toESM(require("./asserts.cjs"), 1);
|
|
65
|
+
var async = __toESM(require("./async.cjs"), 1);
|
|
63
66
|
var files = __toESM(require("./files.cjs"), 1);
|
|
64
67
|
var fork = __toESM(require("./fork.cjs"), 1);
|
|
65
68
|
var fs = __toESM(require("./fs.cjs"), 1);
|
|
@@ -91,6 +94,8 @@ __reExport(src_exports, require("./types.cjs"), module.exports);
|
|
|
91
94
|
Files,
|
|
92
95
|
assert,
|
|
93
96
|
asserts,
|
|
97
|
+
async,
|
|
98
|
+
banner,
|
|
94
99
|
fail,
|
|
95
100
|
files,
|
|
96
101
|
fork,
|