@plugjs/plug 0.4.0 → 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 +1 -1
- package/dist/asserts.cjs.map +1 -1
- package/dist/asserts.mjs +1 -1
- 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 +95 -70
- package/dist/build.cjs.map +2 -2
- package/dist/build.d.ts +6 -8
- package/dist/build.mjs +92 -67
- package/dist/build.mjs.map +2 -2
- package/dist/cli.mjs +1 -1
- 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/helpers.cjs +3 -4
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.mjs +3 -4
- package/dist/helpers.mjs.map +1 -1
- package/dist/logging/options.cjs +3 -10
- package/dist/logging/options.cjs.map +1 -1
- package/dist/logging/options.d.ts +44 -1
- package/dist/logging/options.mjs +3 -10
- package/dist/logging/options.mjs.map +1 -1
- package/dist/plugs/build.cjs +4 -7
- package/dist/plugs/build.cjs.map +1 -1
- package/dist/plugs/build.mjs +2 -5
- package/dist/plugs/build.mjs.map +1 -1
- 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 +33 -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/{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 +1 -1
- package/src/asserts.ts +1 -1
- package/src/async.ts +6 -29
- package/src/build.ts +151 -117
- package/src/files.ts +14 -6
- package/src/helpers.ts +3 -4
- package/src/logging/options.ts +4 -13
- package/src/plugs/build.ts +2 -15
- package/src/plugs/debug.ts +10 -9
- package/src/types.ts +52 -23
- package/src/utils/diff.ts +1 -6
- package/src/utils/singleton.ts +19 -0
- package/src/utils.ts +1 -1
- 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/src/utils/types.ts +0 -11
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/logging/options.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,oBAAoB;AAC7B,SAAS,cAAc;AAEvB,SAAS,gBAAgB,cAAc;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/build.cjs
CHANGED
|
@@ -27,6 +27,7 @@ module.exports = __toCommonJS(build_exports);
|
|
|
27
27
|
var import_colors = require("../logging/colors.cjs");
|
|
28
28
|
var import_fork = require("../fork.cjs");
|
|
29
29
|
var import_paths = require("../paths.cjs");
|
|
30
|
+
var import_build = require("../build.cjs");
|
|
30
31
|
var RunBuildInternal = class {
|
|
31
32
|
constructor(_tasks, _props) {
|
|
32
33
|
this._tasks = _tasks;
|
|
@@ -37,22 +38,18 @@ var RunBuildInternal = class {
|
|
|
37
38
|
for (const file of files.absolutePaths()) {
|
|
38
39
|
let maybeBuild = await import(file);
|
|
39
40
|
while (maybeBuild) {
|
|
40
|
-
if (isBuild(maybeBuild))
|
|
41
|
+
if ((0, import_build.isBuild)(maybeBuild))
|
|
41
42
|
break;
|
|
42
43
|
maybeBuild = maybeBuild.default;
|
|
43
44
|
}
|
|
44
|
-
if (!isBuild(maybeBuild)) {
|
|
45
|
+
if (!(0, import_build.isBuild)(maybeBuild)) {
|
|
45
46
|
context.log.fail(`File ${(0, import_colors.$p)(file)} did not export a proper build`);
|
|
46
47
|
} else {
|
|
47
|
-
await maybeBuild
|
|
48
|
+
await (0, import_build.invokeTasks)(maybeBuild, tasks, this._props);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
};
|
|
52
|
-
var buildMarker = Symbol.for("plugjs:isBuild");
|
|
53
|
-
function isBuild(build) {
|
|
54
|
-
return build && typeof build[buildMarker] === "function";
|
|
55
|
-
}
|
|
56
53
|
var RunBuild = class extends import_fork.ForkingPlug {
|
|
57
54
|
constructor(tasks, props, options) {
|
|
58
55
|
super((0, import_paths.requireFilename)(__filename), [tasks, props, options], RunBuildInternal.name);
|
package/dist/plugs/build.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/build.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,kBAA8C;AAC9C,mBAAgC;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,kBAA8C;AAC9C,mBAAgC;AAChC,mBAAqC;AAM9B,IAAM,mBAAN,MAA6C;AAAA,EAClD,YACqB,QACA,QACnB;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAiC;AACxD,UAAM,QAAQ,KAAK,OAAO,WAAW,IAAI,CAAE,SAAU,IAAI,KAAK;AAE9D,eAAW,QAAQ,MAAM,cAAc,GAAG;AAExC,UAAI,aAAa,MAAM,OAAO;AAC9B,aAAO,YAAY;AACjB,gBAAI,sBAAQ,UAAU;AAAG;AACzB,qBAAa,WAAW;AAAA,MAC1B;AAGA,UAAI,KAAE,sBAAQ,UAAU,GAAG;AACzB,gBAAQ,IAAI,KAAK,YAAQ,kBAAG,IAAI,iCAAiC;AAAA,MACnE,OAAO;AACL,kBAAM,0BAAY,YAAY,OAAO,KAAK,MAAM;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,WAAN,cAAuB,wBAAY;AAAA,EACxC,YACI,OACA,OACA,SACF;AACA,cAAM,8BAAgB,UAAS,GAAG,CAAE,OAAO,OAAO,OAAQ,GAAG,iBAAiB,IAAI;AAAA,EACpF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/build.mjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { $p } from "../logging/colors.mjs";
|
|
3
3
|
import { ForkingPlug } from "../fork.mjs";
|
|
4
4
|
import { requireFilename } from "../paths.mjs";
|
|
5
|
+
import { invokeTasks, isBuild } from "../build.mjs";
|
|
5
6
|
var RunBuildInternal = class {
|
|
6
7
|
constructor(_tasks, _props) {
|
|
7
8
|
this._tasks = _tasks;
|
|
@@ -19,15 +20,11 @@ var RunBuildInternal = class {
|
|
|
19
20
|
if (!isBuild(maybeBuild)) {
|
|
20
21
|
context.log.fail(`File ${$p(file)} did not export a proper build`);
|
|
21
22
|
} else {
|
|
22
|
-
await maybeBuild
|
|
23
|
+
await invokeTasks(maybeBuild, tasks, this._props);
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
};
|
|
27
|
-
var buildMarker = Symbol.for("plugjs:isBuild");
|
|
28
|
-
function isBuild(build) {
|
|
29
|
-
return build && typeof build[buildMarker] === "function";
|
|
30
|
-
}
|
|
31
28
|
var RunBuild = class extends ForkingPlug {
|
|
32
29
|
constructor(tasks, props, options) {
|
|
33
30
|
super(requireFilename(import.meta.url), [tasks, props, options], RunBuildInternal.name);
|
package/dist/plugs/build.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/build.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,mBAAqC;AAC9C,SAAS,uBAAuB;
|
|
4
|
+
"mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,mBAAqC;AAC9C,SAAS,uBAAuB;AAChC,SAAS,aAAa,eAAe;AAM9B,IAAM,mBAAN,MAA6C;AAAA,EAClD,YACqB,QACA,QACnB;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAiC;AACxD,UAAM,QAAQ,KAAK,OAAO,WAAW,IAAI,CAAE,SAAU,IAAI,KAAK;AAE9D,eAAW,QAAQ,MAAM,cAAc,GAAG;AAExC,UAAI,aAAa,MAAM,OAAO;AAC9B,aAAO,YAAY;AACjB,YAAI,QAAQ,UAAU;AAAG;AACzB,qBAAa,WAAW;AAAA,MAC1B;AAGA,UAAI,CAAE,QAAQ,UAAU,GAAG;AACzB,gBAAQ,IAAI,KAAK,QAAQ,GAAG,IAAI,iCAAiC;AAAA,MACnE,OAAO;AACL,cAAM,YAAY,YAAY,OAAO,KAAK,MAAM;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,WAAN,cAAuB,YAAY;AAAA,EACxC,YACI,OACA,OACA,SACF;AACA,UAAM,gBAAgB,eAAS,GAAG,CAAE,OAAO,OAAO,OAAQ,GAAG,iBAAiB,IAAI;AAAA,EACpF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/debug.cjs
CHANGED
|
@@ -11,15 +11,13 @@ var import_pipe = require("../pipe.cjs");
|
|
|
11
11
|
}
|
|
12
12
|
async pipe(files, context) {
|
|
13
13
|
context.log.notice(this._title, `${(0, import_logging.$gry)("(")}${(0, import_logging.$ylw)(files.length)} ${(0, import_logging.$gry)("files)")}`);
|
|
14
|
-
context.log.notice("-
|
|
15
|
-
context.log.notice("-
|
|
16
|
-
context.log.notice("-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
context.log.notice("- :", (0, import_logging.$und)((0, import_logging.$gry)(p)));
|
|
22
|
-
}
|
|
14
|
+
context.log.notice("- build file dir:", (0, import_logging.$gry)((0, import_logging.$und)(context.resolve("@"))));
|
|
15
|
+
context.log.notice("- current dir:", (0, import_logging.$gry)((0, import_logging.$und)(context.resolve("."))));
|
|
16
|
+
context.log.notice("- files dir:", (0, import_logging.$gry)((0, import_logging.$und)(files.directory)));
|
|
17
|
+
const paths = [...files];
|
|
18
|
+
const path = paths.shift();
|
|
19
|
+
context.log.notice("- relative paths:", (0, import_logging.$und)((0, import_logging.$gry)(path)));
|
|
20
|
+
paths.forEach((p) => context.log.notice("- :", (0, import_logging.$und)((0, import_logging.$gry)(p))));
|
|
23
21
|
return files;
|
|
24
22
|
}
|
|
25
23
|
});
|
package/dist/plugs/debug.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/debug.ts"],
|
|
4
|
-
"mappings": ";;;AAAA,
|
|
4
|
+
"mappings": ";;;AAAA,qBAAiC;AACjC,kBAAwB;AAAA,IAiBxB,qBAAQ,SAAS,MAAM,MAA6B;AAAA,EACjC;AAAA,EAEjB,eAAe,MAA+B;AAC5C,UAAM,CAAE,QAAQ,WAAY,IAAI;AAChC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,MAAM,KAAK,OAAc,SAAkC;AACzD,YAAQ,IAAI,OAAO,KAAK,QAAQ,OAAG,qBAAK,GAAG,QAAI,qBAAK,MAAM,MAAM,SAAK,qBAAK,QAAQ,GAAG;AACrF,YAAQ,IAAI,OAAO,yBAAqB,yBAAK,qBAAK,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC;AACxE,YAAQ,IAAI,OAAO,yBAAqB,yBAAK,qBAAK,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC;AACxE,YAAQ,IAAI,OAAO,yBAAqB,yBAAK,qBAAK,MAAM,SAAS,CAAC,CAAC;AAEnE,UAAM,QAAQ,CAAE,GAAG,KAAM;AACzB,UAAM,OAAO,MAAM,MAAM;AACzB,YAAQ,IAAI,OAAO,yBAAqB,yBAAK,qBAAK,IAAI,CAAC,CAAC;AACxD,UAAM,QAAQ,CAAC,MAAM,QAAQ,IAAI,OAAO,yBAAqB,yBAAK,qBAAK,CAAC,CAAC,CAAC,CAAC;AAE3E,WAAO;AAAA,EACT;AACF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/debug.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// plugs/debug.ts
|
|
2
|
-
import { $gry, $
|
|
2
|
+
import { $gry, $und, $ylw } from "../logging.mjs";
|
|
3
3
|
import { install } from "../pipe.mjs";
|
|
4
4
|
install("debug", class Debug {
|
|
5
5
|
_title;
|
|
@@ -9,15 +9,13 @@ install("debug", class Debug {
|
|
|
9
9
|
}
|
|
10
10
|
async pipe(files, context) {
|
|
11
11
|
context.log.notice(this._title, `${$gry("(")}${$ylw(files.length)} ${$gry("files)")}`);
|
|
12
|
-
context.log.notice("-
|
|
13
|
-
context.log.notice("-
|
|
14
|
-
context.log.notice("-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
context.log.notice("- :", $und($gry(p)));
|
|
20
|
-
}
|
|
12
|
+
context.log.notice("- build file dir:", $gry($und(context.resolve("@"))));
|
|
13
|
+
context.log.notice("- current dir:", $gry($und(context.resolve("."))));
|
|
14
|
+
context.log.notice("- files dir:", $gry($und(files.directory)));
|
|
15
|
+
const paths = [...files];
|
|
16
|
+
const path = paths.shift();
|
|
17
|
+
context.log.notice("- relative paths:", $und($gry(path)));
|
|
18
|
+
paths.forEach((p) => context.log.notice("- :", $und($gry(p))));
|
|
21
19
|
return files;
|
|
22
20
|
}
|
|
23
21
|
});
|
package/dist/plugs/debug.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/debug.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,MAAM,
|
|
4
|
+
"mappings": ";AAAA,SAAS,MAAM,MAAM,YAAY;AACjC,SAAS,eAAe;AAiBxB,QAAQ,SAAS,MAAM,MAA6B;AAAA,EACjC;AAAA,EAEjB,eAAe,MAA+B;AAC5C,UAAM,CAAE,QAAQ,WAAY,IAAI;AAChC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,MAAM,KAAK,OAAc,SAAkC;AACzD,YAAQ,IAAI,OAAO,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,KAAK,MAAM,MAAM,KAAK,KAAK,QAAQ,GAAG;AACrF,YAAQ,IAAI,OAAO,qBAAqB,KAAK,KAAK,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC;AACxE,YAAQ,IAAI,OAAO,qBAAqB,KAAK,KAAK,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC;AACxE,YAAQ,IAAI,OAAO,qBAAqB,KAAK,KAAK,MAAM,SAAS,CAAC,CAAC;AAEnE,UAAM,QAAQ,CAAE,GAAG,KAAM;AACzB,UAAM,OAAO,MAAM,MAAM;AACzB,YAAQ,IAAI,OAAO,qBAAqB,KAAK,KAAK,IAAI,CAAC,CAAC;AACxD,UAAM,QAAQ,CAAC,MAAM,QAAQ,IAAI,OAAO,qBAAqB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3E,WAAO;AAAA,EACT;AACF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/types.cjs
CHANGED
|
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
6
10
|
var __copyProps = (to, from, except, desc) => {
|
|
7
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
12
|
for (let key of __getOwnPropNames(from))
|
|
@@ -15,5 +19,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
15
19
|
|
|
16
20
|
// types.ts
|
|
17
21
|
var types_exports = {};
|
|
22
|
+
__export(types_exports, {
|
|
23
|
+
buildMarker: () => buildMarker
|
|
24
|
+
});
|
|
18
25
|
module.exports = __toCommonJS(types_exports);
|
|
26
|
+
var buildMarker = Symbol.for("plugjs:plug:types:Build");
|
|
27
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
+
0 && (module.exports = {
|
|
29
|
+
buildMarker
|
|
30
|
+
});
|
|
19
31
|
//# sourceMappingURL=types.cjs.map
|
package/dist/types.cjs.map
CHANGED
package/dist/types.d.ts
CHANGED
|
@@ -27,21 +27,23 @@ export interface State {
|
|
|
27
27
|
* The {@link Task} interface normalizes a task definition, associating it with
|
|
28
28
|
* its build file, its sibling {@link Task}s and available _properties_.
|
|
29
29
|
*/
|
|
30
|
-
export interface Task<T extends Result = Result
|
|
31
|
-
/**
|
|
32
|
-
|
|
30
|
+
export interface Task<T extends Result = Result> {
|
|
31
|
+
/** The unique ID of this {@link Task} */
|
|
32
|
+
readonly id: number;
|
|
33
|
+
/** The _original_ name of this task */
|
|
34
|
+
readonly name: string;
|
|
33
35
|
/** All _properties_ siblings to this {@link Task} */
|
|
34
36
|
readonly props: Props;
|
|
35
37
|
/** All {@link Tasks} sibling to this {@link Task} */
|
|
36
38
|
readonly tasks: Tasks;
|
|
37
39
|
/** The absolute file name where this {@link Task} was defined */
|
|
38
40
|
readonly buildFile: AbsolutePath;
|
|
39
|
-
/** Invoke a task from in the context of a {@link Build} */
|
|
40
|
-
invoke(state: State, taskName: string): Promise<T>;
|
|
41
41
|
/** Other {@link Task}s hooked _before_ this one */
|
|
42
42
|
readonly before: Task[];
|
|
43
43
|
/** Other {@link Task}s hooked _after_ this one */
|
|
44
44
|
readonly after: Task[];
|
|
45
|
+
/** Invoke a task from in the context of a {@link Build} */
|
|
46
|
+
invoke(state: State, taskName: string): Promise<T>;
|
|
45
47
|
}
|
|
46
48
|
/**
|
|
47
49
|
* The {@link TaskResult} type identifies _what_ can be returned by a
|
|
@@ -50,30 +52,52 @@ export interface Task<T extends Result = Result, P extends Props = Record<string
|
|
|
50
52
|
export type TaskResult = Pipe | Files | void | undefined;
|
|
51
53
|
/** The {@link TaskDef} type identifies the _definition_ of a task. */
|
|
52
54
|
export type TaskDef<R extends TaskResult = TaskResult> = () => R | Promise<R>;
|
|
55
|
+
/** A callable, compiled {@link Task} from a {@link TaskDef} */
|
|
56
|
+
export type TaskCall<D extends BuildDef = BuildDef, R extends Result = Result> = {
|
|
57
|
+
(props?: Partial<Props<D>>): Promise<R>;
|
|
58
|
+
task: Task<R>;
|
|
59
|
+
};
|
|
53
60
|
/** A type identifying all _properties_ of a {@link Build}. */
|
|
54
61
|
export type Props<D extends BuildDef = BuildDef> = {
|
|
55
62
|
readonly [k in string & keyof D as D[k] extends string ? k : never]: string;
|
|
56
63
|
};
|
|
57
64
|
/** A type identifying all _tasks_ in a {@link Build} */
|
|
58
65
|
export type Tasks<D extends BuildDef = BuildDef> = {
|
|
59
|
-
readonly [k in string & keyof D as D[k] extends TaskDef |
|
|
66
|
+
readonly [k in string & keyof D as D[k] extends TaskDef | TaskCall ? k : never]: D[k] extends TaskDef<infer R> ? R extends void | undefined ? TaskCall<D, undefined> : R extends Pipe | Files ? TaskCall<D, Files> : never : D[k] extends TaskCall ? D[k] : never;
|
|
60
67
|
};
|
|
61
68
|
/**
|
|
62
69
|
* The {@link BuildDef} interface describes the _definition_ of a {@link Build},
|
|
63
70
|
* all its properties and tasks.
|
|
64
71
|
*/
|
|
65
72
|
export interface BuildDef {
|
|
66
|
-
[k: string]: string | TaskDef |
|
|
73
|
+
[k: string]: string | TaskDef | TaskCall;
|
|
67
74
|
}
|
|
68
75
|
/**
|
|
69
76
|
* The type that will be used for `this` when invoking
|
|
70
77
|
* {@link TaskDef | task definitions }.
|
|
71
78
|
*/
|
|
72
79
|
export type ThisBuild<D extends BuildDef> = {
|
|
73
|
-
readonly [k in keyof D
|
|
80
|
+
readonly [k in keyof D as k extends string ? k : never]: D[k] extends TaskDef<infer R> ? R extends Promise<undefined> | void | undefined ? () => Promise<undefined> : R extends Pipe | Files ? () => Pipe : never : D[k] extends TaskCall<any, infer R> ? R extends undefined ? () => Promise<undefined> : R extends Files ? () => Pipe : never : D[k] extends string ? string : never;
|
|
74
81
|
};
|
|
82
|
+
/**
|
|
83
|
+
* Symbol indicating that an object is a {@link Build}.
|
|
84
|
+
*
|
|
85
|
+
* In a compiled {@link Build} this symbol will be associated with a function
|
|
86
|
+
* taking an array of strings (task names) and record of props to override
|
|
87
|
+
*/
|
|
88
|
+
export declare const buildMarker: unique symbol;
|
|
75
89
|
/**
|
|
76
90
|
* The {@link Build} type represents the collection of {@link Task}s
|
|
77
91
|
* and _properties_ compiled from a {@link BuildDef | build definition}.
|
|
78
92
|
*/
|
|
79
|
-
export type Build<D extends BuildDef = BuildDef> =
|
|
93
|
+
export type Build<D extends BuildDef = BuildDef> = Props<D> & Tasks<D> & {
|
|
94
|
+
readonly [buildMarker]: (tasks: readonly string[], props?: Record<string, string | undefined>) => Promise<void>;
|
|
95
|
+
};
|
|
96
|
+
/** A type identifying all _task names_ in a {@link Build}. */
|
|
97
|
+
export type BuildTasks<B extends Build> = string & keyof {
|
|
98
|
+
[name in keyof B as B[name] extends Function ? name : never]: any;
|
|
99
|
+
};
|
|
100
|
+
/** A type identifying a subset of _properties_ for a {@link Build}. */
|
|
101
|
+
export type BuildProps<B extends Build> = {
|
|
102
|
+
[name in keyof B as B[name] extends string ? name : never]?: string;
|
|
103
|
+
};
|
package/dist/types.mjs
CHANGED
package/dist/types.mjs.map
CHANGED
package/dist/utils/diff.cjs
CHANGED
|
@@ -28,7 +28,6 @@ var import_node_assert = require("node:assert");
|
|
|
28
28
|
var import_node_util = require("node:util");
|
|
29
29
|
var import_asserts = require("../asserts.cjs");
|
|
30
30
|
var import_logging = require("../logging.cjs");
|
|
31
|
-
var import_types = require("./types.cjs");
|
|
32
31
|
function compareLongestCommonSubsequence(lhsCtx, rhsCtx) {
|
|
33
32
|
let lhsStart = 0;
|
|
34
33
|
let rhsStart = 0;
|
|
@@ -257,9 +256,7 @@ function textDiff(lhs, rhs, add, del, not) {
|
|
|
257
256
|
const _not = not || (import_logging.logOptions.colors ? (s) => s : (s) => ` ${s}`);
|
|
258
257
|
let lhsLines;
|
|
259
258
|
let rhsLines;
|
|
260
|
-
|
|
261
|
-
const rhsType = (0, import_types.getTypeOf)(rhs);
|
|
262
|
-
if (lhsType === "string" && rhsType === "string") {
|
|
259
|
+
if (typeof lhs === "string" && typeof rhs === "string") {
|
|
263
260
|
lhsLines = lhs.split("\n");
|
|
264
261
|
rhsLines = rhs.split("\n");
|
|
265
262
|
} else {
|
package/dist/utils/diff.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/diff.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAqB;AACrB,uBAA2C;AAE3C,qBAAuB;AACvB,qBAAuC;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["code"]
|
|
6
6
|
}
|
package/dist/utils/diff.mjs
CHANGED
|
@@ -3,7 +3,6 @@ import { fail } from "node:assert";
|
|
|
3
3
|
import { inspect, isDeepStrictEqual } from "node:util";
|
|
4
4
|
import { assert } from "../asserts.mjs";
|
|
5
5
|
import { $grn, $red, logOptions } from "../logging.mjs";
|
|
6
|
-
import { getTypeOf } from "./types.mjs";
|
|
7
6
|
function compareLongestCommonSubsequence(lhsCtx, rhsCtx) {
|
|
8
7
|
let lhsStart = 0;
|
|
9
8
|
let rhsStart = 0;
|
|
@@ -232,9 +231,7 @@ function textDiff(lhs, rhs, add, del, not) {
|
|
|
232
231
|
const _not = not || (logOptions.colors ? (s) => s : (s) => ` ${s}`);
|
|
233
232
|
let lhsLines;
|
|
234
233
|
let rhsLines;
|
|
235
|
-
|
|
236
|
-
const rhsType = getTypeOf(rhs);
|
|
237
|
-
if (lhsType === "string" && rhsType === "string") {
|
|
234
|
+
if (typeof lhs === "string" && typeof rhs === "string") {
|
|
238
235
|
lhsLines = lhs.split("\n");
|
|
239
236
|
rhsLines = rhs.split("\n");
|
|
240
237
|
} else {
|
package/dist/utils/diff.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/diff.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,YAAY;AACrB,SAAS,SAAS,yBAAyB;AAE3C,SAAS,cAAc;AACvB,SAAS,MAAM,MAAM,kBAAkB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["code"]
|
|
6
6
|
}
|
|
@@ -17,21 +17,22 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
|
|
20
|
-
// utils/
|
|
21
|
-
var
|
|
22
|
-
__export(
|
|
23
|
-
|
|
20
|
+
// utils/singleton.ts
|
|
21
|
+
var singleton_exports = {};
|
|
22
|
+
__export(singleton_exports, {
|
|
23
|
+
getSingleton: () => getSingleton
|
|
24
24
|
});
|
|
25
|
-
module.exports = __toCommonJS(
|
|
26
|
-
function
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
module.exports = __toCommonJS(singleton_exports);
|
|
26
|
+
function getSingleton(symbol, factory) {
|
|
27
|
+
const anyGlobalThis = globalThis;
|
|
28
|
+
if (anyGlobalThis[symbol])
|
|
29
|
+
return anyGlobalThis[symbol];
|
|
30
|
+
const value = factory();
|
|
31
|
+
Object.defineProperty(anyGlobalThis, symbol, { value });
|
|
32
|
+
return value;
|
|
32
33
|
}
|
|
33
34
|
// Annotate the CommonJS export names for ESM import in node:
|
|
34
35
|
0 && (module.exports = {
|
|
35
|
-
|
|
36
|
+
getSingleton
|
|
36
37
|
});
|
|
37
|
-
//# sourceMappingURL=
|
|
38
|
+
//# sourceMappingURL=singleton.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/singleton.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,SAAS,aAAgB,QAAgB,SAAqB;AACnE,QAAM,gBAAgB;AACtB,MAAI,cAAc,MAAM;AAAG,WAAO,cAAc,MAAM;AAEtD,QAAM,QAAQ,QAAQ;AACtB,SAAO,eAAe,eAAe,QAAQ,EAAE,MAAM,CAAC;AACtD,SAAO;AACT;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the instance of a _singleton_ variable.
|
|
3
|
+
*
|
|
4
|
+
* Sometimes we need unique instances _per process_ (for example our async
|
|
5
|
+
* context). The problem is that the code might get called from two (or three)
|
|
6
|
+
* different versions of this file: the .cjs transpiled code, the .mjs
|
|
7
|
+
* transpiled one, or the .ts dynamically transpiled by our dynamic loader.
|
|
8
|
+
*
|
|
9
|
+
* A _singleton_ associates an instance with a symbol in `globalThis` and ensure
|
|
10
|
+
* there is only _one_ instance per process (per `globalThis`).
|
|
11
|
+
*/
|
|
12
|
+
export declare function getSingleton<T>(symbol: symbol, factory: () => T): T;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// utils/singleton.ts
|
|
2
|
+
function getSingleton(symbol, factory) {
|
|
3
|
+
const anyGlobalThis = globalThis;
|
|
4
|
+
if (anyGlobalThis[symbol])
|
|
5
|
+
return anyGlobalThis[symbol];
|
|
6
|
+
const value = factory();
|
|
7
|
+
Object.defineProperty(anyGlobalThis, symbol, { value });
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
getSingleton
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=singleton.mjs.map
|
package/dist/utils.cjs
CHANGED
|
@@ -21,7 +21,7 @@ __reExport(utils_exports, require("./utils/diff.cjs"), module.exports);
|
|
|
21
21
|
__reExport(utils_exports, require("./utils/exec.cjs"), module.exports);
|
|
22
22
|
__reExport(utils_exports, require("./utils/match.cjs"), module.exports);
|
|
23
23
|
__reExport(utils_exports, require("./utils/options.cjs"), module.exports);
|
|
24
|
-
__reExport(utils_exports, require("./utils/
|
|
24
|
+
__reExport(utils_exports, require("./utils/singleton.cjs"), module.exports);
|
|
25
25
|
__reExport(utils_exports, require("./utils/walk.cjs"), module.exports);
|
|
26
26
|
// Annotate the CommonJS export names for ESM import in node:
|
|
27
27
|
0 && (module.exports = {
|
|
@@ -29,7 +29,7 @@ __reExport(utils_exports, require("./utils/walk.cjs"), module.exports);
|
|
|
29
29
|
...require("./utils/exec.cjs"),
|
|
30
30
|
...require("./utils/match.cjs"),
|
|
31
31
|
...require("./utils/options.cjs"),
|
|
32
|
-
...require("./utils/
|
|
32
|
+
...require("./utils/singleton.cjs"),
|
|
33
33
|
...require("./utils/walk.cjs")
|
|
34
34
|
});
|
|
35
35
|
//# sourceMappingURL=utils.cjs.map
|
package/dist/utils.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/utils.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,6BAAd;AACA,0BAAc,6BADd;AAEA,0BAAc,8BAFd;AAGA,0BAAc,gCAHd;AAIA,0BAAc,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,6BAAd;AACA,0BAAc,6BADd;AAEA,0BAAc,8BAFd;AAGA,0BAAc,gCAHd;AAIA,0BAAc,kCAJd;AAKA,0BAAc,6BALd;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/utils.d.ts
CHANGED
package/dist/utils.mjs
CHANGED
|
@@ -3,6 +3,6 @@ export * from "./utils/diff.mjs";
|
|
|
3
3
|
export * from "./utils/exec.mjs";
|
|
4
4
|
export * from "./utils/match.mjs";
|
|
5
5
|
export * from "./utils/options.mjs";
|
|
6
|
-
export * from "./utils/
|
|
6
|
+
export * from "./utils/singleton.mjs";
|
|
7
7
|
export * from "./utils/walk.mjs";
|
|
8
8
|
//# sourceMappingURL=utils.mjs.map
|
package/package.json
CHANGED
package/src/asserts.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { githubAnnotation } from './logging/github'
|
|
6
6
|
|
|
7
7
|
/** A symbol marking {@link BuildFailure} instances */
|
|
8
|
-
const buildFailure = Symbol.for('plugjs:
|
|
8
|
+
const buildFailure = Symbol.for('plugjs:plug:types:BuildFailure')
|
|
9
9
|
|
|
10
10
|
/** A {@link BuildFailure} represents an error _already logged_ in our build. */
|
|
11
11
|
export class BuildFailure extends Error {
|
package/src/async.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'node:async_hooks'
|
|
2
2
|
|
|
3
3
|
import { assert } from './asserts'
|
|
4
|
+
import { getSingleton } from './utils/singleton'
|
|
4
5
|
|
|
5
6
|
import type { Context } from './pipe'
|
|
6
7
|
|
|
@@ -56,33 +57,9 @@ export function runningTasks(): string[] {
|
|
|
56
57
|
* INTERNALS *
|
|
57
58
|
* ========================================================================== */
|
|
58
59
|
|
|
59
|
-
/*
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
* the .mjs transpiled one (or the .ts dynamically transpiled by ts-loader).
|
|
63
|
-
* In all these cases, we must return the _same_ object, so we store those as
|
|
64
|
-
* a global variables associated with a couple of global symbols
|
|
65
|
-
*/
|
|
66
|
-
const storageKey = Symbol.for('plugjs.plug.async.storage')
|
|
67
|
-
const tasksKey = Symbol.for('plugjs.plug.async.tasks')
|
|
68
|
-
|
|
69
|
-
function getStorage(): AsyncLocalStorage<Context> {
|
|
70
|
-
let storage: AsyncLocalStorage<Context> = (<any> globalThis)[storageKey]
|
|
71
|
-
if (! storage) {
|
|
72
|
-
storage = new AsyncLocalStorage<Context>()
|
|
73
|
-
;(<any> globalThis)[storageKey] = storage
|
|
74
|
-
}
|
|
75
|
-
return storage
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function getTasks(): Set<string> {
|
|
79
|
-
let tasks: Set<string> = (<any> globalThis)[tasksKey]
|
|
80
|
-
if (! tasks) {
|
|
81
|
-
tasks = new Set<string>
|
|
82
|
-
;(<any> globalThis)[tasksKey] = tasks
|
|
83
|
-
}
|
|
84
|
-
return tasks
|
|
85
|
-
}
|
|
60
|
+
/* Storage and task names must be unique _per process_ */
|
|
61
|
+
const storageKey = Symbol.for('plugjs:plug:singleton:contextStorage')
|
|
62
|
+
const tasksKey = Symbol.for('plugjs:plug:singleton:runningTasksStorage')
|
|
86
63
|
|
|
87
|
-
const storage =
|
|
88
|
-
const tasks =
|
|
64
|
+
const storage = getSingleton(storageKey, () => new AsyncLocalStorage<Context>())
|
|
65
|
+
const tasks = getSingleton(tasksKey, () => new Set<string>())
|