@plugjs/plug 0.0.16 → 0.0.18

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 (119) hide show
  1. package/dist/assert.cjs +18 -38
  2. package/dist/assert.cjs.map +1 -1
  3. package/dist/assert.d.ts +2 -16
  4. package/dist/assert.mjs +17 -32
  5. package/dist/assert.mjs.map +1 -1
  6. package/dist/async.cjs +2 -2
  7. package/dist/async.cjs.map +1 -1
  8. package/dist/async.d.ts +1 -1
  9. package/dist/async.mjs +2 -2
  10. package/dist/async.mjs.map +1 -1
  11. package/dist/build.cjs +20 -41
  12. package/dist/build.cjs.map +2 -2
  13. package/dist/build.d.ts +1 -1
  14. package/dist/build.mjs +22 -43
  15. package/dist/build.mjs.map +2 -2
  16. package/dist/failure.cjs +48 -0
  17. package/dist/failure.cjs.map +6 -0
  18. package/dist/failure.d.ts +13 -0
  19. package/dist/failure.mjs +22 -0
  20. package/dist/failure.mjs.map +6 -0
  21. package/dist/fork.cjs +21 -10
  22. package/dist/fork.cjs.map +1 -1
  23. package/dist/fork.d.ts +19 -1
  24. package/dist/fork.mjs +21 -11
  25. package/dist/fork.mjs.map +1 -1
  26. package/dist/helpers.cjs +2 -2
  27. package/dist/helpers.cjs.map +1 -1
  28. package/dist/helpers.mjs +2 -2
  29. package/dist/helpers.mjs.map +1 -1
  30. package/dist/index.cjs +4 -0
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.d.ts +2 -0
  33. package/dist/index.mjs +3 -0
  34. package/dist/index.mjs.map +1 -1
  35. package/dist/log/logger.cjs +15 -12
  36. package/dist/log/logger.cjs.map +1 -1
  37. package/dist/log/logger.d.ts +2 -0
  38. package/dist/log/logger.mjs +15 -12
  39. package/dist/log/logger.mjs.map +1 -1
  40. package/dist/log/report.cjs +7 -4
  41. package/dist/log/report.cjs.map +1 -1
  42. package/dist/log/report.mjs +7 -4
  43. package/dist/log/report.mjs.map +1 -1
  44. package/dist/log.cjs +3 -0
  45. package/dist/log.cjs.map +1 -1
  46. package/dist/log.mjs +3 -0
  47. package/dist/log.mjs.map +1 -1
  48. package/dist/pipe.cjs +40 -34
  49. package/dist/pipe.cjs.map +1 -1
  50. package/dist/pipe.d.ts +10 -25
  51. package/dist/pipe.mjs +39 -33
  52. package/dist/pipe.mjs.map +1 -1
  53. package/dist/plugs/copy.mjs.map +1 -1
  54. package/dist/plugs/coverage.cjs +2 -3
  55. package/dist/plugs/coverage.cjs.map +1 -1
  56. package/dist/plugs/coverage.mjs +2 -3
  57. package/dist/plugs/coverage.mjs.map +1 -1
  58. package/dist/plugs/debug.mjs.map +1 -1
  59. package/dist/plugs/esbuild.mjs.map +1 -1
  60. package/dist/plugs/eslint/runner.cjs +2 -1
  61. package/dist/plugs/eslint/runner.cjs.map +1 -1
  62. package/dist/plugs/eslint/runner.d.ts +1 -1
  63. package/dist/plugs/eslint/runner.mjs +3 -2
  64. package/dist/plugs/eslint/runner.mjs.map +1 -1
  65. package/dist/plugs/eslint.cjs +2 -2
  66. package/dist/plugs/eslint.cjs.map +1 -1
  67. package/dist/plugs/eslint.mjs +1 -1
  68. package/dist/plugs/exec.cjs +1 -1
  69. package/dist/plugs/exec.cjs.map +1 -1
  70. package/dist/plugs/exec.mjs +1 -1
  71. package/dist/plugs/exec.mjs.map +1 -1
  72. package/dist/plugs/mocha/runner.cjs +2 -2
  73. package/dist/plugs/mocha/runner.cjs.map +1 -1
  74. package/dist/plugs/mocha/runner.d.ts +1 -1
  75. package/dist/plugs/mocha/runner.mjs +2 -2
  76. package/dist/plugs/mocha/runner.mjs.map +1 -1
  77. package/dist/plugs/mocha.cjs +2 -2
  78. package/dist/plugs/mocha.cjs.map +1 -1
  79. package/dist/plugs/mocha.mjs +1 -1
  80. package/dist/plugs/rmf.mjs.map +1 -1
  81. package/dist/plugs/tsc/report.cjs.map +1 -1
  82. package/dist/plugs/tsc/report.mjs.map +1 -1
  83. package/dist/plugs/tsc/runner.cjs +3 -6
  84. package/dist/plugs/tsc/runner.cjs.map +2 -2
  85. package/dist/plugs/tsc/runner.mjs +4 -7
  86. package/dist/plugs/tsc/runner.mjs.map +2 -2
  87. package/dist/plugs/tsc.cjs +2 -2
  88. package/dist/plugs/tsc.cjs.map +1 -1
  89. package/dist/plugs/tsc.mjs +1 -1
  90. package/dist/types.d.ts +2 -2
  91. package/dist/utils/asyncfs.cjs.map +1 -1
  92. package/dist/utils/asyncfs.mjs.map +1 -1
  93. package/extra/cli.mjs +1 -1
  94. package/package.json +14 -12
  95. package/src/assert.ts +20 -34
  96. package/src/async.ts +3 -3
  97. package/src/failure.ts +31 -0
  98. package/src/fork.ts +43 -10
  99. package/src/helpers.ts +2 -2
  100. package/src/index.ts +3 -2
  101. package/src/log/logger.ts +22 -16
  102. package/src/log/report.ts +7 -3
  103. package/src/log.ts +4 -0
  104. package/src/pipe.ts +90 -59
  105. package/src/plugs/copy.ts +1 -1
  106. package/src/plugs/coverage/report.ts +1 -1
  107. package/src/plugs/coverage.ts +2 -3
  108. package/src/plugs/debug.ts +1 -1
  109. package/src/plugs/esbuild.ts +1 -1
  110. package/src/plugs/eslint/runner.ts +4 -3
  111. package/src/plugs/eslint.ts +1 -1
  112. package/src/plugs/exec.ts +1 -1
  113. package/src/plugs/mocha/runner.ts +3 -3
  114. package/src/plugs/mocha.ts +1 -1
  115. package/src/plugs/rmf.ts +1 -1
  116. package/src/plugs/tsc/runner.ts +5 -8
  117. package/src/plugs/tsc.ts +1 -1
  118. package/src/types.ts +3 -3
  119. package/src/utils/asyncfs.ts +1 -0
