@plugjs/plug 0.1.2 → 0.1.4
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 +5 -3
- package/dist/asserts.cjs.map +1 -1
- package/dist/asserts.d.ts +2 -2
- package/dist/asserts.mjs +5 -3
- package/dist/asserts.mjs.map +1 -1
- package/dist/build.cjs +32 -24
- package/dist/build.cjs.map +2 -2
- package/dist/build.mjs +32 -24
- package/dist/build.mjs.map +2 -2
- package/dist/files.cjs.map +1 -1
- package/dist/files.d.ts +2 -2
- package/dist/files.mjs.map +1 -1
- package/dist/fork.cjs +10 -10
- package/dist/fork.cjs.map +2 -2
- package/dist/fork.mjs +10 -10
- package/dist/fork.mjs.map +2 -2
- package/dist/helpers.cjs +4 -1
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.mjs +4 -1
- package/dist/helpers.mjs.map +1 -1
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/dist/logging/logger.cjs +1 -1
- package/dist/logging/logger.cjs.map +1 -1
- package/dist/logging/logger.mjs +1 -1
- package/dist/logging/logger.mjs.map +1 -1
- package/dist/plugs/copy.cjs +5 -5
- package/dist/plugs/copy.cjs.map +1 -1
- package/dist/plugs/copy.mjs +5 -5
- package/dist/plugs/copy.mjs.map +1 -1
- package/dist/types.d.ts +7 -5
- package/package.json +5 -5
- package/src/asserts.ts +7 -4
- package/src/build.ts +42 -18
- package/src/files.ts +2 -2
- package/src/fork.ts +8 -8
- package/src/helpers.ts +5 -1
- package/src/index.ts +1 -1
- package/src/logging/logger.ts +1 -1
- package/src/plugs/copy.ts +11 -10
- package/src/types.ts +9 -7
package/dist/asserts.cjs
CHANGED
|
@@ -33,12 +33,14 @@ function isBuildFailure(arg) {
|
|
|
33
33
|
}
|
|
34
34
|
var BuildFailure = class extends Error {
|
|
35
35
|
errors;
|
|
36
|
-
constructor(message, errors) {
|
|
36
|
+
constructor(message, errors = []) {
|
|
37
37
|
super(message || "");
|
|
38
38
|
Error.captureStackTrace(this, BuildFailure);
|
|
39
|
+
if (errors.length)
|
|
40
|
+
this.errors = Object.freeze([...errors]);
|
|
39
41
|
Object.defineProperties(this, {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
[buildFailure]: { value: buildFailure },
|
|
43
|
+
"name": { value: "BuildFailure" }
|
|
42
44
|
});
|
|
43
45
|
}
|
|
44
46
|
static fail() {
|
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;AAAA;AAKA,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,kBAAkB;AACtC;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,kBAAkB;AACtC;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA,EAGT,YAAY,SAA8B,SAAgB,CAAC,GAAG;AAC5D,UAAM,WAAW,EAAE;AAGnB,UAAM,kBAAkB,MAAM,YAAY;AAC1C,QAAI,OAAO;AAAQ,WAAK,SAAS,OAAO,OAAO,CAAE,GAAG,MAAO,CAAC;AAG5D,WAAO,iBAAiB,MAAM;AAAA,MAC5B,CAAC,eAAe,EAAE,OAAO,aAAa;AAAA,MACtC,QAAQ,EAAE,OAAO,eAAe;AAAA,IAClC,CAAC;AAAA,EACH;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;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
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
export declare function isBuildFailure(arg: any): arg is BuildFailure;
|
|
3
3
|
/** A {@link BuildFailure} represents an error _already logged_ in our build. */
|
|
4
4
|
export declare class BuildFailure extends Error {
|
|
5
|
-
readonly errors
|
|
5
|
+
readonly errors?: readonly any[] | undefined;
|
|
6
6
|
/** Construct a {@link BuildFailure} */
|
|
7
|
-
|
|
7
|
+
constructor(message?: string | undefined, errors?: any[]);
|
|
8
8
|
static fail(): BuildFailure;
|
|
9
9
|
static withMessage(message: string): BuildFailure;
|
|
10
10
|
static withErrors(errors: any[]): BuildFailure;
|
package/dist/asserts.mjs
CHANGED
|
@@ -5,12 +5,14 @@ function isBuildFailure(arg) {
|
|
|
5
5
|
}
|
|
6
6
|
var BuildFailure = class extends Error {
|
|
7
7
|
errors;
|
|
8
|
-
constructor(message, errors) {
|
|
8
|
+
constructor(message, errors = []) {
|
|
9
9
|
super(message || "");
|
|
10
10
|
Error.captureStackTrace(this, BuildFailure);
|
|
11
|
+
if (errors.length)
|
|
12
|
+
this.errors = Object.freeze([...errors]);
|
|
11
13
|
Object.defineProperties(this, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
[buildFailure]: { value: buildFailure },
|
|
15
|
+
"name": { value: "BuildFailure" }
|
|
14
16
|
});
|
|
15
17
|
}
|
|
16
18
|
static fail() {
|
package/dist/asserts.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/asserts.ts"],
|
|
4
|
-
"mappings": ";AAKA,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,kBAAkB;AACtC;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA,
|
|
4
|
+
"mappings": ";AAKA,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,kBAAkB;AACtC;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA,EAGT,YAAY,SAA8B,SAAgB,CAAC,GAAG;AAC5D,UAAM,WAAW,EAAE;AAGnB,UAAM,kBAAkB,MAAM,YAAY;AAC1C,QAAI,OAAO;AAAQ,WAAK,SAAS,OAAO,OAAO,CAAE,GAAG,MAAO,CAAC;AAG5D,WAAO,iBAAiB,MAAM;AAAA,MAC5B,CAAC,eAAe,EAAE,OAAO,aAAa;AAAA,MACtC,QAAQ,EAAE,OAAO,eAAe;AAAA,IAClC,CAAC;AAAA,EACH;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;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/build.cjs
CHANGED
|
@@ -30,50 +30,58 @@ var import_logging = require("./logging.cjs");
|
|
|
30
30
|
var import_pipe = require("./pipe.cjs");
|
|
31
31
|
var import_caller = require("./utils/caller.cjs");
|
|
32
32
|
var import_options = require("./utils/options.cjs");
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
(0, import_asserts.assert)(!state.stack.includes(this), `Recursion detected calling ${(0, import_logging.$t)(taskName)}`);
|
|
42
|
-
const cached = state.cache.get(this);
|
|
33
|
+
var taskMarker = Symbol.for("plugjs:isTask");
|
|
34
|
+
function isTask(something) {
|
|
35
|
+
return something[taskMarker] === true;
|
|
36
|
+
}
|
|
37
|
+
function makeTask(buildFile, tasks, props, _def, _name) {
|
|
38
|
+
function invoke2(state, taskName) {
|
|
39
|
+
(0, import_asserts.assert)(!state.stack.includes(task), `Recursion detected calling ${(0, import_logging.$t)(taskName)}`);
|
|
40
|
+
const cached = state.cache.get(task);
|
|
43
41
|
if (cached)
|
|
44
42
|
return cached;
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const stack = [...state.stack,
|
|
43
|
+
const props2 = Object.assign({}, task.props, state.props);
|
|
44
|
+
const tasks2 = Object.assign({}, task.tasks, state.tasks);
|
|
45
|
+
const stack = [...state.stack, task];
|
|
48
46
|
const cache = state.cache;
|
|
49
|
-
const context = new import_pipe.Context(
|
|
47
|
+
const context = new import_pipe.Context(task.buildFile, taskName);
|
|
50
48
|
const build2 = new Proxy({}, {
|
|
51
49
|
get(_, name) {
|
|
52
|
-
if (name in
|
|
50
|
+
if (name in tasks2) {
|
|
53
51
|
return () => {
|
|
54
|
-
const state2 = { stack, cache, tasks, props };
|
|
55
|
-
const promise2 =
|
|
52
|
+
const state2 = { stack, cache, tasks: tasks2, props: props2 };
|
|
53
|
+
const promise2 = tasks2[name].invoke(state2, name);
|
|
56
54
|
return new import_pipe.PipeImpl(context, promise2);
|
|
57
55
|
};
|
|
58
|
-
} else if (name in
|
|
59
|
-
return
|
|
56
|
+
} else if (name in props2) {
|
|
57
|
+
return props2[name];
|
|
60
58
|
}
|
|
61
59
|
}
|
|
62
60
|
});
|
|
63
61
|
context.log.info("Running...");
|
|
64
62
|
const now = Date.now();
|
|
65
63
|
const promise = (0, import_async.runAsync)(context, taskName, async () => {
|
|
66
|
-
return await
|
|
64
|
+
return await _def.call(build2) || void 0;
|
|
67
65
|
}).then((result) => {
|
|
68
66
|
context.log.notice(`Success ${(0, import_logging.$ms)(Date.now() - now)}`);
|
|
69
67
|
return result;
|
|
70
68
|
}).catch((error) => {
|
|
71
69
|
throw context.log.fail(`Failure ${(0, import_logging.$ms)(Date.now() - now)}`, error);
|
|
72
70
|
}).finally(() => import_pipe.ContextPromises.wait(context));
|
|
73
|
-
cache.set(
|
|
71
|
+
cache.set(task, promise);
|
|
74
72
|
return promise;
|
|
75
73
|
}
|
|
76
|
-
}
|
|
74
|
+
const task = Object.assign((overrideProps = {}) => {
|
|
75
|
+
const state = {
|
|
76
|
+
cache: /* @__PURE__ */ new Map(),
|
|
77
|
+
stack: [],
|
|
78
|
+
props: Object.assign({}, props, overrideProps),
|
|
79
|
+
tasks
|
|
80
|
+
};
|
|
81
|
+
return invoke2(state, _name);
|
|
82
|
+
}, { buildFile, tasks, props, invoke: invoke2 });
|
|
83
|
+
return Object.defineProperty(task, "name", { value: _name });
|
|
84
|
+
}
|
|
77
85
|
var buildMarker = Symbol.for("plugjs:isBuild");
|
|
78
86
|
function build(def) {
|
|
79
87
|
const buildFile = (0, import_caller.findCaller)(build);
|
|
@@ -84,9 +92,9 @@ function build(def) {
|
|
|
84
92
|
if (typeof val === "string") {
|
|
85
93
|
props[key] = val;
|
|
86
94
|
} else if (typeof val === "function") {
|
|
87
|
-
tasks[key] =
|
|
95
|
+
tasks[key] = makeTask(buildFile, tasks, props, val, key);
|
|
88
96
|
len = key.length;
|
|
89
|
-
} else if (val
|
|
97
|
+
} else if (isTask(val)) {
|
|
90
98
|
tasks[key] = val;
|
|
91
99
|
len = key.length;
|
|
92
100
|
}
|
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,qBAAuB;AACvB,mBAAyB;AACzB,qBAAwD;AACxD,kBAAmD;AACnD,oBAA2B;AAC3B,qBAA6B;
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["invoke", "props", "tasks", "build", "state", "promise"]
|
|
6
6
|
}
|
package/dist/build.mjs
CHANGED
|
@@ -5,50 +5,58 @@ import { $ms, $p, $t, getLogger, log, logOptions } from "./logging.mjs";
|
|
|
5
5
|
import { Context, ContextPromises, PipeImpl } from "./pipe.mjs";
|
|
6
6
|
import { findCaller } from "./utils/caller.mjs";
|
|
7
7
|
import { parseOptions } from "./utils/options.mjs";
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
assert(!state.stack.includes(this), `Recursion detected calling ${$t(taskName)}`);
|
|
17
|
-
const cached = state.cache.get(this);
|
|
8
|
+
var taskMarker = Symbol.for("plugjs:isTask");
|
|
9
|
+
function isTask(something) {
|
|
10
|
+
return something[taskMarker] === true;
|
|
11
|
+
}
|
|
12
|
+
function makeTask(buildFile, tasks, props, _def, _name) {
|
|
13
|
+
function invoke2(state, taskName) {
|
|
14
|
+
assert(!state.stack.includes(task), `Recursion detected calling ${$t(taskName)}`);
|
|
15
|
+
const cached = state.cache.get(task);
|
|
18
16
|
if (cached)
|
|
19
17
|
return cached;
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const stack = [...state.stack,
|
|
18
|
+
const props2 = Object.assign({}, task.props, state.props);
|
|
19
|
+
const tasks2 = Object.assign({}, task.tasks, state.tasks);
|
|
20
|
+
const stack = [...state.stack, task];
|
|
23
21
|
const cache = state.cache;
|
|
24
|
-
const context = new Context(
|
|
22
|
+
const context = new Context(task.buildFile, taskName);
|
|
25
23
|
const build2 = new Proxy({}, {
|
|
26
24
|
get(_, name) {
|
|
27
|
-
if (name in
|
|
25
|
+
if (name in tasks2) {
|
|
28
26
|
return () => {
|
|
29
|
-
const state2 = { stack, cache, tasks, props };
|
|
30
|
-
const promise2 =
|
|
27
|
+
const state2 = { stack, cache, tasks: tasks2, props: props2 };
|
|
28
|
+
const promise2 = tasks2[name].invoke(state2, name);
|
|
31
29
|
return new PipeImpl(context, promise2);
|
|
32
30
|
};
|
|
33
|
-
} else if (name in
|
|
34
|
-
return
|
|
31
|
+
} else if (name in props2) {
|
|
32
|
+
return props2[name];
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
35
|
});
|
|
38
36
|
context.log.info("Running...");
|
|
39
37
|
const now = Date.now();
|
|
40
38
|
const promise = runAsync(context, taskName, async () => {
|
|
41
|
-
return await
|
|
39
|
+
return await _def.call(build2) || void 0;
|
|
42
40
|
}).then((result) => {
|
|
43
41
|
context.log.notice(`Success ${$ms(Date.now() - now)}`);
|
|
44
42
|
return result;
|
|
45
43
|
}).catch((error) => {
|
|
46
44
|
throw context.log.fail(`Failure ${$ms(Date.now() - now)}`, error);
|
|
47
45
|
}).finally(() => ContextPromises.wait(context));
|
|
48
|
-
cache.set(
|
|
46
|
+
cache.set(task, promise);
|
|
49
47
|
return promise;
|
|
50
48
|
}
|
|
51
|
-
}
|
|
49
|
+
const task = Object.assign((overrideProps = {}) => {
|
|
50
|
+
const state = {
|
|
51
|
+
cache: /* @__PURE__ */ new Map(),
|
|
52
|
+
stack: [],
|
|
53
|
+
props: Object.assign({}, props, overrideProps),
|
|
54
|
+
tasks
|
|
55
|
+
};
|
|
56
|
+
return invoke2(state, _name);
|
|
57
|
+
}, { buildFile, tasks, props, invoke: invoke2 });
|
|
58
|
+
return Object.defineProperty(task, "name", { value: _name });
|
|
59
|
+
}
|
|
52
60
|
var buildMarker = Symbol.for("plugjs:isBuild");
|
|
53
61
|
function build(def) {
|
|
54
62
|
const buildFile = findCaller(build);
|
|
@@ -59,9 +67,9 @@ function build(def) {
|
|
|
59
67
|
if (typeof val === "string") {
|
|
60
68
|
props[key] = val;
|
|
61
69
|
} else if (typeof val === "function") {
|
|
62
|
-
tasks[key] =
|
|
70
|
+
tasks[key] = makeTask(buildFile, tasks, props, val, key);
|
|
63
71
|
len = key.length;
|
|
64
|
-
} else if (val
|
|
72
|
+
} else if (isTask(val)) {
|
|
65
73
|
tasks[key] = val;
|
|
66
74
|
len = key.length;
|
|
67
75
|
}
|
package/dist/build.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/build.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,gBAAgB;AACzB,SAAS,KAAK,IAAI,IAAI,WAAW,KAAK,kBAAkB;AACxD,SAAS,SAAS,iBAAiB,gBAAgB;AACnD,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["invoke", "props", "tasks", "build", "state", "promise"]
|
|
6
6
|
}
|
package/dist/files.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/files.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAuB;AACvB,gBAAiC;AACjC,mBAAgF;AA8BzE,IAAM,QAAN,MAAY;AAAA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAuB;AACvB,gBAAiC;AACjC,mBAAgF;AA8BzE,IAAM,QAAN,MAAY;AAAA,EACA;AAAA,EACA;AAAA,EAMjB,YAAY,WAAyB;AACnC,SAAK,aAAa;AAClB,SAAK,SAAS,CAAC;AAGf,UAAM,UAAU,OAAO,IAAI,4BAA4B;AACvD,WAAO,eAAe,MAAM,SAAS,EAAE,OAAO,OAAO;AAAA,MACnD,WAAW,KAAK;AAAA,MAChB,OAAO,CAAE,GAAG,KAAK,MAAO;AAAA,IAC1B,GAAG,CAAC;AAAA,EACN;AAAA,EAGA,IAAI,YAA0B;AAC5B,WAAO,KAAK;AAAA,EACd;AAAA,EAGA,IAAI,SAAiB;AACnB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAGA,EAAG,OAAO,YAA+B;AACvC,eAAW,QAAQ,KAAK;AAAQ,YAAM;AAAA,EACxC;AAAA,EAGA,CAAE,gBAAyC;AACzC,eAAW,QAAQ;AAAM,gBAAM,kCAAoB,KAAK,YAAY,IAAI;AAAA,EAC1E;AAAA,EAGA,CAAE,eAAwE;AACxE,eAAW,QAAQ;AAAM,YAAM,CAAE,UAAM,kCAAoB,KAAK,YAAY,IAAI,CAAE;AAAA,EACpF;AAAA,EAKA,OAAO,QAAQ,KAAyC;AACtD,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,mCAAO,CAAE,OAAO,sCAAsC;AAEtD,mBAAW,QAAQ,OAAO;AACxB,gBAAM,eAAW,sCAAwB,SAAS,WAAW,IAAI;AACjE,cAAI,IAAI,QAAQ;AAAA,QAClB;AAEA,eAAO;AAAA,MACT;AAAA,MAEA,SAAS,MAA6B;AACpC,mCAAO,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,eAAW,sCAAwB,SAAS,WAAW,IAAI;AACjE,cAAM,eAAW,kCAAoB,SAAS,WAAW,QAAQ;AACjE,cAAMA,iBAAY,gCAAkB,QAAQ;AAE5C,kBAAM,iBAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAC1C,kBAAM,qBAAU,UAAU,OAAO;AACjC,aAAK,IAAI,QAAQ;AAEjB,eAAO;AAAA,MACT;AAAA,MAEA,QAAe;AACb,mCAAO,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/files.d.ts
CHANGED
|
@@ -21,8 +21,8 @@ export interface FilesBuilder {
|
|
|
21
21
|
* identifying some _files_ rooted in a given _directory_.
|
|
22
22
|
*/
|
|
23
23
|
export declare class Files {
|
|
24
|
-
readonly _directory
|
|
25
|
-
readonly _files
|
|
24
|
+
private readonly _directory;
|
|
25
|
+
private readonly _files;
|
|
26
26
|
/**
|
|
27
27
|
* Create a new {@link Files} instance rooted in the specified `directory`
|
|
28
28
|
* relative to the specified {@link Run}'s 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,SAAS,yBAAyB,mBAAmB,2BAA2B;AA8BzE,IAAM,QAAN,MAAY;AAAA,
|
|
4
|
+
"mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,OAAO,iBAAiB;AACjC,SAAS,yBAAyB,mBAAmB,2BAA2B;AA8BzE,IAAM,QAAN,MAAY;AAAA,EACA;AAAA,EACA;AAAA,EAMjB,YAAY,WAAyB;AACnC,SAAK,aAAa;AAClB,SAAK,SAAS,CAAC;AAGf,UAAM,UAAU,OAAO,IAAI,4BAA4B;AACvD,WAAO,eAAe,MAAM,SAAS,EAAE,OAAO,OAAO;AAAA,MACnD,WAAW,KAAK;AAAA,MAChB,OAAO,CAAE,GAAG,KAAK,MAAO;AAAA,IAC1B,GAAG,CAAC;AAAA,EACN;AAAA,EAGA,IAAI,YAA0B;AAC5B,WAAO,KAAK;AAAA,EACd;AAAA,EAGA,IAAI,SAAiB;AACnB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAGA,EAAG,OAAO,YAA+B;AACvC,eAAW,QAAQ,KAAK;AAAQ,YAAM;AAAA,EACxC;AAAA,EAGA,CAAE,gBAAyC;AACzC,eAAW,QAAQ;AAAM,YAAM,oBAAoB,KAAK,YAAY,IAAI;AAAA,EAC1E;AAAA,EAGA,CAAE,eAAwE;AACxE,eAAW,QAAQ;AAAM,YAAM,CAAE,MAAM,oBAAoB,KAAK,YAAY,IAAI,CAAE;AAAA,EACpF;AAAA,EAKA,OAAO,QAAQ,KAAyC;AACtD,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
|
@@ -38,7 +38,7 @@ var ForkingPlug = class {
|
|
|
38
38
|
this._exportName = _exportName;
|
|
39
39
|
}
|
|
40
40
|
pipe(files, context) {
|
|
41
|
-
const
|
|
41
|
+
const request = {
|
|
42
42
|
scriptFile: this._scriptFile,
|
|
43
43
|
exportName: this._exportName,
|
|
44
44
|
constructorArgs: this._arguments,
|
|
@@ -68,14 +68,14 @@ var ForkingPlug = class {
|
|
|
68
68
|
context.log.info("Running", (0, import_logging.$p)(script), (0, import_logging.$gry)(`(pid=${child.pid})`));
|
|
69
69
|
let done = false;
|
|
70
70
|
return new Promise((resolve, reject) => {
|
|
71
|
-
let
|
|
71
|
+
let response = void 0;
|
|
72
72
|
child.on("error", (error) => {
|
|
73
73
|
context.log.error("Child process error", error);
|
|
74
74
|
return done || reject(import_asserts.BuildFailure.fail());
|
|
75
75
|
});
|
|
76
|
-
child.on("message", (
|
|
77
|
-
context.log.debug("Message from child process",
|
|
78
|
-
|
|
76
|
+
child.on("message", (message) => {
|
|
77
|
+
context.log.debug("Message from child process", message);
|
|
78
|
+
response = message;
|
|
79
79
|
});
|
|
80
80
|
child.on("exit", (code, signal) => {
|
|
81
81
|
if (signal) {
|
|
@@ -84,22 +84,22 @@ var ForkingPlug = class {
|
|
|
84
84
|
} else if (code !== 0) {
|
|
85
85
|
context.log.error(`Child process exited with code ${code}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
|
|
86
86
|
return done || reject(import_asserts.BuildFailure.fail());
|
|
87
|
-
} else if (!
|
|
87
|
+
} else if (!response) {
|
|
88
88
|
context.log.error("Child process exited with no result", (0, import_logging.$gry)(`(pid=${child.pid})`));
|
|
89
89
|
return done || reject(import_asserts.BuildFailure.fail());
|
|
90
|
-
} else if (
|
|
90
|
+
} else if (response.failed) {
|
|
91
91
|
return done || reject(import_asserts.BuildFailure.fail());
|
|
92
92
|
}
|
|
93
|
-
return done || resolve(
|
|
93
|
+
return done || resolve(response.filesDir && response.filesList ? import_files.Files.builder(response.filesDir).add(...response.filesList).build() : void 0);
|
|
94
94
|
});
|
|
95
95
|
try {
|
|
96
|
-
const
|
|
96
|
+
const result = child.send(request, (error) => {
|
|
97
97
|
if (error) {
|
|
98
98
|
context.log.error("Error sending message to child process (callback failure)", error);
|
|
99
99
|
reject(import_asserts.BuildFailure.fail());
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
|
-
if (!
|
|
102
|
+
if (!result) {
|
|
103
103
|
context.log.error("Error sending message to child process (send returned false)");
|
|
104
104
|
reject(import_asserts.BuildFailure.fail());
|
|
105
105
|
}
|
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,qBAAqC;AACrC,mBAA6C;AAC7C,kBAAiC;AAwC1B,IAAe,cAAf,MAAuD;AAAA,EAC5D,YACqB,aACA,YACA,aACnB;AAHmB;AACA;AACA;AAAA,EAClB;AAAA,EAEH,KAAK,OAAc,SAAuC;AACxD,UAAM,UAAoB;AAAA,MACxB,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,MACjB,iBAAiB,KAAK;AAAA,MACtB,UAAU,QAAQ;AAAA,MAClB,WAAW,QAAQ;AAAA,MACnB,UAAU,MAAM;AAAA,MAChB,WAAW,CAAE,GAAG,MAAM,cAAc,CAAE;AAAA,MACtC,SAAS,0BAAW,KAAK,QAAQ,QAAQ;AAAA,IAC3C;AAGA,UAAM,aAAS,8BAAgB,UAAS;AACxC,YAAQ,IAAI,MAAM,+BAA2B,mBAAG,MAAM,CAAC;AAGvD,UAAM,MAAM,EAAE,GAAG,QAAQ,IAAI;AAG7B,aAAS,IAAI,KAAK,WAAW,SAAS,GAAG,KAAK,GAAG,KAAM;AACrD,UAAI,KAAK,WAAW,MAAM;AAAM;AAChC,UAAI,OAAO,KAAK,WAAW,OAAO,UAAU;AAC1C,YAAI,OAAO,KAAK,WAAW,GAAG,gBAAgB,UAAU;AACtD,gBAAM,MAAM,IAAI,mBAAmB,QAAQ,QAAQ,KAAK,WAAW,GAAG,WAAW;AACjF,kBAAQ,IAAI,MAAM,+CAA2C,mBAAG,GAAG,CAAC;AAAA,QACtE;AAAA,MACF;AAAA,IACF;AAGA,UAAM,YAAQ,gCAAK,QAAQ;AAAA,MACzB,OAAO,CAAE,UAAU,WAAW,WAAW,KAAM;AAAA,MAC/C;AAAA,IACF,CAAC;AAED,YAAQ,IAAI,KAAK,eAAW,mBAAG,MAAM,OAAG,qBAAK,QAAQ,MAAM,MAAM,CAAC;AAGlE,QAAI,OAAO;AACX,WAAO,IAAI,QAAoB,CAAC,SAAS,WAAW;AAClD,UAAI,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["result", "message"]
|
|
6
6
|
}
|
package/dist/fork.mjs
CHANGED
|
@@ -13,7 +13,7 @@ var ForkingPlug = class {
|
|
|
13
13
|
this._exportName = _exportName;
|
|
14
14
|
}
|
|
15
15
|
pipe(files, context) {
|
|
16
|
-
const
|
|
16
|
+
const request = {
|
|
17
17
|
scriptFile: this._scriptFile,
|
|
18
18
|
exportName: this._exportName,
|
|
19
19
|
constructorArgs: this._arguments,
|
|
@@ -43,14 +43,14 @@ var ForkingPlug = class {
|
|
|
43
43
|
context.log.info("Running", $p(script), $gry(`(pid=${child.pid})`));
|
|
44
44
|
let done = false;
|
|
45
45
|
return new Promise((resolve, reject) => {
|
|
46
|
-
let
|
|
46
|
+
let response = void 0;
|
|
47
47
|
child.on("error", (error) => {
|
|
48
48
|
context.log.error("Child process error", error);
|
|
49
49
|
return done || reject(BuildFailure.fail());
|
|
50
50
|
});
|
|
51
|
-
child.on("message", (
|
|
52
|
-
context.log.debug("Message from child process",
|
|
53
|
-
|
|
51
|
+
child.on("message", (message) => {
|
|
52
|
+
context.log.debug("Message from child process", message);
|
|
53
|
+
response = message;
|
|
54
54
|
});
|
|
55
55
|
child.on("exit", (code, signal) => {
|
|
56
56
|
if (signal) {
|
|
@@ -59,22 +59,22 @@ var ForkingPlug = class {
|
|
|
59
59
|
} else if (code !== 0) {
|
|
60
60
|
context.log.error(`Child process exited with code ${code}`, $gry(`(pid=${child.pid})`));
|
|
61
61
|
return done || reject(BuildFailure.fail());
|
|
62
|
-
} else if (!
|
|
62
|
+
} else if (!response) {
|
|
63
63
|
context.log.error("Child process exited with no result", $gry(`(pid=${child.pid})`));
|
|
64
64
|
return done || reject(BuildFailure.fail());
|
|
65
|
-
} else if (
|
|
65
|
+
} else if (response.failed) {
|
|
66
66
|
return done || reject(BuildFailure.fail());
|
|
67
67
|
}
|
|
68
|
-
return done || resolve(
|
|
68
|
+
return done || resolve(response.filesDir && response.filesList ? Files.builder(response.filesDir).add(...response.filesList).build() : void 0);
|
|
69
69
|
});
|
|
70
70
|
try {
|
|
71
|
-
const
|
|
71
|
+
const result = child.send(request, (error) => {
|
|
72
72
|
if (error) {
|
|
73
73
|
context.log.error("Error sending message to child process (callback failure)", error);
|
|
74
74
|
reject(BuildFailure.fail());
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
|
-
if (!
|
|
77
|
+
if (!result) {
|
|
78
78
|
context.log.error("Error sending message to child process (send returned false)");
|
|
79
79
|
reject(BuildFailure.fail());
|
|
80
80
|
}
|
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;AACrC,SAAS,iBAAiB,mBAAmB;AAC7C,SAAS,SAAS,eAAe;AAwC1B,IAAe,cAAf,MAAuD;AAAA,EAC5D,YACqB,aACA,YACA,aACnB;AAHmB;AACA;AACA;AAAA,EAClB;AAAA,EAEH,KAAK,OAAc,SAAuC;AACxD,UAAM,UAAoB;AAAA,MACxB,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,MACjB,iBAAiB,KAAK;AAAA,MACtB,UAAU,QAAQ;AAAA,MAClB,WAAW,QAAQ;AAAA,MACnB,UAAU,MAAM;AAAA,MAChB,WAAW,CAAE,GAAG,MAAM,cAAc,CAAE;AAAA,MACtC,SAAS,WAAW,KAAK,QAAQ,QAAQ;AAAA,IAC3C;AAGA,UAAM,SAAS,gBAAgB,eAAS;AACxC,YAAQ,IAAI,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAGvD,UAAM,MAAM,EAAE,GAAG,QAAQ,IAAI;AAG7B,aAAS,IAAI,KAAK,WAAW,SAAS,GAAG,KAAK,GAAG,KAAM;AACrD,UAAI,KAAK,WAAW,MAAM;AAAM;AAChC,UAAI,OAAO,KAAK,WAAW,OAAO,UAAU;AAC1C,YAAI,OAAO,KAAK,WAAW,GAAG,gBAAgB,UAAU;AACtD,gBAAM,MAAM,IAAI,mBAAmB,QAAQ,QAAQ,KAAK,WAAW,GAAG,WAAW;AACjF,kBAAQ,IAAI,MAAM,2CAA2C,GAAG,GAAG,CAAC;AAAA,QACtE;AAAA,MACF;AAAA,IACF;AAGA,UAAM,QAAQ,KAAK,QAAQ;AAAA,MACzB,OAAO,CAAE,UAAU,WAAW,WAAW,KAAM;AAAA,MAC/C;AAAA,IACF,CAAC;AAED,YAAQ,IAAI,KAAK,WAAW,GAAG,MAAM,GAAG,KAAK,QAAQ,MAAM,MAAM,CAAC;AAGlE,QAAI,OAAO;AACX,WAAO,IAAI,QAAoB,CAAC,SAAS,WAAW;AAClD,UAAI,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["result", "message"]
|
|
6
6
|
}
|
package/dist/helpers.cjs
CHANGED
|
@@ -79,7 +79,10 @@ function merge(pipes) {
|
|
|
79
79
|
return new import_pipe.PipeImpl(context, Promise.resolve().then(async () => {
|
|
80
80
|
if (pipes.length === 0)
|
|
81
81
|
return import_files.Files.builder((0, import_paths.getCurrentWorkingDirectory)()).build();
|
|
82
|
-
const
|
|
82
|
+
const awaited = await (0, import_asserts.assertPromises)(pipes);
|
|
83
|
+
const results = awaited.filter((result) => result.length);
|
|
84
|
+
if (results.length === 0)
|
|
85
|
+
return import_files.Files.builder((0, import_paths.getCurrentWorkingDirectory)()).build();
|
|
83
86
|
const [firstDir, ...otherDirs] = results.map((f) => f.directory);
|
|
84
87
|
const directory = (0, import_paths.commonPath)(firstDir, ...otherDirs);
|
|
85
88
|
return import_files.Files.builder(directory).merge(...results).build();
|
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,qBAAuB;AACvB,uBAAqB;AACrB,qBAA4B;AAE5B,qBAAuC;AACvC,mBAA+B;AAC/B,mBAAsB;AACtB,gBAAmB;AACnB,qBAAwB;AACxB,mBAAsF;AACtF,kBAAyB;AACzB,kBAA0B;AAC1B,qBAA6B;AAC7B,kBAAqB;AA2Bd,SAAS,QAAQ,MAAuC;AAC7D,QAAM,EAAE,QAAQ,OAAO,QAAQ,QAAI,6BAAa,MAAM,CAAC,CAAC;AAExD,QAAM,cAAU,6BAAe;AAC/B,SAAO,IAAI,qBAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAC9D,UAAM,YAAY,QAAQ,YACxB,QAAQ,QAAQ,QAAQ,SAAS,QACjC,yCAA2B;AAE7B,UAAM,UAAU,mBAAM,QAAQ,SAAS;AACvC,qBAAiB,YAAQ,kBAAK,WAAW,OAAO,OAAO,GAAG;AACxD,cAAQ,IAAI,IAAI;AAAA,IAClB;AAEA,WAAO,QAAQ,MAAM;AAAA,EACvB,CAAC,CAAC;AACJ;AAKA,eAAsB,KAAK,WAAkC;AAC3D,QAAM,cAAU,6BAAe;AAC/B,QAAM,MAAM,QAAQ,QAAQ,SAAS;AAErC;AAAA,IAAO,YAAQ,yCAA2B;AAAA,IACtC,2DAAuD,mBAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,QAAQ,QAAQ,GAAG;AAAA,IAC9B,sDAAkD,mBAAG,GAAG;AAAA,EAAG;AAG/D,MAAI,KAAE,+BAAiB,GAAG,GAAG;AAC3B,uBAAI,KAAK,iBAAa,mBAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,qBAAI,OAAO,0BAAsB,mBAAG,GAAG,GAAG,aAAa;AACvD,YAAM,cAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAiBO,SAAS,MAAM,OAAgD;AACpE,QAAM,cAAU,6BAAe;AAC/B,SAAO,IAAI,qBAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAE9D,QAAI,MAAM,WAAW;AAAG,aAAO,mBAAM,YAAQ,yCAA2B,CAAC,EAAE,MAAM;AAGjF,UAAM,UAAU,UAAM,+BAAsB,KAAK;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/helpers.mjs
CHANGED
|
@@ -47,7 +47,10 @@ function merge(pipes) {
|
|
|
47
47
|
return new PipeImpl(context, Promise.resolve().then(async () => {
|
|
48
48
|
if (pipes.length === 0)
|
|
49
49
|
return Files.builder(getCurrentWorkingDirectory()).build();
|
|
50
|
-
const
|
|
50
|
+
const awaited = await assertPromises(pipes);
|
|
51
|
+
const results = awaited.filter((result) => result.length);
|
|
52
|
+
if (results.length === 0)
|
|
53
|
+
return Files.builder(getCurrentWorkingDirectory()).build();
|
|
51
54
|
const [firstDir, ...otherDirs] = results.map((f) => f.directory);
|
|
52
55
|
const directory = commonPath(firstDir, ...otherDirs);
|
|
53
56
|
return Files.builder(directory).merge(...results).build();
|
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,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAE5B,SAAS,QAAQ,sBAAsB;AACvC,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,UAAU;AACnB,SAAS,IAAI,WAAW;AACxB,SAAS,YAAY,4BAA4B,kBAAkB,mBAAmB;AACtF,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AA2Bd,SAAS,QAAQ,MAAuC;AAC7D,QAAM,EAAE,QAAQ,OAAO,QAAQ,IAAI,aAAa,MAAM,CAAC,CAAC;AAExD,QAAM,UAAU,eAAe;AAC/B,SAAO,IAAI,SAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAC9D,UAAM,YAAY,QAAQ,YACxB,QAAQ,QAAQ,QAAQ,SAAS,IACjC,2BAA2B;AAE7B,UAAM,UAAU,MAAM,QAAQ,SAAS;AACvC,qBAAiB,QAAQ,KAAK,WAAW,OAAO,OAAO,GAAG;AACxD,cAAQ,IAAI,IAAI;AAAA,IAClB;AAEA,WAAO,QAAQ,MAAM;AAAA,EACvB,CAAC,CAAC;AACJ;AAKA,eAAsB,KAAK,WAAkC;AAC3D,QAAM,UAAU,eAAe;AAC/B,QAAM,MAAM,QAAQ,QAAQ,SAAS;AAErC;AAAA,IAAO,QAAQ,2BAA2B;AAAA,IACtC,uDAAuD,GAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,QAAQ,QAAQ,GAAG;AAAA,IAC9B,kDAAkD,GAAG,GAAG;AAAA,EAAG;AAG/D,MAAI,CAAE,iBAAiB,GAAG,GAAG;AAC3B,QAAI,KAAK,aAAa,GAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,MAAI,OAAO,sBAAsB,GAAG,GAAG,GAAG,aAAa;AACvD,QAAM,GAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAiBO,SAAS,MAAM,OAAgD;AACpE,QAAM,UAAU,eAAe;AAC/B,SAAO,IAAI,SAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAE9D,QAAI,MAAM,WAAW;AAAG,aAAO,MAAM,QAAQ,2BAA2B,CAAC,EAAE,MAAM;AAGjF,UAAM,UAAU,MAAM,eAAsB,KAAK;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -39,6 +39,7 @@ __export(src_exports, {
|
|
|
39
39
|
$und: () => import_logging.$und,
|
|
40
40
|
$wht: () => import_logging.$wht,
|
|
41
41
|
$ylw: () => import_logging.$ylw,
|
|
42
|
+
BuildFailure: () => import_asserts.BuildFailure,
|
|
42
43
|
assert: () => import_asserts.assert,
|
|
43
44
|
asserts: () => asserts,
|
|
44
45
|
fail: () => import_asserts.fail,
|
|
@@ -80,6 +81,7 @@ __reExport(src_exports, require("./types.cjs"), module.exports);
|
|
|
80
81
|
$und,
|
|
81
82
|
$wht,
|
|
82
83
|
$ylw,
|
|
84
|
+
BuildFailure,
|
|
83
85
|
assert,
|
|
84
86
|
asserts,
|
|
85
87
|
fail,
|
package/dist/index.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA,cAAyB;AACzB,YAAuB;AACvB,WAAsB;AACtB,SAAoB;AACpB,cAAyB;AACzB,YAAuB;AACvB,WAAsB;AACtB,YAAuB;AAGvB,qBAAuF;AACvF,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA,cAAyB;AACzB,YAAuB;AACvB,WAAsB;AACtB,SAAoB;AACpB,cAAyB;AACzB,YAAuB;AACvB,WAAsB;AACtB,YAAuB;AAGvB,qBAAuF;AACvF,qBAA2C;AAG3C,wBAAc,wBApCd;AAqCA,wBAAc,0BArCd;AAsCA,wBAAc,wBAtCd;AAuCA,wBAAc,wBAvCd;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export * as paths from './paths';
|
|
|
22
22
|
export * as pipe from './pipe';
|
|
23
23
|
export * as utils from './utils';
|
|
24
24
|
export { log, $ms, $p, $t, $blu, $cyn, $grn, $gry, $mgt, $red, $und, $wht, $ylw } from './logging';
|
|
25
|
-
export { assert, fail } from './asserts';
|
|
25
|
+
export { assert, fail, BuildFailure } from './asserts';
|
|
26
26
|
export * from './build';
|
|
27
27
|
export * from './helpers';
|
|
28
28
|
export * from './plugs';
|
package/dist/index.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import * as paths from "./paths.mjs";
|
|
|
8
8
|
import * as pipe from "./pipe.mjs";
|
|
9
9
|
import * as utils from "./utils.mjs";
|
|
10
10
|
import { log, $ms, $p, $t, $blu, $cyn, $grn, $gry, $mgt, $red, $und, $wht, $ylw } from "./logging.mjs";
|
|
11
|
-
import { assert, fail } from "./asserts.mjs";
|
|
11
|
+
import { assert, fail, BuildFailure } from "./asserts.mjs";
|
|
12
12
|
export * from "./build.mjs";
|
|
13
13
|
export * from "./helpers.mjs";
|
|
14
14
|
export * from "./plugs.mjs";
|
|
@@ -26,6 +26,7 @@ export {
|
|
|
26
26
|
$und,
|
|
27
27
|
$wht,
|
|
28
28
|
$ylw,
|
|
29
|
+
BuildFailure,
|
|
29
30
|
assert,
|
|
30
31
|
asserts,
|
|
31
32
|
fail,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"mappings": ";AAsBA,YAAY,aAAa;AACzB,YAAY,WAAW;AACvB,YAAY,UAAU;AACtB,YAAY,QAAQ;AACpB,YAAY,aAAa;AACzB,YAAY,WAAW;AACvB,YAAY,UAAU;AACtB,YAAY,WAAW;AAGvB,SAAS,KAAK,KAAK,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,YAAY;AACvF,SAAS,QAAQ,
|
|
4
|
+
"mappings": ";AAsBA,YAAY,aAAa;AACzB,YAAY,WAAW;AACvB,YAAY,UAAU;AACtB,YAAY,QAAQ;AACpB,YAAY,aAAa;AACzB,YAAY,WAAW;AACvB,YAAY,UAAU;AACtB,YAAY,WAAW;AAGvB,SAAS,KAAK,KAAK,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,YAAY;AACvF,SAAS,QAAQ,MAAM,oBAAoB;AAG3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/logging/logger.cjs
CHANGED
|
@@ -63,7 +63,7 @@ var LoggerImpl = class {
|
|
|
63
63
|
if (_loggedFailures.has(arg))
|
|
64
64
|
return false;
|
|
65
65
|
_loggedFailures.add(arg);
|
|
66
|
-
arg.errors
|
|
66
|
+
arg.errors?.forEach((error) => this._emit(level, [error]));
|
|
67
67
|
if (!arg.message)
|
|
68
68
|
return false;
|
|
69
69
|
if (_level < import_levels.INFO)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/logging/logger.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6C;AAC7C,kBAAqC;AACrC,oBAAwD;AACxD,qBAA2B;AAC3B,oBAA2B;AAS3B,IAAI,SAAS,0BAAW;AACxB,IAAI,UAAU,0BAAW;AACzB,IAAI,mBAAmB,0BAAW;AAClC,0BAAW,GAAG,WAAW,CAAC,EAAE,iBAAiB,QAAQ,MAAM,MAAM;AAC/D,qBAAmB;AACnB,YAAU;AACV,WAAS;AACX,CAAC;AA0CM,SAAS,UAAU,OAAe,kBAA0B;AACjE,MAAI,SAAS,SAAS,IAAI,IAAI;AAC9B,MAAI,CAAE,QAAQ;AACZ,UAAM,UAAU,UAAU,wBAAY;AACtC,aAAS,IAAI,WAAW,MAAM,OAAO;AACrC,aAAS,IAAI,MAAM,MAAM;AAAA,EAC3B;AACA,SAAO;AACT;AAKA,IAAM,WAAW,oBAAI,IAAoB;AAEzC,IAAM,kBAAkB,oBAAI,QAAsB;AAGlD,IAAM,aAAN,MAAmC;AAAA,EAKjC,YACqB,OACA,UACnB;AAFmB;AACA;AAAA,EAClB;AAAA,EAPc,SAAiE,CAAC;AAAA,EAC3E,SAAS;AAAA,EACT,UAAU;AAAA,EAOV,MAAM,OAAiB,MAA6B;AAC1D,QAAI,KAAK,SAAS;AAAO;AAGzB,UAAM,SAAS,KAAK,OAAO,CAAC,QAAQ;AAClC,cAAI,+BAAe,GAAG,GAAG;AAEvB,YAAI,gBAAgB,IAAI,GAAG;AAAG,iBAAO;AACrC,wBAAgB,IAAI,GAAG;AAGvB,YAAI,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/logging/logger.mjs
CHANGED
|
@@ -39,7 +39,7 @@ var LoggerImpl = class {
|
|
|
39
39
|
if (_loggedFailures.has(arg))
|
|
40
40
|
return false;
|
|
41
41
|
_loggedFailures.add(arg);
|
|
42
|
-
arg.errors
|
|
42
|
+
arg.errors?.forEach((error) => this._emit(level, [error]));
|
|
43
43
|
if (!arg.message)
|
|
44
44
|
return false;
|
|
45
45
|
if (_level < INFO)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/logging/logger.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,cAAc,sBAAsB;AAC7C,SAAS,WAAW,iBAAiB;AACrC,SAAS,OAAO,OAAO,MAAM,QAAQ,OAAO,YAAY;AACxD,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAS3B,IAAI,SAAS,WAAW;AACxB,IAAI,UAAU,WAAW;AACzB,IAAI,mBAAmB,WAAW;AAClC,WAAW,GAAG,WAAW,CAAC,EAAE,iBAAiB,QAAQ,MAAM,MAAM;AAC/D,qBAAmB;AACnB,YAAU;AACV,WAAS;AACX,CAAC;AA0CM,SAAS,UAAU,OAAe,kBAA0B;AACjE,MAAI,SAAS,SAAS,IAAI,IAAI;AAC9B,MAAI,CAAE,QAAQ;AACZ,UAAM,UAAU,UAAU,YAAY;AACtC,aAAS,IAAI,WAAW,MAAM,OAAO;AACrC,aAAS,IAAI,MAAM,MAAM;AAAA,EAC3B;AACA,SAAO;AACT;AAKA,IAAM,WAAW,oBAAI,IAAoB;AAEzC,IAAM,kBAAkB,oBAAI,QAAsB;AAGlD,IAAM,aAAN,MAAmC;AAAA,EAKjC,YACqB,OACA,UACnB;AAFmB;AACA;AAAA,EAClB;AAAA,EAPc,SAAiE,CAAC;AAAA,EAC3E,SAAS;AAAA,EACT,UAAU;AAAA,EAOV,MAAM,OAAiB,MAA6B;AAC1D,QAAI,KAAK,SAAS;AAAO;AAGzB,UAAM,SAAS,KAAK,OAAO,CAAC,QAAQ;AAClC,UAAI,eAAe,GAAG,GAAG;AAEvB,YAAI,gBAAgB,IAAI,GAAG;AAAG,iBAAO;AACrC,wBAAgB,IAAI,GAAG;AAGvB,YAAI,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/copy.cjs
CHANGED
|
@@ -54,6 +54,11 @@ var import_pipe = require("../pipe.cjs");
|
|
|
54
54
|
context.log.trace(`Copying "${(0, import_logging.$p)(absolute)}" to "${(0, import_logging.$p)(target)}"`);
|
|
55
55
|
try {
|
|
56
56
|
await (0, import_fs.copyFile)(absolute, target, flags);
|
|
57
|
+
if (fmode !== void 0) {
|
|
58
|
+
context.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, (0, import_logging.$p)(target));
|
|
59
|
+
await (0, import_fs.chmod)(target, fmode);
|
|
60
|
+
}
|
|
61
|
+
builder.add(target);
|
|
57
62
|
} catch (error) {
|
|
58
63
|
if (error.code === "EEXIST" && overwrite === "skip") {
|
|
59
64
|
context.log.warn(`Not overwriting existing file ${(0, import_logging.$p)(target)}`);
|
|
@@ -61,11 +66,6 @@ var import_pipe = require("../pipe.cjs");
|
|
|
61
66
|
throw error;
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
|
-
if (fmode !== void 0) {
|
|
65
|
-
context.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, (0, import_logging.$p)(target));
|
|
66
|
-
await (0, import_fs.chmod)(target, fmode);
|
|
67
|
-
}
|
|
68
|
-
builder.add(target);
|
|
69
69
|
}
|
|
70
70
|
const result = builder.build();
|
|
71
71
|
context.log.info("Copied", result.length, "files to", (0, import_logging.$p)(builder.directory));
|
package/dist/plugs/copy.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/copy.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,qBAAuB;AACvB,mBAAsB;AACtB,gBAAoD;AACpD,qBAAmB;AACnB,mBAA2E;AAC3E,kBAAwB;AAAA,IAuCxB,qBAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,YAAY,QAAQ,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AAC9E,UAAM,QAAQ,cAAc,cAAc,IAAI,sBAAY;AAC1D,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,mBAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,aAAS,kCAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,2CAAuC,mBAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,iBAAY,gCAAkB,MAAM;AAC1C,YAAM,cAAc,UAAM,iBAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,6CAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,UAAM,gCAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,uBAAmB,mBAAG,GAAG,CAAC;AAC/E,oBAAM,iBAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,qBAAuB;AACvB,mBAAsB;AACtB,gBAAoD;AACpD,qBAAmB;AACnB,mBAA2E;AAC3E,kBAAwB;AAAA,IAuCxB,qBAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,YAAY,QAAQ,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AAC9E,UAAM,QAAQ,cAAc,cAAc,IAAI,sBAAY;AAC1D,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,mBAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,aAAS,kCAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,2CAAuC,mBAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,iBAAY,gCAAkB,MAAM;AAC1C,YAAM,cAAc,UAAM,iBAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,6CAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,UAAM,gCAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,uBAAmB,mBAAG,GAAG,CAAC;AAC/E,oBAAM,iBAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAEA,cAAQ,IAAI,MAAM,gBAAY,mBAAG,QAAQ,cAAU,mBAAG,MAAM,IAAI;AAChE,UAAI;AAEF,kBAAM,oBAAS,UAAU,QAAQ,KAAK;AAGtC,YAAI,UAAU,QAAW;AACvB,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,kBAAc,mBAAG,MAAM,CAAC;AAC7E,oBAAM,iBAAM,QAAQ,KAAK;AAAA,QAC3B;AAGA,gBAAQ,IAAI,MAAM;AAAA,MACpB,SAAS,OAAP;AAEA,YAAK,MAAM,SAAS,YAAc,cAAc,QAAS;AACvD,kBAAQ,IAAI,KAAK,qCAAiC,mBAAG,MAAM,GAAG;AAAA,QAChE,OAAO;AACL,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,QAAQ,MAAM;AAC7B,YAAQ,IAAI,KAAK,UAAU,OAAO,QAAQ,gBAAY,mBAAG,QAAQ,SAAS,CAAC;AAC3E,WAAO;AAAA,EACT;AACF,CAAC;AAMD,SAAS,UAAU,MAAuD;AACxE,MAAI,SAAS;AAAW,WAAO;AAC/B,MAAI,OAAO,SAAS;AAAU,WAAO;AACrC,QAAM,SAAS,SAAS,MAAM,CAAC;AAC/B,6BAAO,CAAE,MAAM,MAAM,GAAG,iBAAiB,OAAO;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,MAAsB;AAC3C,SAAO,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG;AACzC;",
|
|
5
5
|
"names": ["directory"]
|
|
6
6
|
}
|
package/dist/plugs/copy.mjs
CHANGED
|
@@ -37,6 +37,11 @@ install("copy", class Copy {
|
|
|
37
37
|
context.log.trace(`Copying "${$p(absolute)}" to "${$p(target)}"`);
|
|
38
38
|
try {
|
|
39
39
|
await copyFile(absolute, target, flags);
|
|
40
|
+
if (fmode !== void 0) {
|
|
41
|
+
context.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, $p(target));
|
|
42
|
+
await chmod(target, fmode);
|
|
43
|
+
}
|
|
44
|
+
builder.add(target);
|
|
40
45
|
} catch (error) {
|
|
41
46
|
if (error.code === "EEXIST" && overwrite === "skip") {
|
|
42
47
|
context.log.warn(`Not overwriting existing file ${$p(target)}`);
|
|
@@ -44,11 +49,6 @@ install("copy", class Copy {
|
|
|
44
49
|
throw error;
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
|
-
if (fmode !== void 0) {
|
|
48
|
-
context.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, $p(target));
|
|
49
|
-
await chmod(target, fmode);
|
|
50
|
-
}
|
|
51
|
-
builder.add(target);
|
|
52
52
|
}
|
|
53
53
|
const result = builder.build();
|
|
54
54
|
context.log.info("Copied", result.length, "files to", $p(builder.directory));
|
package/dist/plugs/copy.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/copy.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,OAAO,UAAU,aAAa,aAAa;AACpD,SAAS,UAAU;AACnB,SAAS,oBAAoB,mBAAmB,2BAA2B;AAC3E,SAAS,eAAe;AAuCxB,QAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,YAAY,QAAQ,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AAC9E,UAAM,QAAQ,cAAc,cAAc,IAAI,YAAY;AAC1D,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,MAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,SAAS,oBAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,uCAAuC,GAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,aAAY,kBAAkB,MAAM;AAC1C,YAAM,cAAc,MAAM,MAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,2BAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,MAAM,kBAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,mBAAmB,GAAG,GAAG,CAAC;AAC/E,gBAAM,MAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;
|
|
4
|
+
"mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,OAAO,UAAU,aAAa,aAAa;AACpD,SAAS,UAAU;AACnB,SAAS,oBAAoB,mBAAmB,2BAA2B;AAC3E,SAAS,eAAe;AAuCxB,QAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,YAAY,QAAQ,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AAC9E,UAAM,QAAQ,cAAc,cAAc,IAAI,YAAY;AAC1D,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,MAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,SAAS,oBAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,uCAAuC,GAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,aAAY,kBAAkB,MAAM;AAC1C,YAAM,cAAc,MAAM,MAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,2BAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,MAAM,kBAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,mBAAmB,GAAG,GAAG,CAAC;AAC/E,gBAAM,MAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAEA,cAAQ,IAAI,MAAM,YAAY,GAAG,QAAQ,UAAU,GAAG,MAAM,IAAI;AAChE,UAAI;AAEF,cAAM,SAAS,UAAU,QAAQ,KAAK;AAGtC,YAAI,UAAU,QAAW;AACvB,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,cAAc,GAAG,MAAM,CAAC;AAC7E,gBAAM,MAAM,QAAQ,KAAK;AAAA,QAC3B;AAGA,gBAAQ,IAAI,MAAM;AAAA,MACpB,SAAS,OAAP;AAEA,YAAK,MAAM,SAAS,YAAc,cAAc,QAAS;AACvD,kBAAQ,IAAI,KAAK,iCAAiC,GAAG,MAAM,GAAG;AAAA,QAChE,OAAO;AACL,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,QAAQ,MAAM;AAC7B,YAAQ,IAAI,KAAK,UAAU,OAAO,QAAQ,YAAY,GAAG,QAAQ,SAAS,CAAC;AAC3E,WAAO;AAAA,EACT;AACF,CAAC;AAMD,SAAS,UAAU,MAAuD;AACxE,MAAI,SAAS;AAAW,WAAO;AAC/B,MAAI,OAAO,SAAS;AAAU,WAAO;AACrC,QAAM,SAAS,SAAS,MAAM,CAAC;AAC/B,SAAO,CAAE,MAAM,MAAM,GAAG,iBAAiB,OAAO;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,MAAsB;AAC3C,SAAO,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG;AACzC;",
|
|
5
5
|
"names": ["directory"]
|
|
6
6
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -25,14 +25,16 @@ export interface State {
|
|
|
25
25
|
* The {@link Task} interface normalizes a task definition, associating it with
|
|
26
26
|
* its build file, its sibling {@link Task}s and available _properties_.
|
|
27
27
|
*/
|
|
28
|
-
export interface Task<T extends Result = Result
|
|
28
|
+
export interface Task<T extends Result = Result, P extends Props = Record<string, string>> {
|
|
29
|
+
/** Simply invoke this task stand alone */
|
|
30
|
+
(props?: Partial<P>): Promise<T>;
|
|
29
31
|
/** All _properties_ siblings to this {@link Task} */
|
|
30
32
|
readonly props: Props;
|
|
31
33
|
/** All {@link Tasks} sibling to this {@link Task} */
|
|
32
34
|
readonly tasks: Tasks;
|
|
33
35
|
/** The absolute file name where this {@link Task} was defined */
|
|
34
36
|
readonly buildFile: AbsolutePath;
|
|
35
|
-
/** Invoke a task from
|
|
37
|
+
/** Invoke a task from in the context of a {@link Build} */
|
|
36
38
|
invoke(state: State, taskName: string): Promise<T>;
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
@@ -42,13 +44,13 @@ export interface Task<T extends Result = Result> {
|
|
|
42
44
|
export type TaskResult = Pipe | Files | void | undefined;
|
|
43
45
|
/** The {@link TaskDef} type identifies the _definition_ of a task. */
|
|
44
46
|
export type TaskDef<R extends TaskResult = TaskResult> = () => R | Promise<R>;
|
|
45
|
-
/** A type identifying all _properties_ of a {@link
|
|
47
|
+
/** A type identifying all _properties_ of a {@link Build}. */
|
|
46
48
|
export type Props<D extends BuildDef = BuildDef> = {
|
|
47
49
|
readonly [k in string & keyof D as D[k] extends string ? k : never]: string;
|
|
48
50
|
};
|
|
49
|
-
/** A type identifying all _tasks_ in a {@link
|
|
51
|
+
/** A type identifying all _tasks_ in a {@link Build} */
|
|
50
52
|
export type Tasks<D extends BuildDef = BuildDef> = {
|
|
51
|
-
readonly [k in string & keyof D as D[k] extends TaskDef | Task ? k : never]: D[k] extends TaskDef<infer R> ? R extends void | undefined ? Task<undefined
|
|
53
|
+
readonly [k in string & keyof D as D[k] extends TaskDef | Task ? k : never]: D[k] extends TaskDef<infer R> ? R extends void | undefined ? Task<undefined, Props<D>> : R extends Pipe | Files ? Task<Files, Props<D>> : never : D[k] extends Task ? D[k] : never;
|
|
52
54
|
};
|
|
53
55
|
/**
|
|
54
56
|
* The {@link BuildDef} interface describes the _definition_ of a {@link Build},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plugjs/plug",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -114,11 +114,11 @@
|
|
|
114
114
|
"typescript": "^4.9.3"
|
|
115
115
|
},
|
|
116
116
|
"devDependencies": {
|
|
117
|
-
"@plugjs/cov8": "^0.1.
|
|
118
|
-
"@plugjs/eslint": "^0.1.
|
|
117
|
+
"@plugjs/cov8": "^0.1.2",
|
|
118
|
+
"@plugjs/eslint": "^0.1.2",
|
|
119
119
|
"@plugjs/eslint-plugin": "^0.1.1",
|
|
120
|
-
"@plugjs/jasmine": "^0.1.
|
|
121
|
-
"@plugjs/typescript": "^0.1.
|
|
120
|
+
"@plugjs/jasmine": "^0.1.2",
|
|
121
|
+
"@plugjs/typescript": "^0.1.2",
|
|
122
122
|
"@types/picomatch": "^2.3.0",
|
|
123
123
|
"@types/yargs-parser": "^21.0.0",
|
|
124
124
|
"chai": "^4.3.7",
|
package/src/asserts.ts
CHANGED
|
@@ -12,17 +12,20 @@ export function isBuildFailure(arg: any): arg is BuildFailure {
|
|
|
12
12
|
|
|
13
13
|
/** A {@link BuildFailure} represents an error _already logged_ in our build. */
|
|
14
14
|
export class BuildFailure extends Error {
|
|
15
|
-
readonly errors
|
|
15
|
+
readonly errors?: readonly any[] | undefined
|
|
16
16
|
|
|
17
17
|
/** Construct a {@link BuildFailure} */
|
|
18
|
-
|
|
18
|
+
constructor(message?: string | undefined, errors: any[] = []) {
|
|
19
19
|
super(message || '')
|
|
20
20
|
|
|
21
|
-
/* Basic error setup
|
|
21
|
+
/* Basic error setup: stack and errors */
|
|
22
22
|
Error.captureStackTrace(this, BuildFailure)
|
|
23
|
+
if (errors.length) this.errors = Object.freeze([ ...errors ])
|
|
24
|
+
|
|
25
|
+
/* Other properties: marker and name */
|
|
23
26
|
Object.defineProperties(this, {
|
|
24
|
-
'errors': { value: Object.freeze([ ...errors ]) },
|
|
25
27
|
[buildFailure]: { value: buildFailure },
|
|
28
|
+
'name': { value: 'BuildFailure' },
|
|
26
29
|
})
|
|
27
30
|
}
|
|
28
31
|
|
package/src/build.ts
CHANGED
|
@@ -23,30 +23,40 @@ import type {
|
|
|
23
23
|
* TASK *
|
|
24
24
|
* ========================================================================== */
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
public readonly buildFile: AbsolutePath,
|
|
29
|
-
public readonly tasks: Tasks,
|
|
30
|
-
public readonly props: Props,
|
|
31
|
-
private readonly _def: TaskDef,
|
|
32
|
-
) {}
|
|
26
|
+
/** Symbol indicating that an object is a {@link Task} */
|
|
27
|
+
const taskMarker = Symbol.for('plugjs:isTask')
|
|
33
28
|
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
/** Type guard for {@link Tasks} */
|
|
30
|
+
function isTask(something: any): something is Task {
|
|
31
|
+
return something[taskMarker] === true
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/** Create a new {@link Task} instance */
|
|
35
|
+
function makeTask(
|
|
36
|
+
buildFile: AbsolutePath,
|
|
37
|
+
tasks: Tasks,
|
|
38
|
+
props: Props,
|
|
39
|
+
_def: TaskDef,
|
|
40
|
+
_name: string,
|
|
41
|
+
): Task {
|
|
42
|
+
/* Invoke the task, checking call stack, caches, and merging builds */
|
|
43
|
+
function invoke(state: State, taskName: string): Promise<Result> {
|
|
44
|
+
assert(! state.stack.includes(task), `Recursion detected calling ${$t(taskName)}`)
|
|
36
45
|
|
|
37
46
|
/* Check cache */
|
|
38
|
-
const cached = state.cache.get(
|
|
47
|
+
const cached = state.cache.get(task)
|
|
39
48
|
if (cached) return cached
|
|
40
49
|
|
|
41
50
|
/* Create new substate merging sibling tasks/props and adding this to the stack */
|
|
42
|
-
const props: Record<string, string> = Object.assign({},
|
|
43
|
-
const tasks: Record<string, Task> = Object.assign({},
|
|
44
|
-
const stack = [ ...state.stack,
|
|
51
|
+
const props: Record<string, string> = Object.assign({}, task.props, state.props)
|
|
52
|
+
const tasks: Record<string, Task> = Object.assign({}, task.tasks, state.tasks)
|
|
53
|
+
const stack = [ ...state.stack, task ]
|
|
45
54
|
const cache = state.cache
|
|
46
55
|
|
|
47
56
|
/* Create run context and build */
|
|
48
|
-
const context = new Context(
|
|
57
|
+
const context = new Context(task.buildFile, taskName)
|
|
49
58
|
|
|
59
|
+
/* The build (the `this` value calling the definition) is a proxy */
|
|
50
60
|
const build = new Proxy({}, {
|
|
51
61
|
get(_: any, name: string): void | string | (() => Pipe) {
|
|
52
62
|
// Tasks first, props might come also from environment
|
|
@@ -68,7 +78,7 @@ class TaskImpl implements Task {
|
|
|
68
78
|
|
|
69
79
|
/* Run asynchronously in an asynchronous context */
|
|
70
80
|
const promise = runAsync(context, taskName, async () => {
|
|
71
|
-
return await
|
|
81
|
+
return await _def.call(build) || undefined
|
|
72
82
|
}).then((result) => {
|
|
73
83
|
context.log.notice(`Success ${$ms(Date.now() - now)}`)
|
|
74
84
|
return result
|
|
@@ -77,9 +87,23 @@ class TaskImpl implements Task {
|
|
|
77
87
|
}).finally(() => ContextPromises.wait(context))
|
|
78
88
|
|
|
79
89
|
/* Cache the resulting promise and return it */
|
|
80
|
-
cache.set(
|
|
90
|
+
cache.set(task, promise)
|
|
81
91
|
return promise
|
|
82
92
|
}
|
|
93
|
+
|
|
94
|
+
/* Create the new Task. The function will simply create an empty state */
|
|
95
|
+
const task: Task = Object.assign((overrideProps: Props = {}) => {
|
|
96
|
+
const state: State = {
|
|
97
|
+
cache: new Map<Task, Promise<Result>>(),
|
|
98
|
+
stack: [] as Task[],
|
|
99
|
+
props: Object.assign({}, props, overrideProps),
|
|
100
|
+
tasks: tasks,
|
|
101
|
+
}
|
|
102
|
+
return invoke(state, _name)
|
|
103
|
+
}, { buildFile, tasks, props, invoke })
|
|
104
|
+
|
|
105
|
+
/* Assign the task name (nicely) and return it */
|
|
106
|
+
return Object.defineProperty(task, 'name', { value: _name })
|
|
83
107
|
}
|
|
84
108
|
|
|
85
109
|
/* ========================================================================== *
|
|
@@ -103,9 +127,9 @@ export function build<
|
|
|
103
127
|
if (typeof val === 'string') {
|
|
104
128
|
props[key] = val
|
|
105
129
|
} else if (typeof val === 'function') {
|
|
106
|
-
tasks[key] =
|
|
130
|
+
tasks[key] = makeTask(buildFile, tasks, props, val, key)
|
|
107
131
|
len = key.length
|
|
108
|
-
} else if (val
|
|
132
|
+
} else if (isTask(val)) {
|
|
109
133
|
tasks[key] = val
|
|
110
134
|
len = key.length
|
|
111
135
|
}
|
package/src/files.ts
CHANGED
|
@@ -31,8 +31,8 @@ export interface FilesBuilder {
|
|
|
31
31
|
* identifying some _files_ rooted in a given _directory_.
|
|
32
32
|
*/
|
|
33
33
|
export class Files {
|
|
34
|
-
readonly _directory: AbsolutePath
|
|
35
|
-
readonly _files: string[]
|
|
34
|
+
private readonly _directory: AbsolutePath
|
|
35
|
+
private readonly _files: string[]
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* Create a new {@link Files} instance rooted in the specified `directory`
|
package/src/fork.ts
CHANGED
|
@@ -53,7 +53,7 @@ export abstract class ForkingPlug implements Plug<PlugResult> {
|
|
|
53
53
|
) {}
|
|
54
54
|
|
|
55
55
|
pipe(files: Files, context: Context): Promise<PlugResult> {
|
|
56
|
-
const
|
|
56
|
+
const request: ForkData = {
|
|
57
57
|
scriptFile: this._scriptFile,
|
|
58
58
|
exportName: this._exportName,
|
|
59
59
|
constructorArgs: this._arguments,
|
|
@@ -93,7 +93,7 @@ export abstract class ForkingPlug implements Plug<PlugResult> {
|
|
|
93
93
|
/* Return a promise from the child process events */
|
|
94
94
|
let done = false // this will be fixed up in "finally" below
|
|
95
95
|
return new Promise<PlugResult>((resolve, reject) => {
|
|
96
|
-
let
|
|
96
|
+
let response: ForkResult | undefined = undefined
|
|
97
97
|
|
|
98
98
|
child.on('error', (error) => {
|
|
99
99
|
context.log.error('Child process error', error)
|
|
@@ -102,7 +102,7 @@ export abstract class ForkingPlug implements Plug<PlugResult> {
|
|
|
102
102
|
|
|
103
103
|
child.on('message', (message: ForkResult) => {
|
|
104
104
|
context.log.debug('Message from child process', message)
|
|
105
|
-
|
|
105
|
+
response = message
|
|
106
106
|
})
|
|
107
107
|
|
|
108
108
|
child.on('exit', (code, signal) => {
|
|
@@ -112,23 +112,23 @@ export abstract class ForkingPlug implements Plug<PlugResult> {
|
|
|
112
112
|
} else if (code !== 0) {
|
|
113
113
|
context.log.error(`Child process exited with code ${code}`, $gry(`(pid=${child.pid})`))
|
|
114
114
|
return done || reject(BuildFailure.fail())
|
|
115
|
-
} else if (!
|
|
115
|
+
} else if (! response) {
|
|
116
116
|
context.log.error('Child process exited with no result', $gry(`(pid=${child.pid})`))
|
|
117
117
|
return done || reject(BuildFailure.fail())
|
|
118
|
-
} else if (
|
|
118
|
+
} else if (response.failed) {
|
|
119
119
|
// definitely logged on the child side
|
|
120
120
|
return done || reject(BuildFailure.fail())
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
/* We definitely have a successful result! */
|
|
124
|
-
return done || resolve(
|
|
125
|
-
Files.builder(
|
|
124
|
+
return done || resolve(response.filesDir && response.filesList ?
|
|
125
|
+
Files.builder(response.filesDir).add(...response.filesList).build() :
|
|
126
126
|
undefined)
|
|
127
127
|
})
|
|
128
128
|
|
|
129
129
|
/* After the handlers have been setup, send the message */
|
|
130
130
|
try {
|
|
131
|
-
const result = child.send(
|
|
131
|
+
const result = child.send(request, (error) => {
|
|
132
132
|
if (error) {
|
|
133
133
|
context.log.error('Error sending message to child process (callback failure)', error)
|
|
134
134
|
reject(BuildFailure.fail())
|
package/src/helpers.ts
CHANGED
|
@@ -101,7 +101,11 @@ export function merge(pipes: (Pipe | Files | Promise<Files>)[]): Pipe {
|
|
|
101
101
|
if (pipes.length === 0) return Files.builder(getCurrentWorkingDirectory()).build()
|
|
102
102
|
|
|
103
103
|
// Await for all pipes / files / files promises
|
|
104
|
-
const
|
|
104
|
+
const awaited = await assertPromises<Files>(pipes)
|
|
105
|
+
const results = awaited.filter((result) => result.length)
|
|
106
|
+
|
|
107
|
+
// No files in anything to be merged? Again send off an empty pipe...
|
|
108
|
+
if (results.length === 0) return Files.builder(getCurrentWorkingDirectory()).build()
|
|
105
109
|
|
|
106
110
|
// Find the common directory between all the Files instances
|
|
107
111
|
const [ firstDir, ...otherDirs ] = results.map((f) => f.directory)
|
package/src/index.ts
CHANGED
|
@@ -31,7 +31,7 @@ export * as utils from './utils'
|
|
|
31
31
|
|
|
32
32
|
// Individual utilities
|
|
33
33
|
export { log, $ms, $p, $t, $blu, $cyn, $grn, $gry, $mgt, $red, $und, $wht, $ylw } from './logging'
|
|
34
|
-
export { assert, fail } from './asserts'
|
|
34
|
+
export { assert, fail, BuildFailure } from './asserts'
|
|
35
35
|
|
|
36
36
|
// Our minimal exports
|
|
37
37
|
export * from './build'
|
package/src/logging/logger.ts
CHANGED
|
@@ -99,7 +99,7 @@ class LoggerImpl implements Logger {
|
|
|
99
99
|
_loggedFailures.add(arg)
|
|
100
100
|
|
|
101
101
|
// If the build failure has any root cause, log those
|
|
102
|
-
arg.errors
|
|
102
|
+
arg.errors?.forEach((error) => this._emit(level, [ error ]))
|
|
103
103
|
|
|
104
104
|
// Log this only if it has a message
|
|
105
105
|
if (! arg.message) return false
|
package/src/plugs/copy.ts
CHANGED
|
@@ -86,26 +86,27 @@ install('copy', class Copy implements Plug<Files> {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
/* Actually _copy_ the file */
|
|
90
89
|
context.log.trace(`Copying "${$p(absolute)}" to "${$p(target)}"`)
|
|
91
90
|
try {
|
|
91
|
+
/* Actually _copy_ the file */
|
|
92
92
|
await copyFile(absolute, target, flags)
|
|
93
|
+
|
|
94
|
+
/* Set the mode, if we need to */
|
|
95
|
+
if (fmode !== undefined) {
|
|
96
|
+
context.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, $p(target))
|
|
97
|
+
await chmod(target, fmode)
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* Record this file */
|
|
101
|
+
builder.add(target)
|
|
93
102
|
} catch (error: any) {
|
|
103
|
+
/* Just log that we skipped the file if we have to */
|
|
94
104
|
if ((error.code === 'EEXIST') && (overwrite === 'skip')) {
|
|
95
105
|
context.log.warn(`Not overwriting existing file ${$p(target)}`)
|
|
96
106
|
} else {
|
|
97
107
|
throw error
|
|
98
108
|
}
|
|
99
109
|
}
|
|
100
|
-
|
|
101
|
-
/* Set the mode, if we need to */
|
|
102
|
-
if (fmode !== undefined) {
|
|
103
|
-
context.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, $p(target))
|
|
104
|
-
await chmod(target, fmode)
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/* Record this file */
|
|
108
|
-
builder.add(target)
|
|
109
110
|
}
|
|
110
111
|
|
|
111
112
|
const result = builder.build()
|
package/src/types.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type { Pipe } from './index'
|
|
|
9
9
|
export type Result = Files | undefined
|
|
10
10
|
|
|
11
11
|
/* ========================================================================== *
|
|
12
|
-
* STATE
|
|
12
|
+
* EXECUTION STATE *
|
|
13
13
|
* ========================================================================== */
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -36,14 +36,16 @@ export interface State {
|
|
|
36
36
|
* The {@link Task} interface normalizes a task definition, associating it with
|
|
37
37
|
* its build file, its sibling {@link Task}s and available _properties_.
|
|
38
38
|
*/
|
|
39
|
-
export interface Task<T extends Result = Result
|
|
39
|
+
export interface Task<T extends Result = Result, P extends Props = Record<string, string>> {
|
|
40
|
+
/** Simply invoke this task stand alone */
|
|
41
|
+
(props?: Partial<P>): Promise<T>
|
|
40
42
|
/** All _properties_ siblings to this {@link Task} */
|
|
41
43
|
readonly props: Props
|
|
42
44
|
/** All {@link Tasks} sibling to this {@link Task} */
|
|
43
45
|
readonly tasks: Tasks
|
|
44
46
|
/** The absolute file name where this {@link Task} was defined */
|
|
45
47
|
readonly buildFile: AbsolutePath,
|
|
46
|
-
/** Invoke a task from
|
|
48
|
+
/** Invoke a task from in the context of a {@link Build} */
|
|
47
49
|
invoke(state: State, taskName: string): Promise<T>
|
|
48
50
|
}
|
|
49
51
|
|
|
@@ -60,17 +62,17 @@ export type TaskDef<R extends TaskResult = TaskResult> = () => R | Promise<R>
|
|
|
60
62
|
* TASKS AND PROPERTIES *
|
|
61
63
|
* ========================================================================== */
|
|
62
64
|
|
|
63
|
-
/** A type identifying all _properties_ of a {@link
|
|
65
|
+
/** A type identifying all _properties_ of a {@link Build}. */
|
|
64
66
|
export type Props<D extends BuildDef = BuildDef> = {
|
|
65
67
|
readonly [ k in string & keyof D as D[k] extends string ? k : never ] : string
|
|
66
68
|
}
|
|
67
69
|
|
|
68
|
-
/** A type identifying all _tasks_ in a {@link
|
|
70
|
+
/** A type identifying all _tasks_ in a {@link Build} */
|
|
69
71
|
export type Tasks<D extends BuildDef = BuildDef> = {
|
|
70
72
|
readonly [ k in string & keyof D as D[k] extends TaskDef | Task ? k : never ] :
|
|
71
73
|
D[k] extends TaskDef<infer R> ?
|
|
72
|
-
R extends void | undefined ? Task<undefined
|
|
73
|
-
R extends Pipe | Files ? Task<Files
|
|
74
|
+
R extends void | undefined ? Task<undefined, Props<D>> :
|
|
75
|
+
R extends Pipe | Files ? Task<Files, Props<D>> :
|
|
74
76
|
never :
|
|
75
77
|
D[k] extends Task ? D[k] :
|
|
76
78
|
never
|