@plugjs/plug 0.0.27 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/{failure.cjs → asserts.cjs} +30 -10
  2. package/dist/asserts.cjs.map +6 -0
  3. package/dist/{failure.d.ts → asserts.d.ts} +4 -1
  4. package/dist/asserts.mjs +51 -0
  5. package/dist/asserts.mjs.map +6 -0
  6. package/dist/async.cjs +2 -2
  7. package/dist/async.cjs.map +1 -1
  8. package/dist/async.mjs +2 -2
  9. package/dist/async.mjs.map +1 -1
  10. package/dist/build.cjs +22 -33
  11. package/dist/build.cjs.map +1 -1
  12. package/dist/build.d.ts +2 -13
  13. package/dist/build.mjs +17 -27
  14. package/dist/build.mjs.map +1 -1
  15. package/dist/files.cjs +7 -11
  16. package/dist/files.cjs.map +1 -1
  17. package/dist/files.mjs +5 -9
  18. package/dist/files.mjs.map +1 -1
  19. package/dist/fork.cjs +35 -30
  20. package/dist/fork.cjs.map +1 -1
  21. package/dist/fork.d.ts +6 -3
  22. package/dist/fork.mjs +18 -13
  23. package/dist/fork.mjs.map +1 -1
  24. package/dist/{utils/asyncfs.cjs → fs.cjs} +6 -6
  25. package/dist/fs.cjs.map +6 -0
  26. package/dist/{utils/asyncfs.d.ts → fs.d.ts} +1 -1
  27. package/dist/{utils/asyncfs.mjs → fs.mjs} +3 -3
  28. package/dist/fs.mjs.map +6 -0
  29. package/dist/helpers.cjs +31 -14
  30. package/dist/helpers.cjs.map +1 -1
  31. package/dist/helpers.d.ts +30 -1
  32. package/dist/helpers.mjs +22 -7
  33. package/dist/helpers.mjs.map +1 -1
  34. package/dist/index.cjs +36 -6
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.ts +25 -8
  37. package/dist/index.mjs +20 -5
  38. package/dist/index.mjs.map +1 -1
  39. package/dist/{log → logging}/colors.cjs +1 -1
  40. package/dist/{log → logging}/colors.cjs.map +1 -1
  41. package/dist/{log → logging}/colors.d.ts +0 -0
  42. package/dist/{log → logging}/colors.mjs +1 -1
  43. package/dist/{log → logging}/colors.mjs.map +1 -1
  44. package/dist/{log → logging}/emit.cjs +1 -2
  45. package/dist/{log → logging}/emit.cjs.map +2 -2
  46. package/dist/{log → logging}/emit.d.ts +1 -1
  47. package/dist/{log → logging}/emit.mjs +1 -2
  48. package/dist/{log → logging}/emit.mjs.map +2 -2
  49. package/dist/{log → logging}/levels.cjs +1 -1
  50. package/dist/{log → logging}/levels.cjs.map +1 -1
  51. package/dist/{log → logging}/levels.d.ts +6 -6
  52. package/dist/{log → logging}/levels.mjs +1 -1
  53. package/dist/{log → logging}/levels.mjs.map +1 -1
  54. package/dist/{log → logging}/logger.cjs +13 -7
  55. package/dist/logging/logger.cjs.map +6 -0
  56. package/dist/{log → logging}/logger.d.ts +0 -0
  57. package/dist/{log → logging}/logger.mjs +11 -5
  58. package/dist/logging/logger.mjs.map +6 -0
  59. package/dist/{log → logging}/options.cjs +12 -6
  60. package/dist/logging/options.cjs.map +6 -0
  61. package/dist/{log → logging}/options.d.ts +1 -1
  62. package/dist/{log → logging}/options.mjs +12 -6
  63. package/dist/logging/options.mjs.map +6 -0
  64. package/dist/{log → logging}/report.cjs +11 -11
  65. package/dist/logging/report.cjs.map +6 -0
  66. package/dist/{log → logging}/report.d.ts +1 -1
  67. package/dist/{log → logging}/report.mjs +8 -8
  68. package/dist/logging/report.mjs.map +6 -0
  69. package/dist/{log → logging}/spinner.cjs +1 -1
  70. package/dist/{log → logging}/spinner.cjs.map +1 -1
  71. package/dist/{log → logging}/spinner.d.ts +0 -0
  72. package/dist/{log → logging}/spinner.mjs +1 -1
  73. package/dist/{log → logging}/spinner.mjs.map +1 -1
  74. package/dist/{log.cjs → logging.cjs} +13 -16
  75. package/dist/logging.cjs.map +6 -0
  76. package/dist/logging.d.ts +10 -0
  77. package/dist/{log.mjs → logging.mjs} +10 -13
  78. package/dist/logging.mjs.map +6 -0
  79. package/dist/paths.cjs +25 -27
  80. package/dist/paths.cjs.map +1 -1
  81. package/dist/paths.d.ts +8 -8
  82. package/dist/paths.mjs +23 -25
  83. package/dist/paths.mjs.map +1 -1
  84. package/dist/pipe.cjs +10 -13
  85. package/dist/pipe.cjs.map +1 -1
  86. package/dist/pipe.d.ts +13 -19
  87. package/dist/pipe.mjs +6 -9
  88. package/dist/pipe.mjs.map +1 -1
  89. package/dist/plugs/copy.cjs +14 -14
  90. package/dist/plugs/copy.cjs.map +1 -1
  91. package/dist/plugs/copy.d.ts +1 -1
  92. package/dist/plugs/copy.mjs +3 -3
  93. package/dist/plugs/copy.mjs.map +1 -1
  94. package/dist/plugs/debug.cjs +7 -7
  95. package/dist/plugs/debug.cjs.map +1 -1
  96. package/dist/plugs/debug.d.ts +1 -1
  97. package/dist/plugs/debug.mjs +1 -1
  98. package/dist/plugs/edit.cjs +21 -0
  99. package/dist/plugs/edit.cjs.map +6 -0
  100. package/dist/plugs/edit.d.ts +7 -0
  101. package/dist/plugs/edit.mjs +29 -0
  102. package/dist/plugs/edit.mjs.map +6 -0
  103. package/dist/plugs/esbuild/fix-extensions.cjs +7 -8
  104. package/dist/plugs/esbuild/fix-extensions.cjs.map +1 -1
  105. package/dist/plugs/esbuild/fix-extensions.mjs +4 -5
  106. package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
  107. package/dist/plugs/esbuild.cjs +19 -14
  108. package/dist/plugs/esbuild.cjs.map +1 -1
  109. package/dist/plugs/esbuild.d.ts +2 -2
  110. package/dist/plugs/esbuild.mjs +8 -3
  111. package/dist/plugs/esbuild.mjs.map +1 -1
  112. package/dist/plugs/exec.cjs +2 -82
  113. package/dist/plugs/exec.cjs.map +2 -2
  114. package/dist/plugs/exec.d.ts +6 -32
  115. package/dist/plugs/exec.mjs +2 -68
  116. package/dist/plugs/exec.mjs.map +1 -1
  117. package/dist/plugs/filter.d.ts +1 -1
  118. package/dist/plugs/rmf.cjs +5 -5
  119. package/dist/plugs/rmf.cjs.map +1 -1
  120. package/dist/plugs/rmf.d.ts +1 -1
  121. package/dist/plugs/rmf.mjs +2 -2
  122. package/dist/plugs/rmf.mjs.map +1 -1
  123. package/dist/plugs.cjs +1 -4
  124. package/dist/plugs.cjs.map +1 -1
  125. package/dist/plugs.d.ts +1 -4
  126. package/dist/plugs.mjs +1 -4
  127. package/dist/plugs.mjs.map +1 -1
  128. package/dist/types.d.ts +8 -8
  129. package/dist/utils/caller.cjs +8 -5
  130. package/dist/utils/caller.cjs.map +1 -1
  131. package/dist/utils/caller.mjs +6 -3
  132. package/dist/utils/caller.mjs.map +1 -1
  133. package/dist/utils/exec.cjs +102 -0
  134. package/dist/utils/exec.cjs.map +6 -0
  135. package/dist/utils/exec.d.ts +15 -0
  136. package/dist/utils/exec.mjs +71 -0
  137. package/dist/utils/exec.mjs.map +6 -0
  138. package/dist/utils/match.d.ts +1 -1
  139. package/dist/utils/options.d.ts +3 -3
  140. package/dist/utils/walk.cjs +7 -7
  141. package/dist/utils/walk.cjs.map +1 -1
  142. package/dist/utils/walk.mjs +2 -2
  143. package/dist/utils/walk.mjs.map +1 -1
  144. package/dist/{plugs/tsc.cjs → utils.cjs} +9 -7
  145. package/dist/utils.cjs.map +6 -0
  146. package/dist/utils.d.ts +4 -0
  147. package/dist/utils.mjs +6 -0
  148. package/dist/utils.mjs.map +6 -0
  149. package/extra/cli.mjs +26 -5
  150. package/extra/ts-loader.mjs +4 -4
  151. package/package.json +101 -20
  152. package/src/{assert.ts → asserts.ts} +36 -1
  153. package/src/async.ts +3 -1
  154. package/src/build.ts +179 -0
  155. package/src/files.ts +5 -5
  156. package/src/fork.ts +19 -11
  157. package/src/{utils/asyncfs.ts → fs.ts} +7 -6
  158. package/src/helpers.ts +56 -8
  159. package/src/index.ts +30 -8
  160. package/src/{log → logging}/colors.ts +0 -0
  161. package/src/{log → logging}/emit.ts +0 -1
  162. package/src/{log → logging}/levels.ts +0 -0
  163. package/src/{log → logging}/logger.ts +13 -4
  164. package/src/{log → logging}/options.ts +11 -7
  165. package/src/{log → logging}/report.ts +10 -9
  166. package/src/{log → logging}/spinner.ts +0 -0
  167. package/src/{log.ts → logging.ts} +7 -7
  168. package/src/paths.ts +36 -41
  169. package/src/pipe.ts +13 -20
  170. package/src/plugs/copy.ts +4 -4
  171. package/src/plugs/debug.ts +2 -2
  172. package/src/plugs/edit.ts +34 -0
  173. package/src/plugs/esbuild/fix-extensions.ts +2 -2
  174. package/src/plugs/esbuild.ts +13 -7
  175. package/src/plugs/exec.ts +8 -129
  176. package/src/plugs/filter.ts +1 -1
  177. package/src/plugs/rmf.ts +3 -3
  178. package/src/plugs.ts +1 -13
  179. package/src/types.ts +1 -1
  180. package/src/utils/caller.ts +6 -3
  181. package/src/utils/exec.ts +112 -0
  182. package/src/utils/walk.ts +3 -3
  183. package/src/utils.ts +4 -0
  184. package/types/{webassembly.d.ts → plugjs.d.ts} +7 -1
  185. package/dist/assert.cjs +0 -52
  186. package/dist/assert.cjs.map +0 -6
  187. package/dist/assert.d.ts +0 -4
  188. package/dist/assert.mjs +0 -26
  189. package/dist/assert.mjs.map +0 -6
  190. package/dist/failure.cjs.map +0 -6
  191. package/dist/failure.mjs +0 -33
  192. package/dist/failure.mjs.map +0 -6
  193. package/dist/log/logger.cjs.map +0 -6
  194. package/dist/log/logger.mjs.map +0 -6
  195. package/dist/log/options.cjs.map +0 -6
  196. package/dist/log/options.mjs.map +0 -6
  197. package/dist/log/report.cjs.map +0 -6
  198. package/dist/log/report.mjs.map +0 -6
  199. package/dist/log.cjs.map +0 -6
  200. package/dist/log.d.ts +0 -10
  201. package/dist/log.mjs.map +0 -6
  202. package/dist/plugs/coverage/analysis.cjs +0 -234
  203. package/dist/plugs/coverage/analysis.cjs.map +0 -6
  204. package/dist/plugs/coverage/analysis.d.ts +0 -104
  205. package/dist/plugs/coverage/analysis.mjs +0 -207
  206. package/dist/plugs/coverage/analysis.mjs.map +0 -6
  207. package/dist/plugs/coverage/report.cjs +0 -235
  208. package/dist/plugs/coverage/report.cjs.map +0 -6
  209. package/dist/plugs/coverage/report.d.ts +0 -59
  210. package/dist/plugs/coverage/report.mjs +0 -220
  211. package/dist/plugs/coverage/report.mjs.map +0 -6
  212. package/dist/plugs/coverage.cjs +0 -140
  213. package/dist/plugs/coverage.cjs.map +0 -6
  214. package/dist/plugs/coverage.d.ts +0 -49
  215. package/dist/plugs/coverage.mjs +0 -123
  216. package/dist/plugs/coverage.mjs.map +0 -6
  217. package/dist/plugs/eslint/runner.cjs +0 -91
  218. package/dist/plugs/eslint/runner.cjs.map +0 -6
  219. package/dist/plugs/eslint/runner.d.ts +0 -8
  220. package/dist/plugs/eslint/runner.mjs +0 -68
  221. package/dist/plugs/eslint/runner.mjs.map +0 -6
  222. package/dist/plugs/eslint.cjs +0 -22
  223. package/dist/plugs/eslint.cjs.map +0 -6
  224. package/dist/plugs/eslint.d.ts +0 -34
  225. package/dist/plugs/eslint.mjs +0 -5
  226. package/dist/plugs/eslint.mjs.map +0 -6
  227. package/dist/plugs/mocha/reporter.cjs +0 -159
  228. package/dist/plugs/mocha/reporter.cjs.map +0 -6
  229. package/dist/plugs/mocha/reporter.d.ts +0 -6
  230. package/dist/plugs/mocha/reporter.mjs +0 -127
  231. package/dist/plugs/mocha/reporter.mjs.map +0 -6
  232. package/dist/plugs/mocha/runner.cjs +0 -82
  233. package/dist/plugs/mocha/runner.cjs.map +0 -6
  234. package/dist/plugs/mocha/runner.d.ts +0 -8
  235. package/dist/plugs/mocha/runner.mjs +0 -53
  236. package/dist/plugs/mocha/runner.mjs.map +0 -6
  237. package/dist/plugs/mocha.cjs +0 -22
  238. package/dist/plugs/mocha.cjs.map +0 -6
  239. package/dist/plugs/mocha.d.ts +0 -37
  240. package/dist/plugs/mocha.mjs +0 -5
  241. package/dist/plugs/mocha.mjs.map +0 -6
  242. package/dist/plugs/tsc/compiler.cjs +0 -74
  243. package/dist/plugs/tsc/compiler.cjs.map +0 -6
  244. package/dist/plugs/tsc/compiler.d.ts +0 -24
  245. package/dist/plugs/tsc/compiler.mjs +0 -43
  246. package/dist/plugs/tsc/compiler.mjs.map +0 -6
  247. package/dist/plugs/tsc/options.cjs +0 -82
  248. package/dist/plugs/tsc/options.cjs.map +0 -6
  249. package/dist/plugs/tsc/options.d.ts +0 -8
  250. package/dist/plugs/tsc/options.mjs +0 -51
  251. package/dist/plugs/tsc/options.mjs.map +0 -6
  252. package/dist/plugs/tsc/report.cjs +0 -90
  253. package/dist/plugs/tsc/report.cjs.map +0 -6
  254. package/dist/plugs/tsc/report.d.ts +0 -5
  255. package/dist/plugs/tsc/report.mjs +0 -59
  256. package/dist/plugs/tsc/report.mjs.map +0 -6
  257. package/dist/plugs/tsc/runner.cjs +0 -124
  258. package/dist/plugs/tsc/runner.cjs.map +0 -6
  259. package/dist/plugs/tsc/runner.d.ts +0 -8
  260. package/dist/plugs/tsc/runner.mjs +0 -95
  261. package/dist/plugs/tsc/runner.mjs.map +0 -6
  262. package/dist/plugs/tsc.cjs.map +0 -6
  263. package/dist/plugs/tsc.d.ts +0 -48
  264. package/dist/plugs/tsc.mjs +0 -5
  265. package/dist/plugs/tsc.mjs.map +0 -6
  266. package/dist/utils/asyncfs.cjs.map +0 -6
  267. package/dist/utils/asyncfs.mjs.map +0 -6
  268. package/src/failure.ts +0 -43
  269. package/src/plugs/coverage/analysis.ts +0 -400
  270. package/src/plugs/coverage/report.ts +0 -368
  271. package/src/plugs/coverage.ts +0 -216
  272. package/src/plugs/eslint/runner.ts +0 -100
  273. package/src/plugs/eslint.ts +0 -42
  274. package/src/plugs/mocha/reporter.ts +0 -178
  275. package/src/plugs/mocha/runner.ts +0 -66
  276. package/src/plugs/mocha.ts +0 -43
  277. package/src/plugs/tsc/compiler.ts +0 -68
  278. package/src/plugs/tsc/options.ts +0 -100
  279. package/src/plugs/tsc/report.ts +0 -77
  280. package/src/plugs/tsc/runner.ts +0 -133
  281. package/src/plugs/tsc.ts +0 -58
  282. package/types/globals.d.ts +0 -15
