@plugjs/plug 0.3.5 → 0.4.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 (119) hide show
  1. package/dist/asserts.cjs +10 -12
  2. package/dist/asserts.cjs.map +1 -1
  3. package/dist/asserts.d.ts +1 -2
  4. package/dist/asserts.mjs +9 -10
  5. package/dist/asserts.mjs.map +1 -1
  6. package/dist/async.cjs +5 -20
  7. package/dist/async.cjs.map +2 -2
  8. package/dist/async.mjs +5 -20
  9. package/dist/async.mjs.map +2 -2
  10. package/dist/build.cjs +113 -64
  11. package/dist/build.cjs.map +2 -2
  12. package/dist/build.d.ts +9 -7
  13. package/dist/build.mjs +110 -63
  14. package/dist/build.mjs.map +2 -2
  15. package/dist/cli.d.mts +12 -0
  16. package/dist/cli.mjs +266 -0
  17. package/dist/cli.mjs.map +6 -0
  18. package/dist/files.cjs +5 -3
  19. package/dist/files.cjs.map +1 -1
  20. package/dist/files.d.ts +2 -1
  21. package/dist/files.mjs +11 -4
  22. package/dist/files.mjs.map +1 -1
  23. package/dist/fork.cjs +30 -12
  24. package/dist/fork.cjs.map +1 -1
  25. package/dist/fork.d.ts +10 -0
  26. package/dist/fork.mjs +31 -13
  27. package/dist/fork.mjs.map +1 -1
  28. package/dist/helpers.cjs +32 -13
  29. package/dist/helpers.cjs.map +2 -2
  30. package/dist/helpers.d.ts +12 -0
  31. package/dist/helpers.mjs +37 -14
  32. package/dist/helpers.mjs.map +2 -2
  33. package/dist/index.cjs +5 -0
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.ts +2 -1
  36. package/dist/index.mjs +4 -1
  37. package/dist/index.mjs.map +1 -1
  38. package/dist/logging/emit.cjs +4 -4
  39. package/dist/logging/emit.cjs.map +1 -1
  40. package/dist/logging/emit.mjs +4 -4
  41. package/dist/logging/emit.mjs.map +1 -1
  42. package/dist/logging/logger.cjs +43 -2
  43. package/dist/logging/logger.cjs.map +1 -1
  44. package/dist/logging/logger.d.ts +36 -3
  45. package/dist/logging/logger.mjs +43 -3
  46. package/dist/logging/logger.mjs.map +1 -1
  47. package/dist/logging/options.cjs +8 -12
  48. package/dist/logging/options.cjs.map +1 -1
  49. package/dist/logging/options.d.ts +44 -1
  50. package/dist/logging/options.mjs +8 -12
  51. package/dist/logging/options.mjs.map +1 -1
  52. package/dist/logging.cjs +14 -3
  53. package/dist/logging.cjs.map +1 -1
  54. package/dist/logging.d.ts +2 -0
  55. package/dist/logging.mjs +13 -3
  56. package/dist/logging.mjs.map +1 -1
  57. package/dist/plugs/build.cjs +63 -0
  58. package/dist/plugs/build.cjs.map +6 -0
  59. package/dist/plugs/build.d.ts +13 -0
  60. package/dist/plugs/build.mjs +37 -0
  61. package/dist/plugs/build.mjs.map +6 -0
  62. package/dist/plugs/debug.cjs +7 -9
  63. package/dist/plugs/debug.cjs.map +1 -1
  64. package/dist/plugs/debug.mjs +8 -10
  65. package/dist/plugs/debug.mjs.map +1 -1
  66. package/dist/types.cjs +12 -0
  67. package/dist/types.cjs.map +1 -1
  68. package/dist/types.d.ts +35 -9
  69. package/dist/types.mjs +5 -0
  70. package/dist/types.mjs.map +2 -2
  71. package/dist/utils/diff.cjs +1 -4
  72. package/dist/utils/diff.cjs.map +1 -1
  73. package/dist/utils/diff.mjs +1 -4
  74. package/dist/utils/diff.mjs.map +1 -1
  75. package/dist/utils/exec.cjs +5 -12
  76. package/dist/utils/exec.cjs.map +2 -2
  77. package/dist/utils/exec.d.ts +0 -2
  78. package/dist/utils/exec.mjs +6 -13
  79. package/dist/utils/exec.mjs.map +1 -1
  80. package/dist/utils/{types.cjs → singleton.cjs} +14 -13
  81. package/dist/utils/singleton.cjs.map +6 -0
  82. package/dist/utils/singleton.d.ts +12 -0
  83. package/dist/utils/singleton.mjs +13 -0
  84. package/dist/utils/singleton.mjs.map +6 -0
  85. package/dist/utils.cjs +2 -2
  86. package/dist/utils.cjs.map +1 -1
  87. package/dist/utils.d.ts +1 -1
  88. package/dist/utils.mjs +1 -1
  89. package/package.json +7 -9
  90. package/src/asserts.ts +10 -12
  91. package/src/async.ts +6 -29
  92. package/src/build.ts +169 -106
  93. package/{extra/plug.mts → src/cli.mts} +115 -141
  94. package/src/files.ts +14 -6
  95. package/src/fork.ts +42 -16
  96. package/src/helpers.ts +56 -5
  97. package/src/index.ts +2 -1
  98. package/src/logging/emit.ts +4 -4
  99. package/src/logging/logger.ts +60 -7
  100. package/src/logging/options.ts +9 -14
  101. package/src/logging.ts +20 -5
  102. package/src/plugs/build.ts +45 -0
  103. package/src/plugs/debug.ts +10 -9
  104. package/src/types.ts +54 -23
  105. package/src/utils/diff.ts +1 -6
  106. package/src/utils/exec.ts +6 -20
  107. package/src/utils/singleton.ts +19 -0
  108. package/src/utils.ts +1 -1
  109. package/cli/plug.mjs +0 -1385
  110. package/cli/ts-loader.mjs +0 -275
  111. package/cli/tsrun.mjs +0 -1204
  112. package/dist/utils/types.cjs.map +0 -6
  113. package/dist/utils/types.d.ts +0 -4
  114. package/dist/utils/types.mjs +0 -12
  115. package/dist/utils/types.mjs.map +0 -6
  116. package/extra/ts-loader.mts +0 -546
  117. package/extra/tsrun.mts +0 -127
  118. package/extra/utils.ts +0 -150
  119. package/src/utils/types.ts +0 -11
package/dist/files.mjs CHANGED
@@ -1,7 +1,13 @@
1
1
  // files.ts
2
+ import { inspect } from "node:util";
2
3
  import { assert } from "./asserts.mjs";
3
4
  import { mkdir, writeFile } from "./fs.mjs";
