@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.
Files changed (238) hide show
  1. package/{types → dist}/assert.d.ts +0 -0
  2. package/dist/async.cjs +20 -19
  3. package/dist/async.cjs.map +1 -1
  4. package/dist/async.d.ts +20 -0
  5. package/dist/async.mjs +18 -17
  6. package/dist/async.mjs.map +1 -1
  7. package/dist/build.cjs +144 -110
  8. package/dist/build.cjs.map +2 -2
  9. package/dist/build.d.ts +12 -0
  10. package/dist/build.mjs +146 -112
  11. package/dist/build.mjs.map +2 -2
  12. package/dist/files.cjs +2 -16
  13. package/dist/files.cjs.map +1 -1
  14. package/{types → dist}/files.d.ts +3 -10
  15. package/dist/files.mjs +3 -17
  16. package/dist/files.mjs.map +1 -1
  17. package/dist/fork.cjs +28 -40
  18. package/dist/fork.cjs.map +1 -1
  19. package/dist/fork.d.ts +36 -0
  20. package/dist/fork.mjs +29 -40
  21. package/dist/fork.mjs.map +1 -1
  22. package/dist/helpers.cjs +61 -63
  23. package/dist/helpers.cjs.map +2 -2
  24. package/dist/helpers.d.ts +21 -0
  25. package/dist/helpers.mjs +61 -64
  26. package/dist/helpers.mjs.map +2 -2
  27. package/dist/index.cjs +3 -2
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.ts +10 -0
  30. package/dist/index.mjs +3 -2
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/log/colors.cjs +3 -1
  33. package/dist/log/colors.cjs.map +1 -1
  34. package/{types → dist}/log/colors.d.ts +2 -2
  35. package/dist/log/colors.mjs +3 -1
  36. package/dist/log/colors.mjs.map +1 -1
  37. package/{types → dist}/log/emit.d.ts +1 -1
  38. package/{types → dist}/log/levels.d.ts +0 -0
  39. package/dist/log/logger.cjs +4 -0
  40. package/dist/log/logger.cjs.map +1 -1
  41. package/{types → dist}/log/logger.d.ts +4 -1
  42. package/dist/log/logger.mjs +4 -0
  43. package/dist/log/logger.mjs.map +1 -1
  44. package/{types → dist}/log/options.d.ts +1 -1
  45. package/dist/log/report.cjs +4 -13
  46. package/dist/log/report.cjs.map +1 -1
  47. package/{types → dist}/log/report.d.ts +36 -4
  48. package/dist/log/report.mjs +3 -12
  49. package/dist/log/report.mjs.map +1 -1
  50. package/{types → dist}/log/spinner.d.ts +0 -0
  51. package/dist/log.cjs +1 -1
  52. package/dist/log.cjs.map +1 -1
  53. package/{types → dist}/log.d.ts +6 -6
  54. package/dist/log.mjs +2 -2
  55. package/dist/log.mjs.map +1 -1
  56. package/{types → dist}/paths.d.ts +0 -0
  57. package/dist/pipe.cjs +41 -34
  58. package/dist/pipe.cjs.map +1 -1
  59. package/dist/pipe.d.ts +182 -0
  60. package/dist/pipe.mjs +38 -32
  61. package/dist/pipe.mjs.map +1 -1
  62. package/dist/plugs/copy.cjs +15 -25
  63. package/dist/plugs/copy.cjs.map +2 -2
  64. package/dist/plugs/copy.d.ts +28 -0
  65. package/dist/plugs/copy.mjs +15 -17
  66. package/dist/plugs/copy.mjs.map +2 -2
  67. package/{types → dist}/plugs/coverage/analysis.d.ts +2 -2
  68. package/dist/plugs/coverage/report.cjs +4 -2
  69. package/dist/plugs/coverage/report.cjs.map +1 -1
  70. package/{types → dist}/plugs/coverage/report.d.ts +3 -3
  71. package/dist/plugs/coverage/report.mjs +4 -2
  72. package/dist/plugs/coverage/report.mjs.map +1 -1
  73. package/dist/plugs/coverage.cjs +23 -27
  74. package/dist/plugs/coverage.cjs.map +1 -1
  75. package/dist/plugs/coverage.d.ts +49 -0
  76. package/dist/plugs/coverage.mjs +24 -20
  77. package/dist/plugs/coverage.mjs.map +1 -1
  78. package/dist/plugs/debug.cjs +8 -37
  79. package/dist/plugs/debug.cjs.map +1 -1
  80. package/dist/plugs/debug.d.ts +7 -0
  81. package/dist/plugs/debug.mjs +24 -20
  82. package/dist/plugs/debug.mjs.map +1 -1
  83. package/{types → dist}/plugs/esbuild/bundle-locals.d.ts +0 -0
  84. package/{types → dist}/plugs/esbuild/fix-extensions.d.ts +0 -0
  85. package/dist/plugs/esbuild/fix-extensions.mjs +1 -1
  86. package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
  87. package/dist/plugs/esbuild.cjs +14 -25
  88. package/dist/plugs/esbuild.cjs.map +1 -1
  89. package/dist/plugs/esbuild.d.ts +18 -0
  90. package/dist/plugs/esbuild.mjs +14 -17
  91. package/dist/plugs/esbuild.mjs.map +1 -1
  92. package/dist/plugs/eslint/runner.cjs +5 -6
  93. package/dist/plugs/eslint/runner.cjs.map +1 -1
  94. package/dist/plugs/eslint/runner.d.ts +8 -0
  95. package/dist/plugs/eslint/runner.mjs +6 -7
  96. package/dist/plugs/eslint/runner.mjs.map +1 -1
  97. package/dist/{task.cjs → plugs/eslint.cjs} +7 -24
  98. package/dist/plugs/eslint.cjs.map +6 -0
  99. package/dist/plugs/eslint.d.ts +34 -0
  100. package/dist/plugs/eslint.mjs +5 -0
  101. package/dist/plugs/eslint.mjs.map +6 -0
  102. package/dist/plugs/exec.cjs +20 -24
  103. package/dist/plugs/exec.cjs.map +1 -1
  104. package/dist/plugs/exec.d.ts +90 -0
  105. package/dist/plugs/exec.mjs +20 -23
  106. package/dist/plugs/exec.mjs.map +1 -1
  107. package/dist/plugs/filter.cjs +9 -19
  108. package/dist/plugs/filter.cjs.map +1 -1
  109. package/dist/plugs/filter.d.ts +29 -0
  110. package/dist/plugs/filter.mjs +10 -12
  111. package/dist/plugs/filter.mjs.map +1 -1
  112. package/dist/plugs/mocha/reporter.cjs +19 -6
  113. package/dist/plugs/mocha/reporter.cjs.map +1 -1
  114. package/{types → dist}/plugs/mocha/reporter.d.ts +0 -2
  115. package/dist/plugs/mocha/reporter.mjs +18 -4
  116. package/dist/plugs/mocha/reporter.mjs.map +1 -1
  117. package/dist/plugs/mocha/runner.cjs +4 -5
  118. package/dist/plugs/mocha/runner.cjs.map +1 -1
  119. package/dist/plugs/mocha/runner.d.ts +8 -0
  120. package/dist/plugs/mocha/runner.mjs +5 -6
  121. package/dist/plugs/mocha/runner.mjs.map +1 -1
  122. package/dist/plugs/mocha.cjs +22 -0
  123. package/dist/plugs/mocha.cjs.map +6 -0
  124. package/{types/plugs/mocha/runner.d.ts → dist/plugs/mocha.d.ts} +9 -8
  125. package/dist/plugs/mocha.mjs +5 -0
  126. package/dist/plugs/mocha.mjs.map +6 -0
  127. package/dist/plugs/rmf.cjs +4 -32
  128. package/dist/plugs/rmf.cjs.map +1 -1
  129. package/dist/plugs/rmf.d.ts +11 -0
  130. package/dist/plugs/rmf.mjs +25 -20
  131. package/dist/plugs/rmf.mjs.map +1 -1
  132. package/{types → dist}/plugs/tsc/compiler.d.ts +1 -1
  133. package/{types → dist}/plugs/tsc/options.d.ts +1 -1
  134. package/{types → dist}/plugs/tsc/report.d.ts +2 -2
  135. package/dist/plugs/tsc/runner.cjs +12 -11
  136. package/dist/plugs/tsc/runner.cjs.map +1 -1
  137. package/dist/plugs/tsc/runner.d.ts +8 -0
  138. package/dist/plugs/tsc/runner.mjs +12 -11
  139. package/dist/plugs/tsc/runner.mjs.map +1 -1
  140. package/dist/plugs/tsc.cjs +7 -0
  141. package/dist/plugs/tsc.cjs.map +6 -0
  142. package/dist/plugs/tsc.d.ts +36 -0
  143. package/dist/plugs/tsc.mjs +15 -0
  144. package/dist/plugs/tsc.mjs.map +6 -0
  145. package/dist/plugs.cjs +3 -5
  146. package/dist/plugs.cjs.map +1 -1
  147. package/dist/plugs.d.ts +10 -0
  148. package/dist/plugs.mjs +3 -5
  149. package/dist/plugs.mjs.map +1 -1
  150. package/dist/types.cjs +19 -0
  151. package/dist/types.cjs.map +6 -0
  152. package/dist/types.d.ts +72 -0
  153. package/dist/types.mjs +1 -0
  154. package/dist/types.mjs.map +6 -0
  155. package/{types → dist}/utils/asyncfs.d.ts +0 -0
  156. package/dist/utils/caller.cjs +8 -11
  157. package/dist/utils/caller.cjs.map +2 -2
  158. package/dist/utils/caller.d.ts +2 -0
  159. package/dist/utils/caller.mjs +8 -11
  160. package/dist/utils/caller.mjs.map +2 -2
  161. package/{types → dist}/utils/match.d.ts +0 -0
  162. package/dist/utils/options.cjs +4 -6
  163. package/dist/utils/options.cjs.map +1 -1
  164. package/dist/utils/options.d.ts +16 -0
  165. package/dist/utils/options.mjs +4 -6
  166. package/dist/utils/options.mjs.map +1 -1
  167. package/{types → dist}/utils/walk.d.ts +2 -2
  168. package/extra/cli.mjs +31 -20
  169. package/extra/ts-loader.mjs +6 -5
  170. package/package.json +10 -10
  171. package/src/async.ts +27 -19
  172. package/src/files.ts +6 -30
  173. package/src/fork.ts +35 -76
  174. package/src/helpers.ts +89 -101
  175. package/src/index.ts +10 -15
  176. package/src/log/colors.ts +4 -3
  177. package/src/log/emit.ts +4 -4
  178. package/src/log/logger.ts +12 -4
  179. package/src/log/options.ts +1 -1
  180. package/src/log/report.ts +10 -24
  181. package/src/log/spinner.ts +3 -3
  182. package/src/log.ts +9 -9
  183. package/src/paths.ts +1 -1
  184. package/src/pipe.ts +191 -178
  185. package/src/plugs/copy.ts +40 -31
  186. package/src/plugs/coverage/analysis.ts +4 -4
  187. package/src/plugs/coverage/report.ts +9 -6
  188. package/src/plugs/coverage.ts +68 -55
  189. package/src/plugs/debug.ts +22 -27
  190. package/src/plugs/esbuild/fix-extensions.ts +2 -2
  191. package/src/plugs/esbuild.ts +42 -46
  192. package/src/plugs/eslint/runner.ts +16 -31
  193. package/src/plugs/eslint.ts +42 -0
  194. package/src/plugs/exec.ts +93 -82
  195. package/src/plugs/filter.ts +42 -27
  196. package/src/plugs/mocha/reporter.ts +19 -5
  197. package/src/plugs/mocha/runner.ts +12 -38
  198. package/src/plugs/mocha.ts +41 -0
  199. package/src/plugs/rmf.ts +21 -25
  200. package/src/plugs/tsc/compiler.ts +1 -1
  201. package/src/plugs/tsc/options.ts +2 -2
  202. package/src/plugs/tsc/report.ts +2 -2
  203. package/src/plugs/tsc/runner.ts +24 -30
  204. package/src/plugs/tsc.ts +45 -0
  205. package/src/plugs.ts +10 -25
  206. package/src/types.ts +123 -0
  207. package/src/utils/caller.ts +11 -22
  208. package/src/utils/options.ts +49 -17
  209. package/src/utils/walk.ts +4 -4
  210. package/dist/run.cjs +0 -90
  211. package/dist/run.cjs.map +0 -6
  212. package/dist/run.mjs +0 -65
  213. package/dist/run.mjs.map +0 -6
  214. package/dist/task.cjs.map +0 -6
  215. package/dist/task.mjs +0 -14
  216. package/dist/task.mjs.map +0 -6
  217. package/src/run.ts +0 -159
  218. package/src/task.ts +0 -26
  219. package/types/async.d.ts +0 -20
  220. package/types/build.d.ts +0 -56
  221. package/types/fork.d.ts +0 -57
  222. package/types/helpers.d.ts +0 -43
  223. package/types/index.d.ts +0 -14
  224. package/types/pipe.d.ts +0 -152
  225. package/types/plugs/copy.d.ts +0 -27
  226. package/types/plugs/coverage.d.ts +0 -46
  227. package/types/plugs/debug.d.ts +0 -14
  228. package/types/plugs/esbuild.d.ts +0 -23
  229. package/types/plugs/eslint/runner.d.ts +0 -22
  230. package/types/plugs/exec.d.ts +0 -90
  231. package/types/plugs/filter.d.ts +0 -23
  232. package/types/plugs/rmf.d.ts +0 -15
  233. package/types/plugs/tsc/runner.d.ts +0 -13
  234. package/types/plugs.d.ts +0 -17
  235. package/types/run.d.ts +0 -89
  236. package/types/task.d.ts +0 -15
  237. package/types/utils/caller.d.ts +0 -7
  238. package/types/utils/options.d.ts +0 -15