@@ -17,43 +17,63 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // failure.ts
21
- var failure_exports = {};
22
- __export(failure_exports, {
20
+ // asserts.ts
21
+ var asserts_exports = {};
22
+ __export(asserts_exports, {
23
23
  BuildFailure: () => BuildFailure,
24
+ assert: () => assert,
25
+ assertPromises: () => assertPromises,
24
26
  isBuildFailure: () => isBuildFailure
25
27
  });
26
- module.exports = __toCommonJS(failure_exports);
28
+ module.exports = __toCommonJS(asserts_exports);
27
29
  var buildFailure = Symbol.for("plugjs:buildFailure");
28
30
  function isBuildFailure(arg) {
29
31
  return arg && arg[buildFailure] === buildFailure;
30
32
  }
31
33
  var BuildFailure = class extends Error {
32
34
  errors;
33
- logged;
34
35
  constructor(message, errors) {
35
36
  super(message || "");
36
- errors = errors.filter((e) => !(isBuildFailure(e) && e.logged));
37
37
  Error.captureStackTrace(this, BuildFailure);
38
38
  Object.defineProperties(this, {
39
- "errors": { value: Object.freeze(errors) },
39
+ "errors": { value: Object.freeze([...errors]) },
40
40
  [buildFailure]: { value: buildFailure }
41
41
  });
42
- this.logged = !(message || errors.length);
43
42
  }
44
43
  static fail() {
45
44
  return new BuildFailure(void 0, []);
46
45
  }
47
46
  static withMessage(message) {
48
- return new BuildFailure(message || void 0, []);
47
+ return new BuildFailure(message, []);
49
48
  }
50
49
  static withErrors(errors) {
51
50
  return new BuildFailure(void 0, errors);
52
51
  }
53
52
  };
53
+ async function assertPromises(promises) {
54
+ const settlements = await Promise.allSettled(promises);
55
+ const results = [];
56
+ const failures = /* @__PURE__ */ new Set();
57
+ settlements.forEach((settlement) => {
58
+ if (settlement.status === "fulfilled") {
59
+ results.push(settlement.value);
60
+ } else {
61
+ failures.add(settlement.reason);
62
+ }
63
+ });
64
+ if (failures.size)
65
+ throw BuildFailure.withErrors([...failures]);
66
+ return results;
67
+ }
68
+ function assert(assertion, message) {
69
+ if (!assertion)
70
+ throw BuildFailure.withMessage(message);
71
+ }
54
72
  // Annotate the CommonJS export names for ESM import in node:
55
73
  0 && (module.exports = {
56
74
  BuildFailure,
75
+ assert,
76
+ assertPromises,
57
77
  isBuildFailure
58
78
  });
59
- //# sourceMappingURL=failure.cjs.map
79
+ //# sourceMappingURL=asserts.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/asserts.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;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,EAGD,YAAY,SAA6B,QAAe;AAC9D,UAAM,WAAW,EAAE;AAGnB,UAAM,kBAAkB,MAAM,YAAY;AAC1C,WAAO,iBAAiB,MAAM;AAAA,MAC5B,UAAU,EAAE,OAAO,OAAO,OAAO,CAAE,GAAG,MAAO,CAAC,EAAE;AAAA,MAChD,CAAC,eAAe,EAAE,OAAO,aAAa;AAAA,IACxC,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;",
5
+ "names": []
6
+ }
@@ -3,10 +3,13 @@ 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
5
  readonly errors: readonly any[];
6
- logged: boolean;
7
6
  /** Construct a {@link BuildFailure} */
8
7
  private constructor();
9
8
  static fail(): BuildFailure;
10
9
  static withMessage(message: string): BuildFailure;
11
10
  static withErrors(errors: any[]): BuildFailure;
12
11
  }