4
- import { assertRelativeChildPath, getAbsoluteParent, resolveAbsolutePath } from "./paths.mjs";
5
+ import {
6
+ assertRelativeChildPath,
7
+ getAbsoluteParent,
8
+ getCurrentWorkingDirectory,
9
+ resolveAbsolutePath
10
+ } from "./paths.mjs";
5
11
  var Files = class {
6
12
  _directory;
7
13
  _files;
@@ -10,10 +16,9 @@ var Files = class {
10
16
  * relative to the specified {@link Run}'s directory.
11
17
  */
12
18
  constructor(directory) {
13
- this._directory = directory;
19
+ this._directory = directory || getCurrentWorkingDirectory();
14
20
  this._files = [];
15
- const inspect = Symbol.for("nodejs.util.inspect.custom");
16
- Object.defineProperty(this, inspect, { value: () => ({
21
+ Object.defineProperty(this, inspect.custom, { value: () => ({
17
22
  directory: this._directory,
18
23
  files: [...this._files]
19
24
  }) });
@@ -42,6 +47,8 @@ var Files = class {
42
47
  yield [file, resolveAbsolutePath(this._directory, file)];
43
48
  }
44
49
  static builder(arg) {
50
+ if (!arg)
51
+ arg = getCurrentWorkingDirectory();
45
52
  const directory = typeof arg === "string" ? arg : arg.directory;
46
53
  const set = typeof arg === "string" ? /* @__PURE__ */ new Set() : new Set(arg._files);
47
54
  const instance = new Files(directory);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/files.ts"],
4
- "mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,OAAO,iBAAiB;AACjC,SAAS,yBAAyB,mBAAmB,2BAA2B;AA8BzE,IAAM,QAAN,MAAY;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjB,YAAY,WAAyB;AACnC,SAAK,aAAa;AAClB,SAAK,SAAS,CAAC;AAGf,UAAM,UAAU,OAAO,IAAI,4BAA4B;AACvD,WAAO,eAAe,MAAM,SAAS,EAAE,OAAO,OAAO;AAAA,MACnD,WAAW,KAAK;AAAA,MAChB,OAAO,CAAE,GAAG,KAAK,MAAO;AAAA,IAC1B,GAAG,CAAC;AAAA,EACN;AAAA;AAAA,EAGA,IAAI,YAA0B;AAC5B,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,IAAI,SAAiB;AACnB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA;AAAA,EAGA,EAAG,OAAO,QAAQ,IAAuB;AACvC,eAAW,QAAQ,KAAK;AAAQ,YAAM;AAAA,EACxC;AAAA;AAAA,EAGA,CAAE,gBAAyC;AACzC,eAAW,QAAQ;AAAM,YAAM,oBAAoB,KAAK,YAAY,IAAI;AAAA,EAC1E;AAAA;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;",
4
+ "mappings": ";AAAA,SAAS,eAAe;AAExB,SAAS,cAAc;AACvB,SAAS,OAAO,iBAAiB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA8BA,IAAM,QAAN,MAAY;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjB,YAAY,WAA0B;AACpC,SAAK,aAAa,aAAa,2BAA2B;AAC1D,SAAK,SAAS,CAAC;AAGf,WAAO,eAAe,MAAM,QAAQ,QAAQ,EAAE,OAAO,OAAO;AAAA,MAC1D,WAAW,KAAK;AAAA,MAChB,OAAO,CAAE,GAAG,KAAK,MAAO;AAAA,IAC1B,GAAG,CAAC;AAAA,EACN;AAAA;AAAA,EAGA,IAAI,YAA0B;AAC5B,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,IAAI,SAAiB;AACnB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA;AAAA,EAGA,EAAG,OAAO,QAAQ,IAAuB;AACvC,eAAW,QAAQ,KAAK;AAAQ,YAAM;AAAA,EACxC;AAAA;AAAA,EAGA,CAAE,gBAAyC;AACzC,eAAW,QAAQ;AAAM,YAAM,oBAAoB,KAAK,YAAY,IAAI;AAAA,EAC1E;AAAA;AAAA,EAGA,CAAE,eAAwE;AACxE,eAAW,QAAQ;AAAM,YAAM,CAAE,MAAM,oBAAoB,KAAK,YAAY,IAAI,CAAE;AAAA,EACpF;AAAA,EAMA,OAAO,QAAQ,KAA0C;AACvD,QAAI,CAAE;AAAK,YAAM,2BAA2B;AAC5C,UAAM,YAAY,OAAO,QAAQ,WAAW,MAAM,IAAI;AACtD,UAAM,MAAM,OAAO,QAAQ,WAAW,oBAAI,IAAY,IAAI,IAAI,IAAI,IAAI,MAAM;AAE5E,UAAM,WAAW,IAAI,MAAM,SAAS;AACpC,QAAI,QAAQ;AAEZ,WAAO;AAAA,MACL,WAAW,SAAS;AAAA,MAEpB,OAAO,OAA+B;AACpC,eAAO,CAAE,OAAO,sCAAsC;AAEtD,mBAAW,QAAQ,OAAO;AACxB,gBAAM,WAAW,wBAAwB,SAAS,WAAW,IAAI;AACjE,cAAI,IAAI,QAAQ;AAAA,QAClB;AAEA,eAAO;AAAA,MACT;AAAA,MAEA,SAAS,MAA6B;AACpC,eAAO,CAAE,OAAO,sCAAsC;AAEtD,mBAAW,SAAS,MAAM;AACxB,qBAAW,QAAQ,MAAM,cAAc,GAAG;AACxC,iBAAK,IAAI,IAAI;AAAA,UACf;AAAA,QACF;AAEA,eAAO;AAAA,MACT;AAAA,MAEA,MAAM,MAAM,MAAc,SAAqD;AAC7E,cAAM,WAAW,wBAAwB,SAAS,WAAW,IAAI;AACjE,cAAM,WAAW,oBAAoB,SAAS,WAAW,QAAQ;AACjE,cAAMA,aAAY,kBAAkB,QAAQ;AAE5C,cAAM,MAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAC1C,cAAM,UAAU,UAAU,OAAO;AACjC,aAAK,IAAI,QAAQ;AAEjB,eAAO;AAAA,MACT;AAAA,MAEA,QAAe;AACb,eAAO,CAAE,OAAO,sCAAsC;AAEtD,gBAAQ;AACR,iBAAS,OAAO,KAAK,GAAG,GAAG;AAC3B,iBAAS,OAAO,KAAK;AACrB,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;",
5
5
  "names": ["directory"]
6
6
  }
package/dist/fork.cjs CHANGED
@@ -58,6 +58,10 @@ var ForkingPlug = class {
58
58
  const dir = env.NODE_V8_COVERAGE = context.resolve(this._arguments[i].coverageDir);
59
59
  context.log.debug("Forked process will produce coverage in", (0, import_logging.$p)(dir));
60
60
  }
61
+ if (typeof this._arguments[i].forceModule === "string") {
62
+ const force = env.__TS_LOADER_FORCE_TYPE = this._arguments[i].forceModule;
63
+ context.log.debug("Forked process will force module type as", (0, import_logging.$p)(force));
64
+ }
61
65
  }
62
66
  }
63
67
  const child = (0, import_node_child_process.fork)(script, {
@@ -72,22 +76,22 @@ var ForkingPlug = class {
72
76
  return new Promise((resolve, reject) => {
73
77
  let response = void 0;
74
78
  child.on("error", (error) => {
75
- context.log.error("Child process error", error);
79
+ context.log.error("Forked plug process error", error);
76
80
  return done || reject(import_asserts.BuildFailure.fail());
77
81
  });
78
82
  child.on("message", (message) => {
79
- context.log.debug("Message from child process with PID", child.pid, message);
83
+ context.log.debug("Message from forked plug process with PID", child.pid, message);
80
84
  response = message;
81
85
  });
82
86
  child.on("exit", (code, signal) => {
83
87
  if (signal) {
84
- context.log.error(`Child process exited with signal ${signal}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
88
+ context.log.error(`Forked plug process exited with signal ${signal}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
85
89
  return done || reject(import_asserts.BuildFailure.fail());
86
90
  } else if (code !== 0) {
87
- context.log.error(`Child process exited with code ${code}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
91
+ context.log.error(`Forked plug process exited with code ${code}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
88
92
  return done || reject(import_asserts.BuildFailure.fail());
89
93
  } else if (!response) {
90
- context.log.error("Child process exited with no result", (0, import_logging.$gry)(`(pid=${child.pid})`));
94
+ context.log.error("Forked plug process exited with no result", (0, import_logging.$gry)(`(pid=${child.pid})`));
91
95
  return done || reject(import_asserts.BuildFailure.fail());
92
96
  } else if (response.failed) {
93
97
  return done || reject(import_asserts.BuildFailure.fail());
@@ -97,22 +101,34 @@ var ForkingPlug = class {
97
101
  try {
98
102
  const result = child.send(request, (error) => {
99
103
  if (error) {
100
- context.log.error("Error sending message to child process (callback failure)", error);
104
+ context.log.error("Error sending message to forked plug process (callback failure)", error);
101
105
  reject(import_asserts.BuildFailure.fail());
102
106
  }
103
107
  });
104
108
  if (!result) {
105
- context.log.error("Error sending message to child process (send returned false)");
109
+ context.log.error("Error sending message to forked plug process (send returned false)");
106
110
  reject(import_asserts.BuildFailure.fail());
107
111
  }
108
112
  } catch (error) {
109
- context.log.error("Error sending message to child process (exception caught)", error);
113
+ context.log.error("Error sending message to forked plug process (exception caught)", error);
110
114
  reject(import_asserts.BuildFailure.fail());
111
115
  }
112
116
  }).finally(() => done = true);
113
117
  }
114
118
  };
115
119
  if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process.send) {
120
+ process.on("uncaughtException", (error, origin) => {
121
+ console.error(
122
+ (0, import_logging.$red)("\n= UNCAUGHT EXCEPTION ========================================="),
123
+ `
124
+ Error (${origin}):`,
125
+ error,
126
+ `
127
+ Node.js ${process.version} (pid=${process.pid})
128
+ `
129
+ );
130
+ process.nextTick(() => process.exit(3));
131
+ });
116
132
  const timeout = setTimeout(() => {
117
133
  console.error("Fork not initialized in 5 seconds");
118
134
  process.exit(2);
@@ -163,14 +179,16 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
163
179
  promise.then(() => {
164
180
  context.log.debug("Forked plug exiting");
165
181
  process.disconnect();
182
+ process.exitCode = 0;
183
+ }, (error) => {
184
+ console.log("\n\nError sending message back to parent process", error);
185
+ process.exitCode = 1;
186
+ }).finally(() => {
187
+ import_logging.logOptions.output.end();
166
188
  setTimeout(() => {
167
189
  console.log("\n\nProcess %d for %s did not exit in 5 seconds", process.pid, exportName);
168
190
  process.exit(2);
169
191
  }, 5e3).unref();
170
- process.exitCode = 0;
171
- }, (error) => {
172
- console.log("\n\nError sending message back to parent process", error);
173
- process.exit(1);
174
192
  });
175
193
  });
176
194
  }
package/dist/fork.cjs.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/fork.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["result", "message"]
6
6
  }
package/dist/fork.d.ts CHANGED
@@ -2,6 +2,16 @@ import { Files } from './files';
2
2
  import { Context } from './pipe';
3
3
  import type { AbsolutePath } from './paths';
4
4
  import type { Plug, PlugName, PlugResult } from './pipe';
5
+ /**
6
+ * Options accepted by {@link ForkingPlug}'s instrumenting how the process
7
+ * will be spawned (environment variables to be passed to the child process).
8
+ */
9
+ export interface ForkOptions {
10
+ /** The directory where coverage data will be saved */
11
+ coverageDir?: string;
12
+ /** Force the specified module type when dynamically transpiling TypeScript */
13
+ forceModule?: 'commonjs' | 'module';
14
+ }
5
15
  /** Fork data, from parent to child process */
6
16
  export interface ForkData {
7
17
  /** Script name for the Plug to execute */
package/dist/fork.mjs CHANGED
@@ -3,7 +3,7 @@ import { fork } from "node:child_process";
3
3
  import { assert, BuildFailure } from "./asserts.mjs";
4
4
  import { runAsync } from "./async.mjs";
5
5
  import { Files } from "./files.mjs";
6
- import { $gry, $p, logOptions } from "./logging.mjs";
6
+ import { $gry, $p, $red, logOptions } from "./logging.mjs";
7
7
  import { requireFilename, resolveFile } from "./paths.mjs";
8
8
  import { Context, install } from "./pipe.mjs";
9
9
  var ForkingPlug = class {
@@ -33,6 +33,10 @@ var ForkingPlug = class {
33
33
  const dir = env.NODE_V8_COVERAGE = context.resolve(this._arguments[i].coverageDir);
34
34
  context.log.debug("Forked process will produce coverage in", $p(dir));
35
35
  }
36
+ if (typeof this._arguments[i].forceModule === "string") {
37
+ const force = env.__TS_LOADER_FORCE_TYPE = this._arguments[i].forceModule;
38
+ context.log.debug("Forked process will force module type as", $p(force));
39
+ }
36
40
  }
37
41
  }
38
42
  const child = fork(script, {
@@ -47,22 +51,22 @@ var ForkingPlug = class {
47
51
  return new Promise((resolve, reject) => {
48
52
  let response = void 0;
49
53
  child.on("error", (error) => {
50
- context.log.error("Child process error", error);
54
+ context.log.error("Forked plug process error", error);
51
55
  return done || reject(BuildFailure.fail());
52
56
  });
53
57
  child.on("message", (message) => {
54
- context.log.debug("Message from child process with PID", child.pid, message);
58
+ context.log.debug("Message from forked plug process with PID", child.pid, message);
55
59
  response = message;
56
60
  });
57
61
  child.on("exit", (code, signal) => {
58
62
  if (signal) {
59
- context.log.error(`Child process exited with signal ${signal}`, $gry(`(pid=${child.pid})`));
63
+ context.log.error(`Forked plug process exited with signal ${signal}`, $gry(`(pid=${child.pid})`));
60
64
  return done || reject(BuildFailure.fail());
61
65
  } else if (code !== 0) {
62
- context.log.error(`Child process exited with code ${code}`, $gry(`(pid=${child.pid})`));
66
+ context.log.error(`Forked plug process exited with code ${code}`, $gry(`(pid=${child.pid})`));
63
67
  return done || reject(BuildFailure.fail());
64
68
  } else if (!response) {
65
- context.log.error("Child process exited with no result", $gry(`(pid=${child.pid})`));
69
+ context.log.error("Forked plug process exited with no result", $gry(`(pid=${child.pid})`));
66
70
  return done || reject(BuildFailure.fail());
67
71
  } else if (response.failed) {
68
72
  return done || reject(BuildFailure.fail());
@@ -72,22 +76,34 @@ var ForkingPlug = class {
72
76
  try {
73
77
  const result = child.send(request, (error) => {
74
78
  if (error) {
75
- context.log.error("Error sending message to child process (callback failure)", error);
79
+ context.log.error("Error sending message to forked plug process (callback failure)", error);
76
80
  reject(BuildFailure.fail());
77
81
  }
78
82
  });
79
83
  if (!result) {
80
- context.log.error("Error sending message to child process (send returned false)");
84
+ context.log.error("Error sending message to forked plug process (send returned false)");
81
85
  reject(BuildFailure.fail());
82
86
  }
83
87
  } catch (error) {
84
- context.log.error("Error sending message to child process (exception caught)", error);
88
+ context.log.error("Error sending message to forked plug process (exception caught)", error);
85
89
  reject(BuildFailure.fail());
86
90
  }
87
91
  }).finally(() => done = true);
88
92
  }
89
93
  };
90
94
  if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
95
+ process.on("uncaughtException", (error, origin) => {
96
+ console.error(
97
+ $red("\n= UNCAUGHT EXCEPTION ========================================="),
98
+ `
99
+ Error (${origin}):`,
100
+ error,
101
+ `
102
+ Node.js ${process.version} (pid=${process.pid})
103
+ `
104
+ );
105
+ process.nextTick(() => process.exit(3));
106
+ });
91
107
  const timeout = setTimeout(() => {
92
108
  console.error("Fork not initialized in 5 seconds");
93
109
  process.exit(2);
@@ -138,14 +154,16 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
138
154
  promise.then(() => {
139
155
  context.log.debug("Forked plug exiting");
140
156
  process.disconnect();
157
+ process.exitCode = 0;
158
+ }, (error) => {
159
+ console.log("\n\nError sending message back to parent process", error);
160
+ process.exitCode = 1;
161
+ }).finally(() => {
162
+ logOptions.output.end();
141
163
  setTimeout(() => {
142
164
  console.log("\n\nProcess %d for %s did not exit in 5 seconds", process.pid, exportName);
143
165
  process.exit(2);
144
166
  }, 5e3).unref();
145
- process.exitCode = 0;
146
- }, (error) => {
147
- console.log("\n\nError sending message back to parent process", error);
148
- process.exit(1);
149
167
  });
150
168
  });
151
169
  }
package/dist/fork.mjs.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/fork.ts"],
4
- "mappings": "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",
4
+ "mappings": ";AAAA,SAAS,YAAY;AAErB,SAAS,QAAQ,oBAAoB;AACrC,SAAS,gBAAgB;AACzB,SAAS,aAAa;AACtB,SAAS,MAAM,IAAI,MAAM,kBAAkB;AAC3C,SAAS,iBAAiB,mBAAmB;AAC7C,SAAS,SAAS,eAAe;AAgD1B,IAAe,cAAf,MAAuD;AAAA,EAC5D,YACqB,aACA,YACA,aACnB;AAHmB;AACA;AACA;AAAA,EAClB;AAAA,EAEH,KAAK,OAAc,SAAuC;AACxD,UAAM,UAAoB;AAAA,MACxB,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,MACjB,iBAAiB,KAAK;AAAA,MACtB,UAAU,QAAQ;AAAA,MAClB,WAAW,QAAQ;AAAA,MACnB,UAAU,MAAM;AAAA,MAChB,WAAW,CAAE,GAAG,MAAM,cAAc,CAAE;AAAA,IACxC;AAGA,UAAM,SAAS,gBAAgB,eAAS;AACxC,YAAQ,IAAI,MAAM,2BAA2B,GAAG,KAAK,WAAW,CAAC;AAGjE,UAAM,MAAM,EAAE,GAAG,QAAQ,KAAK,GAAG,WAAW,QAAQ,QAAQ,UAAU,CAAC,EAAE;AAGzE,aAAS,IAAI,KAAK,WAAW,SAAS,GAAG,KAAK,GAAG,KAAM;AACrD,UAAI,KAAK,WAAW,CAAC,KAAK;AAAM;AAChC,UAAI,OAAO,KAAK,WAAW,CAAC,MAAM,UAAU;AAC1C,YAAI,OAAO,KAAK,WAAW,CAAC,EAAE,gBAAgB,UAAU;AACtD,gBAAM,MAAM,IAAI,mBAAmB,QAAQ,QAAQ,KAAK,WAAW,CAAC,EAAE,WAAW;AACjF,kBAAQ,IAAI,MAAM,2CAA2C,GAAG,GAAG,CAAC;AAAA,QACtE;AACA,YAAI,OAAO,KAAK,WAAW,CAAC,EAAE,gBAAgB,UAAU;AACtD,gBAAM,QAAQ,IAAI,yBAAyB,KAAK,WAAW,CAAC,EAAE;AAC9D,kBAAQ,IAAI,MAAM,4CAA4C,GAAG,KAAK,CAAC;AAAA,QACzE;AAAA,MACF;AAAA,IACF;AAGA,UAAM,QAAQ,KAAK,QAAQ;AAAA,MACzB,OAAO,CAAE,UAAU,WAAW,WAAW,OAAO,MAAO;AAAA,MACvD;AAAA,IACF,CAAC;AAGD,QAAI,MAAM,MAAM,CAAC,GAAG;AAClB,YAAM,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,SAAS,WAAW,OAAO,MAAM,IAAI,CAAC;AAAA,IACnE;AAEA,YAAQ,IAAI,KAAK,WAAW,GAAG,MAAM,GAAG,KAAK,QAAQ,MAAM,MAAM,CAAC;AAGlE,QAAI,OAAO;AACX,WAAO,IAAI,QAAoB,CAAC,SAAS,WAAW;AAClD,UAAI,WAAmC;AAEvC,YAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,gBAAQ,IAAI,MAAM,6BAA6B,KAAK;AACpD,eAAO,QAAQ,OAAO,aAAa,KAAK,CAAC;AAAA,MAC3C,CAAC;AAED,YAAM,GAAG,WAAW,CAAC,YAAwB;AAC3C,gBAAQ,IAAI,MAAM,6CAA6C,MAAM,KAAK,OAAO;AACjF,mBAAW;AAAA,MACb,CAAC;AAED,YAAM,GAAG,QAAQ,CAAC,MAAM,WAAW;AACjC,YAAI,QAAQ;AACV,kBAAQ,IAAI,MAAM,0CAA0C,UAAU,KAAK,QAAQ,MAAM,MAAM,CAAC;AAChG,iBAAO,QAAQ,OAAO,aAAa,KAAK,CAAC;AAAA,QAC3C,WAAW,SAAS,GAAG;AACrB,kBAAQ,IAAI,MAAM,wCAAwC,QAAQ,KAAK,QAAQ,MAAM,MAAM,CAAC;AAC5F,iBAAO,QAAQ,OAAO,aAAa,KAAK,CAAC;AAAA,QAC3C,WAAW,CAAE,UAAU;AACrB,kBAAQ,IAAI,MAAM,6CAA6C,KAAK,QAAQ,MAAM,MAAM,CAAC;AACzF,iBAAO,QAAQ,OAAO,aAAa,KAAK,CAAC;AAAA,QAC3C,WAAW,SAAS,QAAQ;AAE1B,iBAAO,QAAQ,OAAO,aAAa,KAAK,CAAC;AAAA,QAC3C;AAGA,eAAO,QAAQ,QAAQ,SAAS,YAAY,SAAS,YACjD,MAAM,QAAQ,SAAS,QAAQ,EAAE,IAAI,GAAG,SAAS,SAAS,EAAE,MAAM,IAClE,MAAS;AAAA,MACf,CAAC;AAGD,UAAI;AACF,cAAM,SAAS,MAAM,KAAK,SAAS,CAAC,UAAU;AAC5C,cAAI,OAAO;AACT,oBAAQ,IAAI,MAAM,mEAAmE,KAAK;AAC1F,mBAAO,aAAa,KAAK,CAAC;AAAA,UAC5B;AAAA,QACF,CAAC;AACD,YAAI,CAAE,QAAQ;AACZ,kBAAQ,IAAI,MAAM,oEAAoE;AACtF,iBAAO,aAAa,KAAK,CAAC;AAAA,QAC5B;AAAA,MACF,SAAS,OAAP;AACA,gBAAQ,IAAI,MAAM,mEAAmE,KAAK;AAC1F,eAAO,aAAa,KAAK,CAAC;AAAA,MAC5B;AAAA,IACF,CAAC,EAAE,QAAQ,MAAM,OAAO,IAAI;AAAA,EAC9B;AACF;AAYA,IAAK,QAAQ,KAAK,CAAC,MAAM,gBAAgB,eAAS,KAAO,QAAQ,MAAO;AAEtE,UAAQ,GAAG,qBAAqB,CAAC,OAAO,WAAW;AAEjD,YAAQ;AAAA,MACJ,KAAK,kEAAkE;AAAA,MACvE;AAAA,SAAY;AAAA,MAAY;AAAA,MACxB;AAAA,UAAa,QAAQ,gBAAgB,QAAQ;AAAA;AAAA,IAAQ;AACzD,YAAQ,SAAS,MAAM,QAAQ,KAAK,CAAC,CAAC;AAAA,EACxC,CAAC;AAGD,QAAM,UAAU,WAAW,MAAM;AAE/B,YAAQ,MAAM,mCAAmC;AACjD,YAAQ,KAAK,CAAC;AAAA,EAChB,GAAG,GAAI,EAAE,MAAM;AAGf,UAAQ,GAAG,WAAW,CAAC,YAAsB;AAC3C,iBAAa,OAAO;AAEpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI;AAGJ,UAAM,UAAU,IAAI,QAAQ,WAAW,QAAQ;AAC/C,YAAQ,IAAI,MAAM,uCAAuC,QAAQ,KAAK,OAAO;AAG7E,UAAM,SAAS,SAAS,SAAS,UAAU,YAAY;AAErD,aAAO,YAAY,UAAU,GAAG,eAAe,GAAG,UAAU,aAAa;AACzE,YAAM,SAAS,MAAM,OAAO;AAG5B,UAAI;AACJ,UAAI,eAAe,WAAW;AAC5B,eAAO;AACP,eAAO,QAAS,OAAO,SAAS;AAAa,iBAAO,KAAK;AACzD,eAAO,OAAO,SAAS,YAAY,UAAU,GAAG,UAAU,yCAAyC;AAAA,MACrG,OAAO;AACL,eAAO,OAAO,UAAU;AACxB,YAAK,CAAE,QAAU,OAAO;AAAU,iBAAO,OAAO,QAAQ,UAAU;AAClE,eAAO,OAAO,SAAS,YAAY,UAAU,GAAG,UAAU,sBAAsB,aAAa;AAAA,MAC/F;AAGA,YAAM,OAAO,IAAI,KAAK,GAAG,eAAe;AACxC,YAAM,QAAQ,MAAM,QAAQ,QAAQ,EAAE,IAAI,GAAG,SAAS,EAAE,MAAM;AAG9D,aAAO,KAAK,KAAK,OAAO,OAAO;AAAA,IACjC,CAAC;AAGD,UAAM,UAAU,OAAO,KAAK,CAACA,YAAW;AACtC,YAAMC,WAAsBD,UAC1B,EAAE,QAAQ,OAAO,UAAUA,QAAO,WAAW,WAAW,CAAE,GAAGA,QAAO,cAAc,CAAE,EAAE,IACtF,EAAE,QAAQ,MAAM;AAClB,aAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,gBAAQ,KAAMC,UAAS,CAAC,QAAe,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC;AAAA,MACtE,CAAC;AAAA,IACH,GAAG,CAAC,UAAU;AACZ,cAAQ,IAAI,MAAM,KAAK;AACvB,aAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,gBAAQ,KAAM,EAAE,QAAQ,KAAK,GAAG,CAAC,QAAe,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC;AAAA,MAC/E,CAAC;AAAA,IACH,CAAC;AAGD,YAAQ,KAAK,MAAM;AACjB,cAAQ,IAAI,MAAM,qBAAqB;AACvC,cAAQ,WAAW;AACnB,cAAQ,WAAW;AAAA,IACrB,GAAG,CAAC,UAAU;AAEZ,cAAQ,IAAI,oDAAoD,KAAK;AACrE,cAAQ,WAAW;AAAA,IACrB,CAAC,EAAE,QAAQ,MAAM;AAEf,iBAAW,OAAO,IAAI;AAGtB,iBAAW,MAAM;AAEf,gBAAQ,IAAI,mDAAmD,QAAQ,KAAK,UAAU;AACtF,gBAAQ,KAAK,CAAC;AAAA,MAChB,GAAG,GAAI,EAAE,MAAM;AAAA,IACjB,CAAC;AAAA,EACH,CAAC;AACH;AAmBO,SAAS,eACZ,UACA,YACA,aAAqB,WACjB;AAEN,QAAM,OAAO,cAAc,YAAY;AAAA,IACrC,eAAe,MAAa;AAC1B,YAAM,YAAY,MAAM,UAAU;AAAA,IACpC;AAAA,EACF;AAGA,UAAQ,UAAU,IAAW;AAC/B;",
5
5
  "names": ["result", "message"]
6
6
  }
package/dist/helpers.cjs CHANGED
@@ -20,8 +20,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // helpers.ts
21
21
  var helpers_exports = {};
22
22
  __export(helpers_exports, {
23
+ context: () => context,
23
24
  exec: () => exec,
24
25
  find: () => find,
26
+ invokeBuild: () => invokeBuild,
25
27
  isDirectory: () => isDirectory,
26
28
  isFile: () => isFile,
27
29
  merge: () => merge,
@@ -42,14 +44,18 @@ var import_fs = require("./fs.cjs");
42
44
  var import_logging = require("./logging.cjs");
43
45
  var import_paths = require("./paths.cjs");
44
46
  var import_pipe = require("./pipe.cjs");
47
+ var import_build = require("./plugs/build.cjs");
45
48
  var import_exec = require("./utils/exec.cjs");
46
49
  var import_options = require("./utils/options.cjs");
47
50
  var import_walk = require("./utils/walk.cjs");
51
+ function context() {
52
+ return (0, import_async.requireContext)();
53
+ }
48
54
  function find(...args) {
49
55
  const { params: globs, options } = (0, import_options.parseOptions)(args, {});
50
- const context = (0, import_async.requireContext)();
51
- return new import_pipe.PipeImpl(context, Promise.resolve().then(async () => {
52
- const directory = options.directory ? context.resolve(options.directory) : (0, import_paths.getCurrentWorkingDirectory)();
56
+ const context2 = (0, import_async.requireContext)();
57
+ return new import_pipe.PipeImpl(context2, Promise.resolve().then(async () => {
58
+ const directory = options.directory ? context2.resolve(options.directory) : (0, import_paths.getCurrentWorkingDirectory)();
53
59
  const builder = import_files.Files.builder(directory);
54
60
  for await (const file of (0, import_walk.walk)(directory, globs, options)) {
55
61
  builder.add(file);
@@ -57,15 +63,27 @@ function find(...args) {
57
63
  return builder.build();
58
64
  }));
59
65
  }
66
+ async function invokeBuild(buildFile, tasksOrOptions, maybeOptions) {
67
+ const [tasks, options = {}] = typeof tasksOrOptions === "string" ? [[tasksOrOptions], maybeOptions] : Array.isArray(tasksOrOptions) ? [tasksOrOptions, maybeOptions] : typeof tasksOrOptions === "object" ? [["default"], tasksOrOptions] : [["default"], {}];
68
+ if (tasks.length === 0)
69
+ tasks.push("default");
70
+ const { coverageDir, forceModule, ...props } = options;
71
+ const forkOptions = { coverageDir, forceModule };
72
+ const context2 = (0, import_async.requireContext)();
73
+ const file = context2.resolve(buildFile);
74
+ const dir = (0, import_paths.getAbsoluteParent)(file);
75
+ const files = import_files.Files.builder(dir).add(file).build();
76
+ return new import_build.RunBuild(tasks, props, forkOptions).pipe(files, context2).then(() => void 0);
77
+ }
60
78
  async function rmrf(directory) {
61
- const context = (0, import_async.requireContext)();
62
- const dir = context.resolve(directory);
79
+ const context2 = (0, import_async.requireContext)();
80
+ const dir = context2.resolve(directory);
63
81
  (0, import_asserts.assert)(
64
82
  dir !== (0, import_paths.getCurrentWorkingDirectory)(),
65
83
  `Cowardly refusing to wipe current working directory ${(0, import_logging.$p)(dir)}`
66
84
  );
67
85
  (0, import_asserts.assert)(
68
- dir !== context.resolve("@"),
86
+ dir !== context2.resolve("@"),
69
87
  `Cowardly refusing to wipe build file directory ${(0, import_logging.$p)(dir)}`
70
88
  );
71
89
  if (!(0, import_paths.resolveDirectory)(dir)) {
@@ -76,23 +94,22 @@ async function rmrf(directory) {
76
94
  await (0, import_fs.rm)(dir, { recursive: true });
77
95
  }
78
96
  function merge(pipes) {
79
- const context = (0, import_async.requireContext)();
80
- return new import_pipe.PipeImpl(context, Promise.resolve().then(async () => {
97
+ const context2 = (0, import_async.requireContext)();
98
+ return new import_pipe.PipeImpl(context2, Promise.resolve().then(async () => {
81
99
  if (pipes.length === 0)
82
- return import_files.Files.builder((0, import_paths.getCurrentWorkingDirectory)()).build();
100
+ return new import_files.Files();
83
101
  const awaited = await (0, import_asserts.assertPromises)(pipes);
84
102
  const results = awaited.filter((result) => result.length);
85
103
  if (results.length === 0)
86
- return import_files.Files.builder((0, import_paths.getCurrentWorkingDirectory)()).build();
104
+ return new import_files.Files();
87
105
  const [firstDir, ...otherDirs] = results.map((f) => f.directory);
88
106
  const directory = (0, import_paths.commonPath)(firstDir, ...otherDirs);
89
107
  return import_files.Files.builder(directory).merge(...results).build();
90
108
  }));
91
109
  }
92
110
  function noop() {
93
- const context = (0, import_async.requireContext)();
94
- const files = new import_files.Files((0, import_paths.getCurrentWorkingDirectory)());
95
- return new import_pipe.PipeImpl(context, Promise.resolve(files));
111
+ const context2 = (0, import_async.requireContext)();
112
+ return new import_pipe.PipeImpl(context2, Promise.resolve(new import_files.Files()));
96
113
  }
97
114
  function resolve(...paths) {
98
115
  return (0, import_async.requireContext)().resolve(...paths);
@@ -134,8 +151,10 @@ function parseJson(file) {
134
151
  }
135
152
  // Annotate the CommonJS export names for ESM import in node:
136
153
  0 && (module.exports = {
154
+ context,
137
155
  exec,
138
156
  find,
157
+ invokeBuild,
139
158
  isDirectory,
140
159
  isFile,
141
160
  merge,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/helpers.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA0C;AAC1C,qBAAuB;AACvB,uBAAqB;AAErB,qBAAuC;AACvC,mBAA+B;AAC/B,mBAAsB;AACtB,gBAAmB;AACnB,qBAAwB;AACxB,mBAAsF;AACtF,kBAAyB;AACzB,kBAA0B;AAC1B,qBAA6B;AAC7B,kBAAqB;AA2Bd,SAAS,QAAQ,MAAuC;AAC7D,QAAM,EAAE,QAAQ,OAAO,QAAQ,QAAI,6BAAa,MAAM,CAAC,CAAC;AAExD,QAAM,cAAU,6BAAe;AAC/B,SAAO,IAAI,qBAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAC9D,UAAM,YAAY,QAAQ,YACxB,QAAQ,QAAQ,QAAQ,SAAS,QACjC,yCAA2B;AAE7B,UAAM,UAAU,mBAAM,QAAQ,SAAS;AACvC,qBAAiB,YAAQ,kBAAK,WAAW,OAAO,OAAO,GAAG;AACxD,cAAQ,IAAI,IAAI;AAAA,IAClB;AAEA,WAAO,QAAQ,MAAM;AAAA,EACvB,CAAC,CAAC;AACJ;AAKA,eAAsB,KAAK,WAAkC;AAC3D,QAAM,cAAU,6BAAe;AAC/B,QAAM,MAAM,QAAQ,QAAQ,SAAS;AAErC;AAAA,IAAO,YAAQ,yCAA2B;AAAA,IACtC,2DAAuD,mBAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,QAAQ,QAAQ,GAAG;AAAA,IAC9B,sDAAkD,mBAAG,GAAG;AAAA,EAAG;AAG/D,MAAI,KAAE,+BAAiB,GAAG,GAAG;AAC3B,uBAAI,KAAK,iBAAa,mBAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,qBAAI,OAAO,0BAAsB,mBAAG,GAAG,GAAG,aAAa;AACvD,YAAM,cAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAiBO,SAAS,MAAM,OAAgD;AACpE,QAAM,cAAU,6BAAe;AAC/B,SAAO,IAAI,qBAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAE9D,QAAI,MAAM,WAAW;AAAG,aAAO,mBAAM,YAAQ,yCAA2B,CAAC,EAAE,MAAM;AAGjF,UAAM,UAAU,UAAM,+BAAsB,KAAK;AACjD,UAAM,UAAU,QAAQ,OAAO,CAAC,WAAW,OAAO,MAAM;AAGxD,QAAI,QAAQ,WAAW;AAAG,aAAO,mBAAM,YAAQ,yCAA2B,CAAC,EAAE,MAAM;AAGnF,UAAM,CAAE,UAAU,GAAG,SAAU,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,SAAS;AACjE,UAAM,gBAAY,yBAAW,UAAW,GAAG,SAAS;AAGpD,WAAO,mBAAM,QAAQ,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM;AAAA,EAC1D,CAAC,CAAC;AACJ;AAgBO,SAAS,OAAa;AAC3B,QAAM,cAAU,6BAAe;AAC/B,QAAM,QAAQ,IAAI,uBAAM,yCAA2B,CAAC;AACpD,SAAO,IAAI,qBAAS,SAAS,QAAQ,QAAQ,KAAK,CAAC;AACrD;AAUO,SAAS,WAAW,OAA8C;AACvE,aAAO,6BAAe,EAAE,QAAQ,GAAG,KAAK;AAC1C;AAOO,SAAS,UAAU,OAA0D;AAClF,QAAM,WAAO,6BAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,aAAO,0BAAY,IAAI;AACzB;AAOO,SAAS,eAAe,OAA0D;AACvF,QAAM,WAAO,6BAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,aAAO,+BAAiB,IAAI;AAC9B;AAOO,SAAS,UAAwB;AACtC,QAAM,aAAS,2BAAK,uBAAO,GAAG,SAAS;AACvC,QAAM,WAAO,4BAAY,MAAM;AAC/B,SAAO,QAAQ,IAAI;AACrB;AAuBO,SAAS,KACZ,QACG,MACU;AACf,QAAM,EAAE,QAAQ,QAAQ,QAAI,6BAAa,IAAI;AAC7C,aAAO,uBAAU,KAAK,QAAQ,aAAS,6BAAe,CAAC;AACzD;AAOO,SAAS,UAAU,MAAmB;AAC3C,QAAM,eAAW,6BAAe,EAAE,QAAQ,IAAI;AAC9C,MAAI;AACJ,MAAI;AACF,mBAAW,6BAAa,UAAU,OAAO;AAAA,EAC3C,SAAS,OAAP;AACA,QAAI,MAAM,SAAS;AAAU,yBAAI,KAAK,YAAQ,mBAAG,QAAQ,aAAa;AACtE,QAAI,MAAM,SAAS;AAAU,yBAAI,KAAK,YAAQ,mBAAG,QAAQ,uBAAuB;AAChF,uBAAI,KAAK,qBAAiB,mBAAG,QAAQ,KAAK,KAAK;AAAA,EACjD;AAEA,MAAI;AACF,WAAO,KAAK,MAAM,QAAQ;AAAA,EAC5B,SAAS,OAAP;AACA,uBAAI,KAAK,qBAAiB,mBAAG,QAAQ,KAAK,KAAK;AAAA,EACjD;AACF;",
5
- "names": []
4
+ "mappings": "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",
5
+ "names": ["context"]
6
6
  }
package/dist/helpers.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { Files } from './files';
2
+ import type { ForkOptions } from './fork';
2
3
  import type { Pipe } from './index';
3
4
  import type { AbsolutePath } from './paths';
5
+ import type { Context } from './pipe';
4
6
  import type { ExecChildOptions } from './utils/exec';
5
7
  import type { WalkOptions } from './utils/walk';
6
8
  /** The {@link FindOptions} interface defines the options for finding files. */
@@ -8,6 +10,8 @@ export interface FindOptions extends WalkOptions {
8
10
  /** The directory where to start looking for files. */
9
11
  directory?: string;
10
12
  }
13
+ /** Return the current execution {@link Context} */
14
+ export declare function context(): Context;
11
15
  /** Find files in the current directory using the specified _glob_. */
12
16
  export declare function find(glob: string): Pipe;
13
17
  /** Find files in the current directory using the specified _globs_. */
@@ -16,6 +20,14 @@ export declare function find(glob: string, ...globs: string[]): Pipe;
16
20
  export declare function find(glob: string, options: FindOptions): Pipe;
17
21
  /** Find files using the specified _globs_ and {@link FindOptions | options}. */
18
22
  export declare function find(glob: string, ...extra: [...globs: string[], options: FindOptions]): Pipe;
23
+ export type InvokeBuildOptions = ForkOptions & Record<string, string>;
24
+ export type InvokeBuildTasks = string | [string, ...string[]];
25
+ export declare function invokeBuild(buildFile: string): Promise<void>;
26
+ export declare function invokeBuild(buildFile: string, task: string): Promise<void>;
27
+ export declare function invokeBuild(buildFile: string, task: string, options: InvokeBuildOptions): Promise<void>;
28
+ export declare function invokeBuild(buildFile: string, tasks: [string, ...string[]]): Promise<void>;
29
+ export declare function invokeBuild(buildFile: string, tasks: [string, ...string[]], options: InvokeBuildOptions): Promise<void>;
30
+ export declare function invokeBuild(buildFile: string, options: InvokeBuildOptions): Promise<void>;
19
31
  /**
20
32
  * Recursively remove the specified directory _**(use with care)**_.
21
33
  */
package/dist/helpers.mjs CHANGED
@@ -7,16 +7,26 @@ import { requireContext } from "./async.mjs";
7
7
  import { Files } from "./files.mjs";
8
8
  import { rm } from "./fs.mjs";
9
9
  import { $p, log } from "./logging.mjs";
10
- import { commonPath, getCurrentWorkingDirectory, resolveDirectory, resolveFile } from "./paths.mjs";
10
+ import {
11
+ commonPath,
12
+ getAbsoluteParent,
13
+ getCurrentWorkingDirectory,
14
+ resolveDirectory,
15
+ resolveFile
16
+ } from "./paths.mjs";
11
17
  import { PipeImpl } from "./pipe.mjs";
18
+ import { RunBuild } from "./plugs/build.mjs";
12
19
  import { execChild } from "./utils/exec.mjs";
13
20
  import { parseOptions } from "./utils/options.mjs";
14
21
  import { walk } from "./utils/walk.mjs";
22
+ function context() {
23
+ return requireContext();
24
+ }
15
25
  function find(...args) {
16
26
  const { params: globs, options } = parseOptions(args, {});
17
- const context = requireContext();
18
- return new PipeImpl(context, Promise.resolve().then(async () => {
19
- const directory = options.directory ? context.resolve(options.directory) : getCurrentWorkingDirectory();
27
+ const context2 = requireContext();
28
+ return new PipeImpl(context2, Promise.resolve().then(async () => {
29
+ const directory = options.directory ? context2.resolve(options.directory) : getCurrentWorkingDirectory();
20
30
  const builder = Files.builder(directory);
21
31
  for await (const file of walk(directory, globs, options)) {
22
32
  builder.add(file);
@@ -24,15 +34,27 @@ function find(...args) {
24
34
  return builder.build();
25
35
  }));
26
36
  }
37
+ async function invokeBuild(buildFile, tasksOrOptions, maybeOptions) {
38
+ const [tasks, options = {}] = typeof tasksOrOptions === "string" ? [[tasksOrOptions], maybeOptions] : Array.isArray(tasksOrOptions) ? [tasksOrOptions, maybeOptions] : typeof tasksOrOptions === "object" ? [["default"], tasksOrOptions] : [["default"], {}];
39
+ if (tasks.length === 0)
40
+ tasks.push("default");
41
+ const { coverageDir, forceModule, ...props } = options;
42
+ const forkOptions = { coverageDir, forceModule };
43
+ const context2 = requireContext();
44
+ const file = context2.resolve(buildFile);
45
+ const dir = getAbsoluteParent(file);
46
+ const files = Files.builder(dir).add(file).build();
47
+ return new RunBuild(tasks, props, forkOptions).pipe(files, context2).then(() => void 0);
48
+ }
27
49
  async function rmrf(directory) {
28
- const context = requireContext();
29
- const dir = context.resolve(directory);
50
+ const context2 = requireContext();
51
+ const dir = context2.resolve(directory);
30
52
  assert(
31
53
  dir !== getCurrentWorkingDirectory(),
32
54
  `Cowardly refusing to wipe current working directory ${$p(dir)}`
33
55
  );
34
56
  assert(
35
- dir !== context.resolve("@"),
57
+ dir !== context2.resolve("@"),
36
58
  `Cowardly refusing to wipe build file directory ${$p(dir)}`
37
59
  );
38
60
  if (!resolveDirectory(dir)) {
@@ -43,23 +65,22 @@ async function rmrf(directory) {
43
65
  await rm(dir, { recursive: true });
44
66
  }
45
67
  function merge(pipes) {
46
- const context = requireContext();
47
- return new PipeImpl(context, Promise.resolve().then(async () => {
68
+ const context2 = requireContext();
69
+ return new PipeImpl(context2, Promise.resolve().then(async () => {
48
70
  if (pipes.length === 0)
49
- return Files.builder(getCurrentWorkingDirectory()).build();
71
+ return new Files();
50
72
  const awaited = await assertPromises(pipes);
51
73
  const results = awaited.filter((result) => result.length);
52
74
  if (results.length === 0)
53
- return Files.builder(getCurrentWorkingDirectory()).build();
75
+ return new Files();
54
76
  const [firstDir, ...otherDirs] = results.map((f) => f.directory);
55
77
  const directory = commonPath(firstDir, ...otherDirs);
56
78
  return Files.builder(directory).merge(...results).build();
57
79
  }));
58
80
  }
59
81
  function noop() {
60
- const context = requireContext();
61
- const files = new Files(getCurrentWorkingDirectory());
62
- return new PipeImpl(context, Promise.resolve(files));
82
+ const context2 = requireContext();
83
+ return new PipeImpl(context2, Promise.resolve(new Files()));
63
84
  }
64
85
  function resolve(...paths) {
65
86
  return requireContext().resolve(...paths);
@@ -100,8 +121,10 @@ function parseJson(file) {
100
121
  }
101
122
  }
102
123
  export {
124
+ context,
103
125
  exec,
104
126
  find,
127
+ invokeBuild,
105
128
  isDirectory,
106
129
  isFile,
107
130
  merge,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/helpers.ts"],
4
- "mappings": "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",
5
- "names": []
4
+ "mappings": "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",
5
+ "names": ["context"]
6
6
  }
package/dist/index.cjs CHANGED
@@ -47,6 +47,8 @@ __export(src_exports, {
47
47
  Files: () => import_files.Files,
48
48
  assert: () => import_asserts.assert,
49
49
  asserts: () => asserts,
50
+ async: () => async,
51
+ banner: () => import_logging.banner,
50
52
  fail: () => import_asserts.fail,
51
53
  files: () => files,
52
54
  fork: () => fork,
@@ -60,6 +62,7 @@ __export(src_exports, {
60
62
  module.exports = __toCommonJS(src_exports);
61
63
  var import_files = require("./files.cjs");
62
64
  var asserts = __toESM(require("./asserts.cjs"), 1);
65
+ var async = __toESM(require("./async.cjs"), 1);
63
66
  var files = __toESM(require("./files.cjs"), 1);
64
67
  var fork = __toESM(require("./fork.cjs"), 1);
65
68
  var fs = __toESM(require("./fs.cjs"), 1);
@@ -91,6 +94,8 @@ __reExport(src_exports, require("./types.cjs"), module.exports);
91
94
  Files,
92
95
  assert,
93
96
  asserts,
97
+ async,
98
+ banner,
94
99
  fail,
95
100
  files,
96
101
  fork,