package/dist/assert.cjs CHANGED
@@ -20,53 +20,33 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // assert.ts
21
21
  var assert_exports = {};
22
22
  __export(assert_exports, {
23
- BuildError: () => BuildError,
24
- BuildFailure: () => BuildFailure,
25
23
  assert: () => assert,
26
- fail: () => fail,
27
- failure: () => failure,
28
- isBuildError: () => isBuildError,
29
- isBuildFailure: () => isBuildFailure
24
+ assertPromises: () => assertPromises
30
25
  });
31
26
  module.exports = __toCommonJS(assert_exports);
32
- var buildError = Symbol.for("plugjs:buildError");
33
- var buildFailure = Symbol.for("plugjs:buildFailure");
34
- function isBuildError(arg) {
35
- return arg && arg[buildError] === buildError;
27
+ var import_failure = require("./failure.cjs");
28
+ async function assertPromises(promises, message) {
29
+ const settlements = await Promise.allSettled(promises);
30
+ const results = [];
31
+ const failures = /* @__PURE__ */ new Set();
32
+ settlements.forEach((settlement) => {
33
+ if (settlement.status === "fulfilled") {
34
+ results.push(settlement.value);
35
+ } else {
36
+ failures.add(settlement.reason);
37
+ }
38
+ });
39
+ if (failures.size)
40
+ throw new import_failure.BuildFailure(message, [...failures]);
41
+ return results;
36
42
  }
37
- function isBuildFailure(arg) {
38
- return arg && arg[buildFailure] === buildFailure;
39
- }
40
- var BuildError = class extends Error {
41
- constructor(message) {
42
- super(message);
43
- Object.defineProperty(this, buildError, { value: buildError });
44
- }
45
- };
46
- var BuildFailure = class extends Error {
47
- constructor() {
48
- super("Build Failure");
49
- Object.defineProperty(this, buildFailure, { value: buildFailure });
50
- }
51
- };
52
43
  function assert(assertion, message) {
53
44
  if (!assertion)
54
- throw new BuildError(message);
55
- }
56
- function fail(message) {
57
- throw new BuildError(message);
58
- }
59
- function failure() {
60
- return new BuildFailure();
45
+ throw new import_failure.BuildFailure(message);
61
46
  }
62
47
  // Annotate the CommonJS export names for ESM import in node:
63
48
  0 && (module.exports = {
64
- BuildError,
65
- BuildFailure,
66
49
  assert,
67
- fail,
68
- failure,
69
- isBuildError,
70
- isBuildFailure
50
+ assertPromises
71
51
  });
72
52
  //# sourceMappingURL=assert.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/assert.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,IAAM,aAAa,OAAO,IAAI,mBAAmB;AACjD,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,aAAa,KAA6B;AACxD,SAAO,OAAO,IAAI,gBAAgB;AACpC;AAGO,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,kBAAkB;AACtC;AAGO,IAAM,aAAN,cAAyB,MAAM;AAAA,EACpC,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,WAAO,eAAe,MAAM,YAAY,EAAE,OAAO,WAAW,CAAC;AAAA,EAC/D;AACF;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EACtC,cAAc;AACZ,UAAM,eAAe;AACrB,WAAO,eAAe,MAAM,cAAc,EAAE,OAAO,aAAa,CAAC;AAAA,EACnE;AACF;AAGO,SAAS,OAAO,WAAgB,SAAoC;AACzE,MAAI,CAAE;AAAW,UAAM,IAAI,WAAW,OAAO;AAC/C;AAGO,SAAS,KAAK,SAAwB;AAC3C,QAAM,IAAI,WAAW,OAAO;AAC9B;AAGO,SAAS,UAAwB;AACtC,SAAO,IAAI,aAAa;AAC1B;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,qBAA6B;AAG7B,eAAsB,eAAkB,UAA8B,SAA+B;AAEnG,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,IAAI,4BAAa,SAAS,CAAE,GAAG,QAAS,CAAC;AAElE,SAAO;AACT;AAGO,SAAS,OAAO,WAAgB,SAAoC;AACzE,MAAI,CAAE;AAAW,UAAM,IAAI,4BAAa,OAAO;AACjD;",
5
5
  "names": []
6
6
  }