12
+ /** Await and assert that all specified promises were fulfilled */
13
+ export declare function assertPromises<T>(promises: (T | Promise<T>)[]): Promise<T[]>;
14
+ /** Asserts something as _truthy_ and fail the build if not */
15
+ export declare function assert(assertion: any, message: string): asserts assertion;
@@ -0,0 +1,51 @@
1
+ // asserts.ts
2
+ var buildFailure = Symbol.for("plugjs:buildFailure");
3
+ function isBuildFailure(arg) {
4
+ return arg && arg[buildFailure] === buildFailure;
5
+ }
6
+ var BuildFailure = class extends Error {
7
+ errors;
8
+ constructor(message, errors) {
9
+ super(message || "");
10
+ Error.captureStackTrace(this, BuildFailure);
11
+ Object.defineProperties(this, {
12
+ "errors": { value: Object.freeze([...errors]) },
13
+ [buildFailure]: { value: buildFailure }
14
+ });
15
+ }
16
+ static fail() {
17
+ return new BuildFailure(void 0, []);
18
+ }
19
+ static withMessage(message) {
20
+ return new BuildFailure(message, []);
21
+ }
22
+ static withErrors(errors) {
23
+ return new BuildFailure(void 0, errors);
24
+ }
25
+ };
26
+ async function assertPromises(promises) {
27
+ const settlements = await Promise.allSettled(promises);
28
+ const results = [];
29
+ const failures = /* @__PURE__ */ new Set();
30
+ settlements.forEach((settlement) => {
31
+ if (settlement.status === "fulfilled") {
32
+ results.push(settlement.value);
33
+ } else {
34
+ failures.add(settlement.reason);
35
+ }
36
+ });
37
+ if (failures.size)
38
+ throw BuildFailure.withErrors([...failures]);
39
+ return results;
40
+ }
41
+ function assert(assertion, message) {
42
+ if (!assertion)
43
+ throw BuildFailure.withMessage(message);
44
+ }
45
+ export {
46
+ BuildFailure,
47
+ assert,
48
+ assertPromises,
49
+ isBuildFailure
50
+ };
51
+ //# sourceMappingURL=asserts.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 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,EAGD,YAAY,SAA6B,QAAe;AAC9D,UAAM,WAAW,EAAE;AAGnB,UAAM,kBAAkB,MAAM,YAAY;AAC1C,WAAO,iBAAiB,MAAM;AAAA,MAC5B,UAAU,EAAE,OAAO,OAAO,OAAO,CAAE,GAAG,MAAO,CAAC,EAAE;AAAA,MAChD,CAAC,eAAe,EAAE,OAAO,aAAa;AAAA,IACxC,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;",
5
+ "names": []
6
+ }
package/dist/async.cjs CHANGED
@@ -27,6 +27,7 @@ __export(async_exports, {
27
27
  });
