@plugjs/plug 0.0.12 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/{types → dist}/assert.d.ts +0 -0
  2. package/dist/async.cjs +20 -19
  3. package/dist/async.cjs.map +1 -1
  4. package/dist/async.d.ts +20 -0
  5. package/dist/async.mjs +18 -17
  6. package/dist/async.mjs.map +1 -1
  7. package/dist/build.cjs +144 -110
  8. package/dist/build.cjs.map +2 -2
  9. package/dist/build.d.ts +12 -0
  10. package/dist/build.mjs +146 -112
  11. package/dist/build.mjs.map +2 -2
  12. package/dist/files.cjs +2 -16
  13. package/dist/files.cjs.map +1 -1
  14. package/{types → dist}/files.d.ts +3 -10
  15. package/dist/files.mjs +3 -17
  16. package/dist/files.mjs.map +1 -1
  17. package/dist/fork.cjs +28 -40
  18. package/dist/fork.cjs.map +1 -1
  19. package/dist/fork.d.ts +36 -0
  20. package/dist/fork.mjs +29 -40
  21. package/dist/fork.mjs.map +1 -1
  22. package/dist/helpers.cjs +61 -63
  23. package/dist/helpers.cjs.map +2 -2
  24. package/dist/helpers.d.ts +21 -0
  25. package/dist/helpers.mjs +61 -64
  26. package/dist/helpers.mjs.map +2 -2
  27. package/dist/index.cjs +3 -2
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.ts +10 -0
  30. package/dist/index.mjs +3 -2
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/log/colors.cjs +3 -1
  33. package/dist/log/colors.cjs.map +1 -1
  34. package/{types → dist}/log/colors.d.ts +2 -2
  35. package/dist/log/colors.mjs +3 -1
  36. package/dist/log/colors.mjs.map +1 -1
  37. package/{types → dist}/log/emit.d.ts +1 -1
  38. package/{types → dist}/log/levels.d.ts +0 -0
  39. package/dist/log/logger.cjs +4 -0
  40. package/dist/log/logger.cjs.map +1 -1
  41. package/{types → dist}/log/logger.d.ts +4 -1
  42. package/dist/log/logger.mjs +4 -0
  43. package/dist/log/logger.mjs.map +1 -1
  44. package/{types → dist}/log/options.d.ts +1 -1
  45. package/dist/log/report.cjs +4 -13
  46. package/dist/log/report.cjs.map +1 -1
  47. package/{types → dist}/log/report.d.ts +36 -4
  48. package/dist/log/report.mjs +3 -12
  49. package/dist/log/report.mjs.map +1 -1
  50. package/{types → dist}/log/spinner.d.ts +0 -0
  51. package/dist/log.cjs +1 -1
  52. package/dist/log.cjs.map +1 -1
  53. package/{types → dist}/log.d.ts +6 -6
  54. package/dist/log.mjs +2 -2
  55. package/dist/log.mjs.map +1 -1
  56. package/{types → dist}/paths.d.ts +0 -0
  57. package/dist/pipe.cjs +41 -34
  58. package/dist/pipe.cjs.map +1 -1
  59. package/dist/pipe.d.ts +182 -0
  60. package/dist/pipe.mjs +38 -32
  61. package/dist/pipe.mjs.map +1 -1
  62. package/dist/plugs/copy.cjs +15 -25
  63. package/dist/plugs/copy.cjs.map +2 -2
  64. package/dist/plugs/copy.d.ts +28 -0
  65. package/dist/plugs/copy.mjs +15 -17
  66. package/dist/plugs/copy.mjs.map +2 -2
  67. package/{types → dist}/plugs/coverage/analysis.d.ts +2 -2
  68. package/dist/plugs/coverage/report.cjs +4 -2
  69. package/dist/plugs/coverage/report.cjs.map +1 -1
  70. package/{types → dist}/plugs/coverage/report.d.ts +3 -3
  71. package/dist/plugs/coverage/report.mjs +4 -2
  72. package/dist/plugs/coverage/report.mjs.map +1 -1
  73. package/dist/plugs/coverage.cjs +23 -27
  74. package/dist/plugs/coverage.cjs.map +1 -1
  75. package/dist/plugs/coverage.d.ts +49 -0
  76. package/dist/plugs/coverage.mjs +24 -20
  77. package/dist/plugs/coverage.mjs.map +1 -1
  78. package/dist/plugs/debug.cjs +8 -37
  79. package/dist/plugs/debug.cjs.map +1 -1
  80. package/dist/plugs/debug.d.ts +7 -0
  81. package/dist/plugs/debug.mjs +24 -20
  82. package/dist/plugs/debug.mjs.map +1 -1
  83. package/{types → dist}/plugs/esbuild/bundle-locals.d.ts +0 -0
  84. package/{types → dist}/plugs/esbuild/fix-extensions.d.ts +0 -0
  85. package/dist/plugs/esbuild/fix-extensions.mjs +1 -1
  86. package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
  87. package/dist/plugs/esbuild.cjs +14 -25
  88. package/dist/plugs/esbuild.cjs.map +1 -1
  89. package/dist/plugs/esbuild.d.ts +18 -0
  90. package/dist/plugs/esbuild.mjs +14 -17
  91. package/dist/plugs/esbuild.mjs.map +1 -1
  92. package/dist/plugs/eslint/runner.cjs +5 -6
  93. package/dist/plugs/eslint/runner.cjs.map +1 -1
  94. package/dist/plugs/eslint/runner.d.ts +8 -0
  95. package/dist/plugs/eslint/runner.mjs +6 -7
  96. package/dist/plugs/eslint/runner.mjs.map +1 -1
  97. package/dist/{task.cjs → plugs/eslint.cjs} +7 -24
  98. package/dist/plugs/eslint.cjs.map +6 -0
  99. package/dist/plugs/eslint.d.ts +34 -0
  100. package/dist/plugs/eslint.mjs +5 -0
  101. package/dist/plugs/eslint.mjs.map +6 -0
  102. package/dist/plugs/exec.cjs +20 -24
  103. package/dist/plugs/exec.cjs.map +1 -1
  104. package/dist/plugs/exec.d.ts +90 -0
  105. package/dist/plugs/exec.mjs +20 -23
  106. package/dist/plugs/exec.mjs.map +1 -1
  107. package/dist/plugs/filter.cjs +9 -19
  108. package/dist/plugs/filter.cjs.map +1 -1
  109. package/dist/plugs/filter.d.ts +29 -0
  110. package/dist/plugs/filter.mjs +10 -12
  111. package/dist/plugs/filter.mjs.map +1 -1
  112. package/dist/plugs/mocha/reporter.cjs +19 -6
  113. package/dist/plugs/mocha/reporter.cjs.map +1 -1
  114. package/{types → dist}/plugs/mocha/reporter.d.ts +0 -2
  115. package/dist/plugs/mocha/reporter.mjs +18 -4
  116. package/dist/plugs/mocha/reporter.mjs.map +1 -1
  117. package/dist/plugs/mocha/runner.cjs +4 -5
  118. package/dist/plugs/mocha/runner.cjs.map +1 -1
  119. package/dist/plugs/mocha/runner.d.ts +8 -0
  120. package/dist/plugs/mocha/runner.mjs +5 -6
  121. package/dist/plugs/mocha/runner.mjs.map +1 -1
  122. package/dist/plugs/mocha.cjs +22 -0
  123. package/dist/plugs/mocha.cjs.map +6 -0
  124. package/{types/plugs/mocha/runner.d.ts → dist/plugs/mocha.d.ts} +9 -8
  125. package/dist/plugs/mocha.mjs +5 -0
  126. package/dist/plugs/mocha.mjs.map +6 -0
  127. package/dist/plugs/rmf.cjs +4 -32
  128. package/dist/plugs/rmf.cjs.map +1 -1
  129. package/dist/plugs/rmf.d.ts +11 -0
  130. package/dist/plugs/rmf.mjs +25 -20
  131. package/dist/plugs/rmf.mjs.map +1 -1
  132. package/{types → dist}/plugs/tsc/compiler.d.ts +1 -1
  133. package/{types → dist}/plugs/tsc/options.d.ts +1 -1
  134. package/{types → dist}/plugs/tsc/report.d.ts +2 -2
  135. package/dist/plugs/tsc/runner.cjs +12 -11
  136. package/dist/plugs/tsc/runner.cjs.map +1 -1
  137. package/dist/plugs/tsc/runner.d.ts +8 -0
  138. package/dist/plugs/tsc/runner.mjs +12 -11
  139. package/dist/plugs/tsc/runner.mjs.map +1 -1
  140. package/dist/plugs/tsc.cjs +7 -0
  141. package/dist/plugs/tsc.cjs.map +6 -0
  142. package/dist/plugs/tsc.d.ts +36 -0
  143. package/dist/plugs/tsc.mjs +15 -0
  144. package/dist/plugs/tsc.mjs.map +6 -0
  145. package/dist/plugs.cjs +3 -5
  146. package/dist/plugs.cjs.map +1 -1
  147. package/dist/plugs.d.ts +10 -0
  148. package/dist/plugs.mjs +3 -5
  149. package/dist/plugs.mjs.map +1 -1
  150. package/dist/types.cjs +19 -0
  151. package/dist/types.cjs.map +6 -0
  152. package/dist/types.d.ts +72 -0
  153. package/dist/types.mjs +1 -0
  154. package/dist/types.mjs.map +6 -0
  155. package/{types → dist}/utils/asyncfs.d.ts +0 -0
  156. package/dist/utils/caller.cjs +8 -11
  157. package/dist/utils/caller.cjs.map +2 -2
  158. package/dist/utils/caller.d.ts +2 -0
  159. package/dist/utils/caller.mjs +8 -11
  160. package/dist/utils/caller.mjs.map +2 -2
  161. package/{types → dist}/utils/match.d.ts +0 -0
  162. package/dist/utils/options.cjs +4 -6
  163. package/dist/utils/options.cjs.map +1 -1
  164. package/dist/utils/options.d.ts +16 -0
  165. package/dist/utils/options.mjs +4 -6
  166. package/dist/utils/options.mjs.map +1 -1
  167. package/{types → dist}/utils/walk.d.ts +2 -2
  168. package/extra/cli.mjs +31 -20
  169. package/extra/ts-loader.mjs +6 -5
  170. package/package.json +10 -10
  171. package/src/async.ts +27 -19
  172. package/src/files.ts +6 -30
  173. package/src/fork.ts +35 -76
  174. package/src/helpers.ts +89 -101
  175. package/src/index.ts +10 -15
  176. package/src/log/colors.ts +4 -3
  177. package/src/log/emit.ts +4 -4
  178. package/src/log/logger.ts +12 -4
  179. package/src/log/options.ts +1 -1
  180. package/src/log/report.ts +10 -24
  181. package/src/log/spinner.ts +3 -3
  182. package/src/log.ts +9 -9
  183. package/src/paths.ts +1 -1
  184. package/src/pipe.ts +191 -178
  185. package/src/plugs/copy.ts +40 -31
  186. package/src/plugs/coverage/analysis.ts +4 -4
  187. package/src/plugs/coverage/report.ts +9 -6
  188. package/src/plugs/coverage.ts +68 -55
  189. package/src/plugs/debug.ts +22 -27
  190. package/src/plugs/esbuild/fix-extensions.ts +2 -2
  191. package/src/plugs/esbuild.ts +42 -46
  192. package/src/plugs/eslint/runner.ts +16 -31
  193. package/src/plugs/eslint.ts +42 -0
  194. package/src/plugs/exec.ts +93 -82
  195. package/src/plugs/filter.ts +42 -27
  196. package/src/plugs/mocha/reporter.ts +19 -5
  197. package/src/plugs/mocha/runner.ts +12 -38
  198. package/src/plugs/mocha.ts +41 -0
  199. package/src/plugs/rmf.ts +21 -25
  200. package/src/plugs/tsc/compiler.ts +1 -1
  201. package/src/plugs/tsc/options.ts +2 -2
  202. package/src/plugs/tsc/report.ts +2 -2
  203. package/src/plugs/tsc/runner.ts +24 -30
  204. package/src/plugs/tsc.ts +45 -0
  205. package/src/plugs.ts +10 -25
  206. package/src/types.ts +123 -0
  207. package/src/utils/caller.ts +11 -22
  208. package/src/utils/options.ts +49 -17
  209. package/src/utils/walk.ts +4 -4
  210. package/dist/run.cjs +0 -90
  211. package/dist/run.cjs.map +0 -6
  212. package/dist/run.mjs +0 -65
  213. package/dist/run.mjs.map +0 -6
  214. package/dist/task.cjs.map +0 -6
  215. package/dist/task.mjs +0 -14
  216. package/dist/task.mjs.map +0 -6
  217. package/src/run.ts +0 -159
  218. package/src/task.ts +0 -26
  219. package/types/async.d.ts +0 -20
  220. package/types/build.d.ts +0 -56
  221. package/types/fork.d.ts +0 -57
  222. package/types/helpers.d.ts +0 -43
  223. package/types/index.d.ts +0 -14
  224. package/types/pipe.d.ts +0 -152
  225. package/types/plugs/copy.d.ts +0 -27
  226. package/types/plugs/coverage.d.ts +0 -46
  227. package/types/plugs/debug.d.ts +0 -14
  228. package/types/plugs/esbuild.d.ts +0 -23
  229. package/types/plugs/eslint/runner.d.ts +0 -22
  230. package/types/plugs/exec.d.ts +0 -90
  231. package/types/plugs/filter.d.ts +0 -23
  232. package/types/plugs/rmf.d.ts +0 -15
  233. package/types/plugs/tsc/runner.d.ts +0 -13
  234. package/types/plugs.d.ts +0 -17
  235. package/types/run.d.ts +0 -89
  236. package/types/task.d.ts +0 -15
  237. package/types/utils/caller.d.ts +0 -7
  238. package/types/utils/options.d.ts +0 -15