package/dist/assert.d.ts CHANGED
@@ -1,18 +1,4 @@
1
- /** Check if the specified argument is a {@link BuildError} */
2
- export declare function isBuildError(arg: any): arg is BuildError;
3
- /** Check if the specified argument is a {@link BuildFailure} */
4
- export declare function isBuildFailure(arg: any): arg is BuildFailure;
5
- /** An error produced in our build, with proper inspection for logging */
6
- export declare class BuildError extends Error {
7
- constructor(message: string);
8
- }
9
- /** A {@link BuildFailure} represents an error _already logged_ in our build. */
10
- export declare class BuildFailure extends Error {
11
- constructor();
12
- }
1
+ /** Await and assert that all specified promises were fulfilled */
2
+ export declare function assertPromises<T>(promises: (T | Promise<T>)[], message: string): Promise<T[]>;
13
3
  /** Asserts something as _truthy_ and fail the build if not */
14
4
  export declare function assert(assertion: any, message: string): asserts assertion;
15
- /** Throw a {@link BuildError} (an {@link Error} printed nicely) */
16
- export declare function fail(message: string): never;
17
- /** Return a non-logged {@link BuildFailure} */
18
- export declare function failure(): BuildFailure;
package/dist/assert.mjs CHANGED
@@ -1,41 +1,26 @@
1
1
  // assert.ts