package/dist/build.mjs CHANGED
@@ -1,130 +1,164 @@
1
1
  // build.ts
2
- import { assert, fail, failure } from "./assert.mjs";
2
+ import { assert, fail, failure, isBuildFailure } from "./assert.mjs";
3
3
  import { runAsync } from "./async.mjs";
4
- import { $gry, $ms, $t, logOptions, getLogger } from "./log.mjs";
5
- import { getAbsoluteParent } from "./paths.mjs";
6
- import { PipeImpl } from "./pipe.mjs";
7
- import { RunImpl } from "./run.mjs";
8
- import { TaskImpl } from "./task.mjs";
4
+ import { $ms, $t, getLogger, logOptions } from "./log.mjs";
5
+ import { Context, Pipe } from "./pipe.mjs";
9
6
  import { findCaller } from "./utils/caller.mjs";
10
- var buildMarker = Symbol.for("plugjs:isBuild");
11
- function isBuild(build2) {
12
- return build2 && build2[buildMarker] === buildMarker;
13
- }
14
- function build(definition) {
15
- const buildFile = findCaller(build).file;
16
- const buildDir = getAbsoluteParent(buildFile);
17
- const tasks = {};
18
- const context = { buildFile, buildDir, tasks };
19
- const result = {};
20
- for (const name in definition) {
21
- const def = definition[name];
22
- const task = "task" in def ? def.task : new TaskImpl(context, def);
23
- const call = async (run) => {
24
- if (!run)
25
- run = run = new BuildRun(buildDir, buildFile, tasks);
26
- assert(run instanceof BuildRun, "Incompatible Run specified");
27
- run.log.notice("Starting build...");
28
- const now = Date.now();
29
- let error = void 0;
30
- try {
31
- await run.call(name);
32
- } catch (err) {
33
- run.log.error(err);
34
- error = err;
35
- }
36
- try {
37
- await run.finish();
38
- if (error !== void 0)
39
- throw error;
40
- run.log.notice("Build completed", $ms(Date.now() - now));
41
- return run;
42
- } catch (error2) {
43
- run.log.error(`Build failed ${$ms(Date.now() - now)}`, error2);
44
- throw failure();
45
- }
46
- };
47
- Object.defineProperty(call, "name", { enumerable: true, value: name });
48
- if (name.length > logOptions.taskLength) {
49
- logOptions.taskLength = name.length;
50
- }
51
- result[name] = Object.assign(call, { task });
52
- tasks[name] = task;
7
+ import { parseOptions } from "./utils/options.mjs";
8
+ var PipeImpl = class extends Pipe {
9
+ constructor(_promise, _promises, _context) {
10
+ super();
11
+ this._promise = _promise;
12
+ this._promises = _promises;
13
+ this._context = _context;
14
+ _promises.add(_promise);
53
15
  }
54
- Object.defineProperty(result, buildMarker, { value: buildMarker });
55
- return result;
56
- }
57
- var BuildRun = class extends RunImpl {
58
- constructor(buildDir, buildFile, _tasks, _stack = [], _cache = /* @__PURE__ */ new Map(), taskName = "") {
59
- super({ taskName, buildDir, buildFile });
60
- this._tasks = _tasks;
61
- this._stack = _stack;
62
- this._cache = _cache;
16
+ [Symbol.toStringTag] = "PipeImpl";
17
+ then(onfulfilled, onrejected) {
18
+ return this._promise.then(onfulfilled, onrejected);
63
19
  }
64
- async finish() {
65
- const names = [];
66
- const promises = [];
67
- for (const { name, promise } of this._cache.values()) {
68
- names.push(name);
69
- promises.push(promise);
70
- }
71
- const settlements = await Promise.allSettled(promises);
72
- const failures = settlements.reduce((failures2, settlement, i) => {
73
- if (settlement.status === "rejected") {
74
- const name = names[i];
75
- getLogger(name).error(settlement.reason);
76
- failures2.push(name);
77
- }
78
- return failures2;
79
- }, []);
80
- if (failures.length) {
81
- const message = `${failures.length === 1 ? "task has" : "tasks have"}`;
82
- const names2 = failures.map((task) => $t(task)).join($gry(", "));
83
- this.log.error(failures.length, message, "failed:", names2);
84
- throw failure();
85
- }
20
+ catch(onrejected) {
21
+ return this._promise.catch(onrejected);
22
+ }
23
+ finally(onfinally) {
24
+ return this._promise.finally(onfinally);
25
+ }
26
+ plug(arg) {
27
+ const plug = typeof arg === "function" ? { pipe: arg } : arg;
28
+ const promise = this._promise.then(async (files) => {
29
+ assert(files, "Unable to extend Pipe");
30
+ const result = await plug.pipe(files, this._context);
31
+ assert(result, "Plug did not return a Files instance");
32
+ return result;
33
+ });
34
+ return new PipeImpl(promise, this._promises, this._context);
35
+ }
36
+ async run() {
37
+ return this._promise.then((whaps) => {
38
+ assert(whaps, "Unable to run Pipe");
39
+ return whaps;
40
+ });
41
+ }
42
+ };
43
+ var TaskImpl = class {
44
+ constructor(buildFile, tasks, props, _def) {
45
+ this.buildFile = buildFile;
46
+ this.tasks = tasks;
47
+ this.props = props;
48
+ this._def = _def;
86
49
  }
87
- call(name) {
88
- const task = this._tasks[name];
89
- if (!task)
90
- fail(`Task "${$t(name)}" does not exist`);
91
- assert(!this._stack.includes(task), `Circular dependency running task "${$t(name)}"`);
92
- const cached = this._cache.get(task);
50
+ call(state, taskName) {
51
+ assert(!state.stack.includes(this), `Recursion detected calling ${$t(taskName)}`);
52
+ const cached = state.cache.get(this);
93
53
  if (cached)
94
- return cached.promise;
95
- const childRun = new BuildRun(
96
- task.context.buildDir,
97
- task.context.buildFile,
98
- { ...task.context.tasks, ...this._tasks },
99
- [...this._stack, task],
100
- this._cache,
101
- name
102
- );
103
- const promise = runAsync(childRun, name, () => childRun._run(name, task));
104
- this._cache.set(task, { name, promise });
54
+ return cached;
55
+ const props = Object.assign({}, this.props, state.props);
56
+ const tasks = Object.assign({}, this.tasks, state.tasks);
57
+ const stack = [...state.stack, this];
58
+ const cache = state.cache;
59
+ const promises = /* @__PURE__ */ new Set();
60
+ const context = new Context(this.buildFile, taskName);
61
+ const build2 = new Proxy({}, {
62
+ get(_, name) {
63
+ if (name in tasks) {
64
+ return () => {
65
+ const state2 = { stack, cache, tasks, props };
66
+ const promise2 = tasks[name].call(state2, name);
67
+ return new PipeImpl(promise2, promises, context);
68
+ };
69
+ } else if (name in props) {
70
+ return props[name];
71
+ }
72
+ }
73
+ });
74
+ context.log.info("Running...");
75
+ const now = Date.now();
76
+ const promise = runAsync(context, taskName, async () => {
77
+ try {
78
+ let result = await this._def.call(build2);
79
+ if (result && "run" in result)
80
+ result = await result.run();
81
+ return result || void 0;
82
+ } finally {
83
+ const settlements = await Promise.allSettled([...promises]);
84
+ const errors = /* @__PURE__ */ new Set();
85
+ for (const settlement of settlements) {
86
+ if (settlement.status === "fulfilled")
87
+ continue;
88
+ if (!isBuildFailure(settlement.reason)) {
89
+ errors.add(settlement.reason);
90
+ }
91
+ }
92
+ for (const error of errors)
93
+ context.log.error(error);
94
+ }
95
+ }).then((result) => {
96
+ context.log.notice(`Success ${$ms(Date.now() - now)}`);
97
+ return result;
98
+ }).catch((error) => {
99
+ context.log.error(`Failure ${$ms(Date.now() - now)}`, error);
100
+ throw failure();
101
+ });
102
+ cache.set(this, promise);
105
103
  return promise;
106
104
  }
107
- async _run(name, task) {
108
- const now = Date.now();
109
- this.log.notice(`Starting task ${$t(name)}...`);
110
- const thisBuild = {};
111
- for (const name2 in this._tasks) {
112
- thisBuild[name2] = () => {
113
- return new PipeImpl(this.call(name2), this);
114
- };
105
+ };
106
+ var buildMarker = Symbol.for("plugjs:isBuild");
107
+ function build(def) {
108
+ const buildFile = findCaller(build);
109
+ const tasks = {};
110
+ const props = {};
111
+ for (const [key, val] of Object.entries(def)) {
112
+ let len = 0;
113
+ if (typeof val === "string") {
114
+ props[key] = val;
115
+ } else if (typeof val === "function") {
116
+ tasks[key] = new TaskImpl(buildFile, tasks, props, val);
117
+ len = key.length;
118
+ } else if (val instanceof TaskImpl) {
119
+ tasks[key] = val;
120
+ len = key.length;
115
121
  }
122
+ if (len > logOptions.taskLength)
123
+ logOptions.taskLength = len;
124
+ }
125
+ const call2 = async function call3(taskNames, overrideProps = {}) {
126
+ const logger = getLogger("");
127
+ const state = {
128
+ cache: /* @__PURE__ */ new Map(),
129
+ stack: [],
130
+ props: Object.assign({}, props, overrideProps),
131
+ tasks
132
+ };
133
+ logger.notice("Starting...");
134
+ const now = Date.now();
116
135
  try {
117
- const result = await task.call(thisBuild, this);
118
- this.log.notice(`Task ${$t(name)} completed`, $ms(Date.now() - now));
119
- return result;
136
+ for (const taskName of taskNames) {
137
+ if (taskName in tasks) {
138
+ await tasks[taskName].call(state, taskName);
139
+ } else {
140
+ fail(`Task ${$t(taskName)} not found in build`);
141
+ }
142
+ }
143
+ logger.notice(`Build successful ${$ms(Date.now() - now)}`);
120
144
  } catch (error) {
121
- this.log.error(`Task ${$t(name)} failed ${$ms(Date.now() - now)}`, error);
145
+ logger.error(`Build failed ${$ms(Date.now() - now)}`, error);
122
146
  throw failure();
123
147
  }
124
- }
125
- };
148
+ };
149
+ const compiled = Object.assign({}, props, tasks);
150
+ Object.defineProperty(compiled, buildMarker, { value: call2 });
151
+ return compiled;
152
+ }
153
+ function call(build2, ...args) {
154
+ const { params: tasks, options: props } = parseOptions(args, {});
155
+ const call2 = build2[buildMarker];
156
+ if (typeof call2 !== "function")
157
+ fail("Unknown build type");
158
+ return call2(tasks, props);
159
+ }
126
160
  export {
127
161
  build,
128
- isBuild
162
+ call
129
163
  };
130
164
  //# sourceMappingURL=build.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/build.ts"],
4
- "mappings": "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",
5
- "names": ["build", "error", "failures", "names", "name"]
4
+ "mappings": "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",
5
+ "names": ["build", "state", "promise", "call"]
6
6
  }
package/dist/files.cjs CHANGED
@@ -23,7 +23,6 @@ __export(files_exports, {
23
23
  Files: () => Files
24
24
  });
25
25
  module.exports = __toCommonJS(files_exports);
26
- var import_assert = require("./assert.cjs");
27
26
  var import_paths = require("./paths.cjs");
28
27
  var import_asyncfs = require("./utils/asyncfs.cjs");
29
28
  var Files = class {
@@ -64,19 +63,6 @@ var Files = class {
64
63
  return {
65
64
  directory: instance.directory,
66
65
  add(...files) {
67
- if (built)
68
- throw new Error('FileBuilder "build()" already called');
69
- if (typeof files === "string")
70
- files = [files];
71
- for (const file of files) {
72
- const relative = (0, import_paths.assertRelativeChildPath)(instance.directory, file);
73
- const resolved = (0, import_paths.resolveAbsolutePath)(instance.directory, file);
74
- (0, import_assert.assert)((0, import_paths.resolveFile)(resolved), `File "${resolved}" does not exist`);
75
- set.add(relative);
76
- }
77
- return this;
78
- },
79
- unchecked(...files) {
80
66
  if (built)
81
67
  throw new Error('FileBuilder "build()" already called');
82
68
  if (typeof files === "string")
@@ -92,7 +78,7 @@ var Files = class {
92
78
  throw new Error('FileBuilder "build()" already called');
93
79
  for (const files of args) {
94
80
  for (const file of files.absolutePaths()) {
95
- this.unchecked(file);
81
+ this.add(file);
96
82
  }
97
83
  }
98
84
  return this;
@@ -103,7 +89,7 @@ var Files = class {
103
89
  const directory2 = (0, import_paths.getAbsoluteParent)(absolute);
104
90
  await (0, import_asyncfs.mkdir)(directory2, { recursive: true });
105
91
  await (0, import_asyncfs.writeFile)(absolute, content);
106
- this.unchecked(absolute);
92
+ this.add(absolute);
107
93
  return absolute;
108
94
  },
109
95
  build() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/files.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8F;AAC9F,qBAAiC;AA4B1B,IAAM,QAAN,MAAY;AAAA,EACR;AAAA,EACA;AAAA,EAMT,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,YAAI;AAAO,gBAAM,IAAI,MAAM,sCAAsC;AAEjE,YAAI,OAAO,UAAU;AAAU,kBAAQ,CAAE,KAAM;AAC/C,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,YAAI;AAAO,gBAAM,IAAI,MAAM,sCAAsC;AAEjE,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,sBAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAC1C,kBAAM,0BAAU,UAAU,OAAO;AACjC,aAAK,IAAI,QAAQ;AAEjB,eAAO;AAAA,MACT;AAAA,MAEA,QAAe;AACb,YAAI;AAAO,gBAAM,IAAI,MAAM,sCAAsC;AAEjE,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
  }
@@ -1,21 +1,14 @@
1
- import { AbsolutePath } from './paths.js';
1
+ import { AbsolutePath } from './paths';
2
2
  /** The {@link FilesBuilder} interface defines a builder for {@link Files}. */
3
3
  export interface FilesBuilder {
4
4
  /** The (resolved) directory the {@link Files} will be associated with */
5
5
  readonly directory: AbsolutePath;
6
6
  /**
7
- * Push files into the {@link Files} instance being built **checking for
8
- * their existance on disk**.
7
+ * Push files into the {@link Files} instance being built.
9
8
  *
10
- * This _will_ be slow, use {@link FilesBuilder.unchecked} when absolutely
11
- * sure the file already exist.
9
+ * This method will not check that files actually exist on disk.
12
10
  */
13
11
  add(...files: string[]): this;
14
- /**
15
- * Push files into the {@link Files} instance being built without checking
16
- * they exist on disk _(use with care!)_.
17
- */
18
- unchecked(...files: string[]): this;
19
12
  /** Merge orther {@link Files} instance to the {@link Files} being built */
20
13
  merge(...files: Files[]): this;
21
14
  /** Write a file and add it to the {@link Files} instance being built */
package/dist/files.mjs CHANGED
@@ -1,6 +1,5 @@
1
1
  // files.ts
2
- import { assert } from "./assert.mjs";
3
- import { assertRelativeChildPath, getAbsoluteParent, resolveFile, resolveAbsolutePath } from "./paths.mjs";
2
+ import { assertRelativeChildPath, getAbsoluteParent, resolveAbsolutePath } from "./paths.mjs";
4
3
  import { mkdir, writeFile } from "./utils/asyncfs.mjs";
5
4
  var Files = class {
6
5
  _directory;
@@ -40,19 +39,6 @@ var Files = class {
40
39
  return {
41
40
  directory: instance.directory,
42
41
  add(...files) {
43
- if (built)
44
- throw new Error('FileBuilder "build()" already called');
45
- if (typeof files === "string")
46
- files = [files];
47
- for (const file of files) {
48
- const relative = assertRelativeChildPath(instance.directory, file);
49
- const resolved = resolveAbsolutePath(instance.directory, file);
50
- assert(resolveFile(resolved), `File "${resolved}" does not exist`);
51
- set.add(relative);
52
- }
53
- return this;
54
- },
55
- unchecked(...files) {
56
42
  if (built)
57
43
  throw new Error('FileBuilder "build()" already called');
58
44
  if (typeof files === "string")
@@ -68,7 +54,7 @@ var Files = class {
68
54
  throw new Error('FileBuilder "build()" already called');
69
55
  for (const files of args) {
70
56
  for (const file of files.absolutePaths()) {
71
- this.unchecked(file);
57
+ this.add(file);
72
58
  }
73
59
  }
74
60
  return this;
@@ -79,7 +65,7 @@ var Files = class {
79
65
  const directory2 = getAbsoluteParent(absolute);
80
66
  await mkdir(directory2, { recursive: true });
81
67
  await writeFile(absolute, content);
82
- this.unchecked(absolute);
68
+ this.add(absolute);
83
69
  return absolute;
84
70
  },
85
71
  build() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/files.ts"],
4
- "mappings": ";AAAA,SAAS,cAAc;AACvB,SAAuB,yBAAyB,mBAAmB,aAAa,2BAA2B;AAC3G,SAAS,OAAO,iBAAiB;AAoC1B,IAAM,QAAN,MAAY;AAAA,EACR;AAAA,EACA;AAAA,EAMT,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,YAAI;AAAO,gBAAM,IAAI,MAAM,sCAAsC;AAEjE,YAAI,OAAO,UAAU;AAAU,kBAAQ,CAAE,KAAM;AAC/C,mBAAW,QAAQ,OAAO;AACxB,gBAAM,WAAW,wBAAwB,SAAS,WAAW,IAAI;AACjE,gBAAM,WAAW,oBAAoB,SAAS,WAAW,IAAI;AAE7D,iBAAO,YAAY,QAAQ,GAAG,SAAS,0BAA0B;AACjE,cAAI,IAAI,QAAQ;AAAA,QAClB;AAEA,eAAO;AAAA,MACT;AAAA,MAEA,aAAa,OAA+B;AAC1C,YAAI;AAAO,gBAAM,IAAI,MAAM,sCAAsC;AAEjE,YAAI,OAAO,UAAU;AAAU,kBAAQ,CAAE,KAAM;AAC/C,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,YAAI;AAAO,gBAAM,IAAI,MAAM,sCAAsC;AAEjE,mBAAW,SAAS,MAAM;AACxB,qBAAW,QAAQ,MAAM,cAAc,GAAG;AACxC,iBAAK,UAAU,IAAI;AAAA,UACrB;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,UAAU,QAAQ;AAEvB,eAAO;AAAA,MACT;AAAA,MAEA,QAAe;AACb,YAAI;AAAO,gBAAM,IAAI,MAAM,sCAAsC;AAEjE,gBAAQ;AACR,iBAAS,OAAO,KAAK,GAAG,GAAG;AAC3B,iBAAS,OAAO,KAAK;AACrB,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "mappings": ";AAAA,SAAuB,yBAAyB,mBAAmB,2BAA2B;AAC9F,SAAS,OAAO,iBAAiB;AA4B1B,IAAM,QAAN,MAAY;AAAA,EACR;AAAA,EACA;AAAA,EAMT,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,YAAI;AAAO,gBAAM,IAAI,MAAM,sCAAsC;AAEjE,YAAI,OAAO,UAAU;AAAU,kBAAQ,CAAE,KAAM;AAC/C,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,YAAI;AAAO,gBAAM,IAAI,MAAM,sCAAsC;AAEjE,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,YAAI;AAAO,gBAAM,IAAI,MAAM,sCAAsC;AAEjE,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
@@ -20,51 +20,41 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // fork.ts
21
21
  var fork_exports = {};
22
22
  __export(fork_exports, {
23
- ForkingPlug: () => ForkingPlug,
24
- installForking: () => installForking
23
+ ForkingPlug: () => ForkingPlug
25
24
  });
26
25
  module.exports = __toCommonJS(fork_exports);
27
26
  var import_node_child_process = require("node:child_process");
28
27
  var import_assert = require("./assert.cjs");
29
28
  var import_async = require("./async.cjs");
29
+ var import_files = require("./files.cjs");
30
30
  var import_log = require("./log.cjs");
31
31
  var import_paths = require("./paths.cjs");
32
32
  var import_pipe = require("./pipe.cjs");
33
- var import_run = require("./run.cjs");
34
- function installForking(plugName, scriptFile) {
35
- const ctor = class extends ForkingPlug {
36
- constructor(...args) {
37
- super(scriptFile, args);
38
- }
39
- };
40
- (0, import_pipe.install)(plugName, ctor);
41
- }
42
33
  var ForkingPlug = class {
43
34
  constructor(_scriptFile, _arguments) {
44
35
  this._scriptFile = _scriptFile;
45
36
  this._arguments = _arguments;
46
37
  }
47
- pipe(files, run) {
38
+ pipe(files, context) {
48
39
  const message = {
49
40
  scriptFile: this._scriptFile,
50
41
  constructorArgs: this._arguments,
51
- taskName: run.taskName,
52
- buildFile: run.buildFile,
53
- buildDir: run.buildDir,
42
+ taskName: context.taskName,
43
+ buildFile: context.buildFile,
54
44
  filesDir: files.directory,
55
45
  filesList: [...files.absolutePaths()],
56
- logOpts: import_log.logOptions.fork(run.taskName)
46
+ logOpts: import_log.logOptions.fork(context.taskName)
57
47
  };
58
48
  const script = (0, import_paths.requireFilename)(__filename);
59
- run.log.debug("About to fork plug from", (0, import_log.$p)(script));
49
+ context.log.debug("About to fork plug from", (0, import_log.$p)(script));
60
50
  const env = { ...process.env };
61
51
  for (let i = this._arguments.length - 1; i >= 0; i--) {
62
52
  if (this._arguments[i] == null)
63
53
  continue;
64
54
  if (typeof this._arguments[i] === "object") {
65
55
  if (typeof this._arguments[i].coverageDir === "string") {
66
- const dir = env.NODE_V8_COVERAGE = run.resolve(this._arguments[i].coverageDir);
67
- run.log.debug("Forked process will produce coverage in", (0, import_log.$p)(dir));
56
+ const dir = env.NODE_V8_COVERAGE = context.resolve(this._arguments[i].coverageDir);
57
+ context.log.debug("Forked process will produce coverage in", (0, import_log.$p)(dir));
68
58
  }
69
59
  }
70
60
  }
@@ -72,46 +62,46 @@ var ForkingPlug = class {
72
62
  stdio: ["ignore", "inherit", "inherit", "ipc"],
73
63
  env
74
64
  });
75
- run.log.info("Running", (0, import_log.$p)(script), (0, import_log.$gry)(`(pid=${child.pid})`));
65
+ context.log.info("Running", (0, import_log.$p)(script), (0, import_log.$gry)(`(pid=${child.pid})`));
76
66
  let done = false;
77
67
  return new Promise((resolve, reject) => {
78
68
  let result = void 0;
79
69
  child.on("error", (error) => {
80
- run.log.error("Child process error", error);
70
+ context.log.error("Child process error", error);
81
71
  return done || reject((0, import_assert.failure)());
82
72
  });
83
73
  child.on("message", (message2) => {
84
- run.log.debug("Message from child process", message2);
74
+ context.log.debug("Message from child process", message2);
85
75
  result = message2;
86
76
  });
87
77
  child.on("exit", (code, signal) => {
88
78
  if (signal) {
89
- run.log.error(`Child process exited with signal ${signal}`, (0, import_log.$gry)(`(pid=${child.pid})`));
79
+ context.log.error(`Child process exited with signal ${signal}`, (0, import_log.$gry)(`(pid=${child.pid})`));
90
80
  return done || reject((0, import_assert.failure)());
91
81
  } else if (code !== 0) {
92
- run.log.error(`Child process exited with code ${code}`, (0, import_log.$gry)(`(pid=${child.pid})`));
82
+ context.log.error(`Child process exited with code ${code}`, (0, import_log.$gry)(`(pid=${child.pid})`));
93
83
  return done || reject((0, import_assert.failure)());
94
84
  } else if (!result) {
95
- run.log.error("Child process exited with no result", (0, import_log.$gry)(`(pid=${child.pid})`));
85
+ context.log.error("Child process exited with no result", (0, import_log.$gry)(`(pid=${child.pid})`));
96
86
  return done || reject((0, import_assert.failure)());
97
87
  } else if (result.failed) {
98
88
  return done || reject((0, import_assert.failure)());
99
89
  }
100
- return done || resolve(message.filesDir && message.filesList ? run.files(message.filesDir).unchecked(...message.filesList).build() : void 0);
90
+ return done || resolve(message.filesDir && message.filesList ? import_files.Files.builder(message.filesDir).add(...message.filesList).build() : void 0);
101
91
  });
102
92
  try {
103
93
  const result2 = child.send(message, (error) => {
104
94
  if (error) {
105
- run.log.error("Error sending message to child process (callback failure)", error);
95
+ context.log.error("Error sending message to child process (callback failure)", error);
106
96
  reject((0, import_assert.failure)());
107
97
  }
108
98
  });
109
99
  if (!result2) {
110
- run.log.error("Error sending message to child process (send returned false)");
100
+ context.log.error("Error sending message to child process (send returned false)");
111
101
  reject((0, import_assert.failure)());
112
102
  }
113
103
  } catch (error) {
114
- run.log.error("Error sending message to child process (exception caught)", error);
104
+ context.log.error("Error sending message to child process (exception caught)", error);
115
105
  reject((0, import_assert.failure)());
116
106
  }
117
107
  }).finally(() => done = true);
@@ -129,15 +119,14 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
129
119
  constructorArgs,
130
120
  taskName,
131
121
  buildFile,
132
- buildDir,
133
122
  filesDir,
134
123
  filesList,
135
124
  logOpts
136
125
  } = message;
137
126
  Object.assign(import_log.logOptions, logOpts);
138
- const run = new import_run.RunImpl({ buildDir, buildFile, taskName });
139
- run.log.debug("Message from parent process", message);
140
- const result = (0, import_async.runAsync)(run, taskName, async () => {
127
+ const context = new import_pipe.Context(buildFile, taskName);
128
+ context.log.debug("Message from parent process", message);
129
+ const result = (0, import_async.runAsync)(context, taskName, async () => {
141
130
  (0, import_assert.assert)((0, import_paths.resolveFile)(scriptFile), `Script file ${(0, import_log.$p)(scriptFile)} not found`);
142
131
  const script = await import(scriptFile);
143
132
  let Ctor = script;
@@ -148,8 +137,8 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
148
137
  `Script ${(0, import_log.$p)(scriptFile)} does not export a default constructor`
149
138
  );
150
139
  const plug = new Ctor(...constructorArgs);
151
- const files = run.files(filesDir).unchecked(...filesList).build();
152
- return plug.pipe(files, run);
140
+ const files = import_files.Files.builder(filesDir).add(...filesList).build();
141
+ return plug.pipe(files, context);
153
142
  });
154
143
  const promise = result.then((result2) => {
155
144
  const message2 = result2 ? { failed: false, filesDir: result2.directory, filesList: [...result2.absolutePaths()] } : { failed: false };
@@ -157,23 +146,22 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
157
146
  process.send(message2, (err) => err ? reject(err) : resolve());
158
147
  });
159
148
  }, (error) => {
160
- run.log.error(error);
149
+ context.log.error(error);
161
150
  return new Promise((resolve, reject) => {
162
151
  process.send({ failed: true }, (err) => err ? reject(err) : resolve());
163
152
  });
164
153
  });
165
154
  promise.then(() => {
166
- run.log.debug("Forked plug exiting");
155
+ context.log.debug("Forked plug exiting");
167
156
  process.exit(0);
168
157
  }, (error) => {
169
- run.log.error("Error sending message back to parent process", error);
158
+ context.log.error("Error sending message back to parent process", error);
170
159
  process.exit(1);
171
160
  });
172
161
  });
173
162
  }
174
163
  // Annotate the CommonJS export names for ESM import in node:
175
164
  0 && (module.exports = {
176
- ForkingPlug,
177
- installForking
165
+ ForkingPlug
178
166
  });
179
167
  //# sourceMappingURL=fork.cjs.map