@@ -2,23 +2,24 @@
2
2
  import { build } from "esbuild";
3
3
  import { basename } from "node:path";
4
4
  import { assert } from "../assert.mjs";
5
+ import { Files } from "../files.mjs";
5
6
  import { $p, ERROR, WARN } from "../log.mjs";
6
7
  import { getAbsoluteParent, resolveAbsolutePath } from "../paths.mjs";
7
8
  import { install } from "../pipe.mjs";
8
9
  import { readFile } from "../utils/asyncfs.mjs";
9
10
  export * from "./esbuild/bundle-locals.mjs";
10
11
  export * from "./esbuild/fix-extensions.mjs";
11
- var ESBuild = class {
12
+ install("esbuild", class ESBuild {
12
13
  constructor(_options) {
13
14
  this._options = _options;
14
15
  }
15
- async pipe(files, run) {
16
+ async pipe(files, context) {
16
17
  const entryPoints = [...files];
17
18
  const absWorkingDir = files.directory;
18
19
  const options = {
19
20
  platform: "node",
20
21
  target: `node${process.versions["node"].split(".")[0]}`,
21
- format: this._options.format || await _moduleFormat(files.directory, run.log),
22
+ format: this._options.format || await _moduleFormat(files.directory, context.log),
22
23
  outbase: absWorkingDir,
23
24
  ...this._options,
24
25
  absWorkingDir,
@@ -29,24 +30,24 @@ var ESBuild = class {
29
30
  assert(!(options.outdir && options.outfile), 'Options "outfile" and "outdir" can not coexist');
30
31
  let builder;
31
32
  if (options.bundle && options.outfile && entryPoints.length === 1) {
32
- builder = run.files(absWorkingDir);
33
+ builder = Files.builder(absWorkingDir);
33
34
  const outputFile = resolveAbsolutePath(absWorkingDir, options.outfile);
34
35
  const entryPoint = resolveAbsolutePath(absWorkingDir, entryPoints[0]);
35
36
  options.outfile = outputFile;
36
- run.log.debug("Bundling", $p(entryPoint), "into", $p(outputFile));
37
+ context.log.debug("Bundling", $p(entryPoint), "into", $p(outputFile));
37
38
  } else {
38
39
  assert(options.outdir, 'Option "outdir" must be specified');
39
- builder = run.files(options.outdir);
40
+ builder = Files.builder(context.resolve(options.outdir));
40
41
  options.outdir = builder.directory;
41
42
  const message = options.bundle ? "Bundling" : "Transpiling";
42
- run.log.debug(message, entryPoints.length, "files to", $p(builder.directory));
43
+ context.log.debug(message, entryPoints.length, "files to", $p(builder.directory));
43
44
  }
44
- const report = run.report("ESBuild Report");
45
- run.log.trace("Running ESBuild", options);
45
+ const report = context.log.report("ESBuild Report");
46
+ context.log.trace("Running ESBuild", options);
46
47
  let esbuild;
47
48
  try {
48
49
  esbuild = await build({ ...options, metafile: true });
49
- run.log.trace("ESBuild Results", esbuild);
50
+ context.log.trace("ESBuild Results", esbuild);
50
51
  report.add(...esbuild.warnings.map((m) => convertMessage(WARN, m, absWorkingDir)));
51
52
  report.add(...esbuild.errors.map((m) => convertMessage(ERROR, m, absWorkingDir)));
52
53
  } catch (error) {
@@ -60,13 +61,13 @@ var ESBuild = class {
60
61
  report.done();
61
62
  assert(esbuild, "ESBuild did not produce any result");
62
63
  for (const file in esbuild.metafile.outputs) {
63
- builder.unchecked(resolveAbsolutePath(absWorkingDir, file));
64
+ builder.add(resolveAbsolutePath(absWorkingDir, file));
64
65
  }
65
66
  const result = builder.build();
66
- run.log.info("ESBuild produced", result.length, "files into", $p(result.directory));
67
+ context.log.info("ESBuild produced", result.length, "files into", $p(result.directory));
67
68
  return result;
68
69
  }
69
- };
70
+ });
70
71
  function convertMessage(level, message, directory) {
71
72
  const record = { level, message: message.text };
72
73
  record.tags = [message.id, message.pluginName].filter((tag) => !!tag);
@@ -77,7 +78,6 @@ function convertMessage(level, message, directory) {
77
78
  }
78
79
  return record;
79
80
  }
80
- install("esbuild", ESBuild);
81
81
  var _moduleFormatCache = /* @__PURE__ */ new Map();
82
82
  async function _moduleFormat(directory, log) {
83
83
  const type = _moduleFormatCache.get(directory);
@@ -106,7 +106,4 @@ async function _moduleFormat(directory, log) {
106
106
  return type2;
107
107
  }
108
108
  }
109
- export {
110
- ESBuild
111
- };
112
109
  //# sourceMappingURL=esbuild.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/esbuild.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["type"]
6
6
  }
@@ -33,11 +33,11 @@ var ESLint = class {
33
33
  constructor(arg = {}) {
34
34
  this._options = typeof arg === "string" ? { configFile: arg } : arg;
35
35
  }
36
- async pipe(files, run) {
36
+ async pipe(files, context) {
37
37
  const { directory, configFile } = this._options;
38
- const cwd = directory ? run.resolve(directory) : (0, import_paths.getCurrentWorkingDirectory)();
38
+ const cwd = directory ? context.resolve(directory) : (0, import_paths.getCurrentWorkingDirectory)();
39
39
  (0, import_assert.assert)((0, import_paths.resolveDirectory)(cwd), `ESLint directory ${(0, import_log.$p)(cwd)} does not exist`);
40
- const overrideConfigFile = configFile ? run.resolve(configFile) : void 0;
40
+ const overrideConfigFile = configFile ? context.resolve(configFile) : void 0;
41
41
  if (overrideConfigFile) {
42
42
  (0, import_assert.assert)((0, import_paths.resolveFile)(overrideConfigFile), `ESLint configuration ${(0, import_log.$p)(overrideConfigFile)} does not exist`);
43
43
  }
@@ -50,7 +50,7 @@ var ESLint = class {
50
50
  const settlements = await Promise.allSettled(promises);
51
51
  const summary = settlements.reduce((summary2, settlement, i) => {
52
52
  if (settlement.status === "rejected") {
53
- run.log.error("Error linting", (0, import_log.$p)(paths[i]), settlement.reason);
53
+ context.log.error("Error linting", (0, import_log.$p)(paths[i]), settlement.reason);
54
54
  summary2.failures++;
55
55
  return summary2;
56
56
  }
@@ -63,7 +63,7 @@ var ESLint = class {
63
63
  const { results, failures } = summary;
64
64
  if (failures)
65
65
  throw (0, import_assert.failure)();
66
- const report = run.report("ESLint Report");
66
+ const report = context.log.report("ESLint Report");
67
67
  for (const result of results) {
68
68
  const { filePath, source, messages } = result;
69
69
  const file = (0, import_paths.resolveAbsolutePath)((0, import_paths.getCurrentWorkingDirectory)(), filePath);
@@ -83,7 +83,6 @@ var ESLint = class {
83
83
  }
84
84
  }
85
85
  report.done(this._options.showSources);
86
- return void 0;
87
86
  }
88
87
  };
89
88
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugs/eslint/runner.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAqC;AACrC,oBAAgC;AAEhC,iBAAwC;AACxC,mBAA+F;AAG/F,qBAAyB;AAezB,IAAqB,SAArB,MAAuD;AAAA,EACpC;AAAA,EAKjB,YAAY,MAA8B,CAAC,GAAG;AAC5C,SAAK,WAAW,OAAO,QAAQ,WAAW,EAAE,YAAY,IAAI,IAAI;AAAA,EAClE;AAAA,EAEA,MAAM,KAAK,OAAc,KAA8B;AACrD,UAAM,EAAE,WAAW,WAAW,IAAI,KAAK;AAEvC,UAAM,MAAM,YAAY,IAAI,QAAQ,SAAS,QAAI,yCAA2B;AAC5E,kCAAO,+BAAiB,GAAG,GAAG,wBAAoB,eAAG,GAAG,kBAAkB;AAE1E,UAAM,qBAAqB,aAAa,IAAI,QAAQ,UAAU,IAAI;AAClE,QAAI,oBAAoB;AACtB,oCAAO,0BAAY,kBAAkB,GAAG,4BAAwB,eAAG,kBAAkB,kBAAkB;AAAA,IACzG;AAGA,UAAM,SAAS,IAAI,cAAAA,OAAW,EAAE,oBAAoB,IAAI,CAAC;AAGzD,UAAM,QAAQ,CAAE,GAAG,MAAM,cAAc,CAAE;AACzC,UAAM,WAAW,MAAM,IAAI,OAAO,aAAa;AAC7C,YAAM,OAAO,UAAM,yBAAS,UAAU,OAAO;AAC7C,aAAO,OAAO,SAAS,MAAM,EAAE,SAAS,CAAC;AAAA,IAC3C,CAAC;AAGD,UAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,UAAM,UAAU,YAAY,OAAO,CAACC,UAAS,YAAY,MAAM;AAE7D,UAAI,WAAW,WAAW,YAAY;AACpC,YAAI,IAAI,MAAM,qBAAiB,eAAG,MAAM,EAAE,GAAG,WAAW,MAAM;AAC9D,QAAAA,SAAQ;AACR,eAAOA;AAAA,MACT;AAGA,MAAAA,SAAQ,QAAQ,KAAK,GAAG,WAAW,KAAK;AACxC,aAAOA;AAAA,IACT,GAAG;AAAA,MACD,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,IACZ,CAAC;AAGD,UAAM,EAAE,SAAS,SAAS,IAAI;AAC9B,QAAI;AAAU,gBAAM,uBAAQ;AAG5B,UAAM,SAAS,IAAI,OAAO,eAAe;AAGzC,eAAW,UAAU,SAAS;AAC5B,YAAM,EAAE,UAAU,QAAQ,SAAS,IAAI;AACvC,YAAM,WAAO,sCAAoB,yCAA2B,GAAG,QAAQ;AAEvE,iBAAW,UAAU,UAAU;AAC7B,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV,YAAY,SAAS;AAAA,QACvB,IAAI;AAGJ,cAAM,QAAQ,aAAa,IAAI,oBAAS,aAAa,IAAI,kBAAO;AAGhE,cAAM,SAAS,YAAY,OAAO,YAAY,SAAS,UAAU,OAAO,KAAK;AAG7E,eAAO,IAAI,EAAE,OAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,MAAM,OAAO,CAAC;AAAA,MACzE;AAAA,IACF;AAGA,WAAO,KAAK,KAAK,SAAS,WAAW;AACrC,WAAO;AAAA,EACT;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAqC;AACrC,oBAAgC;AAEhC,iBAAwC;AACxC,mBAA+F;AAE/F,qBAAyB;AAIzB,IAAqB,SAArB,MAAkD;AAAA,EAC/B;AAAA,EAGjB,YAAY,MAA8B,CAAC,GAAG;AAC5C,SAAK,WAAW,OAAO,QAAQ,WAAW,EAAE,YAAY,IAAI,IAAI;AAAA,EAClE;AAAA,EAEA,MAAM,KAAK,OAAc,SAAiC;AACxD,UAAM,EAAE,WAAW,WAAW,IAAI,KAAK;AAEvC,UAAM,MAAM,YAAY,QAAQ,QAAQ,SAAS,QAAI,yCAA2B;AAChF,kCAAO,+BAAiB,GAAG,GAAG,wBAAoB,eAAG,GAAG,kBAAkB;AAE1E,UAAM,qBAAqB,aAAa,QAAQ,QAAQ,UAAU,IAAI;AACtE,QAAI,oBAAoB;AACtB,oCAAO,0BAAY,kBAAkB,GAAG,4BAAwB,eAAG,kBAAkB,kBAAkB;AAAA,IACzG;AAGA,UAAM,SAAS,IAAI,cAAAA,OAAW,EAAE,oBAAoB,IAAI,CAAC;AAGzD,UAAM,QAAQ,CAAE,GAAG,MAAM,cAAc,CAAE;AACzC,UAAM,WAAW,MAAM,IAAI,OAAO,aAAa;AAC7C,YAAM,OAAO,UAAM,yBAAS,UAAU,OAAO;AAC7C,aAAO,OAAO,SAAS,MAAM,EAAE,SAAS,CAAC;AAAA,IAC3C,CAAC;AAGD,UAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,UAAM,UAAU,YAAY,OAAO,CAACC,UAAS,YAAY,MAAM;AAE7D,UAAI,WAAW,WAAW,YAAY;AACpC,gBAAQ,IAAI,MAAM,qBAAiB,eAAG,MAAM,EAAE,GAAG,WAAW,MAAM;AAClE,QAAAA,SAAQ;AACR,eAAOA;AAAA,MACT;AAGA,MAAAA,SAAQ,QAAQ,KAAK,GAAG,WAAW,KAAK;AACxC,aAAOA;AAAA,IACT,GAAG;AAAA,MACD,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,IACZ,CAAC;AAGD,UAAM,EAAE,SAAS,SAAS,IAAI;AAC9B,QAAI;AAAU,gBAAM,uBAAQ;AAG5B,UAAM,SAAS,QAAQ,IAAI,OAAO,eAAe;AAGjD,eAAW,UAAU,SAAS;AAC5B,YAAM,EAAE,UAAU,QAAQ,SAAS,IAAI;AACvC,YAAM,WAAO,sCAAoB,yCAA2B,GAAG,QAAQ;AAEvE,iBAAW,UAAU,UAAU;AAC7B,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV,YAAY,SAAS;AAAA,QACvB,IAAI;AAGJ,cAAM,QAAQ,aAAa,IAAI,oBAAS,aAAa,IAAI,kBAAO;AAGhE,cAAM,SAAS,YAAY,OAAO,YAAY,SAAS,UAAU,OAAO,KAAK;AAG7E,eAAO,IAAI,EAAE,OAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,MAAM,OAAO,CAAC;AAAA,MACzE;AAAA,IACF;AAGA,WAAO,KAAK,KAAK,SAAS,WAAW;AAAA,EACvC;AACF;",
5
5
  "names": ["RealESLint", "summary"]
6
6
  }
@@ -0,0 +1,8 @@
1
+ import { Files } from '../../files';
2
+ import { PipeParameters, Plug, Context } from '../../pipe';
3
+ /** Runner implementation for the `ESLint` plug. */
4
+ export default class ESLint implements Plug<void> {
5
+ private readonly _options;
6
+ constructor(...arg: PipeParameters<'eslint'>);
7
+ pipe(files: Files, context: Context): Promise<void>;
8
+ }
@@ -2,18 +2,18 @@
2
2
  import { ESLint as RealESLint } from "eslint";
3
3
  import { assert, failure } from "../../assert.mjs";
4
4
  import { $p, ERROR, NOTICE, WARN } from "../../log.mjs";
5
- import { getCurrentWorkingDirectory, resolveDirectory, resolveFile, resolveAbsolutePath } from "../../paths.mjs";
5
+ import { getCurrentWorkingDirectory, resolveAbsolutePath, resolveDirectory, resolveFile } from "../../paths.mjs";
6
6
  import { readFile } from "../../utils/asyncfs.mjs";
7
7
  var ESLint = class {
8
8
  _options;
9
9
  constructor(arg = {}) {
10
10
  this._options = typeof arg === "string" ? { configFile: arg } : arg;
11
11
  }
12
- async pipe(files, run) {
12
+ async pipe(files, context) {
13
13
  const { directory, configFile } = this._options;
14
- const cwd = directory ? run.resolve(directory) : getCurrentWorkingDirectory();
14
+ const cwd = directory ? context.resolve(directory) : getCurrentWorkingDirectory();
15
15
  assert(resolveDirectory(cwd), `ESLint directory ${$p(cwd)} does not exist`);
16
- const overrideConfigFile = configFile ? run.resolve(configFile) : void 0;
16
+ const overrideConfigFile = configFile ? context.resolve(configFile) : void 0;
17
17
  if (overrideConfigFile) {
18
18
  assert(resolveFile(overrideConfigFile), `ESLint configuration ${$p(overrideConfigFile)} does not exist`);
19
19
  }
@@ -26,7 +26,7 @@ var ESLint = class {
26
26
  const settlements = await Promise.allSettled(promises);
27
27
  const summary = settlements.reduce((summary2, settlement, i) => {
28
28
  if (settlement.status === "rejected") {
29
- run.log.error("Error linting", $p(paths[i]), settlement.reason);
29
+ context.log.error("Error linting", $p(paths[i]), settlement.reason);
30
30
  summary2.failures++;
31
31
  return summary2;
32
32
  }
@@ -39,7 +39,7 @@ var ESLint = class {
39
39
  const { results, failures } = summary;
40
40
  if (failures)
41
41
  throw failure();
42
- const report = run.report("ESLint Report");
42
+ const report = context.log.report("ESLint Report");
43
43
  for (const result of results) {
44
44
  const { filePath, source, messages } = result;
45
45
  const file = resolveAbsolutePath(getCurrentWorkingDirectory(), filePath);
@@ -59,7 +59,6 @@ var ESLint = class {
59
59
  }
60
60
  }
61
61
  report.done(this._options.showSources);
62
- return void 0;
63
62
  }
64
63
  };
65
64
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugs/eslint/runner.ts"],
4
- "mappings": ";AAAA,SAAS,UAAU,kBAAkB;AACrC,SAAS,QAAQ,eAAe;AAEhC,SAAS,IAAI,OAAO,QAAQ,YAAY;AACxC,SAAS,4BAA4B,kBAAkB,aAAa,2BAA2B;AAG/F,SAAS,gBAAgB;AAezB,IAAqB,SAArB,MAAuD;AAAA,EACpC;AAAA,EAKjB,YAAY,MAA8B,CAAC,GAAG;AAC5C,SAAK,WAAW,OAAO,QAAQ,WAAW,EAAE,YAAY,IAAI,IAAI;AAAA,EAClE;AAAA,EAEA,MAAM,KAAK,OAAc,KAA8B;AACrD,UAAM,EAAE,WAAW,WAAW,IAAI,KAAK;AAEvC,UAAM,MAAM,YAAY,IAAI,QAAQ,SAAS,IAAI,2BAA2B;AAC5E,WAAO,iBAAiB,GAAG,GAAG,oBAAoB,GAAG,GAAG,kBAAkB;AAE1E,UAAM,qBAAqB,aAAa,IAAI,QAAQ,UAAU,IAAI;AAClE,QAAI,oBAAoB;AACtB,aAAO,YAAY,kBAAkB,GAAG,wBAAwB,GAAG,kBAAkB,kBAAkB;AAAA,IACzG;AAGA,UAAM,SAAS,IAAI,WAAW,EAAE,oBAAoB,IAAI,CAAC;AAGzD,UAAM,QAAQ,CAAE,GAAG,MAAM,cAAc,CAAE;AACzC,UAAM,WAAW,MAAM,IAAI,OAAO,aAAa;AAC7C,YAAM,OAAO,MAAM,SAAS,UAAU,OAAO;AAC7C,aAAO,OAAO,SAAS,MAAM,EAAE,SAAS,CAAC;AAAA,IAC3C,CAAC;AAGD,UAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,UAAM,UAAU,YAAY,OAAO,CAACA,UAAS,YAAY,MAAM;AAE7D,UAAI,WAAW,WAAW,YAAY;AACpC,YAAI,IAAI,MAAM,iBAAiB,GAAG,MAAM,EAAE,GAAG,WAAW,MAAM;AAC9D,QAAAA,SAAQ;AACR,eAAOA;AAAA,MACT;AAGA,MAAAA,SAAQ,QAAQ,KAAK,GAAG,WAAW,KAAK;AACxC,aAAOA;AAAA,IACT,GAAG;AAAA,MACD,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,IACZ,CAAC;AAGD,UAAM,EAAE,SAAS,SAAS,IAAI;AAC9B,QAAI;AAAU,YAAM,QAAQ;AAG5B,UAAM,SAAS,IAAI,OAAO,eAAe;AAGzC,eAAW,UAAU,SAAS;AAC5B,YAAM,EAAE,UAAU,QAAQ,SAAS,IAAI;AACvC,YAAM,OAAO,oBAAoB,2BAA2B,GAAG,QAAQ;AAEvE,iBAAW,UAAU,UAAU;AAC7B,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV,YAAY,SAAS;AAAA,QACvB,IAAI;AAGJ,cAAM,QAAQ,aAAa,IAAI,SAAS,aAAa,IAAI,OAAO;AAGhE,cAAM,SAAS,YAAY,OAAO,YAAY,SAAS,UAAU,OAAO,KAAK;AAG7E,eAAO,IAAI,EAAE,OAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,MAAM,OAAO,CAAC;AAAA,MACzE;AAAA,IACF;AAGA,WAAO,KAAK,KAAK,SAAS,WAAW;AACrC,WAAO;AAAA,EACT;AACF;",
4
+ "mappings": ";AAAA,SAAS,UAAU,kBAAkB;AACrC,SAAS,QAAQ,eAAe;AAEhC,SAAS,IAAI,OAAO,QAAQ,YAAY;AACxC,SAAS,4BAA4B,qBAAqB,kBAAkB,mBAAmB;AAE/F,SAAS,gBAAgB;AAIzB,IAAqB,SAArB,MAAkD;AAAA,EAC/B;AAAA,EAGjB,YAAY,MAA8B,CAAC,GAAG;AAC5C,SAAK,WAAW,OAAO,QAAQ,WAAW,EAAE,YAAY,IAAI,IAAI;AAAA,EAClE;AAAA,EAEA,MAAM,KAAK,OAAc,SAAiC;AACxD,UAAM,EAAE,WAAW,WAAW,IAAI,KAAK;AAEvC,UAAM,MAAM,YAAY,QAAQ,QAAQ,SAAS,IAAI,2BAA2B;AAChF,WAAO,iBAAiB,GAAG,GAAG,oBAAoB,GAAG,GAAG,kBAAkB;AAE1E,UAAM,qBAAqB,aAAa,QAAQ,QAAQ,UAAU,IAAI;AACtE,QAAI,oBAAoB;AACtB,aAAO,YAAY,kBAAkB,GAAG,wBAAwB,GAAG,kBAAkB,kBAAkB;AAAA,IACzG;AAGA,UAAM,SAAS,IAAI,WAAW,EAAE,oBAAoB,IAAI,CAAC;AAGzD,UAAM,QAAQ,CAAE,GAAG,MAAM,cAAc,CAAE;AACzC,UAAM,WAAW,MAAM,IAAI,OAAO,aAAa;AAC7C,YAAM,OAAO,MAAM,SAAS,UAAU,OAAO;AAC7C,aAAO,OAAO,SAAS,MAAM,EAAE,SAAS,CAAC;AAAA,IAC3C,CAAC;AAGD,UAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,UAAM,UAAU,YAAY,OAAO,CAACA,UAAS,YAAY,MAAM;AAE7D,UAAI,WAAW,WAAW,YAAY;AACpC,gBAAQ,IAAI,MAAM,iBAAiB,GAAG,MAAM,EAAE,GAAG,WAAW,MAAM;AAClE,QAAAA,SAAQ;AACR,eAAOA;AAAA,MACT;AAGA,MAAAA,SAAQ,QAAQ,KAAK,GAAG,WAAW,KAAK;AACxC,aAAOA;AAAA,IACT,GAAG;AAAA,MACD,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,IACZ,CAAC;AAGD,UAAM,EAAE,SAAS,SAAS,IAAI;AAC9B,QAAI;AAAU,YAAM,QAAQ;AAG5B,UAAM,SAAS,QAAQ,IAAI,OAAO,eAAe;AAGjD,eAAW,UAAU,SAAS;AAC5B,YAAM,EAAE,UAAU,QAAQ,SAAS,IAAI;AACvC,YAAM,OAAO,oBAAoB,2BAA2B,GAAG,QAAQ;AAEvE,iBAAW,UAAU,UAAU;AAC7B,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV,YAAY,SAAS;AAAA,QACvB,IAAI;AAGJ,cAAM,QAAQ,aAAa,IAAI,SAAS,aAAa,IAAI,OAAO;AAGhE,cAAM,SAAS,YAAY,OAAO,YAAY,SAAS,UAAU,OAAO,KAAK;AAG7E,eAAO,IAAI,EAAE,OAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,MAAM,OAAO,CAAC;AAAA,MACzE;AAAA,IACF;AAGA,WAAO,KAAK,KAAK,SAAS,WAAW;AAAA,EACvC;AACF;",
5
5
  "names": ["summary"]
6
6
  }
@@ -3,10 +3,6 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
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
6
  var __copyProps = (to, from, except, desc) => {
11
7
  if (from && typeof from === "object" || typeof from === "function") {
12
8
  for (let key of __getOwnPropNames(from))
@@ -17,23 +13,10 @@ var __copyProps = (to, from, except, desc) => {
17
13
  };
18
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
15
 
20
- // task.ts
21
- var task_exports = {};
22
- __export(task_exports, {
23
- TaskImpl: () => TaskImpl
24
- });
25
- module.exports = __toCommonJS(task_exports);
26
- var TaskImpl = class {
27
- constructor(context, _definition) {
28
- this.context = context;
29
- this._definition = _definition;
30
- }
31
- async call(self, run) {
32
- return await this._definition.call(self, self, run) || void 0;
33
- }
34
- };
35
- // Annotate the CommonJS export names for ESM import in node:
36
- 0 && (module.exports = {
37
- TaskImpl
38
- });
39
- //# sourceMappingURL=task.cjs.map
16
+ // plugs/eslint.ts
17
+ var eslint_exports = {};
18
+ module.exports = __toCommonJS(eslint_exports);
19
+ var import_paths = require("../paths.cjs");
20
+ var import_pipe = require("../pipe.cjs");
21
+ (0, import_pipe.installForking)("eslint", (0, import_paths.requireResolve)(__filename, "./eslint/runner"));
22
+ //# sourceMappingURL=eslint.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/plugs/eslint.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,mBAA+B;AAC/B,kBAA+B;AAAA,IAwC/B,4BAAe,cAAU,6BAAe,YAAW,iBAAiB,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,34 @@
1
+ export interface ESLintOptions {
2
+ /** ESLint's own _current working directory_, where config files are. */
3
+ directory?: string;
4
+ /** Show sources in report? */
5
+ showSources?: boolean;
6
+ /**
7
+ * ESLint's _override_ configuration file: configurations specified in this
8
+ * file will override any other configuration specified elsewhere.
9
+ */
10
+ configFile?: string;
11
+ }
12
+ declare module '../pipe' {
13
+ interface Pipe {
14
+ /**
15
+ * Run {@link https://eslint.org/ _ESlint_} over the input source files,
16
+ * using the configuration from the local `.eslintrc.*` file.
17
+ */
18
+ eslint(): Promise<undefined>;
19
+ /**
20
+ * Run {@link https://eslint.org/ _ESlint_} over the input source files,
21
+ * using the configuration from the specified `configFile` (this wil
22
+ * override any `.eslintrc.*` file).
23
+ *
24
+ * @param configFile The configuration file to use
25
+ */
26
+ eslint(configFile: string): Promise<undefined>;
27
+ /**
28
+ * Run {@link https://eslint.org/ _ESlint_} over the input source files..
29
+ *
30
+ * @param options {@link ESLintOptions | Options} to pass to _ESLint_
31
+ */
32
+ eslint(options: ESLintOptions): Promise<undefined>;
33
+ }
34
+ }
@@ -0,0 +1,5 @@
1
+ // plugs/eslint.ts
2
+ import { requireResolve } from "../paths.mjs";
3
+ import { installForking } from "../pipe.mjs";
4
+ installForking("eslint", requireResolve(import.meta.url, "./eslint/runner"));
5
+ //# sourceMappingURL=eslint.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/plugs/eslint.ts"],
4
+ "mappings": ";AAAA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAwC/B,eAAe,UAAU,eAAe,iBAAW,iBAAiB,CAAC;",
5
+ "names": []
6
+ }
@@ -26,7 +26,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
26
26
  // plugs/exec.ts
27
27
  var exec_exports = {};
28
28
  __export(exec_exports, {
29
- Exec: () => Exec,
30
29
  exec: () => exec
31
30
  });
32
31
  module.exports = __toCommonJS(exec_exports);
@@ -34,60 +33,58 @@ var import_node_path = __toESM(require("node:path"));
34
33
  var import_node_readline = __toESM(require("node:readline"));
35
34
  var import_node_child_process = require("node:child_process");
36
35
  var import_assert = require("../assert.cjs");
37
- var import_async = require("../async.cjs");
38
36
  var import_log = require("../log.cjs");
39
37
  var import_paths = require("../paths.cjs");
40
38
  var import_pipe = require("../pipe.cjs");
41
39
  var import_options = require("../utils/options.cjs");
42
- var Exec = class {
40
+ var import_async = require("../async.cjs");
41
+ (0, import_pipe.install)("exec", class Exec {
43
42
  _cmd;
44
43
  _args;
45
44
  _options;
46
- constructor(cmd, ...args) {
45
+ constructor(...args) {
47
46
  const { params, options } = (0, import_options.parseOptions)(args, {});
48
- this._cmd = cmd;
49
- this._args = params;
47
+ const [_cmd, ..._args] = params;
48
+ this._cmd = _cmd;
49
+ this._args = _args;
50
50
  this._options = options;
51
51
  }
52
- async pipe(files, run) {
52
+ async pipe(files, context) {
53
53
  const { relativePaths = true, ...options } = this._options;
54
54
  if (!options.cwd)
55
55
  options.cwd = files.directory;
56
56
  const params = [...relativePaths ? files : files.absolutePaths()];
57
57
  if (options.shell)
58
58
  params.forEach((s, i, a) => a[i] = JSON.stringify(s));
59
- await spawnChild(this._cmd, [...this._args, ...params], options, run);
59
+ await spawnChild(this._cmd, [...this._args, ...params], options, context);
60
60
  return files;
61
61
  }
62
- };
62
+ });
63
63
  function exec(cmd, ...args) {
64
- const run = (0, import_async.currentRun)();
65
- (0, import_assert.assert)(run, "Unable to execute commands outside a running task");
66
- const { params, options } = (0, import_options.parseOptions)(args, {});
67
- return spawnChild(cmd, params, options, run);
64
+ const { params, options } = (0, import_options.parseOptions)(args);
65
+ return spawnChild(cmd, params, options, (0, import_async.requireContext)());
68
66
  }
69
- (0, import_pipe.install)("exec", Exec);
70
- async function spawnChild(cmd, args, options = {}, run) {
67
+ async function spawnChild(cmd, args, options = {}, context) {
71
68
  const {
72
69
  env = {},
73
70
  shell = false,
74
71
  cwd = void 0,
75
72
  ...extraOptions
76
73
  } = options;
77
- const childCwd = cwd ? run.resolve(cwd) : (0, import_paths.getCurrentWorkingDirectory)();
74
+ const childCwd = cwd ? context.resolve(cwd) : (0, import_paths.getCurrentWorkingDirectory)();
78
75
  (0, import_assert.assert)((0, import_paths.resolveDirectory)(childCwd), `Current working directory ${(0, import_log.$p)(childCwd)} does not exist`);
79
76
  const childPaths = [];
80
- const baseNodePath = run.resolve("@node_modules", ".bin");
77
+ const baseNodePath = context.resolve("@node_modules", ".bin");
81
78
  if ((0, import_paths.resolveDirectory)(baseNodePath))
82
79
  childPaths.push(baseNodePath);
83
- const buildNodePath = run.resolve("./node_modules", ".bin");
80
+ const buildNodePath = context.resolve("./node_modules", ".bin");
84
81
  if ((0, import_paths.resolveDirectory)(buildNodePath))
85
82
  childPaths.push(buildNodePath);
86
83
  const extraPath = env.PATH || process.env.PATH;
87
84
  if (extraPath)
88
85
  childPaths.push(extraPath);
89
86
  const PATH = childPaths.join(import_node_path.default.delimiter);
90
- const __LOG_OPTIONS = JSON.stringify(import_log.logOptions.fork(run.taskName));
87
+ const __LOG_OPTIONS = JSON.stringify(import_log.logOptions.fork(context.taskName));
91
88
  const childEnv = { ...process.env, ...env, PATH, __LOG_OPTIONS };
92
89
  const childOptions = {
93
90
  ...extraOptions,
@@ -96,16 +93,16 @@ async function spawnChild(cmd, args, options = {}, run) {
96
93
  env: childEnv,
97
94
  shell
98
95
  };
99
- run.log.info("Executing", [cmd, ...args]);
100
- run.log.info("Execution options", childOptions);
96
+ context.log.info("Executing", [cmd, ...args]);
97
+ context.log.info("Execution options", childOptions);
101
98
  const child = (0, import_node_child_process.spawn)(cmd, args, childOptions);
102
99
  if (child.stdout) {
103
100
  const out = import_node_readline.default.createInterface(child.stdout);
104
- out.on("line", (line) => line ? run.log.notice(line) : run.log.notice("\xA0"));
101
+ out.on("line", (line) => line ? context.log.notice(line) : context.log.notice("\xA0"));
105
102
  }
106
103
  if (child.stderr) {
107
104
  const err = import_node_readline.default.createInterface(child.stderr);
108
- err.on("line", (line) => line ? run.log.warn(line) : run.log.warn("\xA0"));
105
+ err.on("line", (line) => line ? context.log.warn(line) : context.log.warn("\xA0"));
109
106
  }
110
107
  return new Promise((resolve, reject) => {
111
108
  child.on("error", (error) => reject(error));
@@ -122,7 +119,6 @@ async function spawnChild(cmd, args, options = {}, run) {
122
119
  }
123
120
  // Annotate the CommonJS export names for ESM import in node:
124
121
  0 && (module.exports = {
125
- Exec,
126
122
  exec
127
123
  });
128
124
  //# sourceMappingURL=exec.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/exec.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["path", "reaadline"]
6
6
  }
@@ -0,0 +1,90 @@
1
+ /** Options for executing scripts */
2
+ export interface ExecOptions {
3
+ /** Extra environment variables, or overrides for existing ones */
4
+ env?: Record<string, any>;
5
+ /** Whether to run in the context of a _shell_ or not */
6
+ shell?: string | boolean;
7
+ /**
8
+ * The current working directory of the process to execute.
9
+ *
10
+ * Defaults to the current {@link Files.directory | Files' directory} when
11
+ * used as a {@link Plug} or `process.cwd()` when used from {@link exec}.
12
+ */
13
+ cwd?: string;
14
+ /**
15
+ * When used as a {@link Plug}, the {@link Files} will be appended to the
16
+ * current arguments as _relative_ files (default) or _absolute_ (if false).
17
+ */
18
+ relativePaths?: boolean;
19
+ }
20
+ declare module '../pipe' {
21
+ interface Pipe {
22
+ /**
23
+ * Execute a shell command, adding to its _arguments_ the list of files
24
+ * from the current pipe (much like `xargs` does on Unix systems).
25
+ *
26
+ * For example:
27
+ *
28
+ * ```
29
+ * import { build } from '@plugjs/plugjs'
30
+ *
31
+ * export default build({
32
+ * runme() {
33
+ * this.find('*.ts', { directory: 'src' })
34
+ * .exec('chmod', '755' })
35
+ * .exec('chown root:root', { shell: true })
36
+ * },
37
+ * })
38
+ * ```
39
+ *
40
+ * @param cmd The command to execute
41
+ * @param args Any additional argument for the command to execute
42
+ */
43
+ exec(cmd: string, ...args: string[]): Pipe;
44
+ /**
45
+ * Execute a shell command, adding to its _arguments_ the list of files
46
+ * from the current pipe (much like `xargs` does on Unix systems).
47
+ *
48
+ * For example:
49
+ *
50
+ * ```
51
+ * import { build } from '@plugjs/plugjs'
52
+ *
53
+ * export default build({
54
+ * runme() {
55
+ * this.find('*.ts', { directory: 'src' })
56
+ * .exec('chmod', '755' })
57
+ * .exec('chown root:root', { shell: true })
58
+ * },
59
+ * })
60
+ * ```
61
+ *
62
+ * @param cmd The command to execute
63
+ * @param args Any additional argument for the command to execute
64
+ * @param options Extra {@link ExecOptions | options} for process execution
65
+ */
66
+ exec(cmd: string, ...extra: [...args: string[], options: ExecOptions]): Pipe;
67
+ }
68
+ }
69
+ /**
70
+ * Execute a command and await for its result from within a task.
71
+ *
72
+ * For example:
73
+ *
74
+ * ```
75
+ * import { exec } from '@plugjs/plugjs'
76
+ *
77
+ * export default build({
78
+ * async runme() {
79
+ * await exec('ls', '-la', '/')
80
+ * // or similarly letting the shell interpret the command
81
+ * await exec('ls -la /', { shell: true })
82
+ * },
83
+ * })
84
+ * ```
85
+ *
86
+ * @param cmd The command to execute
87
+ * @param args Any additional argument for the command to execute
88
+ * @param options Extra {@link ExecOptions | options} for process execution
89
+ */
90
+ export declare function exec(cmd: string, ...args: [...args: string[]] | [...args: string[], options: ExecOptions]): Promise<void>;