@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
package/dist/fork.cjs CHANGED
@@ -25,30 +25,31 @@ __export(fork_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(fork_exports);
27
27
  var import_node_child_process = require("node:child_process");
28
- var import_assert = require("./assert.cjs");
28
+ var import_asserts = require("./asserts.cjs");
29
29
  var import_async = require("./async.cjs");
30
- var import_failure = require("./failure.cjs");
31
30
  var import_files = require("./files.cjs");
32
- var import_log = require("./log.cjs");
31
+ var import_logging = require("./logging.cjs");
33
32
  var import_paths = require("./paths.cjs");
34
33
  var import_pipe = require("./pipe.cjs");
35
34
  var ForkingPlug = class {
36
- constructor(_scriptFile, _arguments) {
35
+ constructor(_scriptFile, _arguments, _exportName) {
37
36
  this._scriptFile = _scriptFile;
38
37
  this._arguments = _arguments;
38
+ this._exportName = _exportName;
39
39
  }
40
40
  pipe(files, context) {
41
41
  const message = {
42
42
  scriptFile: this._scriptFile,
43
+ exportName: this._exportName,
43
44
  constructorArgs: this._arguments,
44
45
  taskName: context.taskName,
45
46
  buildFile: context.buildFile,
46
47
  filesDir: files.directory,
47
48
  filesList: [...files.absolutePaths()],
48
- logOpts: import_log.logOptions.fork(context.taskName)
49
+ logOpts: import_logging.logOptions.fork(context.taskName)
49
50
  };
50
51
  const script = (0, import_paths.requireFilename)(__filename);
51
- context.log.debug("About to fork plug from", (0, import_log.$p)(script));
52
+ context.log.debug("About to fork plug from", (0, import_logging.$p)(script));
52
53
  const env = { ...process.env };
53
54
  for (let i = this._arguments.length - 1; i >= 0; i--) {
54
55
  if (this._arguments[i] == null)
@@ -56,7 +57,7 @@ var ForkingPlug = class {
56
57
  if (typeof this._arguments[i] === "object") {
57
58
  if (typeof this._arguments[i].coverageDir === "string") {
58
59
  const dir = env.NODE_V8_COVERAGE = context.resolve(this._arguments[i].coverageDir);
59
- context.log.debug("Forked process will produce coverage in", (0, import_log.$p)(dir));
60
+ context.log.debug("Forked process will produce coverage in", (0, import_logging.$p)(dir));
60
61
  }
61
62
  }
62
63
  }
@@ -64,13 +65,13 @@ var ForkingPlug = class {
64
65
  stdio: ["ignore", "inherit", "inherit", "ipc"],
65
66
  env
66
67
  });
67
- context.log.info("Running", (0, import_log.$p)(script), (0, import_log.$gry)(`(pid=${child.pid})`));
68
+ context.log.info("Running", (0, import_logging.$p)(script), (0, import_logging.$gry)(`(pid=${child.pid})`));
68
69
  let done = false;
69
70
  return new Promise((resolve, reject) => {
70
71
  let result = void 0;
71
72
  child.on("error", (error) => {
72
73
  context.log.error("Child process error", error);
73
- return done || reject(import_failure.BuildFailure.fail());
74
+ return done || reject(import_asserts.BuildFailure.fail());
74
75
  });
75
76
  child.on("message", (message2) => {
76
77
  context.log.debug("Message from child process", message2);
@@ -78,16 +79,16 @@ var ForkingPlug = class {
78
79
  });
79
80
  child.on("exit", (code, signal) => {
80
81
  if (signal) {
81
- context.log.error(`Child process exited with signal ${signal}`, (0, import_log.$gry)(`(pid=${child.pid})`));
82
- return done || reject(import_failure.BuildFailure.fail());
82
+ context.log.error(`Child process exited with signal ${signal}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
83
+ return done || reject(import_asserts.BuildFailure.fail());
83
84
  } else if (code !== 0) {
84
- context.log.error(`Child process exited with code ${code}`, (0, import_log.$gry)(`(pid=${child.pid})`));
85
- return done || reject(import_failure.BuildFailure.fail());
85
+ context.log.error(`Child process exited with code ${code}`, (0, import_logging.$gry)(`(pid=${child.pid})`));
86
+ return done || reject(import_asserts.BuildFailure.fail());
86
87
  } else if (!result) {
87
- context.log.error("Child process exited with no result", (0, import_log.$gry)(`(pid=${child.pid})`));
88
- return done || reject(import_failure.BuildFailure.fail());
88
+ context.log.error("Child process exited with no result", (0, import_logging.$gry)(`(pid=${child.pid})`));
89
+ return done || reject(import_asserts.BuildFailure.fail());
89
90
  } else if (result.failed) {
90
- return done || reject(import_failure.BuildFailure.fail());
91
+ return done || reject(import_asserts.BuildFailure.fail());
91
92
  }
92
93
  return done || resolve(message.filesDir && message.filesList ? import_files.Files.builder(message.filesDir).add(...message.filesList).build() : void 0);
93
94
  });
@@ -95,16 +96,16 @@ var ForkingPlug = class {
95
96
  const result2 = child.send(message, (error) => {
96
97
  if (error) {
97
98
  context.log.error("Error sending message to child process (callback failure)", error);
98
- reject(import_failure.BuildFailure.fail());
99
+ reject(import_asserts.BuildFailure.fail());
99
100
  }
100
101
  });
101
102
  if (!result2) {
102
103
  context.log.error("Error sending message to child process (send returned false)");
103
- reject(import_failure.BuildFailure.fail());
104
+ reject(import_asserts.BuildFailure.fail());
104
105
  }
105
106
  } catch (error) {
106
107
  context.log.error("Error sending message to child process (exception caught)", error);
107
- reject(import_failure.BuildFailure.fail());
108
+ reject(import_asserts.BuildFailure.fail());
108
109
  }
109
110
  }).finally(() => done = true);
110
111
  }
@@ -118,6 +119,7 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
118
119
  clearTimeout(timeout);
119
120
  const {
120
121
  scriptFile,
122
+ exportName,
121
123
  constructorArgs,
122
124
  taskName,
123
125
  buildFile,
@@ -125,19 +127,22 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
125
127
  filesList,
126
128
  logOpts
127
129
  } = message;
128
- Object.assign(import_log.logOptions, logOpts);
130
+ Object.assign(import_logging.logOptions, logOpts);
129
131
  const context = new import_pipe.Context(buildFile, taskName);
130
132
  context.log.debug("Message from parent process", message);
131
133
  const result = (0, import_async.runAsync)(context, taskName, async () => {
132
- (0, import_assert.assert)((0, import_paths.resolveFile)(scriptFile), `Script file ${(0, import_log.$p)(scriptFile)} not found`);
134
+ (0, import_asserts.assert)((0, import_paths.resolveFile)(scriptFile), `Script file ${(0, import_logging.$p)(scriptFile)} not found`);
133
135
  const script = await import(scriptFile);
134
- let Ctor = script;
135
- while (Ctor && typeof Ctor !== "function")
136
- Ctor = Ctor.default;
137
- (0, import_assert.assert)(
138
- typeof Ctor === "function",
139
- `Script ${(0, import_log.$p)(scriptFile)} does not export a default constructor`
140
- );
136
+ let Ctor;
137
+ if (exportName === "default") {
138
+ Ctor = script;
139
+ while (Ctor && typeof Ctor !== "function")
140
+ Ctor = Ctor.default;
141
+ (0, import_asserts.assert)(typeof Ctor === "function", `Script ${(0, import_logging.$p)(scriptFile)} does not export a default constructor`);
142
+ } else {
143
+ Ctor = script[exportName];
144
+ (0, import_asserts.assert)(typeof Ctor === "function", `Script ${(0, import_logging.$p)(scriptFile)} does not export "${exportName}"`);
145
+ }
141
146
  const plug = new Ctor(...constructorArgs);
142
147
  const files = import_files.Files.builder(filesDir).add(...filesList).build();
143
148
  return plug.pipe(files, context);
@@ -162,10 +167,10 @@ if (process.argv[1] === (0, import_paths.requireFilename)(__filename) && process
162
167
  });
163
168
  });
164
169
  }
165
- function installForking(plugName, scriptFile) {
170
+ function installForking(plugName, scriptFile, exportName = "default") {
166
171
  const ctor = class extends ForkingPlug {
167
172
  constructor(...args) {
168
- super(scriptFile, args);
173
+ super(scriptFile, args, exportName);
169
174
  }
170
175
  };
171
176
  (0, import_pipe.install)(plugName, ctor);
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": ["message", "result"]
6
6
  }
package/dist/fork.d.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  import { Files } from './files';
2
2
  import { Context } from './pipe';
3
- import type { LogOptions } from './log';
3
+ import type { LogOptions } from './logging';
4
4
  import type { AbsolutePath } from './paths';
5
5
  import type { Plug, PlugName, PlugResult } from './pipe';
6
6
  /** Fork data, from parent to child process */
7
7
  export interface ForkData {
8
8
  /** Script name for the Plug to execute */
9
9
  scriptFile: AbsolutePath;
10
+ /** Export name in the script for the Plug to execute */
11
+ exportName: string;
10
12
  /** Plug constructor arguments */
11
13
  constructorArgs: any[];
12
14
  /** Task name (for logs) */
@@ -32,7 +34,8 @@ export interface ForkResult {
32
34
  export declare abstract class ForkingPlug implements Plug<PlugResult> {
33
35
  private readonly _scriptFile;
34
36
  private readonly _arguments;
35
- constructor(_scriptFile: AbsolutePath, _arguments: any[]);
37
+ private readonly _exportName;
38
+ constructor(_scriptFile: AbsolutePath, _arguments: any[], _exportName: string);
36
39
  pipe(files: Files, context: Context): Promise<PlugResult>;
37
40
  }
38
41
  /**
@@ -52,4 +55,4 @@ export declare abstract class ForkingPlug implements Plug<PlugResult> {
52
55
  * `scriptFile` specified below. This is to simplify interoperability between
53
56
  * CommonJS and ESM modules as we use dynamic `import(...)` statements.
54
57
  */
55
- export declare function installForking<Name extends PlugName>(plugName: Name, scriptFile: AbsolutePath): void;
58
+ export declare function installForking<Name extends PlugName>(plugName: Name, scriptFile: AbsolutePath, exportName?: string): void;
package/dist/fork.mjs CHANGED
@@ -1,20 +1,21 @@
1
1
  // fork.ts
2
2
  import { fork } from "node:child_process";
3
- import { assert } from "./assert.mjs";
3
+ import { assert, BuildFailure } from "./asserts.mjs";
4
4
  import { runAsync } from "./async.mjs";
5
- import { BuildFailure } from "./failure.mjs";
6
5
  import { Files } from "./files.mjs";
7
- import { $gry, $p, logOptions } from "./log.mjs";
6
+ import { $gry, $p, logOptions } from "./logging.mjs";
8
7
  import { requireFilename, resolveFile } from "./paths.mjs";
9
8
  import { Context, install } from "./pipe.mjs";
10
9
  var ForkingPlug = class {
11
- constructor(_scriptFile, _arguments) {
10
+ constructor(_scriptFile, _arguments, _exportName) {
12
11
  this._scriptFile = _scriptFile;
13
12
  this._arguments = _arguments;
13
+ this._exportName = _exportName;
14
14
  }
15
15
  pipe(files, context) {
16
16
  const message = {
17
17
  scriptFile: this._scriptFile,
18
+ exportName: this._exportName,
18
19
  constructorArgs: this._arguments,
19
20
  taskName: context.taskName,
20
21
  buildFile: context.buildFile,
@@ -93,6 +94,7 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
93
94
  clearTimeout(timeout);
94
95
  const {
95
96
  scriptFile,
97
+ exportName,
96
98
  constructorArgs,
97
99
  taskName,
98
100
  buildFile,
@@ -106,13 +108,16 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
106
108
  const result = runAsync(context, taskName, async () => {
107
109
  assert(resolveFile(scriptFile), `Script file ${$p(scriptFile)} not found`);
108
110
  const script = await import(scriptFile);
109
- let Ctor = script;
110
- while (Ctor && typeof Ctor !== "function")
111
- Ctor = Ctor.default;
112
- assert(
113
- typeof Ctor === "function",
114
- `Script ${$p(scriptFile)} does not export a default constructor`
115
- );
111
+ let Ctor;
112
+ if (exportName === "default") {
113
+ Ctor = script;
114
+ while (Ctor && typeof Ctor !== "function")
115
+ Ctor = Ctor.default;
116
+ assert(typeof Ctor === "function", `Script ${$p(scriptFile)} does not export a default constructor`);
117
+ } else {
118
+ Ctor = script[exportName];
119
+ assert(typeof Ctor === "function", `Script ${$p(scriptFile)} does not export "${exportName}"`);
120
+ }
116
121
  const plug = new Ctor(...constructorArgs);
117
122
  const files = Files.builder(filesDir).add(...filesList).build();
118
123
  return plug.pipe(files, context);
@@ -137,10 +142,10 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
137
142
  });
138
143
  });
139
144
  }
140
- function installForking(plugName, scriptFile) {
145
+ function installForking(plugName, scriptFile, exportName = "default") {
141
146
  const ctor = class extends ForkingPlug {
142
147
  constructor(...args) {
143
- super(scriptFile, args);
148
+ super(scriptFile, args, exportName);
144
149
  }
145
150
  };
146
151
  install(plugName, ctor);
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": "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",
5
5
  "names": ["message", "result"]
6
6
  }
@@ -23,9 +23,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
23
23
  ));
24
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
25
 
26
- // utils/asyncfs.ts
27
- var asyncfs_exports = {};
28
- __export(asyncfs_exports, {
26
+ // fs.ts
27
+ var fs_exports = {};
28
+ __export(fs_exports, {
29
29
  access: () => access,
30
30
  appendFile: () => appendFile,
31
31
  chmod: () => chmod,
@@ -57,9 +57,9 @@ __export(asyncfs_exports, {
57
57
  watch: () => watch,
58
58
  writeFile: () => writeFile
59
59
  });
60
- module.exports = __toCommonJS(asyncfs_exports);
61
- var import_node_fs = require("node:fs");
60
+ module.exports = __toCommonJS(fs_exports);
62
61
  var import_promises = __toESM(require("node:fs/promises"));
62
+ var import_node_fs = require("node:fs");
63
63
  var fs = Object.entries(import_promises.default).reduce((fs2, [key, val]) => {
64
64
  if (typeof val === "function") {
65
65
  const f = function(...args) {
@@ -136,4 +136,4 @@ var fsConstants = import_node_fs.constants;
136
136
  watch,
137
137
  writeFile
138
138
  });
139
- //# sourceMappingURL=asyncfs.cjs.map
139
+ //# sourceMappingURL=fs.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/fs.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAgB;AAChB,qBAA0B;AA0B1B,IAAM,KAAK,OAAO,QAAQ,gBAAAA,OAAU,EAAE,OAAO,CAACC,KAAI,CAAE,KAAK,GAAI,MAAM;AACjE,MAAI,OAAO,QAAQ,YAAY;AAE7B,UAAM,IAAI,YAAY,MAAkB;AAEtC,aAAO,IAAI,MAAM,gBAAAD,SAAK,IAAI,EACrB,MAAgC,CAAC,UAAe;AAE/C,cAAM,kBAAkB,KAAK;AAC7B,cAAM;AAAA,MACR,CAAC;AAAA,IACP;AAGA,WAAO,eAAe,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC;AAE/C,IAAAC,IAAG,OAAO;AAAA,EACZ;AAGA,SAAOA;AACT,GAAG,CAAC,CAAQ;AAIL,IAAM,SAAS,GAAG;AAClB,IAAM,WAAW,GAAG;AACpB,IAAM,KAAK,GAAG;AACd,IAAM,OAAO,GAAG;AAChB,IAAM,UAAU,GAAG;AACnB,IAAM,SAAS,GAAG;AAClB,IAAM,WAAW,GAAG;AACpB,IAAM,KAAK,GAAG;AACd,IAAM,QAAQ,GAAG;AACjB,IAAM,QAAQ,GAAG;AACjB,IAAM,UAAU,GAAG;AACnB,IAAM,WAAW,GAAG;AACpB,IAAM,UAAU,GAAG;AACnB,IAAM,QAAQ,GAAG;AACjB,IAAM,OAAO,GAAG;AAChB,IAAM,OAAO,GAAG;AAChB,IAAM,SAAS,GAAG;AAClB,IAAM,QAAQ,GAAG;AACjB,IAAM,SAAS,GAAG;AAClB,IAAM,SAAS,GAAG;AAClB,IAAM,QAAQ,GAAG;AACjB,IAAM,SAAS,GAAG;AAClB,IAAM,UAAU,GAAG;AACnB,IAAM,WAAW,GAAG;AACpB,IAAM,UAAU,GAAG;AACnB,IAAM,YAAY,GAAG;AACrB,IAAM,aAAa,GAAG;AACtB,IAAM,WAAW,GAAG;AACpB,IAAM,QAAQ,GAAG;AAGjB,IAAM,cAAc;",
5
+ "names": ["fsp", "fs"]
6
+ }
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import { constants } from 'node:fs';
4
3
  import fsp from 'node:fs/promises';
4
+ import { constants } from 'node:fs';
5
5
  export declare const access: typeof fsp.access;
6
6
  export declare const copyFile: typeof fsp.copyFile;
7
7
  export declare const cp: typeof fsp.cp;
@@ -1,6 +1,6 @@
1
- // utils/asyncfs.ts
2
- import { constants } from "node:fs";
1
+ // fs.ts
3
2
  import fsp from "node:fs/promises";
3
+ import { constants } from "node:fs";
4
4
  var fs = Object.entries(fsp).reduce((fs2, [key, val]) => {
5
5
  if (typeof val === "function") {
6
6
  const f = function(...args) {
@@ -76,4 +76,4 @@ export {
76
76
  watch,
77
77
  writeFile
78
78
  };
79
- //# sourceMappingURL=asyncfs.mjs.map
79
+ //# sourceMappingURL=fs.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/fs.ts"],
4
+ "mappings": ";AAAA,OAAO,SAAS;AAChB,SAAS,iBAAiB;AA0B1B,IAAM,KAAK,OAAO,QAAQ,GAAU,EAAE,OAAO,CAACA,KAAI,CAAE,KAAK,GAAI,MAAM;AACjE,MAAI,OAAO,QAAQ,YAAY;AAE7B,UAAM,IAAI,YAAY,MAAkB;AAEtC,aAAO,IAAI,MAAM,KAAK,IAAI,EACrB,MAAgC,CAAC,UAAe;AAE/C,cAAM,kBAAkB,KAAK;AAC7B,cAAM;AAAA,MACR,CAAC;AAAA,IACP;AAGA,WAAO,eAAe,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC;AAE/C,IAAAA,IAAG,OAAO;AAAA,EACZ;AAGA,SAAOA;AACT,GAAG,CAAC,CAAQ;AAIL,IAAM,SAAS,GAAG;AAClB,IAAM,WAAW,GAAG;AACpB,IAAM,KAAK,GAAG;AACd,IAAM,OAAO,GAAG;AAChB,IAAM,UAAU,GAAG;AACnB,IAAM,SAAS,GAAG;AAClB,IAAM,WAAW,GAAG;AACpB,IAAM,KAAK,GAAG;AACd,IAAM,QAAQ,GAAG;AACjB,IAAM,QAAQ,GAAG;AACjB,IAAM,UAAU,GAAG;AACnB,IAAM,WAAW,GAAG;AACpB,IAAM,UAAU,GAAG;AACnB,IAAM,QAAQ,GAAG;AACjB,IAAM,OAAO,GAAG;AAChB,IAAM,OAAO,GAAG;AAChB,IAAM,SAAS,GAAG;AAClB,IAAM,QAAQ,GAAG;AACjB,IAAM,SAAS,GAAG;AAClB,IAAM,SAAS,GAAG;AAClB,IAAM,QAAQ,GAAG;AACjB,IAAM,SAAS,GAAG;AAClB,IAAM,UAAU,GAAG;AACnB,IAAM,WAAW,GAAG;AACpB,IAAM,UAAU,GAAG;AACnB,IAAM,YAAY,GAAG;AACrB,IAAM,aAAa,GAAG;AACtB,IAAM,WAAW,GAAG;AACpB,IAAM,QAAQ,GAAG;AAGjB,IAAM,cAAc;",
5
+ "names": ["fs"]
6
+ }
package/dist/helpers.cjs CHANGED
@@ -20,28 +20,34 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // helpers.ts
21
21
  var helpers_exports = {};
22
22
  __export(helpers_exports, {
23
+ exec: () => exec,
23
24
  find: () => find,
24
25
  isDirectory: () => isDirectory,
25
26
  isFile: () => isFile,
26
27
  merge: () => merge,
28
+ mkdtemp: () => mkdtemp,
27
29
  noop: () => noop,
28
30
  resolve: () => resolve,
29
31
  rmrf: () => rmrf
30
32
  });
31
33
  module.exports = __toCommonJS(helpers_exports);
32
- var import_assert = require("./assert.cjs");
34
+ var import_node_os = require("node:os");
35
+ var import_node_path = require("node:path");
36
+ var import_node_fs = require("node:fs");
37
+ var import_asserts = require("./asserts.cjs");
33
38
  var import_async = require("./async.cjs");
34
39
  var import_files = require("./files.cjs");
35
- var import_log = require("./log.cjs");
40
+ var import_fs = require("./fs.cjs");
41
+ var import_logging = require("./logging.cjs");
36
42
  var import_paths = require("./paths.cjs");
37
43
  var import_pipe = require("./pipe.cjs");
38
- var import_asyncfs = require("./utils/asyncfs.cjs");
44
+ var import_exec = require("./utils/exec.cjs");
39
45
  var import_options = require("./utils/options.cjs");
40
46
  var import_walk = require("./utils/walk.cjs");
41
47
  function find(...args) {
42
48
  const { params: globs, options } = (0, import_options.parseOptions)(args, {});
43
49
  const context = (0, import_async.requireContext)();
44
- return new import_pipe.Pipe(context, Promise.resolve().then(async () => {
50
+ return new import_pipe.PipeImpl(context, Promise.resolve().then(async () => {
45
51
  const directory = options.directory ? context.resolve(options.directory) : (0, import_paths.getCurrentWorkingDirectory)();
46
52
  const builder = import_files.Files.builder(directory);
47
53
  for await (const file of (0, import_walk.walk)(directory, globs, options)) {
@@ -53,27 +59,27 @@ function find(...args) {
53
59
  async function rmrf(directory) {
54
60
  const context = (0, import_async.requireContext)();
55
61
  const dir = context.resolve(directory);
56
- (0, import_assert.assert)(
62
+ (0, import_asserts.assert)(
57
63
  dir !== (0, import_paths.getCurrentWorkingDirectory)(),
58
- `Cowardly refusing to wipe current working directory ${(0, import_log.$p)(dir)}`
64
+ `Cowardly refusing to wipe current working directory ${(0, import_logging.$p)(dir)}`
59
65
  );
60
- (0, import_assert.assert)(
66
+ (0, import_asserts.assert)(
61
67
  dir !== context.resolve("@"),
62
- `Cowardly refusing to wipe build file directory ${(0, import_log.$p)(dir)}`
68
+ `Cowardly refusing to wipe build file directory ${(0, import_logging.$p)(dir)}`
63
69
  );
64
70
  if (!(0, import_paths.resolveDirectory)(dir)) {
65
- import_log.log.info("Directory", (0, import_log.$p)(dir), "not found");
71
+ import_logging.log.info("Directory", (0, import_logging.$p)(dir), "not found");
66
72
  return;
67
73
  }
68
- import_log.log.notice("Removing directory", (0, import_log.$p)(dir), "recursively");
69
- await (0, import_asyncfs.rm)(dir, { recursive: true });
74
+ import_logging.log.notice("Removing directory", (0, import_logging.$p)(dir), "recursively");
75
+ await (0, import_fs.rm)(dir, { recursive: true });
70
76
  }
71
77
  function merge(pipes) {
72
78
  const context = (0, import_async.requireContext)();
73
- return new import_pipe.Pipe(context, Promise.resolve().then(async () => {
79
+ return new import_pipe.PipeImpl(context, Promise.resolve().then(async () => {
74
80
  if (pipes.length === 0)
75
81
  return import_files.Files.builder((0, import_paths.getCurrentWorkingDirectory)()).build();
76
- const results = await (0, import_assert.assertPromises)(pipes);
82
+ const results = await (0, import_asserts.assertPromises)(pipes);
77
83
  const [firstDir, ...otherDirs] = results.map((f) => f.directory);
78
84
  const directory = (0, import_paths.commonPath)(firstDir, ...otherDirs);
79
85
  return import_files.Files.builder(directory).merge(...results).build();
@@ -82,7 +88,7 @@ function merge(pipes) {
82
88
  function noop() {
83
89
  const context = (0, import_async.requireContext)();
84
90
  const files = new import_files.Files((0, import_paths.getCurrentWorkingDirectory)());
85
- return new import_pipe.Pipe(context, Promise.resolve(files));
91
+ return new import_pipe.PipeImpl(context, Promise.resolve(files));
86
92
  }
87
93
  function resolve(...paths) {
88
94
  return (0, import_async.requireContext)().resolve(...paths);
@@ -95,12 +101,23 @@ function isDirectory(...paths) {
95
101
  const path = (0, import_async.requireContext)().resolve(...paths);
96
102
  return (0, import_paths.resolveDirectory)(path);
97
103
  }
104
+ function mkdtemp() {
105
+ const prefix = (0, import_node_path.join)((0, import_node_os.tmpdir)(), "plugjs-");
106
+ const path = (0, import_node_fs.mkdtempSync)(prefix);
107
+ return resolve(path);
108
+ }
109
+ function exec(cmd, ...args) {
110
+ const { params, options } = (0, import_options.parseOptions)(args);
111
+ return (0, import_exec.execChild)(cmd, params, options, (0, import_async.requireContext)());
112
+ }
98
113
  // Annotate the CommonJS export names for ESM import in node:
99
114
  0 && (module.exports = {
115
+ exec,
100
116
  find,
101
117
  isDirectory,
102
118
  isFile,
103
119
  merge,
120
+ mkdtemp,
104
121
  noop,
105
122
  resolve,
106
123
  rmrf
@@ -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,oBAAuC;AACvC,mBAA+B;AAC/B,mBAAsB;AACtB,iBAAwB;AACxB,mBAAsF;AACtF,kBAAqB;AACrB,qBAAmB;AACnB,qBAA6B;AAC7B,kBAAqB;AAyBd,SAAS,QAAQ,MAAuC;AAC7D,QAAM,EAAE,QAAQ,OAAO,QAAQ,QAAI,6BAAa,MAAM,CAAC,CAAC;AAExD,QAAM,cAAU,6BAAe;AAC/B,SAAO,IAAI,iBAAK,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAC1D,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,eAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,QAAQ,QAAQ,GAAG;AAAA,IAC9B,sDAAkD,eAAG,GAAG;AAAA,EAAG;AAE/D,MAAI,KAAE,+BAAiB,GAAG,GAAG;AAC3B,mBAAI,KAAK,iBAAa,eAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,iBAAI,OAAO,0BAAsB,eAAG,GAAG,GAAG,aAAa;AACvD,YAAM,mBAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAiBO,SAAS,MAAM,OAAgD;AACpE,QAAM,cAAU,6BAAe;AAC/B,SAAO,IAAI,iBAAK,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAE1D,QAAI,MAAM,WAAW;AAAG,aAAO,mBAAM,YAAQ,yCAA2B,CAAC,EAAE,MAAM;AAGjF,UAAM,UAAU,UAAM,8BAAsB,KAAK;AAGjD,UAAM,CAAE,aAAa,SAAU,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,SAAS;AACjE,UAAM,gBAAY,yBAAW,UAAU,GAAG,SAAS;AAGnD,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,iBAAK,SAAS,QAAQ,QAAQ,KAAK,CAAC;AACjD;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;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAuB;AACvB,uBAAqB;AACrB,qBAA4B;AAE5B,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;AAGjD,UAAM,CAAE,aAAa,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;",
5
5
  "names": []
6
6
  }
package/dist/helpers.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Files } from './files';
2
- import { Pipe } from './pipe';
2
+ import type { Pipe } from './index';
3
3
  import type { AbsolutePath } from './paths';
4
+ import type { ExecChildOptions } from './utils/exec';
4
5
  import type { WalkOptions } from './utils/walk';
5
6
  /** The {@link FindOptions} interface defines the options for finding files. */
6
7
  export interface FindOptions extends WalkOptions {
@@ -71,3 +72,31 @@ export declare function isFile(...paths: [string, ...string[]]): AbsolutePath |
71
72
  * See the comments on {@link resolve} to understand how paths are resolved.
72
73
  */
73
74
  export declare function isDirectory(...paths: [string, ...string[]]): AbsolutePath | undefined;
75
+ /**
76
+ * Create a temporary directory and return its {@link AbsolutePath}.
77
+ *
78
+ * The directory will be rooted in `/tmp` or wherever `os.tmpdir()` decides.
79
+ */
80
+ export declare function mkdtemp(): AbsolutePath;
81
+ /**
82
+ * Execute a command and await for its result from within a task.
83
+ *
84
+ * For example:
85
+ *
86
+ * ```
87
+ * import { exec } from '@plugjs/plugjs'
88
+ *
89
+ * export default build({
90
+ * async runme() {
91
+ * await exec('ls', '-la', '/')
92
+ * // or similarly letting the shell interpret the command
93
+ * await exec('ls -la /', { shell: true })
94
+ * },
95
+ * })
96
+ * ```
97
+ *
98
+ * @param cmd The command to execute
99
+ * @param args Any additional argument for the command to execute
100
+ * @param options Extra {@link ExecChildOptions | options} for process execution
101
+ */
102
+ export declare function exec(cmd: string, ...args: [...args: string[]] | [...args: string[], options: ExecChildOptions]): Promise<void>;
package/dist/helpers.mjs CHANGED
@@ -1,17 +1,21 @@
1
1
  // helpers.ts
2
- import { assert, assertPromises } from "./assert.mjs";
2
+ import { tmpdir } from "node:os";
3
+ import { join } from "node:path";
4
+ import { mkdtempSync } from "node:fs";
5
+ import { assert, assertPromises } from "./asserts.mjs";
3
6
  import { requireContext } from "./async.mjs";
4
7
  import { Files } from "./files.mjs";
5
- import { $p, log } from "./log.mjs";
8
+ import { rm } from "./fs.mjs";
9
+ import { $p, log } from "./logging.mjs";
6
10
  import { commonPath, getCurrentWorkingDirectory, resolveDirectory, resolveFile } from "./paths.mjs";
7
- import { Pipe } from "./pipe.mjs";
8
- import { rm } from "./utils/asyncfs.mjs";
11
+ import { PipeImpl } from "./pipe.mjs";
12
+ import { execChild } from "./utils/exec.mjs";
9
13
  import { parseOptions } from "./utils/options.mjs";
10
14
  import { walk } from "./utils/walk.mjs";
11
15
  function find(...args) {
12
16
  const { params: globs, options } = parseOptions(args, {});
13
17
  const context = requireContext();
14
- return new Pipe(context, Promise.resolve().then(async () => {
18
+ return new PipeImpl(context, Promise.resolve().then(async () => {
15
19
  const directory = options.directory ? context.resolve(options.directory) : getCurrentWorkingDirectory();
16
20
  const builder = Files.builder(directory);
17
21
  for await (const file of walk(directory, globs, options)) {
@@ -40,7 +44,7 @@ async function rmrf(directory) {
40
44
  }
41
45
  function merge(pipes) {
42
46
  const context = requireContext();
43
- return new Pipe(context, Promise.resolve().then(async () => {
47
+ return new PipeImpl(context, Promise.resolve().then(async () => {
44
48
  if (pipes.length === 0)
45
49
  return Files.builder(getCurrentWorkingDirectory()).build();
46
50
  const results = await assertPromises(pipes);
@@ -52,7 +56,7 @@ function merge(pipes) {
52
56
  function noop() {
53
57
  const context = requireContext();
54
58
  const files = new Files(getCurrentWorkingDirectory());
55
- return new Pipe(context, Promise.resolve(files));
59
+ return new PipeImpl(context, Promise.resolve(files));
56
60
  }
57
61
  function resolve(...paths) {
58
62
  return requireContext().resolve(...paths);
@@ -65,11 +69,22 @@ function isDirectory(...paths) {
65
69
  const path = requireContext().resolve(...paths);
66
70
  return resolveDirectory(path);
67
71
  }
72
+ function mkdtemp() {
73
+ const prefix = join(tmpdir(), "plugjs-");
74
+ const path = mkdtempSync(prefix);
75
+ return resolve(path);
76
+ }
77
+ function exec(cmd, ...args) {
78
+ const { params, options } = parseOptions(args);
79
+ return execChild(cmd, params, options, requireContext());
80
+ }
68
81
  export {
82
+ exec,
69
83
  find,
70
84
  isDirectory,
71
85
  isFile,
72
86
  merge,
87
+ mkdtemp,
73
88
  noop,
74
89
  resolve,
75
90
  rmrf
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/helpers.ts"],
4
- "mappings": ";AAAA,SAAS,QAAQ,sBAAsB;AACvC,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,IAAI,WAAW;AACxB,SAAS,YAAY,4BAA4B,kBAAkB,mBAAmB;AACtF,SAAS,YAAY;AACrB,SAAS,UAAU;AACnB,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AAyBd,SAAS,QAAQ,MAAuC;AAC7D,QAAM,EAAE,QAAQ,OAAO,QAAQ,IAAI,aAAa,MAAM,CAAC,CAAC;AAExD,QAAM,UAAU,eAAe;AAC/B,SAAO,IAAI,KAAK,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAC1D,UAAM,YAAY,QAAQ,YACxB,QAAQ,QAAQ,QAAQ,SAAS,IACjC,2BAA2B;AAE7B,UAAM,UAAU,MAAM,QAAQ,SAAS;AACvC,qBAAiB,QAAQ,KAAK,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,UAAU,eAAe;AAC/B,QAAM,MAAM,QAAQ,QAAQ,SAAS;AAErC;AAAA,IAAO,QAAQ,2BAA2B;AAAA,IACtC,uDAAuD,GAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,QAAQ,QAAQ,GAAG;AAAA,IAC9B,kDAAkD,GAAG,GAAG;AAAA,EAAG;AAE/D,MAAI,CAAE,iBAAiB,GAAG,GAAG;AAC3B,QAAI,KAAK,aAAa,GAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,MAAI,OAAO,sBAAsB,GAAG,GAAG,GAAG,aAAa;AACvD,QAAM,GAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAiBO,SAAS,MAAM,OAAgD;AACpE,QAAM,UAAU,eAAe;AAC/B,SAAO,IAAI,KAAK,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAE1D,QAAI,MAAM,WAAW;AAAG,aAAO,MAAM,QAAQ,2BAA2B,CAAC,EAAE,MAAM;AAGjF,UAAM,UAAU,MAAM,eAAsB,KAAK;AAGjD,UAAM,CAAE,aAAa,SAAU,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,SAAS;AACjE,UAAM,YAAY,WAAW,UAAU,GAAG,SAAS;AAGnD,WAAO,MAAM,QAAQ,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM;AAAA,EAC1D,CAAC,CAAC;AACJ;AAgBO,SAAS,OAAa;AAC3B,QAAM,UAAU,eAAe;AAC/B,QAAM,QAAQ,IAAI,MAAM,2BAA2B,CAAC;AACpD,SAAO,IAAI,KAAK,SAAS,QAAQ,QAAQ,KAAK,CAAC;AACjD;AAUO,SAAS,WAAW,OAA8C;AACvE,SAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC1C;AAOO,SAAS,UAAU,OAA0D;AAClF,QAAM,OAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,SAAO,YAAY,IAAI;AACzB;AAOO,SAAS,eAAe,OAA0D;AACvF,QAAM,OAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,SAAO,iBAAiB,IAAI;AAC9B;",
4
+ "mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAE5B,SAAS,QAAQ,sBAAsB;AACvC,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,UAAU;AACnB,SAAS,IAAI,WAAW;AACxB,SAAS,YAAY,4BAA4B,kBAAkB,mBAAmB;AACtF,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AA2Bd,SAAS,QAAQ,MAAuC;AAC7D,QAAM,EAAE,QAAQ,OAAO,QAAQ,IAAI,aAAa,MAAM,CAAC,CAAC;AAExD,QAAM,UAAU,eAAe;AAC/B,SAAO,IAAI,SAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAC9D,UAAM,YAAY,QAAQ,YACxB,QAAQ,QAAQ,QAAQ,SAAS,IACjC,2BAA2B;AAE7B,UAAM,UAAU,MAAM,QAAQ,SAAS;AACvC,qBAAiB,QAAQ,KAAK,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,UAAU,eAAe;AAC/B,QAAM,MAAM,QAAQ,QAAQ,SAAS;AAErC;AAAA,IAAO,QAAQ,2BAA2B;AAAA,IACtC,uDAAuD,GAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,QAAQ,QAAQ,GAAG;AAAA,IAC9B,kDAAkD,GAAG,GAAG;AAAA,EAAG;AAG/D,MAAI,CAAE,iBAAiB,GAAG,GAAG;AAC3B,QAAI,KAAK,aAAa,GAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,MAAI,OAAO,sBAAsB,GAAG,GAAG,GAAG,aAAa;AACvD,QAAM,GAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAiBO,SAAS,MAAM,OAAgD;AACpE,QAAM,UAAU,eAAe;AAC/B,SAAO,IAAI,SAAS,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAE9D,QAAI,MAAM,WAAW;AAAG,aAAO,MAAM,QAAQ,2BAA2B,CAAC,EAAE,MAAM;AAGjF,UAAM,UAAU,MAAM,eAAsB,KAAK;AAGjD,UAAM,CAAE,aAAa,SAAU,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,SAAS;AACjE,UAAM,YAAY,WAAW,UAAW,GAAG,SAAS;AAGpD,WAAO,MAAM,QAAQ,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM;AAAA,EAC1D,CAAC,CAAC;AACJ;AAgBO,SAAS,OAAa;AAC3B,QAAM,UAAU,eAAe;AAC/B,QAAM,QAAQ,IAAI,MAAM,2BAA2B,CAAC;AACpD,SAAO,IAAI,SAAS,SAAS,QAAQ,QAAQ,KAAK,CAAC;AACrD;AAUO,SAAS,WAAW,OAA8C;AACvE,SAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC1C;AAOO,SAAS,UAAU,OAA0D;AAClF,QAAM,OAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,SAAO,YAAY,IAAI;AACzB;AAOO,SAAS,eAAe,OAA0D;AACvF,QAAM,OAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,SAAO,iBAAiB,IAAI;AAC9B;AAOO,SAAS,UAAwB;AACtC,QAAM,SAAS,KAAK,OAAO,GAAG,SAAS;AACvC,QAAM,OAAO,YAAY,MAAM;AAC/B,SAAO,QAAQ,IAAI;AACrB;AAuBO,SAAS,KACZ,QACG,MACU;AACf,QAAM,EAAE,QAAQ,QAAQ,IAAI,aAAa,IAAI;AAC7C,SAAO,UAAU,KAAK,QAAQ,SAAS,eAAe,CAAC;AACzD;",
5
5
  "names": []
6
6
  }