@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/asserts.cjs
CHANGED
|
@@ -23,15 +23,11 @@ __export(asserts_exports, {
|
|
|
23
23
|
BuildFailure: () => BuildFailure,
|
|
24
24
|
assert: () => assert,
|
|
25
25
|
assertPromises: () => assertPromises,
|
|
26
|
-
fail: () => fail
|
|
27
|
-
isBuildFailure: () => isBuildFailure
|
|
26
|
+
fail: () => fail
|
|
28
27
|
});
|
|
29
28
|
module.exports = __toCommonJS(asserts_exports);
|
|
30
29
|
var import_github = require("./logging/github.cjs");
|
|
31
|
-
var buildFailure = Symbol.for("plugjs:
|
|
32
|
-
function isBuildFailure(arg) {
|
|
33
|
-
return arg && arg[buildFailure] === buildFailure;
|
|
34
|
-
}
|
|
30
|
+
var buildFailure = Symbol.for("plugjs:plug:types:BuildFailure");
|
|
35
31
|
var BuildFailure = class extends Error {
|
|
36
32
|
errors;
|
|
37
33
|
/** Construct a {@link BuildFailure} */
|
|
@@ -43,10 +39,6 @@ var BuildFailure = class extends Error {
|
|
|
43
39
|
Error.captureStackTrace(this, BuildFailure);
|
|
44
40
|
if (errors.length)
|
|
45
41
|
this.errors = Object.freeze([...errors]);
|
|
46
|
-
Object.defineProperties(this, {
|
|
47
|
-
[buildFailure]: { value: buildFailure },
|
|
48
|
-
"name": { value: "BuildFailure" }
|
|
49
|
-
});
|
|
50
42
|
}
|
|
51
43
|
static fail() {
|
|
52
44
|
return new BuildFailure(void 0, []);
|
|
@@ -57,6 +49,13 @@ var BuildFailure = class extends Error {
|
|
|
57
49
|
static withErrors(errors) {
|
|
58
50
|
return new BuildFailure(void 0, errors);
|
|
59
51
|
}
|
|
52
|
+
static [Symbol.hasInstance](instance) {
|
|
53
|
+
return instance && instance[buildFailure] === buildFailure;
|
|
54
|
+
}
|
|
55
|
+
static {
|
|
56
|
+
this.prototype[buildFailure] = buildFailure;
|
|
57
|
+
this.prototype.name = this.name;
|
|
58
|
+
}
|
|
60
59
|
};
|
|
61
60
|
async function assertPromises(promises) {
|
|
62
61
|
const settlements = await Promise.allSettled(promises);
|
|
@@ -85,7 +84,6 @@ function fail(message) {
|
|
|
85
84
|
BuildFailure,
|
|
86
85
|
assert,
|
|
87
86
|
assertPromises,
|
|
88
|
-
fail
|
|
89
|
-
isBuildFailure
|
|
87
|
+
fail
|
|
90
88
|
});
|
|
91
89
|
//# sourceMappingURL=asserts.cjs.map
|
package/dist/asserts.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/asserts.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,oBAAiC;AAGjC,IAAM,eAAe,OAAO,IAAI,gCAAgC;AAGzD,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA;AAAA,EAGT,YAAY,SAA8B,SAAgB,CAAC,GAAG;AAC5D,UAAM,WAAW,EAAE;AAGnB,QAAI,SAAS;AACX,0CAAiB,EAAE,MAAM,SAAS,OAAO,gBAAgB,GAAG,OAAO;AAAA,IACrE;AAGA,UAAM,kBAAkB,MAAM,YAAY;AAC1C,QAAI,OAAO;AAAQ,WAAK,SAAS,OAAO,OAAO,CAAE,GAAG,MAAO,CAAC;AAAA,EAC9D;AAAA,EAEA,OAAO,OAAqB;AAC1B,WAAO,IAAI,aAAa,QAAW,CAAC,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,YAAY,SAA+B;AAChD,WAAO,IAAI,aAAa,SAAS,CAAC,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,WAAW,QAA6B;AAC7C,WAAO,IAAI,aAAa,QAAW,MAAM;AAAA,EAC3C;AAAA,EAEA,QAAQ,OAAO,WAAW,EAAE,UAAwB;AAClD,WAAO,YAAY,SAAS,YAAY,MAAM;AAAA,EAChD;AAAA,EAEA,OAAO;AACL,IAAC,KAAK,UAAkB,YAAY,IAAI;AACxC,SAAK,UAAU,OAAO,KAAK;AAAA,EAC7B;AACF;AAGA,eAAsB,eAAkB,UAA4C;AAElF,QAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,QAAM,UAAe,CAAC;AACtB,QAAM,WAAW,oBAAI,IAAS;AAE9B,cAAY,QAAQ,CAAC,eAAe;AAClC,QAAI,WAAW,WAAW,aAAa;AACrC,cAAQ,KAAK,WAAW,KAAK;AAAA,IAC/B,OAAO;AACL,eAAS,IAAI,WAAW,MAAM;AAAA,IAChC;AAAA,EACF,CAAC;AAGD,MAAI,SAAS;AAAM,UAAM,aAAa,WAAW,CAAE,GAAG,QAAS,CAAC;AAEhE,SAAO;AACT;AAGO,SAAS,OAAO,WAAgB,SAAoC;AACzE,MAAI,CAAE;AAAW,UAAM,aAAa,YAAY,OAAO;AACzD;AAGO,SAAS,KAAK,SAAwB;AAC3C,QAAM,aAAa,YAAY,OAAO;AACxC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/asserts.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/** Check if the specified argument is a {@link BuildFailure} */
|
|
2
|
-
export declare function isBuildFailure(arg: any): arg is BuildFailure;
|
|
3
1
|
/** A {@link BuildFailure} represents an error _already logged_ in our build. */
|
|
4
2
|
export declare class BuildFailure extends Error {
|
|
5
3
|
readonly errors?: readonly any[] | undefined;
|
|
@@ -8,6 +6,7 @@ export declare class BuildFailure extends Error {
|
|
|
8
6
|
static fail(): BuildFailure;
|
|
9
7
|
static withMessage(message: string): BuildFailure;
|
|
10
8
|
static withErrors(errors: any[]): BuildFailure;
|
|
9
|
+
static [Symbol.hasInstance](instance: any): boolean;
|
|
11
10
|
}
|
|
12
11
|
/** Await and assert that all specified promises were fulfilled */
|
|
13
12
|
export declare function assertPromises<T>(promises: (T | Promise<T>)[]): Promise<T[]>;
|
package/dist/asserts.mjs
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
// asserts.ts
|
|
2
2
|
import { githubAnnotation } from "./logging/github.mjs";
|
|
3
|
-
var buildFailure = Symbol.for("plugjs:
|
|
4
|
-
function isBuildFailure(arg) {
|
|
5
|
-
return arg && arg[buildFailure] === buildFailure;
|
|
6
|
-
}
|
|
3
|
+
var buildFailure = Symbol.for("plugjs:plug:types:BuildFailure");
|
|
7
4
|
var BuildFailure = class extends Error {
|
|
8
5
|
errors;
|
|
9
6
|
/** Construct a {@link BuildFailure} */
|
|
@@ -15,10 +12,6 @@ var BuildFailure = class extends Error {
|
|
|
15
12
|
Error.captureStackTrace(this, BuildFailure);
|
|
16
13
|
if (errors.length)
|
|
17
14
|
this.errors = Object.freeze([...errors]);
|
|
18
|
-
Object.defineProperties(this, {
|
|
19
|
-
[buildFailure]: { value: buildFailure },
|
|
20
|
-
"name": { value: "BuildFailure" }
|
|
21
|
-
});
|
|
22
15
|
}
|
|
23
16
|
static fail() {
|
|
24
17
|
return new BuildFailure(void 0, []);
|
|
@@ -29,6 +22,13 @@ var BuildFailure = class extends Error {
|
|
|
29
22
|
static withErrors(errors) {
|
|
30
23
|
return new BuildFailure(void 0, errors);
|
|
31
24
|
}
|
|
25
|
+
static [Symbol.hasInstance](instance) {
|
|
26
|
+
return instance && instance[buildFailure] === buildFailure;
|
|
27
|
+
}
|
|
28
|
+
static {
|
|
29
|
+
this.prototype[buildFailure] = buildFailure;
|
|
30
|
+
this.prototype.name = this.name;
|
|
31
|
+
}
|
|
32
32
|
};
|
|
33
33
|
async function assertPromises(promises) {
|
|
34
34
|
const settlements = await Promise.allSettled(promises);
|
|
@@ -56,7 +56,6 @@ export {
|
|
|
56
56
|
BuildFailure,
|
|
57
57
|
assert,
|
|
58
58
|
assertPromises,
|
|
59
|
-
fail
|
|
60
|
-
isBuildFailure
|
|
59
|
+
fail
|
|
61
60
|
};
|
|
62
61
|
//# sourceMappingURL=asserts.mjs.map
|
package/dist/asserts.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/asserts.ts"],
|
|
4
|
-
"mappings": ";AAIA,SAAS,wBAAwB;AAGjC,IAAM,eAAe,OAAO,IAAI,
|
|
4
|
+
"mappings": ";AAIA,SAAS,wBAAwB;AAGjC,IAAM,eAAe,OAAO,IAAI,gCAAgC;AAGzD,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA;AAAA,EAGT,YAAY,SAA8B,SAAgB,CAAC,GAAG;AAC5D,UAAM,WAAW,EAAE;AAGnB,QAAI,SAAS;AACX,uBAAiB,EAAE,MAAM,SAAS,OAAO,gBAAgB,GAAG,OAAO;AAAA,IACrE;AAGA,UAAM,kBAAkB,MAAM,YAAY;AAC1C,QAAI,OAAO;AAAQ,WAAK,SAAS,OAAO,OAAO,CAAE,GAAG,MAAO,CAAC;AAAA,EAC9D;AAAA,EAEA,OAAO,OAAqB;AAC1B,WAAO,IAAI,aAAa,QAAW,CAAC,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,YAAY,SAA+B;AAChD,WAAO,IAAI,aAAa,SAAS,CAAC,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,WAAW,QAA6B;AAC7C,WAAO,IAAI,aAAa,QAAW,MAAM;AAAA,EAC3C;AAAA,EAEA,QAAQ,OAAO,WAAW,EAAE,UAAwB;AAClD,WAAO,YAAY,SAAS,YAAY,MAAM;AAAA,EAChD;AAAA,EAEA,OAAO;AACL,IAAC,KAAK,UAAkB,YAAY,IAAI;AACxC,SAAK,UAAU,OAAO,KAAK;AAAA,EAC7B;AACF;AAGA,eAAsB,eAAkB,UAA4C;AAElF,QAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,QAAM,UAAe,CAAC;AACtB,QAAM,WAAW,oBAAI,IAAS;AAE9B,cAAY,QAAQ,CAAC,eAAe;AAClC,QAAI,WAAW,WAAW,aAAa;AACrC,cAAQ,KAAK,WAAW,KAAK;AAAA,IAC/B,OAAO;AACL,eAAS,IAAI,WAAW,MAAM;AAAA,IAChC;AAAA,EACF,CAAC;AAGD,MAAI,SAAS;AAAM,UAAM,aAAa,WAAW,CAAE,GAAG,QAAS,CAAC;AAEhE,SAAO;AACT;AAGO,SAAS,OAAO,WAAgB,SAAoC;AACzE,MAAI,CAAE;AAAW,UAAM,aAAa,YAAY,OAAO;AACzD;AAGO,SAAS,KAAK,SAAwB;AAC3C,QAAM,aAAa,YAAY,OAAO;AACxC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/async.cjs
CHANGED
|
@@ -28,6 +28,7 @@ __export(async_exports, {
|
|
|
28
28
|
module.exports = __toCommonJS(async_exports);
|
|
29
29
|
var import_node_async_hooks = require("node:async_hooks");
|
|
30
30
|
var import_asserts = require("./asserts.cjs");
|
|
31
|
+
var import_singleton = require("./utils/singleton.cjs");
|
|
31
32
|
function runAsync(context, taskName, callback) {
|
|
32
33
|
return storage.run(context, async () => {
|
|
33
34
|
try {
|
|
@@ -49,26 +50,10 @@ function requireContext() {
|
|
|
49
50
|
function runningTasks() {
|
|
50
51
|
return [...tasks].sort();
|
|
51
52
|
}
|
|
52
|
-
var storageKey = Symbol.for("plugjs
|
|
53
|
-
var tasksKey = Symbol.for("plugjs
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if (!storage2) {
|
|
57
|
-
storage2 = new import_node_async_hooks.AsyncLocalStorage();
|
|
58
|
-
globalThis[storageKey] = storage2;
|
|
59
|
-
}
|
|
60
|
-
return storage2;
|
|
61
|
-
}
|
|
62
|
-
function getTasks() {
|
|
63
|
-
let tasks2 = globalThis[tasksKey];
|
|
64
|
-
if (!tasks2) {
|
|
65
|
-
tasks2 = /* @__PURE__ */ new Set();
|
|
66
|
-
globalThis[tasksKey] = tasks2;
|
|
67
|
-
}
|
|
68
|
-
return tasks2;
|
|
69
|
-
}
|
|
70
|
-
var storage = getStorage();
|
|
71
|
-
var tasks = getTasks();
|
|
53
|
+
var storageKey = Symbol.for("plugjs:plug:singleton:contextStorage");
|
|
54
|
+
var tasksKey = Symbol.for("plugjs:plug:singleton:runningTasksStorage");
|
|
55
|
+
var storage = (0, import_singleton.getSingleton)(storageKey, () => new import_node_async_hooks.AsyncLocalStorage());
|
|
56
|
+
var tasks = (0, import_singleton.getSingleton)(tasksKey, () => /* @__PURE__ */ new Set());
|
|
72
57
|
// Annotate the CommonJS export names for ESM import in node:
|
|
73
58
|
0 && (module.exports = {
|
|
74
59
|
currentContext,
|
package/dist/async.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/async.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAkC;AAElC,qBAAuB;
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAkC;AAElC,qBAAuB;AACvB,uBAA6B;AAYtB,SAAS,SACZ,SACA,UACA,UACU;AACZ,SAAO,QAAQ,IAAI,SAAS,YAAY;AACtC,QAAI;AACF,YAAM,IAAI,QAAQ;AAClB,aAAO,MAAM,SAAS;AAAA,IACxB,UAAE;AACA,YAAM,OAAO,QAAQ;AAAA,IACvB;AAAA,EACF,CAAC;AACH;AAMO,SAAS,iBAAsC;AACpD,SAAO,QAAQ,SAAS;AAC1B;AAMO,SAAS,iBAA0B;AACxC,QAAM,UAAU,QAAQ,SAAS;AACjC,6BAAO,SAAS,oCAAoC;AACpD,SAAO;AACT;AAKO,SAAS,eAAyB;AACvC,SAAO,CAAE,GAAG,KAAM,EAAE,KAAK;AAC3B;AAOA,IAAM,aAAa,OAAO,IAAI,sCAAsC;AACpE,IAAM,WAAW,OAAO,IAAI,2CAA2C;AAEvE,IAAM,cAAU,+BAAa,YAAY,MAAM,IAAI,0CAA2B,CAAC;AAC/E,IAAM,YAAQ,+BAAa,UAAU,MAAM,oBAAI,IAAY,CAAC;",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
package/dist/async.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// async.ts
|
|
2
2
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
3
|
import { assert } from "./asserts.mjs";
|
|
4
|
+
import { getSingleton } from "./utils/singleton.mjs";
|
|
4
5
|
function runAsync(context, taskName, callback) {
|
|
5
6
|
return storage.run(context, async () => {
|
|
6
7
|
try {
|
|
@@ -22,26 +23,10 @@ function requireContext() {
|
|
|
22
23
|
function runningTasks() {
|
|
23
24
|
return [...tasks].sort();
|
|
24
25
|
}
|
|
25
|
-
var storageKey = Symbol.for("plugjs
|
|
26
|
-
var tasksKey = Symbol.for("plugjs
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (!storage2) {
|
|
30
|
-
storage2 = new AsyncLocalStorage();
|
|
31
|
-
globalThis[storageKey] = storage2;
|
|
32
|
-
}
|
|
33
|
-
return storage2;
|
|
34
|
-
}
|
|
35
|
-
function getTasks() {
|
|
36
|
-
let tasks2 = globalThis[tasksKey];
|
|
37
|
-
if (!tasks2) {
|
|
38
|
-
tasks2 = /* @__PURE__ */ new Set();
|
|
39
|
-
globalThis[tasksKey] = tasks2;
|
|
40
|
-
}
|
|
41
|
-
return tasks2;
|
|
42
|
-
}
|
|
43
|
-
var storage = getStorage();
|
|
44
|
-
var tasks = getTasks();
|
|
26
|
+
var storageKey = Symbol.for("plugjs:plug:singleton:contextStorage");
|
|
27
|
+
var tasksKey = Symbol.for("plugjs:plug:singleton:runningTasksStorage");
|
|
28
|
+
var storage = getSingleton(storageKey, () => new AsyncLocalStorage());
|
|
29
|
+
var tasks = getSingleton(tasksKey, () => /* @__PURE__ */ new Set());
|
|
45
30
|
export {
|
|
46
31
|
currentContext,
|
|
47
32
|
requireContext,
|
package/dist/async.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/async.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,yBAAyB;AAElC,SAAS,cAAc;
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": ";AAAA,SAAS,yBAAyB;AAElC,SAAS,cAAc;AACvB,SAAS,oBAAoB;AAYtB,SAAS,SACZ,SACA,UACA,UACU;AACZ,SAAO,QAAQ,IAAI,SAAS,YAAY;AACtC,QAAI;AACF,YAAM,IAAI,QAAQ;AAClB,aAAO,MAAM,SAAS;AAAA,IACxB,UAAE;AACA,YAAM,OAAO,QAAQ;AAAA,IACvB;AAAA,EACF,CAAC;AACH;AAMO,SAAS,iBAAsC;AACpD,SAAO,QAAQ,SAAS;AAC1B;AAMO,SAAS,iBAA0B;AACxC,QAAM,UAAU,QAAQ,SAAS;AACjC,SAAO,SAAS,oCAAoC;AACpD,SAAO;AACT;AAKO,SAAS,eAAyB;AACvC,SAAO,CAAE,GAAG,KAAM,EAAE,KAAK;AAC3B;AAOA,IAAM,aAAa,OAAO,IAAI,sCAAsC;AACpE,IAAM,WAAW,OAAO,IAAI,2CAA2C;AAEvE,IAAM,UAAU,aAAa,YAAY,MAAM,IAAI,kBAA2B,CAAC;AAC/E,IAAM,QAAQ,aAAa,UAAU,MAAM,oBAAI,IAAY,CAAC;",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
package/dist/build.cjs
CHANGED
|
@@ -22,7 +22,9 @@ var build_exports = {};
|
|
|
22
22
|
__export(build_exports, {
|
|
23
23
|
build: () => build,
|
|
24
24
|
hookAfter: () => hookAfter,
|
|
25
|
-
hookBefore: () => hookBefore
|
|
25
|
+
hookBefore: () => hookBefore,
|
|
26
|
+
invokeTasks: () => invokeTasks,
|
|
27
|
+
isBuild: () => isBuild
|
|
26
28
|
});
|
|
27
29
|
module.exports = __toCommonJS(build_exports);
|
|
28
30
|
var import_asserts = require("./asserts.cjs");
|
|
@@ -30,139 +32,186 @@ var import_async = require("./async.cjs");
|
|
|
30
32
|
var import_logging = require("./logging.cjs");
|
|
31
33
|
var import_pipe = require("./pipe.cjs");
|
|
32
34
|
var import_caller = require("./utils/caller.cjs");
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
var import_singleton = require("./utils/singleton.cjs");
|
|
36
|
+
var import_types = require("./types.cjs");
|
|
37
|
+
var taskCallMarker = Symbol.for("plugjs:plug:types:TaskCall");
|
|
38
|
+
function isTaskCall(something) {
|
|
39
|
+
return something[taskCallMarker] === taskCallMarker;
|
|
36
40
|
}
|
|
37
|
-
function
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
function merge(a, b) {
|
|
42
|
+
return Object.assign(/* @__PURE__ */ Object.create(null), a, b);
|
|
43
|
+
}
|
|
44
|
+
function makeState(state) {
|
|
45
|
+
const {
|
|
46
|
+
cache = /* @__PURE__ */ new Map(),
|
|
47
|
+
fails = /* @__PURE__ */ new Set(),
|
|
48
|
+
stack = [],
|
|
49
|
+
tasks = {},
|
|
50
|
+
props = {}
|
|
51
|
+
} = state;
|
|
52
|
+
return { cache, fails, stack, tasks, props };
|
|
53
|
+
}
|
|
54
|
+
var lastIdKey = Symbol.for("plugjs:plug:singleton:taskId");
|
|
55
|
+
var taskId = (0, import_singleton.getSingleton)(lastIdKey, () => ({ id: 0 }));
|
|
56
|
+
var TaskImpl = class {
|
|
57
|
+
constructor(name, buildFile, _def, _tasks, _props) {
|
|
58
|
+
this.name = name;
|
|
59
|
+
this.buildFile = buildFile;
|
|
60
|
+
this._def = _def;
|
|
61
|
+
this.tasks = _tasks;
|
|
62
|
+
this.props = _props;
|
|
63
|
+
}
|
|
64
|
+
before = [];
|
|
65
|
+
after = [];
|
|
66
|
+
id = ++taskId.id;
|
|
67
|
+
props;
|
|
68
|
+
tasks;
|
|
69
|
+
async invoke(state, taskName) {
|
|
70
|
+
(0, import_asserts.assert)(!state.stack.includes(this), `Recursion detected calling ${(0, import_logging.$t)(taskName)}`);
|
|
71
|
+
const cached = state.cache.get(this);
|
|
41
72
|
if (cached)
|
|
42
73
|
return cached;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
74
|
+
state = makeState({
|
|
75
|
+
props: merge(this.props, state.props),
|
|
76
|
+
tasks: merge(this.tasks, state.tasks),
|
|
77
|
+
stack: [...state.stack, this],
|
|
78
|
+
cache: state.cache,
|
|
79
|
+
fails: state.fails
|
|
80
|
+
});
|
|
81
|
+
const context = new import_pipe.Context(this.buildFile, taskName);
|
|
49
82
|
const build2 = new Proxy({}, {
|
|
50
|
-
get(_, name) {
|
|
51
|
-
if (name in
|
|
83
|
+
get: (_, name) => {
|
|
84
|
+
if (name in state.tasks) {
|
|
52
85
|
return () => {
|
|
53
|
-
const promise2 =
|
|
86
|
+
const promise2 = state.tasks[name].invoke(state, name);
|
|
54
87
|
return new import_pipe.PipeImpl(context, promise2);
|
|
55
88
|
};
|
|
56
|
-
} else if (name in
|
|
57
|
-
return
|
|
89
|
+
} else if (name in state.props) {
|
|
90
|
+
return state.props[name];
|
|
58
91
|
}
|
|
59
92
|
}
|
|
60
93
|
});
|
|
61
|
-
for (const before of
|
|
94
|
+
for (const before of this.before)
|
|
62
95
|
await before.invoke(state, before.name);
|
|
63
96
|
context.log.info("Running...");
|
|
64
97
|
const now = Date.now();
|
|
65
98
|
const promise = (0, import_async.runAsync)(context, taskName, async () => {
|
|
66
|
-
return await _def.call(build2) || void 0;
|
|
99
|
+
return await this._def.call(build2) || void 0;
|
|
67
100
|
}).then(async (result) => {
|
|
68
101
|
const level = taskName.startsWith("_") ? "info" : "notice";
|
|
69
102
|
context.log[level](`Success ${(0, import_logging.$ms)(Date.now() - now)}`);
|
|
70
103
|
return result;
|
|
71
104
|
}).catch((error) => {
|
|
105
|
+
state.fails.add(this);
|
|
72
106
|
throw context.log.fail(`Failure ${(0, import_logging.$ms)(Date.now() - now)}`, error);
|
|
73
107
|
}).finally(async () => {
|
|
74
108
|
await import_pipe.ContextPromises.wait(context);
|
|
75
109
|
}).then(async (result) => {
|
|
76
|
-
for (const after of
|
|
110
|
+
for (const after of this.after)
|
|
77
111
|
await after.invoke(state, after.name);
|
|
78
112
|
return result;
|
|
79
113
|
});
|
|
80
|
-
cache.set(
|
|
114
|
+
state.cache.set(this, promise);
|
|
81
115
|
return promise;
|
|
82
116
|
}
|
|
83
|
-
|
|
84
|
-
const state = {
|
|
85
|
-
cache: /* @__PURE__ */ new Map(),
|
|
86
|
-
stack: [],
|
|
87
|
-
props: Object.assign({}, props, overrideProps),
|
|
88
|
-
tasks
|
|
89
|
-
};
|
|
90
|
-
return invoke(state, _name);
|
|
91
|
-
}, { buildFile, tasks, props, invoke, before: [], after: [] });
|
|
92
|
-
Object.defineProperty(task, taskMarker, { value: true });
|
|
93
|
-
Object.defineProperty(task, "name", { value: _name });
|
|
94
|
-
return task;
|
|
95
|
-
}
|
|
96
|
-
var buildMarker = Symbol.for("plugjs:isBuild");
|
|
117
|
+
};
|
|
97
118
|
function build(def) {
|
|
98
119
|
const buildFile = (0, import_caller.findCaller)(build);
|
|
99
120
|
const tasks = {};
|
|
100
121
|
const props = {};
|
|
101
122
|
for (const [key, val] of Object.entries(def)) {
|
|
102
123
|
let len = 0;
|
|
103
|
-
if (
|
|
104
|
-
tasks[key] = val;
|
|
124
|
+
if (isTaskCall(val)) {
|
|
125
|
+
tasks[key] = val.task;
|
|
105
126
|
len = key.length;
|
|
106
127
|
} else if (typeof val === "string") {
|
|
107
128
|
props[key] = val;
|
|
108
129
|
} else if (typeof val === "function") {
|
|
109
|
-
tasks[key] =
|
|
130
|
+
tasks[key] = new TaskImpl(key, buildFile, val, tasks, props);
|
|
110
131
|
len = key.length;
|
|
111
132
|
}
|
|
112
133
|
if (len > import_logging.logOptions.taskLength)
|
|
113
134
|
import_logging.logOptions.taskLength = len;
|
|
114
135
|
}
|
|
115
|
-
const
|
|
136
|
+
const start = async function start2(callback, overrideProps = {}) {
|
|
137
|
+
const state = makeState({ tasks, props: merge(props, overrideProps) });
|
|
116
138
|
const logger = (0, import_logging.getLogger)();
|
|
117
|
-
const state = {
|
|
118
|
-
cache: /* @__PURE__ */ new Map(),
|
|
119
|
-
stack: [],
|
|
120
|
-
props: Object.assign({}, props, overrideProps),
|
|
121
|
-
tasks
|
|
122
|
-
};
|
|
123
139
|
logger.notice("Starting...");
|
|
124
140
|
const now = Date.now();
|
|
125
141
|
try {
|
|
142
|
+
const result = await callback(state);
|
|
143
|
+
logger.notice(`Build successful ${(0, import_logging.$ms)(Date.now() - now)}`);
|
|
144
|
+
return result;
|
|
145
|
+
} catch (error) {
|
|
146
|
+
if (state.fails.size) {
|
|
147
|
+
logger.error("");
|
|
148
|
+
logger.error(state.fails.size, state.fails.size === 1 ? "task" : "tasks", "failed:");
|
|
149
|
+
state.fails.forEach((task) => logger.error((0, import_logging.$gry)("*"), (0, import_logging.$t)(task.name)));
|
|
150
|
+
logger.error("");
|
|
151
|
+
}
|
|
152
|
+
throw logger.fail(`Build failed ${(0, import_logging.$ms)(Date.now() - now)}`, error);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
const invoke = async function invoke2(taskNames, overrideProps = {}) {
|
|
156
|
+
await start(async (state) => {
|
|
126
157
|
for (const name of taskNames) {
|
|
127
158
|
const task = tasks[name];
|
|
128
159
|
(0, import_asserts.assert)(task, `Task ${(0, import_logging.$t)(name)} not found in build ${(0, import_logging.$p)(buildFile)}`);
|
|
129
160
|
await task.invoke(state, name);
|
|
130
161
|
}
|
|
131
|
-
|
|
132
|
-
} catch (error) {
|
|
133
|
-
throw logger.fail(`Build failed ${(0, import_logging.$ms)(Date.now() - now)}`, error);
|
|
134
|
-
}
|
|
162
|
+
}, overrideProps);
|
|
135
163
|
};
|
|
136
|
-
const
|
|
137
|
-
|
|
164
|
+
const callables = {};
|
|
165
|
+
for (const [name, task] of Object.entries(tasks)) {
|
|
166
|
+
const callable = async (overrideProps) => start(async (state) => task.invoke(state, name), overrideProps);
|
|
167
|
+
callables[name] = Object.defineProperties(callable, {
|
|
168
|
+
[taskCallMarker]: { value: taskCallMarker },
|
|
169
|
+
"task": { value: task },
|
|
170
|
+
"name": { value: name }
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
const compiled = merge(props, callables);
|
|
174
|
+
Object.defineProperty(compiled, import_types.buildMarker, { value: invoke });
|
|
138
175
|
return compiled;
|
|
139
176
|
}
|
|
177
|
+
function isBuild(build2) {
|
|
178
|
+
return build2 && typeof build2[import_types.buildMarker] === "function";
|
|
179
|
+
}
|
|
180
|
+
function invokeTasks(build2, tasks, props) {
|
|
181
|
+
if (isBuild(build2)) {
|
|
182
|
+
return build2[import_types.buildMarker](tasks, props);
|
|
183
|
+
} else {
|
|
184
|
+
throw new TypeError("Invalid build instance");
|
|
185
|
+
}
|
|
186
|
+
}
|
|
140
187
|
function hookBefore(build2, taskName, hooks) {
|
|
141
|
-
const
|
|
142
|
-
(0, import_asserts.assert)(
|
|
188
|
+
const taskCall = build2[taskName];
|
|
189
|
+
(0, import_asserts.assert)(isTaskCall(taskCall), `Task "${(0, import_logging.$t)(taskName)}" not found in build`);
|
|
143
190
|
for (const hook of hooks) {
|
|
144
191
|
const beforeHook = build2[hook];
|
|
145
|
-
(0, import_asserts.assert)(
|
|
146
|
-
if (task.before.includes(beforeHook))
|
|
192
|
+
(0, import_asserts.assert)(isTaskCall(beforeHook), `Task "${(0, import_logging.$t)(hook)}" to hook before "${(0, import_logging.$t)(taskName)}" not found in build`);
|
|
193
|
+
if (taskCall.task.before.includes(beforeHook.task))
|
|
147
194
|
continue;
|
|
148
|
-
task.before.push(beforeHook);
|
|
195
|
+
taskCall.task.before.push(beforeHook.task);
|
|
149
196
|
}
|
|
150
197
|
}
|
|
151
198
|
function hookAfter(build2, taskName, hooks) {
|
|
152
|
-
const
|
|
153
|
-
(0, import_asserts.assert)(
|
|
199
|
+
const taskCall = build2[taskName];
|
|
200
|
+
(0, import_asserts.assert)(isTaskCall(taskCall), `Task "${(0, import_logging.$t)(taskName)}" not found in build`);
|
|
154
201
|
for (const hook of hooks) {
|
|
155
202
|
const afterHook = build2[hook];
|
|
156
|
-
(0, import_asserts.assert)(
|
|
157
|
-
if (task.after.includes(afterHook))
|
|
203
|
+
(0, import_asserts.assert)(isTaskCall(afterHook), `Task "${(0, import_logging.$t)(hook)}" to hook after "${(0, import_logging.$t)(taskName)}" not found in build`);
|
|
204
|
+
if (taskCall.task.after.includes(afterHook.task))
|
|
158
205
|
continue;
|
|
159
|
-
task.after.push(afterHook);
|
|
206
|
+
taskCall.task.after.push(afterHook.task);
|
|
160
207
|
}
|
|
161
208
|
}
|
|
162
209
|
// Annotate the CommonJS export names for ESM import in node:
|
|
163
210
|
0 && (module.exports = {
|
|
164
211
|
build,
|
|
165
212
|
hookAfter,
|
|
166
|
-
hookBefore
|
|
213
|
+
hookBefore,
|
|
214
|
+
invokeTasks,
|
|
215
|
+
isBuild
|
|
167
216
|
});
|
|
168
217
|
//# sourceMappingURL=build.cjs.map
|
package/dist/build.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/build.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAuB;AACvB,mBAAyB;AACzB,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["build", "promise", "start", "invoke"]
|
|
6
6
|
}
|
package/dist/build.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type { Build,
|
|
1
|
+
import type { Build, BuildProps, BuildDef, ThisBuild, BuildTasks } from './types';
|
|
2
2
|
/** Compile a {@link BuildDef | build definition} into a {@link Build} */
|
|
3
3
|
export declare function build<D extends BuildDef, B extends ThisBuild<D>>(def: D & ThisType<B>): Build<D>;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
export declare function
|
|
8
|
-
|
|
9
|
-
export
|
|
4
|
+
/** Check if the specified build is actually a {@link Build} */
|
|
5
|
+
export declare function isBuild(build: any): build is Build<Record<string, any>>;
|
|
6
|
+
/** Invoke a number of tasks in a {@link Build} */
|
|
7
|
+
export declare function invokeTasks<B extends Build>(build: B, tasks: readonly BuildTasks<B>[], props?: BuildProps<B>): Promise<void>;
|
|
8
|
+
/** Make sure that the specified hooks run _before_ the given tasks */
|
|
9
|
+
export declare function hookBefore<B extends Build, T extends keyof B>(build: B, taskName: string & T & BuildTasks<B>, hooks: readonly (string & Exclude<BuildTasks<B>, T>)[]): void;
|
|
10
|
+
/** Make sure that the specified hooks run _after_ the given tasks */
|
|
11
|
+
export declare function hookAfter<B extends Build, T extends keyof B>(build: B, taskName: string & T & BuildTasks<B>, hooks: readonly (string & Exclude<BuildTasks<B>, T>)[]): void;
|