2
- var buildError = Symbol.for("plugjs:buildError");
3
- var buildFailure = Symbol.for("plugjs:buildFailure");
4
- function isBuildError(arg) {
5
- return arg && arg[buildError] === buildError;
2
+ import { BuildFailure } from "./failure.mjs";
3
+ async function assertPromises(promises, message) {
4
+ const settlements = await Promise.allSettled(promises);
5
+ const results = [];
6
+ const failures = /* @__PURE__ */ new Set();
7
+ settlements.forEach((settlement) => {
8
+ if (settlement.status === "fulfilled") {
9
+ results.push(settlement.value);
10
+ } else {
11
+ failures.add(settlement.reason);
12
+ }
13
+ });
14
+ if (failures.size)
15
+ throw new BuildFailure(message, [...failures]);
16
+ return results;
6
17
  }
7
- function isBuildFailure(arg) {
8
- return arg && arg[buildFailure] === buildFailure;
9
- }
10
- var BuildError = class extends Error {
11
- constructor(message) {
12
- super(message);
13
- Object.defineProperty(this, buildError, { value: buildError });
14
- }
15
- };
16
- var BuildFailure = class extends Error {
17
- constructor() {
18
- super("Build Failure");
19
- Object.defineProperty(this, buildFailure, { value: buildFailure });
20
- }
21
- };
22
18
  function assert(assertion, message) {
23
19
  if (!assertion)
24
- throw new BuildError(message);
25
- }
26
- function fail(message) {
27
- throw new BuildError(message);
28
- }
29
- function failure() {
30
- return new BuildFailure();
20
+ throw new BuildFailure(message);
31
21
  }
32
22
  export {
33
- BuildError,
34
- BuildFailure,
35
23
  assert,
36
- fail,
37
- failure,
38
- isBuildError,
39
- isBuildFailure
24
+ assertPromises
40
25
  };
41
26
  //# sourceMappingURL=assert.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/assert.ts"],
4
- "mappings": ";AAIA,IAAM,aAAa,OAAO,IAAI,mBAAmB;AACjD,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,aAAa,KAA6B;AACxD,SAAO,OAAO,IAAI,gBAAgB;AACpC;AAGO,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,kBAAkB;AACtC;AAGO,IAAM,aAAN,cAAyB,MAAM;AAAA,EACpC,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,WAAO,eAAe,MAAM,YAAY,EAAE,OAAO,WAAW,CAAC;AAAA,EAC/D;AACF;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EACtC,cAAc;AACZ,UAAM,eAAe;AACrB,WAAO,eAAe,MAAM,cAAc,EAAE,OAAO,aAAa,CAAC;AAAA,EACnE;AACF;AAGO,SAAS,OAAO,WAAgB,SAAoC;AACzE,MAAI,CAAE;AAAW,UAAM,IAAI,WAAW,OAAO;AAC/C;AAGO,SAAS,KAAK,SAAwB;AAC3C,QAAM,IAAI,WAAW,OAAO;AAC9B;AAGO,SAAS,UAAwB;AACtC,SAAO,IAAI,aAAa;AAC1B;",
4
+ "mappings": ";AAIA,SAAS,oBAAoB;AAG7B,eAAsB,eAAkB,UAA8B,SAA+B;AAEnG,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,IAAI,aAAa,SAAS,CAAE,GAAG,QAAS,CAAC;AAElE,SAAO;AACT;AAGO,SAAS,OAAO,WAAgB,SAAoC;AACzE,MAAI,CAAE;AAAW,UAAM,IAAI,aAAa,OAAO;AACjD;",
5
5
  "names": []
6
6
  }