28
28
  module.exports = __toCommonJS(async_exports);
29
29
  var import_node_async_hooks = require("node:async_hooks");
30
+ var import_asserts = require("./asserts.cjs");
30
31
  function runAsync(context, taskName, callback) {
31
32
  return storage.run(context, async () => {
32
33
  try {
@@ -42,8 +43,7 @@ function currentContext() {
42
43
  }
43
44
  function requireContext() {
44
45
  const context = storage.getStore();
45
- if (!context)
46
- throw new Error("Unable to retrieve current context");
46
+ (0, import_asserts.assert)(context, "Unable to retrieve current context");
47
47
  return context;
48
48
  }
49
49
  function runningTasks() {
@@ -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;AAa3B,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,MAAI,CAAE;AAAS,UAAM,IAAI,MAAM,oCAAoC;AACnE,SAAO;AACT;AAKO,SAAS,eAAyB;AACvC,SAAO,CAAE,GAAG,KAAM,EAAE,KAAK;AAC3B;AAMA,IAAM,UAAU,IAAI,0CAA2B;AAC/C,IAAM,QAAQ,oBAAI;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAkC;AAElC,qBAAuB;AAahB,SAAS,SACZ,SACA,UACA,UACU;AACZ,SAAO,QAAQ,IAAI,SAAS,YAAY;AACtC,QAAI;AACF,YAAM,IAAI,QAAQ;AAClB,aAAO,MAAM,SAAS;AAAA,IACxB,UAAE;AACA,YAAM,OAAO,QAAQ;AAAA,IACvB;AAAA,EACF,CAAC;AACH;AAMO,SAAS,iBAAsC;AACpD,SAAO,QAAQ,SAAS;AAC1B;AAMO,SAAS,iBAA0B;AACxC,QAAM,UAAU,QAAQ,SAAS;AACjC,6BAAO,SAAS,oCAAoC;AACpD,SAAO;AACT;AAKO,SAAS,eAAyB;AACvC,SAAO,CAAE,GAAG,KAAM,EAAE,KAAK;AAC3B;AAMA,IAAM,UAAU,IAAI,0CAA2B;AAC/C,IAAM,QAAQ,oBAAI;",
5
5
  "names": []
6
6
  }
package/dist/async.mjs CHANGED
@@ -1,5 +1,6 @@
1
1
  // async.ts
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
+ import { assert } from "./asserts.mjs";
3
4
  function runAsync(context, taskName, callback) {
4
5
  return storage.run(context, async () => {
5
6
  try {
@@ -15,8 +16,7 @@ function currentContext() {
15
16
  }
16
17
  function requireContext() {
17
18
  const context = storage.getStore();
18
- if (!context)
19
- throw new Error("Unable to retrieve current context");
19
+ assert(context, "Unable to retrieve current context");
20
20
  return context;
21
21
  }
22
22
  function runningTasks() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/async.ts"],
4
- "mappings": ";AAAA,SAAS,yBAAyB;AAa3B,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,MAAI,CAAE;AAAS,UAAM,IAAI,MAAM,oCAAoC;AACnE,SAAO;AACT;AAKO,SAAS,eAAyB;AACvC,SAAO,CAAE,GAAG,KAAM,EAAE,KAAK;AAC3B;AAMA,IAAM,UAAU,IAAI,kBAA2B;AAC/C,IAAM,QAAQ,oBAAI;",
4
+ "mappings": ";AAAA,SAAS,yBAAyB;AAElC,SAAS,cAAc;AAahB,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,14 +21,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var build_exports = {};
22
22
  __export(build_exports, {
23
23
  build: () => build,
24
- currentBuild: () => currentBuild,
25
24
  invoke: () => invoke
26
25
  });
27
26
  module.exports = __toCommonJS(build_exports);
28
- var import_node_async_hooks = require("node:async_hooks");
29
- var import_assert = require("./assert.cjs");
27
+ var import_asserts = require("./asserts.cjs");
30
28
  var import_async = require("./async.cjs");
31
- var import_log = require("./log.cjs");
29
+ var import_logging = require("./logging.cjs");
32
30
  var import_pipe = require("./pipe.cjs");
33
31
  var import_caller = require("./utils/caller.cjs");
34
32
  var import_options = require("./utils/options.cjs");
@@ -40,7 +38,7 @@ var TaskImpl = class {
40
38
  this._def = _def;
41
39
  }
42
40
  invoke(state, taskName) {
43
- (0, import_assert.assert)(!state.stack.includes(this), `Recursion detected calling ${(0, import_log.$t)(taskName)}`);
41
+ (0, import_asserts.assert)(!state.stack.includes(this), `Recursion detected calling ${(0, import_logging.$t)(taskName)}`);
44
42
  const cached = state.cache.get(this);
45
43
  if (cached)
46
44
  return cached;
@@ -55,7 +53,7 @@ var TaskImpl = class {
55
53
  return () => {
56
54
  const state2 = { stack, cache, tasks, props };
57
55
  const promise2 = tasks[name].invoke(state2, name);
58
- return new import_pipe.Pipe(context, promise2);
56
+ return new import_pipe.PipeImpl(context, promise2);
59
57
  };
60
58
  } else if (name in props) {
61
59
  return props[name];
@@ -67,17 +65,16 @@ var TaskImpl = class {
67
65
  const promise = (0, import_async.runAsync)(context, taskName, async () => {
68
66
  return await this._def.call(build2) || void 0;
69
67
  }).then((result) => {
70
- context.log.notice(`Success ${(0, import_log.$ms)(Date.now() - now)}`);
68
+ context.log.notice(`Success ${(0, import_logging.$ms)(Date.now() - now)}`);
71
69
  return result;
72
70
  }).catch((error) => {
73
- throw context.log.fail(`Failure ${(0, import_log.$ms)(Date.now() - now)}`, error);
71
+ throw context.log.fail(`Failure ${(0, import_logging.$ms)(Date.now() - now)}`, error);
74
72
  }).finally(() => import_pipe.ContextPromises.wait(context));
75
73
  cache.set(this, promise);
76
74
  return promise;
77
75
  }
78
76
  };
79
77
  var buildMarker = Symbol.for("plugjs:isBuild");
80
- var buildStorage = new import_node_async_hooks.AsyncLocalStorage();
81
78
  function build(def) {
82
79
  const buildFile = (0, import_caller.findCaller)(build);
83
80
  const tasks = {};
@@ -93,11 +90,11 @@ function build(def) {
93
90
  tasks[key] = val;
94
91
  len = key.length;
95
92
  }
96
- if (len > import_log.logOptions.taskLength)
97
- import_log.logOptions.taskLength = len;
93
+ if (len > import_logging.logOptions.taskLength)
94
+ import_logging.logOptions.taskLength = len;
98
95
  }
99
- const invoke2 = function invoke3(taskNames, overrideProps = {}) {
100
- const logger = (0, import_log.getLogger)("");
96
+ const invoke2 = async function invoke3(taskNames, overrideProps = {}) {
97
+ const logger = (0, import_logging.getLogger)();
101
98
  const state = {
102
99
  cache: /* @__PURE__ */ new Map(),
103
100
  stack: [],
@@ -106,39 +103,31 @@ function build(def) {
106
103
  };
107
104
  logger.notice("Starting...");
108
105
  const now = Date.now();
109
- return buildStorage.run(compiled, async () => {
110
- try {
111
- for (const taskName of taskNames) {
112
- if (taskName in tasks) {
113
- await tasks[taskName].invoke(state, taskName);
114
- } else {
115
- throw logger.fail(`Task ${(0, import_log.$t)(taskName)} not found in build`);
116
- }
117
- }
118
- logger.notice(`Build successful ${(0, import_log.$ms)(Date.now() - now)}`);
119
- } catch (error) {
120
- throw logger.fail(`Build failed ${(0, import_log.$ms)(Date.now() - now)}`, error);
106
+ try {
107
+ for (const name of taskNames) {
108
+ const task = tasks[name];
109
+ (0, import_asserts.assert)(task, `Task ${(0, import_logging.$t)(name)} not found in build yoooo`);
110
+ await task.invoke(state, name);
121
111
  }
122
- });
112
+ logger.notice(`Build successful ${(0, import_logging.$ms)(Date.now() - now)}`);
113
+ } catch (error) {
114
+ throw logger.fail(`Build failed ${(0, import_logging.$ms)(Date.now() - now)}`, error);
115
+ }
123
116
  };
124
117
  const compiled = Object.assign({}, props, tasks);
125
118
  Object.defineProperty(compiled, buildMarker, { value: invoke2 });
126
119
  return compiled;
127
120
  }
128
- function invoke(build2, ...args) {
121
+ async function invoke(build2, ...args) {
129
122
  const { params: tasks, options: props } = (0, import_options.parseOptions)(args, {});
130
123
  const invoke2 = build2[buildMarker];
131
124
  if (typeof invoke2 !== "function")
132
- import_log.log.fail("Unknown build type");
133
- return invoke2(tasks, props);
134
- }
135
- function currentBuild() {
136
- return buildStorage.getStore();
125
+ import_logging.log.fail("Unknown build type");
126
+ return await invoke2(tasks, props);
137
127
  }
138
128
  // Annotate the CommonJS export names for ESM import in node:
139
129
  0 && (module.exports = {
140
130
  build,
141
- currentBuild,
142
131
  invoke
143
132
  });
144
133
  //# sourceMappingURL=build.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/build.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["build", "state", "promise", "invoke"]
6
6
  }
package/dist/build.d.ts CHANGED
@@ -1,16 +1,5 @@
1
- import type { Build, BuildDef, Task, ThisBuild } from './types';
1
+ import type { Build, BuildDef, ThisBuild } from './types';
2
2
  /** Compile a {@link BuildDef | build definition} into a {@link Build} */
3
3
  export declare function build<D extends BuildDef, B extends ThisBuild<D>>(def: D & ThisType<B>): Build<D>;
4
- /** Internal type identifying all _task names_ in a {@link Build} */
5
- declare type TaskNames<B extends Build> = string & keyof {
6
- [k in keyof B as B[k] extends Task ? k : never]?: B[k];
7
- };
8
- /** Internal type identifying all _property names_ in a {@link Build} */
9
- declare type OverrideProps<B extends Build> = {
10
- [k in keyof B as B[k] extends string ? k : never]?: string;
11
- };
12
4
  /** Serially invoke tasks in a {@link Build} optionally overriding properties */
13
- export declare function invoke<B extends Build>(build: B, ...args: [...taskNames: [TaskNames<B>, ...TaskNames<B>[]]] | [...taskNames: [TaskNames<B>, ...TaskNames<B>[]], options: OverrideProps<B>]): Promise<void>;
14
- /** Return the current {@link Build} in the asynchronous invocation context. */
15
- export declare function currentBuild(): Build | undefined;
16
- export {};
5
+ export declare function invoke(build: Build, ...args: [...taskNames: [string, ...string[]]] | [...taskNames: [string, ...string[]], options: Record<string, string | undefined>]): Promise<void>;
package/dist/build.mjs CHANGED
@@ -1,9 +1,8 @@
1
1
  // build.ts
2
- import { AsyncLocalStorage } from "node:async_hooks";
3
- import { assert } from "./assert.mjs";
2
+ import { assert } from "./asserts.mjs";
4
3
  import { runAsync } from "./async.mjs";
5
- import { $ms, $t, getLogger, log, logOptions } from "./log.mjs";
6
- import { Context, ContextPromises, Pipe } from "./pipe.mjs";
4
+ import { $ms, $t, getLogger, log, logOptions } from "./logging.mjs";
5
+ import { Context, ContextPromises, PipeImpl } from "./pipe.mjs";
7
6
  import { findCaller } from "./utils/caller.mjs";
8
7
  import { parseOptions } from "./utils/options.mjs";
9
8
  var TaskImpl = class {
@@ -29,7 +28,7 @@ var TaskImpl = class {
29
28
  return () => {
30
29
  const state2 = { stack, cache, tasks, props };
31
30
  const promise2 = tasks[name].invoke(state2, name);
32
- return new Pipe(context, promise2);
31
+ return new PipeImpl(context, promise2);
33
32
  };
34
33
  } else if (name in props) {
35
34
  return props[name];
@@ -51,7 +50,6 @@ var TaskImpl = class {
51
50
  }
52
51
  };
53
52
  var buildMarker = Symbol.for("plugjs:isBuild");
54
- var buildStorage = new AsyncLocalStorage();
55
53
  function build(def) {
56
54
  const buildFile = findCaller(build);
57
55
  const tasks = {};
@@ -70,8 +68,8 @@ function build(def) {
70
68
  if (len > logOptions.taskLength)
71
69
  logOptions.taskLength = len;
72
70
  }
73
- const invoke2 = function invoke3(taskNames, overrideProps = {}) {
74
- const logger = getLogger("");
71
+ const invoke2 = async function invoke3(taskNames, overrideProps = {}) {
72
+ const logger = getLogger();
75
73
  const state = {
76
74
  cache: /* @__PURE__ */ new Map(),
77
75
  stack: [],
@@ -80,38 +78,30 @@ function build(def) {
80
78
  };
81
79
  logger.notice("Starting...");
82
80
  const now = Date.now();
83
- return buildStorage.run(compiled, async () => {
84
- try {
85
- for (const taskName of taskNames) {
86
- if (taskName in tasks) {
87
- await tasks[taskName].invoke(state, taskName);
88
- } else {
89
- throw logger.fail(`Task ${$t(taskName)} not found in build`);
90
- }
91
- }
92
- logger.notice(`Build successful ${$ms(Date.now() - now)}`);
93
- } catch (error) {
94
- throw logger.fail(`Build failed ${$ms(Date.now() - now)}`, error);
81
+ try {
82
+ for (const name of taskNames) {
83
+ const task = tasks[name];
84
+ assert(task, `Task ${$t(name)} not found in build yoooo`);
85
+ await task.invoke(state, name);
95
86
  }
96
- });
87
+ logger.notice(`Build successful ${$ms(Date.now() - now)}`);
88
+ } catch (error) {
89
+ throw logger.fail(`Build failed ${$ms(Date.now() - now)}`, error);
90
+ }
97
91
  };
98
92
  const compiled = Object.assign({}, props, tasks);
99
93
  Object.defineProperty(compiled, buildMarker, { value: invoke2 });
100
94
  return compiled;
101
95
  }
102
- function invoke(build2, ...args) {
96
+ async function invoke(build2, ...args) {
103
97
  const { params: tasks, options: props } = parseOptions(args, {});
104
98
  const invoke2 = build2[buildMarker];
105
99
  if (typeof invoke2 !== "function")
106
100
  log.fail("Unknown build type");
107
- return invoke2(tasks, props);
108
- }
109
- function currentBuild() {
110
- return buildStorage.getStore();
101
+ return await invoke2(tasks, props);
111
102
  }
112
103
  export {
113
104
  build,
114
- currentBuild,
115
105
  invoke
116
106
  };
117
107
  //# 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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",
4
+ "mappings": "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",
5
5
  "names": ["build", "state", "promise", "invoke"]
6
6
  }
package/dist/files.cjs CHANGED
@@ -23,8 +23,9 @@ __export(files_exports, {
23
23
  Files: () => Files
24
24
  });
25
25
  module.exports = __toCommonJS(files_exports);
26
+ var import_asserts = require("./asserts.cjs");
27
+ var import_fs = require("./fs.cjs");
26
28
  var import_paths = require("./paths.cjs");
27
- var import_asyncfs = require("./utils/asyncfs.cjs");
28
29
  var Files = class {
29
30
  _directory;
30
31
  _files;
@@ -63,10 +64,7 @@ var Files = class {
63
64
  return {
64
65
  directory: instance.directory,
65
66
  add(...files) {
66
- if (built)
67
- throw new Error('FileBuilder "build()" already called');
68
- if (typeof files === "string")
69
- files = [files];
67
+ (0, import_asserts.assert)(!built, 'FileBuilder "build()" already called');
70
68
  for (const file of files) {
71
69
  const relative = (0, import_paths.assertRelativeChildPath)(instance.directory, file);
72
70
  set.add(relative);
@@ -74,8 +72,7 @@ var Files = class {
74
72
  return this;
75
73
  },
76
74
  merge(...args) {
77
- if (built)
78
- throw new Error('FileBuilder "build()" already called');
75
+ (0, import_asserts.assert)(!built, 'FileBuilder "build()" already called');
79
76
  for (const files of args) {
80
77
  for (const file of files.absolutePaths()) {
81
78
  this.add(file);
@@ -87,14 +84,13 @@ var Files = class {
87
84
  const relative = (0, import_paths.assertRelativeChildPath)(instance.directory, file);
88
85
  const absolute = (0, import_paths.resolveAbsolutePath)(instance.directory, relative);
89
86
  const directory2 = (0, import_paths.getAbsoluteParent)(absolute);
90
- await (0, import_asyncfs.mkdir)(directory2, { recursive: true });
91
- await (0, import_asyncfs.writeFile)(absolute, content);
87
+ await (0, import_fs.mkdir)(directory2, { recursive: true });
88
+ await (0, import_fs.writeFile)(absolute, content);
92
89
  this.add(absolute);
93
90
  return absolute;
94
91
  },
95
92
  build() {
96
- if (built)
97
- throw new Error('FileBuilder "build()" already called');
93
+ (0, import_asserts.assert)(!built, 'FileBuilder "build()" already called');
98
94
  built = true;
99
95
  instance._files.push(...set);
100
96
  instance._files.sort();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/files.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgF;AAChF,qBAAiC;AA8B1B,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;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAuB;AACvB,gBAAiC;AACjC,mBAAgF;AA8BzE,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,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.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  // files.ts
2
+ import { assert } from "./asserts.mjs";
3
+ import { mkdir, writeFile } from "./fs.mjs";
2
4
  import { assertRelativeChildPath, getAbsoluteParent, resolveAbsolutePath } from "./paths.mjs";
3
- import { mkdir, writeFile } from "./utils/asyncfs.mjs";
4
5
  var Files = class {
5
6
  _directory;
6
7
  _files;
@@ -39,10 +40,7 @@ var Files = class {
39
40
  return {
40
41
  directory: instance.directory,
41
42
  add(...files) {
42
- if (built)
43
- throw new Error('FileBuilder "build()" already called');
44
- if (typeof files === "string")
45
- files = [files];
43
+ assert(!built, 'FileBuilder "build()" already called');
46
44
  for (const file of files) {
47
45
  const relative = assertRelativeChildPath(instance.directory, file);
48
46
  set.add(relative);
@@ -50,8 +48,7 @@ var Files = class {
50
48
  return this;
51
49
  },
52
50
  merge(...args) {
53
- if (built)
54
- throw new Error('FileBuilder "build()" already called');
51
+ assert(!built, 'FileBuilder "build()" already called');
55
52
  for (const files of args) {
56
53
  for (const file of files.absolutePaths()) {
57
54
  this.add(file);
@@ -69,8 +66,7 @@ var Files = class {
69
66
  return absolute;
70
67
  },
71
68
  build() {
72
- if (built)
73
- throw new Error('FileBuilder "build()" already called');
69
+ assert(!built, 'FileBuilder "build()" already called');
74
70
  built = true;
75
71
  instance._files.push(...set);
76
72
  instance._files.sort();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/files.ts"],
4
- "mappings": ";AAAA,SAAS,yBAAyB,mBAAmB,2BAA2B;AAChF,SAAS,OAAO,iBAAiB;AA8B1B,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;",
4
+ "mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,OAAO,iBAAiB;AACjC,SAAS,yBAAyB,mBAAmB,2BAA2B;AA8BzE,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,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
  }