@plugjs/plug 0.0.12 → 0.0.15
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/{types → dist}/assert.d.ts +0 -0
- package/dist/async.cjs +20 -19
- package/dist/async.cjs.map +1 -1
- package/dist/async.d.ts +20 -0
- package/dist/async.mjs +18 -17
- package/dist/async.mjs.map +1 -1
- package/dist/build.cjs +144 -110
- package/dist/build.cjs.map +2 -2
- package/dist/build.d.ts +12 -0
- package/dist/build.mjs +146 -112
- package/dist/build.mjs.map +2 -2
- package/dist/files.cjs +2 -16
- package/dist/files.cjs.map +1 -1
- package/{types → dist}/files.d.ts +3 -10
- package/dist/files.mjs +3 -17
- package/dist/files.mjs.map +1 -1
- package/dist/fork.cjs +28 -40
- package/dist/fork.cjs.map +1 -1
- package/dist/fork.d.ts +36 -0
- package/dist/fork.mjs +29 -40
- package/dist/fork.mjs.map +1 -1
- package/dist/helpers.cjs +61 -63
- package/dist/helpers.cjs.map +2 -2
- package/dist/helpers.d.ts +21 -0
- package/dist/helpers.mjs +61 -64
- package/dist/helpers.mjs.map +2 -2
- package/dist/index.cjs +3 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.mjs +3 -2
- package/dist/index.mjs.map +1 -1
- package/dist/log/colors.cjs +3 -1
- package/dist/log/colors.cjs.map +1 -1
- package/{types → dist}/log/colors.d.ts +2 -2
- package/dist/log/colors.mjs +3 -1
- package/dist/log/colors.mjs.map +1 -1
- package/{types → dist}/log/emit.d.ts +1 -1
- package/{types → dist}/log/levels.d.ts +0 -0
- package/dist/log/logger.cjs +4 -0
- package/dist/log/logger.cjs.map +1 -1
- package/{types → dist}/log/logger.d.ts +4 -1
- package/dist/log/logger.mjs +4 -0
- package/dist/log/logger.mjs.map +1 -1
- package/{types → dist}/log/options.d.ts +1 -1
- package/dist/log/report.cjs +4 -13
- package/dist/log/report.cjs.map +1 -1
- package/{types → dist}/log/report.d.ts +36 -4
- package/dist/log/report.mjs +3 -12
- package/dist/log/report.mjs.map +1 -1
- package/{types → dist}/log/spinner.d.ts +0 -0
- package/dist/log.cjs +1 -1
- package/dist/log.cjs.map +1 -1
- package/{types → dist}/log.d.ts +6 -6
- package/dist/log.mjs +2 -2
- package/dist/log.mjs.map +1 -1
- package/{types → dist}/paths.d.ts +0 -0
- package/dist/pipe.cjs +41 -34
- package/dist/pipe.cjs.map +1 -1
- package/dist/pipe.d.ts +182 -0
- package/dist/pipe.mjs +38 -32
- package/dist/pipe.mjs.map +1 -1
- package/dist/plugs/copy.cjs +15 -25
- package/dist/plugs/copy.cjs.map +2 -2
- package/dist/plugs/copy.d.ts +28 -0
- package/dist/plugs/copy.mjs +15 -17
- package/dist/plugs/copy.mjs.map +2 -2
- package/{types → dist}/plugs/coverage/analysis.d.ts +2 -2
- package/dist/plugs/coverage/report.cjs +4 -2
- package/dist/plugs/coverage/report.cjs.map +1 -1
- package/{types → dist}/plugs/coverage/report.d.ts +3 -3
- package/dist/plugs/coverage/report.mjs +4 -2
- package/dist/plugs/coverage/report.mjs.map +1 -1
- package/dist/plugs/coverage.cjs +23 -27
- package/dist/plugs/coverage.cjs.map +1 -1
- package/dist/plugs/coverage.d.ts +49 -0
- package/dist/plugs/coverage.mjs +24 -20
- package/dist/plugs/coverage.mjs.map +1 -1
- package/dist/plugs/debug.cjs +8 -37
- package/dist/plugs/debug.cjs.map +1 -1
- package/dist/plugs/debug.d.ts +7 -0
- package/dist/plugs/debug.mjs +24 -20
- package/dist/plugs/debug.mjs.map +1 -1
- package/{types → dist}/plugs/esbuild/bundle-locals.d.ts +0 -0
- package/{types → dist}/plugs/esbuild/fix-extensions.d.ts +0 -0
- package/dist/plugs/esbuild/fix-extensions.mjs +1 -1
- package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
- package/dist/plugs/esbuild.cjs +14 -25
- package/dist/plugs/esbuild.cjs.map +1 -1
- package/dist/plugs/esbuild.d.ts +18 -0
- package/dist/plugs/esbuild.mjs +14 -17
- package/dist/plugs/esbuild.mjs.map +1 -1
- package/dist/plugs/eslint/runner.cjs +5 -6
- package/dist/plugs/eslint/runner.cjs.map +1 -1
- package/dist/plugs/eslint/runner.d.ts +8 -0
- package/dist/plugs/eslint/runner.mjs +6 -7
- package/dist/plugs/eslint/runner.mjs.map +1 -1
- package/dist/{task.cjs → plugs/eslint.cjs} +7 -24
- package/dist/plugs/eslint.cjs.map +6 -0
- package/dist/plugs/eslint.d.ts +34 -0
- package/dist/plugs/eslint.mjs +5 -0
- package/dist/plugs/eslint.mjs.map +6 -0
- package/dist/plugs/exec.cjs +20 -24
- package/dist/plugs/exec.cjs.map +1 -1
- package/dist/plugs/exec.d.ts +90 -0
- package/dist/plugs/exec.mjs +20 -23
- package/dist/plugs/exec.mjs.map +1 -1
- package/dist/plugs/filter.cjs +9 -19
- package/dist/plugs/filter.cjs.map +1 -1
- package/dist/plugs/filter.d.ts +29 -0
- package/dist/plugs/filter.mjs +10 -12
- package/dist/plugs/filter.mjs.map +1 -1
- package/dist/plugs/mocha/reporter.cjs +19 -6
- package/dist/plugs/mocha/reporter.cjs.map +1 -1
- package/{types → dist}/plugs/mocha/reporter.d.ts +0 -2
- package/dist/plugs/mocha/reporter.mjs +18 -4
- package/dist/plugs/mocha/reporter.mjs.map +1 -1
- package/dist/plugs/mocha/runner.cjs +4 -5
- package/dist/plugs/mocha/runner.cjs.map +1 -1
- package/dist/plugs/mocha/runner.d.ts +8 -0
- package/dist/plugs/mocha/runner.mjs +5 -6
- package/dist/plugs/mocha/runner.mjs.map +1 -1
- package/dist/plugs/mocha.cjs +22 -0
- package/dist/plugs/mocha.cjs.map +6 -0
- package/{types/plugs/mocha/runner.d.ts → dist/plugs/mocha.d.ts} +9 -8
- package/dist/plugs/mocha.mjs +5 -0
- package/dist/plugs/mocha.mjs.map +6 -0
- package/dist/plugs/rmf.cjs +4 -32
- package/dist/plugs/rmf.cjs.map +1 -1
- package/dist/plugs/rmf.d.ts +11 -0
- package/dist/plugs/rmf.mjs +25 -20
- package/dist/plugs/rmf.mjs.map +1 -1
- package/{types → dist}/plugs/tsc/compiler.d.ts +1 -1
- package/{types → dist}/plugs/tsc/options.d.ts +1 -1
- package/{types → dist}/plugs/tsc/report.d.ts +2 -2
- package/dist/plugs/tsc/runner.cjs +12 -11
- package/dist/plugs/tsc/runner.cjs.map +1 -1
- package/dist/plugs/tsc/runner.d.ts +8 -0
- package/dist/plugs/tsc/runner.mjs +12 -11
- package/dist/plugs/tsc/runner.mjs.map +1 -1
- package/dist/plugs/tsc.cjs +7 -0
- package/dist/plugs/tsc.cjs.map +6 -0
- package/dist/plugs/tsc.d.ts +36 -0
- package/dist/plugs/tsc.mjs +15 -0
- package/dist/plugs/tsc.mjs.map +6 -0
- package/dist/plugs.cjs +3 -5
- package/dist/plugs.cjs.map +1 -1
- package/dist/plugs.d.ts +10 -0
- package/dist/plugs.mjs +3 -5
- package/dist/plugs.mjs.map +1 -1
- package/dist/types.cjs +19 -0
- package/dist/types.cjs.map +6 -0
- package/dist/types.d.ts +72 -0
- package/dist/types.mjs +1 -0
- package/dist/types.mjs.map +6 -0
- package/{types → dist}/utils/asyncfs.d.ts +0 -0
- package/dist/utils/caller.cjs +8 -11
- package/dist/utils/caller.cjs.map +2 -2
- package/dist/utils/caller.d.ts +2 -0
- package/dist/utils/caller.mjs +8 -11
- package/dist/utils/caller.mjs.map +2 -2
- package/{types → dist}/utils/match.d.ts +0 -0
- package/dist/utils/options.cjs +4 -6
- package/dist/utils/options.cjs.map +1 -1
- package/dist/utils/options.d.ts +16 -0
- package/dist/utils/options.mjs +4 -6
- package/dist/utils/options.mjs.map +1 -1
- package/{types → dist}/utils/walk.d.ts +2 -2
- package/extra/cli.mjs +31 -20
- package/extra/ts-loader.mjs +6 -5
- package/package.json +10 -10
- package/src/async.ts +27 -19
- package/src/files.ts +6 -30
- package/src/fork.ts +35 -76
- package/src/helpers.ts +89 -101
- package/src/index.ts +10 -15
- package/src/log/colors.ts +4 -3
- package/src/log/emit.ts +4 -4
- package/src/log/logger.ts +12 -4
- package/src/log/options.ts +1 -1
- package/src/log/report.ts +10 -24
- package/src/log/spinner.ts +3 -3
- package/src/log.ts +9 -9
- package/src/paths.ts +1 -1
- package/src/pipe.ts +191 -178
- package/src/plugs/copy.ts +40 -31
- package/src/plugs/coverage/analysis.ts +4 -4
- package/src/plugs/coverage/report.ts +9 -6
- package/src/plugs/coverage.ts +68 -55
- package/src/plugs/debug.ts +22 -27
- package/src/plugs/esbuild/fix-extensions.ts +2 -2
- package/src/plugs/esbuild.ts +42 -46
- package/src/plugs/eslint/runner.ts +16 -31
- package/src/plugs/eslint.ts +42 -0
- package/src/plugs/exec.ts +93 -82
- package/src/plugs/filter.ts +42 -27
- package/src/plugs/mocha/reporter.ts +19 -5
- package/src/plugs/mocha/runner.ts +12 -38
- package/src/plugs/mocha.ts +41 -0
- package/src/plugs/rmf.ts +21 -25
- package/src/plugs/tsc/compiler.ts +1 -1
- package/src/plugs/tsc/options.ts +2 -2
- package/src/plugs/tsc/report.ts +2 -2
- package/src/plugs/tsc/runner.ts +24 -30
- package/src/plugs/tsc.ts +45 -0
- package/src/plugs.ts +10 -25
- package/src/types.ts +123 -0
- package/src/utils/caller.ts +11 -22
- package/src/utils/options.ts +49 -17
- package/src/utils/walk.ts +4 -4
- package/dist/run.cjs +0 -90
- package/dist/run.cjs.map +0 -6
- package/dist/run.mjs +0 -65
- package/dist/run.mjs.map +0 -6
- package/dist/task.cjs.map +0 -6
- package/dist/task.mjs +0 -14
- package/dist/task.mjs.map +0 -6
- package/src/run.ts +0 -159
- package/src/task.ts +0 -26
- package/types/async.d.ts +0 -20
- package/types/build.d.ts +0 -56
- package/types/fork.d.ts +0 -57
- package/types/helpers.d.ts +0 -43
- package/types/index.d.ts +0 -14
- package/types/pipe.d.ts +0 -152
- package/types/plugs/copy.d.ts +0 -27
- package/types/plugs/coverage.d.ts +0 -46
- package/types/plugs/debug.d.ts +0 -14
- package/types/plugs/esbuild.d.ts +0 -23
- package/types/plugs/eslint/runner.d.ts +0 -22
- package/types/plugs/exec.d.ts +0 -90
- package/types/plugs/filter.d.ts +0 -23
- package/types/plugs/rmf.d.ts +0 -15
- package/types/plugs/tsc/runner.d.ts +0 -13
- package/types/plugs.d.ts +0 -17
- package/types/run.d.ts +0 -89
- package/types/task.d.ts +0 -15
- package/types/utils/caller.d.ts +0 -7
- package/types/utils/options.d.ts +0 -15
|
File without changes
|
package/dist/async.cjs
CHANGED
|
@@ -20,40 +20,41 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// async.ts
|
|
21
21
|
var async_exports = {};
|
|
22
22
|
__export(async_exports, {
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
currentContext: () => currentContext,
|
|
24
|
+
requireContext: () => requireContext,
|
|
25
25
|
runAsync: () => runAsync,
|
|
26
26
|
runningTasks: () => runningTasks
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(async_exports);
|
|
29
29
|
var import_node_async_hooks = require("node:async_hooks");
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
var import_assert = require("./assert.cjs");
|
|
31
|
+
function runAsync(context, taskName, callback) {
|
|
32
|
+
return storage.run(context, async () => {
|
|
33
|
+
try {
|
|
34
|
+
tasks.add(taskName);
|
|
35
|
+
return await callback();
|
|
36
|
+
} finally {
|
|
37
|
+
tasks.delete(taskName);
|
|
38
|
+
}
|
|
38
39
|
});
|
|
39
40
|
}
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
return (_a = storage.getStore()) == null ? void 0 : _a.task;
|
|
41
|
+
function currentContext() {
|
|
42
|
+
return storage.getStore();
|
|
43
43
|
}
|
|
44
|
-
function
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
function requireContext() {
|
|
45
|
+
const context = storage.getStore();
|
|
46
|
+
(0, import_assert.assert)(context, "Unable to retrieve current context");
|
|
47
|
+
return context;
|
|
47
48
|
}
|
|
48
49
|
function runningTasks() {
|
|
49
50
|
return [...tasks].sort();
|
|
50
51
|
}
|
|
51
52
|
var storage = new import_node_async_hooks.AsyncLocalStorage();
|
|
52
|
-
var tasks =
|
|
53
|
+
var tasks = /* @__PURE__ */ new Set();
|
|
53
54
|
// Annotate the CommonJS export names for ESM import in node:
|
|
54
55
|
0 && (module.exports = {
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
currentContext,
|
|
57
|
+
requireContext,
|
|
57
58
|
runAsync,
|
|
58
59
|
runningTasks
|
|
59
60
|
});
|
package/dist/async.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/async.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAkC;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAkC;AAClC,oBAAuB;AAWhB,SAAS,SACZ,SACA,UACA,UACU;AACZ,SAAO,QAAQ,IAAI,SAAS,YAAY;AACtC,QAAI;AACF,YAAM,IAAI,QAAQ;AAClB,aAAO,MAAM,SAAS;AAAA,IACxB,UAAE;AACA,YAAM,OAAO,QAAQ;AAAA,IACvB;AAAA,EACF,CAAC;AACH;AAMO,SAAS,iBAAsC;AACpD,SAAO,QAAQ,SAAS;AAC1B;AAMO,SAAS,iBAA0B;AACxC,QAAM,UAAU,QAAQ,SAAS;AACjC,4BAAO,SAAS,oCAAoC;AACpD,SAAO;AACT;AAKO,SAAS,eAAyB;AACvC,SAAO,CAAE,GAAG,KAAM,EAAE,KAAK;AAC3B;AAMA,IAAM,UAAU,IAAI,0CAA2B;AAC/C,IAAM,QAAQ,oBAAI;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/async.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Context } from './pipe';
|
|
2
|
+
/**
|
|
3
|
+
* Run the specified `callback` associating the specified {@link Context} and task
|
|
4
|
+
* name with the current asynchronous invocation context.
|
|
5
|
+
*/
|
|
6
|
+
export declare function runAsync<T>(context: Context, taskName: string, callback: () => Promise<T>): Promise<T>;
|
|
7
|
+
/**
|
|
8
|
+
* Returns the {@link Context} associated with the current asynchronous
|
|
9
|
+
* invocation context or `undefined`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function currentContext(): Context | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the {@link Context} associated with the current asynchronous
|
|
14
|
+
* invocation context and fail if none was found.
|
|
15
|
+
*/
|
|
16
|
+
export declare function requireContext(): Context;
|
|
17
|
+
/**
|
|
18
|
+
* Return an array of all _task names_ currently running
|
|
19
|
+
*/
|
|
20
|
+
export declare function runningTasks(): string[];
|
package/dist/async.mjs
CHANGED
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
// async.ts
|
|
2
2
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
import { assert } from "./assert.mjs";
|
|
4
|
+
function runAsync(context, taskName, callback) {
|
|
5
|
+
return storage.run(context, async () => {
|
|
6
|
+
try {
|
|
7
|
+
tasks.add(taskName);
|
|
8
|
+
return await callback();
|
|
9
|
+
} finally {
|
|
10
|
+
tasks.delete(taskName);
|
|
11
|
+
}
|
|
11
12
|
});
|
|
12
13
|
}
|
|
13
|
-
function
|
|
14
|
-
|
|
15
|
-
return (_a = storage.getStore()) == null ? void 0 : _a.task;
|
|
14
|
+
function currentContext() {
|
|
15
|
+
return storage.getStore();
|
|
16
16
|
}
|
|
17
|
-
function
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
function requireContext() {
|
|
18
|
+
const context = storage.getStore();
|
|
19
|
+
assert(context, "Unable to retrieve current context");
|
|
20
|
+
return context;
|
|
20
21
|
}
|
|
21
22
|
function runningTasks() {
|
|
22
23
|
return [...tasks].sort();
|
|
23
24
|
}
|
|
24
25
|
var storage = new AsyncLocalStorage();
|
|
25
|
-
var tasks =
|
|
26
|
+
var tasks = /* @__PURE__ */ new Set();
|
|
26
27
|
export {
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
currentContext,
|
|
29
|
+
requireContext,
|
|
29
30
|
runAsync,
|
|
30
31
|
runningTasks
|
|
31
32
|
};
|
package/dist/async.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/async.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,yBAAyB;
|
|
4
|
+
"mappings": ";AAAA,SAAS,yBAAyB;AAClC,SAAS,cAAc;AAWhB,SAAS,SACZ,SACA,UACA,UACU;AACZ,SAAO,QAAQ,IAAI,SAAS,YAAY;AACtC,QAAI;AACF,YAAM,IAAI,QAAQ;AAClB,aAAO,MAAM,SAAS;AAAA,IACxB,UAAE;AACA,YAAM,OAAO,QAAQ;AAAA,IACvB;AAAA,EACF,CAAC;AACH;AAMO,SAAS,iBAAsC;AACpD,SAAO,QAAQ,SAAS;AAC1B;AAMO,SAAS,iBAA0B;AACxC,QAAM,UAAU,QAAQ,SAAS;AACjC,SAAO,SAAS,oCAAoC;AACpD,SAAO;AACT;AAKO,SAAS,eAAyB;AACvC,SAAO,CAAE,GAAG,KAAM,EAAE,KAAK;AAC3B;AAMA,IAAM,UAAU,IAAI,kBAA2B;AAC/C,IAAM,QAAQ,oBAAI;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/build.cjs
CHANGED
|
@@ -21,136 +21,170 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var build_exports = {};
|
|
22
22
|
__export(build_exports, {
|
|
23
23
|
build: () => build,
|
|
24
|
-
|
|
24
|
+
call: () => call
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(build_exports);
|
|
27
27
|
var import_assert = require("./assert.cjs");
|
|
28
28
|
var import_async = require("./async.cjs");
|
|
29
29
|
var import_log = require("./log.cjs");
|
|
30
|
-
var import_paths = require("./paths.cjs");
|
|
31
30
|
var import_pipe = require("./pipe.cjs");
|
|
32
|
-
var import_run = require("./run.cjs");
|
|
33
|
-
var import_task = require("./task.cjs");
|
|
34
31
|
var import_caller = require("./utils/caller.cjs");
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const context = { buildFile, buildDir, tasks };
|
|
44
|
-
const result = {};
|
|
45
|
-
for (const name in definition) {
|
|
46
|
-
const def = definition[name];
|
|
47
|
-
const task = "task" in def ? def.task : new import_task.TaskImpl(context, def);
|
|
48
|
-
const call = async (run) => {
|
|
49
|
-
if (!run)
|
|
50
|
-
run = run = new BuildRun(buildDir, buildFile, tasks);
|
|
51
|
-
(0, import_assert.assert)(run instanceof BuildRun, "Incompatible Run specified");
|
|
52
|
-
run.log.notice("Starting build...");
|
|
53
|
-
const now = Date.now();
|
|
54
|
-
let error = void 0;
|
|
55
|
-
try {
|
|
56
|
-
await run.call(name);
|
|
57
|
-
} catch (err) {
|
|
58
|
-
run.log.error(err);
|
|
59
|
-
error = err;
|
|
60
|
-
}
|
|
61
|
-
try {
|
|
62
|
-
await run.finish();
|
|
63
|
-
if (error !== void 0)
|
|
64
|
-
throw error;
|
|
65
|
-
run.log.notice("Build completed", (0, import_log.$ms)(Date.now() - now));
|
|
66
|
-
return run;
|
|
67
|
-
} catch (error2) {
|
|
68
|
-
run.log.error(`Build failed ${(0, import_log.$ms)(Date.now() - now)}`, error2);
|
|
69
|
-
throw (0, import_assert.failure)();
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
Object.defineProperty(call, "name", { enumerable: true, value: name });
|
|
73
|
-
if (name.length > import_log.logOptions.taskLength) {
|
|
74
|
-
import_log.logOptions.taskLength = name.length;
|
|
75
|
-
}
|
|
76
|
-
result[name] = Object.assign(call, { task });
|
|
77
|
-
tasks[name] = task;
|
|
32
|
+
var import_options = require("./utils/options.cjs");
|
|
33
|
+
var PipeImpl = class extends import_pipe.Pipe {
|
|
34
|
+
constructor(_promise, _promises, _context) {
|
|
35
|
+
super();
|
|
36
|
+
this._promise = _promise;
|
|
37
|
+
this._promises = _promises;
|
|
38
|
+
this._context = _context;
|
|
39
|
+
_promises.add(_promise);
|
|
78
40
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
var BuildRun = class extends import_run.RunImpl {
|
|
83
|
-
constructor(buildDir, buildFile, _tasks, _stack = [], _cache = /* @__PURE__ */ new Map(), taskName = "") {
|
|
84
|
-
super({ taskName, buildDir, buildFile });
|
|
85
|
-
this._tasks = _tasks;
|
|
86
|
-
this._stack = _stack;
|
|
87
|
-
this._cache = _cache;
|
|
41
|
+
[Symbol.toStringTag] = "PipeImpl";
|
|
42
|
+
then(onfulfilled, onrejected) {
|
|
43
|
+
return this._promise.then(onfulfilled, onrejected);
|
|
88
44
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
45
|
+
catch(onrejected) {
|
|
46
|
+
return this._promise.catch(onrejected);
|
|
47
|
+
}
|
|
48
|
+
finally(onfinally) {
|
|
49
|
+
return this._promise.finally(onfinally);
|
|
50
|
+
}
|
|
51
|
+
plug(arg) {
|
|
52
|
+
const plug = typeof arg === "function" ? { pipe: arg } : arg;
|
|
53
|
+
const promise = this._promise.then(async (files) => {
|
|
54
|
+
(0, import_assert.assert)(files, "Unable to extend Pipe");
|
|
55
|
+
const result = await plug.pipe(files, this._context);
|
|
56
|
+
(0, import_assert.assert)(result, "Plug did not return a Files instance");
|
|
57
|
+
return result;
|
|
58
|
+
});
|
|
59
|
+
return new PipeImpl(promise, this._promises, this._context);
|
|
60
|
+
}
|
|
61
|
+
async run() {
|
|
62
|
+
return this._promise.then((whaps) => {
|
|
63
|
+
(0, import_assert.assert)(whaps, "Unable to run Pipe");
|
|
64
|
+
return whaps;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
var TaskImpl = class {
|
|
69
|
+
constructor(buildFile, tasks, props, _def) {
|
|
70
|
+
this.buildFile = buildFile;
|
|
71
|
+
this.tasks = tasks;
|
|
72
|
+
this.props = props;
|
|
73
|
+
this._def = _def;
|
|
111
74
|
}
|
|
112
|
-
call(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
(0, import_assert.fail)(`Task "${(0, import_log.$t)(name)}" does not exist`);
|
|
116
|
-
(0, import_assert.assert)(!this._stack.includes(task), `Circular dependency running task "${(0, import_log.$t)(name)}"`);
|
|
117
|
-
const cached = this._cache.get(task);
|
|
75
|
+
call(state, taskName) {
|
|
76
|
+
(0, import_assert.assert)(!state.stack.includes(this), `Recursion detected calling ${(0, import_log.$t)(taskName)}`);
|
|
77
|
+
const cached = state.cache.get(this);
|
|
118
78
|
if (cached)
|
|
119
|
-
return cached
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
79
|
+
return cached;
|
|
80
|
+
const props = Object.assign({}, this.props, state.props);
|
|
81
|
+
const tasks = Object.assign({}, this.tasks, state.tasks);
|
|
82
|
+
const stack = [...state.stack, this];
|
|
83
|
+
const cache = state.cache;
|
|
84
|
+
const promises = /* @__PURE__ */ new Set();
|
|
85
|
+
const context = new import_pipe.Context(this.buildFile, taskName);
|
|
86
|
+
const build2 = new Proxy({}, {
|
|
87
|
+
get(_, name) {
|
|
88
|
+
if (name in tasks) {
|
|
89
|
+
return () => {
|
|
90
|
+
const state2 = { stack, cache, tasks, props };
|
|
91
|
+
const promise2 = tasks[name].call(state2, name);
|
|
92
|
+
return new PipeImpl(promise2, promises, context);
|
|
93
|
+
};
|
|
94
|
+
} else if (name in props) {
|
|
95
|
+
return props[name];
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
context.log.info("Running...");
|
|
100
|
+
const now = Date.now();
|
|
101
|
+
const promise = (0, import_async.runAsync)(context, taskName, async () => {
|
|
102
|
+
try {
|
|
103
|
+
let result = await this._def.call(build2);
|
|
104
|
+
if (result && "run" in result)
|
|
105
|
+
result = await result.run();
|
|
106
|
+
return result || void 0;
|
|
107
|
+
} finally {
|
|
108
|
+
const settlements = await Promise.allSettled([...promises]);
|
|
109
|
+
const errors = /* @__PURE__ */ new Set();
|
|
110
|
+
for (const settlement of settlements) {
|
|
111
|
+
if (settlement.status === "fulfilled")
|
|
112
|
+
continue;
|
|
113
|
+
if (!(0, import_assert.isBuildFailure)(settlement.reason)) {
|
|
114
|
+
errors.add(settlement.reason);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
for (const error of errors)
|
|
118
|
+
context.log.error(error);
|
|
119
|
+
}
|
|
120
|
+
}).then((result) => {
|
|
121
|
+
context.log.notice(`Success ${(0, import_log.$ms)(Date.now() - now)}`);
|
|
122
|
+
return result;
|
|
123
|
+
}).catch((error) => {
|
|
124
|
+
context.log.error(`Failure ${(0, import_log.$ms)(Date.now() - now)}`, error);
|
|
125
|
+
throw (0, import_assert.failure)();
|
|
126
|
+
});
|
|
127
|
+
cache.set(this, promise);
|
|
130
128
|
return promise;
|
|
131
129
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
130
|
+
};
|
|
131
|
+
var buildMarker = Symbol.for("plugjs:isBuild");
|
|
132
|
+
function build(def) {
|
|
133
|
+
const buildFile = (0, import_caller.findCaller)(build);
|
|
134
|
+
const tasks = {};
|
|
135
|
+
const props = {};
|
|
136
|
+
for (const [key, val] of Object.entries(def)) {
|
|
137
|
+
let len = 0;
|
|
138
|
+
if (typeof val === "string") {
|
|
139
|
+
props[key] = val;
|
|
140
|
+
} else if (typeof val === "function") {
|
|
141
|
+
tasks[key] = new TaskImpl(buildFile, tasks, props, val);
|
|
142
|
+
len = key.length;
|
|
143
|
+
} else if (val instanceof TaskImpl) {
|
|
144
|
+
tasks[key] = val;
|
|
145
|
+
len = key.length;
|
|
140
146
|
}
|
|
147
|
+
if (len > import_log.logOptions.taskLength)
|
|
148
|
+
import_log.logOptions.taskLength = len;
|
|
149
|
+
}
|
|
150
|
+
const call2 = async function call3(taskNames, overrideProps = {}) {
|
|
151
|
+
const logger = (0, import_log.getLogger)("");
|
|
152
|
+
const state = {
|
|
153
|
+
cache: /* @__PURE__ */ new Map(),
|
|
154
|
+
stack: [],
|
|
155
|
+
props: Object.assign({}, props, overrideProps),
|
|
156
|
+
tasks
|
|
157
|
+
};
|
|
158
|
+
logger.notice("Starting...");
|
|
159
|
+
const now = Date.now();
|
|
141
160
|
try {
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
|
|
161
|
+
for (const taskName of taskNames) {
|
|
162
|
+
if (taskName in tasks) {
|
|
163
|
+
await tasks[taskName].call(state, taskName);
|
|
164
|
+
} else {
|
|
165
|
+
(0, import_assert.fail)(`Task ${(0, import_log.$t)(taskName)} not found in build`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
logger.notice(`Build successful ${(0, import_log.$ms)(Date.now() - now)}`);
|
|
145
169
|
} catch (error) {
|
|
146
|
-
|
|
170
|
+
logger.error(`Build failed ${(0, import_log.$ms)(Date.now() - now)}`, error);
|
|
147
171
|
throw (0, import_assert.failure)();
|
|
148
172
|
}
|
|
149
|
-
}
|
|
150
|
-
};
|
|
173
|
+
};
|
|
174
|
+
const compiled = Object.assign({}, props, tasks);
|
|
175
|
+
Object.defineProperty(compiled, buildMarker, { value: call2 });
|
|
176
|
+
return compiled;
|
|
177
|
+
}
|
|
178
|
+
function call(build2, ...args) {
|
|
179
|
+
const { params: tasks, options: props } = (0, import_options.parseOptions)(args, {});
|
|
180
|
+
const call2 = build2[buildMarker];
|
|
181
|
+
if (typeof call2 !== "function")
|
|
182
|
+
(0, import_assert.fail)("Unknown build type");
|
|
183
|
+
return call2(tasks, props);
|
|
184
|
+
}
|
|
151
185
|
// Annotate the CommonJS export names for ESM import in node:
|
|
152
186
|
0 && (module.exports = {
|
|
153
187
|
build,
|
|
154
|
-
|
|
188
|
+
call
|
|
155
189
|
});
|
|
156
190
|
//# sourceMappingURL=build.cjs.map
|
package/dist/build.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/build.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
5
|
-
"names": ["build", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["build", "state", "promise", "call"]
|
|
6
6
|
}
|
package/dist/build.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Build, BuildDef, Props, ThisBuild } from './types';
|
|
2
|
+
/** Compile a {@link BuildDef | build definition} into a {@link Build} */
|
|
3
|
+
export declare function build<D extends BuildDef, B extends ThisBuild<D>>(def: D & ThisType<B>): Build<D>;
|
|
4
|
+
/** Internal type identifying all _task names_ in a {@link Build} */
|
|
5
|
+
declare type TaskNames<B extends Build> = string & keyof B & (B extends Build<BuildDef, infer Tasks, Props> ? keyof Tasks : never);
|
|
6
|
+
/** Internal type identifying all _property names_ in a {@link Build} */
|
|
7
|
+
declare type OverrideProps<B extends Build> = {
|
|
8
|
+
[k in keyof B as B[k] extends string ? k : never]?: string;
|
|
9
|
+
};
|
|
10
|
+
/** Serially invoke tasks in a {@link Build} optionally overriding properties */
|
|
11
|
+
export declare function call<B extends Build>(build: B, ...args: [...taskNames: [TaskNames<B>, ...TaskNames<B>[]]] | [...taskNames: [TaskNames<B>, ...TaskNames<B>[]], options: OverrideProps<B>]): Promise<void>;
|
|
12
|
+
export {};
|