package/dist/async.cjs CHANGED
@@ -27,7 +27,6 @@ __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_assert = require("./assert.cjs");
31
30
  function runAsync(context, taskName, callback) {
32
31
  return storage.run(context, async () => {
33
32
  try {
@@ -43,7 +42,8 @@ function currentContext() {
43
42
  }
44
43
  function requireContext() {
45
44
  const context = storage.getStore();
46
- (0, import_assert.assert)(context, "Unable to retrieve current context");
45
+ if (!context)
46
+ throw new Error("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;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;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,8BAAkC;AAU3B,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;",
5
5
  "names": []
6
6
  }
package/dist/async.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Context } from './pipe';
1
+ import type { Context } from './pipe';
2
2
  /**
3
3
  * Run the specified `callback` associating the specified {@link Context} and task
4
4
  * name with the current asynchronous invocation context.
package/dist/async.mjs CHANGED
@@ -1,6 +1,5 @@
1
1
  // async.ts
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
- import { assert } from "./assert.mjs";
4
3
  function runAsync(context, taskName, callback) {
5
4
  return storage.run(context, async () => {
6
5
  try {
@@ -16,7 +15,8 @@ function currentContext() {
16
15
  }
17
16
  function requireContext() {
18
17
  const context = storage.getStore();
19
- assert(context, "Unable to retrieve current context");
18
+ if (!context)
19
+ throw new Error("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;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;",
4
+ "mappings": ";AAEA,SAAS,yBAAyB;AAU3B,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;",
5
5
  "names": []
6
6
  }
package/dist/build.cjs CHANGED
@@ -21,7 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var build_exports = {};
22
22
  __export(build_exports, {
23
23
  build: () => build,
24
- call: () => call
24
+ invoke: () => invoke
25
25
  });
26
26
  module.exports = __toCommonJS(build_exports);
27
27
  var import_assert = require("./assert.cjs");
@@ -30,25 +30,6 @@ var import_log = require("./log.cjs");
30
30
  var import_pipe = require("./pipe.cjs");
31
31
  var import_caller = require("./utils/caller.cjs");
32
32
  var import_options = require("./utils/options.cjs");
33
- var PipeImpl = class extends import_pipe.Pipe {
34
- constructor(context, _promise) {
35
- super(context, () => _promise.then((result) => {
36
- (0, import_assert.assert)(result, "Unable to extend pipe");
37
- return result;
38
- }));
39
- this._promise = _promise;
40
- }
41
- [Symbol.toStringTag] = "PipeImpl";
42
- then(onfulfilled, onrejected) {
43
- return this._promise.then(onfulfilled, onrejected);
44
- }
45
- catch(onrejected) {
46
- return this._promise.catch(onrejected);
47
- }
48
- finally(onfinally) {
49
- return this._promise.finally(onfinally);
50
- }
51
- };
52
33
  var TaskImpl = class {
53
34
  constructor(buildFile, tasks, props, _def) {
54
35
  this.buildFile = buildFile;
@@ -56,7 +37,7 @@ var TaskImpl = class {
56
37
  this.props = props;
57
38
  this._def = _def;
58
39
  }
59
- call(state, taskName) {
40
+ invoke(state, taskName) {
60
41
  (0, import_assert.assert)(!state.stack.includes(this), `Recursion detected calling ${(0, import_log.$t)(taskName)}`);
61
42
  const cached = state.cache.get(this);
62
43
  if (cached)
@@ -71,8 +52,8 @@ var TaskImpl = class {
71
52
  if (name in tasks) {
72
53
  return () => {
73
54
  const state2 = { stack, cache, tasks, props };
74
- const promise2 = tasks[name].call(state2, name);
75
- return new PipeImpl(context, promise2);
55
+ const promise2 = tasks[name].invoke(state2, name);
56
+ return new import_pipe.Pipe(context, promise2);
76
57
  };
77
58
  } else if (name in props) {
78
59
  return props[name];
@@ -82,16 +63,15 @@ var TaskImpl = class {
82
63
  context.log.info("Running...");
83
64
  const now = Date.now();
84
65
  const promise = (0, import_async.runAsync)(context, taskName, async () => {
85
- let result = await this._def.call(build2);
86
- if (result && "run" in result)
87
- result = await result.run();
88
- return result || void 0;
66
+ const result = await this._def.call(build2) || void 0;
67
+ const promises = (0, import_pipe.getContextPromises)(context);
68
+ await (0, import_assert.assertPromises)([...promises], "Error awaiting task pipes");
69
+ return result;
89
70
  }).then((result) => {
90
71
  context.log.notice(`Success ${(0, import_log.$ms)(Date.now() - now)}`);
91
72
  return result;
92
73
  }).catch((error) => {
93
- context.log.error(`Failure ${(0, import_log.$ms)(Date.now() - now)}`, error);
94
- throw (0, import_assert.failure)();
74
+ throw context.log.fail(`Failure ${(0, import_log.$ms)(Date.now() - now)}`, error);
95
75
  });
96
76
  cache.set(this, promise);
97
77
  return promise;
@@ -116,7 +96,7 @@ function build(def) {
116
96
  if (len > import_log.logOptions.taskLength)
117
97
  import_log.logOptions.taskLength = len;
118
98
  }
119
- const call2 = async function call3(taskNames, overrideProps = {}) {
99
+ const invoke2 = async function invoke3(taskNames, overrideProps = {}) {
120
100
  const logger = (0, import_log.getLogger)("");
121
101
  const state = {
122
102
  cache: /* @__PURE__ */ new Map(),
@@ -129,31 +109,30 @@ function build(def) {
129
109
  try {
130
110
  for (const taskName of taskNames) {
131
111
  if (taskName in tasks) {
132
- await tasks[taskName].call(state, taskName);
112
+ await tasks[taskName].invoke(state, taskName);
133
113
  } else {
134
- (0, import_assert.fail)(`Task ${(0, import_log.$t)(taskName)} not found in build`);
114
+ throw logger.fail(`Task ${(0, import_log.$t)(taskName)} not found in build`);
135
115
  }
136
116
  }
137
117
  logger.notice(`Build successful ${(0, import_log.$ms)(Date.now() - now)}`);
138
118
  } catch (error) {
139
- logger.error(`Build failed ${(0, import_log.$ms)(Date.now() - now)}`, error);
140
- throw (0, import_assert.failure)();
119
+ throw logger.fail(`Build failed ${(0, import_log.$ms)(Date.now() - now)}`, error);
141
120
  }
142
121
  };
143
122
  const compiled = Object.assign({}, props, tasks);
144
- Object.defineProperty(compiled, buildMarker, { value: call2 });
123
+ Object.defineProperty(compiled, buildMarker, { value: invoke2 });
145
124
  return compiled;
146
125
  }
147
- function call(build2, ...args) {
126
+ function invoke(build2, ...args) {
148
127
  const { params: tasks, options: props } = (0, import_options.parseOptions)(args, {});
149
- const call2 = build2[buildMarker];
150
- if (typeof call2 !== "function")
151
- (0, import_assert.fail)("Unknown build type");
152
- return call2(tasks, props);
128
+ const invoke2 = build2[buildMarker];
129
+ if (typeof invoke2 !== "function")
130
+ import_log.log.fail("Unknown build type");
131
+ return invoke2(tasks, props);
153
132
  }
154
133
  // Annotate the CommonJS export names for ESM import in node:
155
134
  0 && (module.exports = {
156
135
  build,
157
- call
136
+ invoke
158
137
  });
159
138
  //# 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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",
5
- "names": ["build", "state", "promise", "call"]
4
+ "mappings": "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",
5
+ "names": ["build", "state", "promise", "invoke"]
6
6
  }
package/dist/build.d.ts CHANGED
@@ -10,5 +10,5 @@ declare type OverrideProps<B extends Build> = {
10
10
  [k in keyof B as B[k] extends string ? k : never]?: string;
11
11
  };
12
12
  /** Serially invoke tasks in a {@link Build} optionally overriding properties */
13
- 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>;
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
14
  export {};
package/dist/build.mjs CHANGED
@@ -1,29 +1,10 @@
1
1
  // build.ts
2
- import { assert, fail, failure } from "./assert.mjs";
2
+ import { assert, assertPromises } from "./assert.mjs";
3
3
  import { runAsync } from "./async.mjs";
4
- import { $ms, $t, getLogger, logOptions } from "./log.mjs";
5
- import { Context, Pipe } from "./pipe.mjs";
4
+ import { $ms, $t, getLogger, log, logOptions } from "./log.mjs";
5
+ import { Context, getContextPromises, Pipe } from "./pipe.mjs";
6
6
  import { findCaller } from "./utils/caller.mjs";
7
7
  import { parseOptions } from "./utils/options.mjs";
8
- var PipeImpl = class extends Pipe {
9
- constructor(context, _promise) {
10
- super(context, () => _promise.then((result) => {
11
- assert(result, "Unable to extend pipe");
12
- return result;
13
- }));
14
- this._promise = _promise;
15
- }
16
- [Symbol.toStringTag] = "PipeImpl";
17
- then(onfulfilled, onrejected) {
18
- return this._promise.then(onfulfilled, onrejected);
19
- }
20
- catch(onrejected) {
21
- return this._promise.catch(onrejected);
22
- }
23
- finally(onfinally) {
24
- return this._promise.finally(onfinally);
25
- }
26
- };
27
8
  var TaskImpl = class {
28
9
  constructor(buildFile, tasks, props, _def) {
29
10
  this.buildFile = buildFile;
@@ -31,7 +12,7 @@ var TaskImpl = class {
31
12
  this.props = props;
32
13
  this._def = _def;
33
14
  }
34
- call(state, taskName) {
15
+ invoke(state, taskName) {
35
16
  assert(!state.stack.includes(this), `Recursion detected calling ${$t(taskName)}`);
36
17
  const cached = state.cache.get(this);
37
18
  if (cached)
@@ -46,8 +27,8 @@ var TaskImpl = class {
46
27
  if (name in tasks) {
47
28
  return () => {
48
29
  const state2 = { stack, cache, tasks, props };
49
- const promise2 = tasks[name].call(state2, name);
50
- return new PipeImpl(context, promise2);
30
+ const promise2 = tasks[name].invoke(state2, name);
31
+ return new Pipe(context, promise2);
51
32
  };
52
33
  } else if (name in props) {
53
34
  return props[name];
@@ -57,16 +38,15 @@ var TaskImpl = class {
57
38
  context.log.info("Running...");
58
39
  const now = Date.now();
59
40
  const promise = runAsync(context, taskName, async () => {
60
- let result = await this._def.call(build2);
61
- if (result && "run" in result)
62
- result = await result.run();
63
- return result || void 0;
41
+ const result = await this._def.call(build2) || void 0;
42
+ const promises = getContextPromises(context);
43
+ await assertPromises([...promises], "Error awaiting task pipes");
44
+ return result;
64
45
  }).then((result) => {
65
46
  context.log.notice(`Success ${$ms(Date.now() - now)}`);
66
47
  return result;
67
48
  }).catch((error) => {
68
- context.log.error(`Failure ${$ms(Date.now() - now)}`, error);
69
- throw failure();
49
+ throw context.log.fail(`Failure ${$ms(Date.now() - now)}`, error);
70
50
  });
71
51
  cache.set(this, promise);
72
52
  return promise;
@@ -91,7 +71,7 @@ function build(def) {
91
71
  if (len > logOptions.taskLength)
92
72
  logOptions.taskLength = len;
93
73
  }
94
- const call2 = async function call3(taskNames, overrideProps = {}) {
74
+ const invoke2 = async function invoke3(taskNames, overrideProps = {}) {
95
75
  const logger = getLogger("");
96
76
  const state = {
97
77
  cache: /* @__PURE__ */ new Map(),
@@ -104,30 +84,29 @@ function build(def) {
104
84
  try {
105
85
  for (const taskName of taskNames) {
106
86
  if (taskName in tasks) {
107
- await tasks[taskName].call(state, taskName);
87
+ await tasks[taskName].invoke(state, taskName);
108
88
  } else {
109
- fail(`Task ${$t(taskName)} not found in build`);
89
+ throw logger.fail(`Task ${$t(taskName)} not found in build`);
110
90
  }
111
91
  }
112
92
  logger.notice(`Build successful ${$ms(Date.now() - now)}`);
113
93
  } catch (error) {
114
- logger.error(`Build failed ${$ms(Date.now() - now)}`, error);
115
- throw failure();
94
+ throw logger.fail(`Build failed ${$ms(Date.now() - now)}`, error);
116
95
  }
117
96
  };
118
97
  const compiled = Object.assign({}, props, tasks);
119
- Object.defineProperty(compiled, buildMarker, { value: call2 });
98
+ Object.defineProperty(compiled, buildMarker, { value: invoke2 });
120
99
  return compiled;
121
100
  }
122
- function call(build2, ...args) {
101
+ function invoke(build2, ...args) {
123
102
  const { params: tasks, options: props } = parseOptions(args, {});
124
- const call2 = build2[buildMarker];
125
- if (typeof call2 !== "function")
126
- fail("Unknown build type");
127
- return call2(tasks, props);
103
+ const invoke2 = build2[buildMarker];
104
+ if (typeof invoke2 !== "function")
105
+ log.fail("Unknown build type");
106
+ return invoke2(tasks, props);
128
107
  }
129
108
  export {
130
109
  build,
131
- call
110
+ invoke
132
111
  };
133
112
  //# 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", "state", "promise", "call"]
4
+ "mappings": "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",
5
+ "names": ["build", "state", "promise", "invoke"]
6
6
  }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // failure.ts
21
+ var failure_exports = {};
22
+ __export(failure_exports, {
23
+ BuildFailure: () => BuildFailure,
24
+ isBuildFailure: () => isBuildFailure
25
+ });
26
+ module.exports = __toCommonJS(failure_exports);
27
+ var buildFailure = Symbol.for("plugjs:buildFailure");
28
+ function isBuildFailure(arg) {
29
+ return arg && arg[buildFailure] === buildFailure;
30
+ }
31
+ var BuildFailure = class extends Error {
32
+ errors;
33
+ logged;
34
+ constructor(options = "Build Failure", errors = []) {
35
+ const { logged, message } = typeof options === "string" ? { message: options, logged: false } : { message: "Build Failure", ...options };
36
+ super(message);
37
+ Error.captureStackTrace(this, BuildFailure);
38
+ Object.defineProperty(this, "buildFailure", { value: buildFailure });
39
+ this.errors = errors.filter((e) => !(isBuildFailure(e) && e.logged));
40
+ this.logged = logged;
41
+ }
42
+ };
43
+ // Annotate the CommonJS export names for ESM import in node:
44
+ 0 && (module.exports = {
45
+ BuildFailure,
46
+ isBuildFailure
47
+ });
48
+ //# sourceMappingURL=failure.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/failure.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,kBAAkB;AACtC;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA,EACT;AAAA,EAOA,YAAY,UAAwC,iBAAiB,SAAgB,CAAC,GAAG;AACvF,UAAM,EAAE,QAAQ,QAAQ,IACtB,OAAO,YAAY,WACjB,EAAE,SAAS,SAAS,QAAQ,MAAM,IAClC,EAAE,SAAS,iBAAiB,GAAG,QAAQ;AAE3C,UAAM,OAAO;AACb,UAAM,kBAAkB,MAAM,YAAY;AAC1C,WAAO,eAAe,MAAM,gBAAgB,EAAE,OAAO,aAAa,CAAC;AACnE,SAAK,SAAS,OAAO,OAAO,CAAC,MAAM,EAAG,eAAe,CAAC,KAAK,EAAE,OAAO;AACpE,SAAK,SAAS;AAAA,EAChB;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,13 @@
1
+ /** Check if the specified argument is a {@link BuildFailure} */
2
+ export declare function isBuildFailure(arg: any): arg is BuildFailure;
3
+ /** A {@link BuildFailure} represents an error _already logged_ in our build. */
4
+ export declare class BuildFailure extends Error {
5
+ readonly errors: readonly any[];
6
+ logged: boolean;
7
+ /** Construct a {@link BuildFailure} that was already _logged_ (internal) */
8
+ constructor(options: {
9
+ logged: true;
10
+ });
11
+ /** Construct a {@link BuildFailure} with a detail message */
12
+ constructor(message: string, errors?: any[]);
13
+ }
@@ -0,0 +1,22 @@
1
+ // failure.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
+ logged;
9
+ constructor(options = "Build Failure", errors = []) {
10
+ const { logged, message } = typeof options === "string" ? { message: options, logged: false } : { message: "Build Failure", ...options };
11
+ super(message);
12
+ Error.captureStackTrace(this, BuildFailure);
13
+ Object.defineProperty(this, "buildFailure", { value: buildFailure });
14
+ this.errors = errors.filter((e) => !(isBuildFailure(e) && e.logged));
15
+ this.logged = logged;
16
+ }
17
+ };
18
+ export {
19
+ BuildFailure,
20
+ isBuildFailure
21
+ };
22
+ //# sourceMappingURL=failure.mjs.map