@plugjs/plug 0.4.34 → 0.5.0

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 (93) hide show
  1. package/dist/build.cjs +14 -5
  2. package/dist/build.cjs.map +1 -1
  3. package/dist/build.d.ts +3 -1
  4. package/dist/build.mjs +14 -6
  5. package/dist/build.mjs.map +1 -1
  6. package/dist/cli.mjs +14 -11
  7. package/dist/cli.mjs.map +2 -2
  8. package/dist/fork.cjs +23 -18
  9. package/dist/fork.cjs.map +1 -1
  10. package/dist/fork.d.ts +1 -0
  11. package/dist/fork.mjs +23 -18
  12. package/dist/fork.mjs.map +1 -1
  13. package/dist/fs.cjs +1 -1
  14. package/dist/fs.cjs.map +1 -1
  15. package/dist/fs.d.ts +1 -1
  16. package/dist/fs.mjs +1 -1
  17. package/dist/fs.mjs.map +1 -1
  18. package/dist/helpers.d.ts +2 -2
  19. package/dist/index.cjs +1 -1
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.mjs +2 -2
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/logging/emit.cjs +31 -2
  25. package/dist/logging/emit.cjs.map +2 -2
  26. package/dist/logging/emit.d.ts +14 -0
  27. package/dist/logging/emit.mjs +29 -2
  28. package/dist/logging/emit.mjs.map +2 -2
  29. package/dist/logging/github.cjs +4 -7
  30. package/dist/logging/github.cjs.map +1 -1
  31. package/dist/logging/github.mjs +4 -7
  32. package/dist/logging/github.mjs.map +1 -1
  33. package/dist/logging/logger.cjs +24 -38
  34. package/dist/logging/logger.cjs.map +1 -1
  35. package/dist/logging/logger.d.ts +7 -7
  36. package/dist/logging/logger.mjs +25 -39
  37. package/dist/logging/logger.mjs.map +1 -1
  38. package/dist/logging/options.cjs +31 -30
  39. package/dist/logging/options.cjs.map +1 -1
  40. package/dist/logging/options.d.ts +2 -11
  41. package/dist/logging/options.mjs +31 -30
  42. package/dist/logging/options.mjs.map +1 -1
  43. package/dist/logging.cjs +5 -3
  44. package/dist/logging.cjs.map +1 -1
  45. package/dist/logging.mjs +5 -3
  46. package/dist/logging.mjs.map +1 -1
  47. package/dist/pipe.d.ts +1 -1
  48. package/dist/plugs/build.cjs +12 -4
  49. package/dist/plugs/build.cjs.map +1 -1
  50. package/dist/plugs/build.d.ts +8 -3
  51. package/dist/plugs/build.mjs +12 -4
  52. package/dist/plugs/build.mjs.map +1 -1
  53. package/dist/plugs/exec.cjs +1 -1
  54. package/dist/plugs/exec.cjs.map +1 -1
  55. package/dist/plugs/exec.mjs +1 -1
  56. package/dist/plugs/exec.mjs.map +1 -1
  57. package/dist/plugs/exports.cjs +3 -5
  58. package/dist/plugs/exports.cjs.map +1 -1
  59. package/dist/plugs/exports.mjs +3 -5
  60. package/dist/plugs/exports.mjs.map +1 -1
  61. package/dist/utils/ansi.cjs +39 -0
  62. package/dist/utils/ansi.cjs.map +6 -0
  63. package/dist/utils/ansi.d.ts +4 -0
  64. package/dist/utils/ansi.mjs +13 -0
  65. package/dist/utils/ansi.mjs.map +6 -0
  66. package/dist/utils/exec.cjs +10 -1
  67. package/dist/utils/exec.cjs.map +1 -1
  68. package/dist/utils/exec.mjs +11 -2
  69. package/dist/utils/exec.mjs.map +1 -1
  70. package/dist/utils.cjs +2 -0
  71. package/dist/utils.cjs.map +1 -1
  72. package/dist/utils.d.ts +1 -0
  73. package/dist/utils.mjs +1 -0
  74. package/dist/utils.mjs.map +1 -1
  75. package/package.json +1 -1
  76. package/src/build.ts +15 -6
  77. package/src/cli.mts +14 -9
  78. package/src/fork.ts +29 -23
  79. package/src/fs.ts +1 -1
  80. package/src/helpers.ts +2 -2
  81. package/src/index.ts +2 -2
  82. package/src/logging/emit.ts +65 -2
  83. package/src/logging/github.ts +4 -11
  84. package/src/logging/logger.ts +26 -44
  85. package/src/logging/options.ts +30 -38
  86. package/src/logging.ts +5 -3
  87. package/src/pipe.ts +1 -1
  88. package/src/plugs/build.ts +19 -5
  89. package/src/plugs/exec.ts +2 -2
  90. package/src/plugs/exports.ts +3 -4
  91. package/src/utils/ansi.ts +10 -0
  92. package/src/utils/exec.ts +7 -2
  93. package/src/utils.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/exports.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["type"]
6
6
  }
@@ -1,6 +1,7 @@
1
1
  // plugs/exports.ts
2
2
  import { EOL } from "node:os";
3
3
  import { sep } from "node:path";
4
+ import { assert } from "../asserts.mjs";
4
5
  import { Files } from "../files.mjs";
5
6
  import { readFile, writeFile } from "../fs.mjs";
6
7
  import { $p } from "../logging.mjs";
@@ -30,14 +31,11 @@ install("exports", class Exports {
30
31
  const outgoingFile = context.resolve(this._outputPackageJson);
31
32
  const outgoingDirectory = getAbsoluteParent(outgoingFile);
32
33
  const type = packageData.type === "module" ? "module" : packageData.type === "commonjs" ? "commonjs" : packageData.type == null ? "commonjs" : void 0;
33
- if (!type)
34
- context.log.fail(`Unknown module type "${packageData.type}" in ${$p(incomingFile)}`);
34
+ assert(type, `Unknown module type "${packageData.type}" in ${$p(incomingFile)}`);
35
35
  context.log.debug(`Package file ${$p(incomingFile)} declares module type "${type}"`);
36
36
  const cjsExtension = this._cjsExtension || (type === "commonjs" ? ".js" : ".cjs");
37
37
  const esmExtension = this._esmExtension || (type === "module" ? ".js" : ".mjs");
38
- if (cjsExtension === esmExtension) {
39
- context.log.fail(`CommonJS and EcmaScript modules both resolve to same extension "${cjsExtension}"`);
40
- }
38
+ assert(cjsExtension !== esmExtension, `CommonJS and EcmaScript modules both resolve to same extension "${cjsExtension}"`);
41
39
  const exports = {};
42
40
  function addExport(name, type2, kind, file) {
43
41
  if (!exports[name])
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/exports.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["type"]
6
6
  }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // utils/ansi.ts
21
+ var ansi_exports = {};
22
+ __export(ansi_exports, {
23
+ ansiRegExp: () => ansiRegExp,
24
+ stripAnsi: () => stripAnsi
25
+ });
26
+ module.exports = __toCommonJS(ansi_exports);
27
+ var ansiRegExp = new RegExp([
28
+ "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
29
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
30
+ ].join("|"), "g");
31
+ function stripAnsi(string) {
32
+ return string && string.replace(ansiRegExp, "");
33
+ }
34
+ // Annotate the CommonJS export names for ESM import in node:
35
+ 0 && (module.exports = {
36
+ ansiRegExp,
37
+ stripAnsi
38
+ });
39
+ //# sourceMappingURL=ansi.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/ansi.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,IAAM,aAAa,IAAI,OAAO;AAAA,EACnC;AAAA,EACA;AACF,EAAE,KAAK,GAAG,GAAG,GAAG;AAGT,SAAS,UAAU,QAAwB;AAChD,SAAO,UAAU,OAAO,QAAQ,YAAY,EAAE;AAChD;",
5
+ "names": []
6
+ }
@@ -0,0 +1,4 @@
1
+ /** A {@link RegExp} matching ANSI escapes */
2
+ export declare const ansiRegExp: RegExp;
3
+ /** Strip ANSI characters (colors) from a string */
4
+ export declare function stripAnsi(string: string): string;
@@ -0,0 +1,13 @@
1
+ // utils/ansi.ts
2
+ var ansiRegExp = new RegExp([
3
+ "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
4
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
5
+ ].join("|"), "g");
6
+ function stripAnsi(string) {
7
+ return string && string.replace(ansiRegExp, "");
8
+ }
9
+ export {
10
+ ansiRegExp,
11
+ stripAnsi
12
+ };
13
+ //# sourceMappingURL=ansi.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/ansi.ts"],
4
+ "mappings": ";AACO,IAAM,aAAa,IAAI,OAAO;AAAA,EACnC;AAAA,EACA;AACF,EAAE,KAAK,GAAG,GAAG,GAAG;AAGT,SAAS,UAAU,QAAwB;AAChD,SAAO,UAAU,OAAO,QAAQ,YAAY,EAAE;AAChD;",
5
+ "names": []
6
+ }
@@ -64,7 +64,16 @@ async function execChild(cmd, args, options = {}, context) {
64
64
  if (extraPath)
65
65
  childPaths.push(extraPath);
66
66
  const PATH = childPaths.join(import_node_path.default.delimiter);
67
- const childEnv = { ...process.env, ...env, PATH };
67
+ const childEnv = {
68
+ ...process.env,
69
+ // environment from current running process
70
+ ...env,
71
+ // environment configured from "execChild" arguments
72
+ ...import_logging.logOptions.forkEnv(),
73
+ // forked log options for child plugjs
74
+ PATH
75
+ // path with all ".../node_modules/.bin" directories
76
+ };
68
77
  if (coverageDir)
69
78
  childEnv.NODE_V8_COVERAGE = context.resolve(coverageDir);
70
79
  const childOptions = {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/exec.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAsB;AACtB,uBAAiB;AACjB,2BAAqB;AAErB,qBAAqC;AACrC,qBAAmB;AACnB,mBAA6D;AAkB7D,eAAsB,UAClB,KACA,MACA,UAA4B,CAAC,GAC7B,SACa;AACf,QAAM;AAAA,IACJ,MAAM,CAAC;AAAA;AAAA,IACP,QAAQ;AAAA;AAAA,IACR,MAAM;AAAA;AAAA,IACN;AAAA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,WAAW,MAAM,QAAQ,QAAQ,GAAG,QAAI,yCAA2B;AACzE,iCAAO,+BAAiB,QAAQ,GAAG,iCAA6B,mBAAG,QAAQ,CAAC,iBAAiB;AAG7F,QAAM,aAA6B,CAAC;AAGpC,QAAM,eAAe,QAAQ,QAAQ,iBAAiB,MAAM;AAC5D,UAAI,+BAAiB,YAAY;AAAG,eAAW,KAAK,YAAY;AAGhE,QAAM,gBAAgB,QAAQ,QAAQ,kBAAkB,MAAM;AAC9D,UAAI,+BAAiB,aAAa;AAAG,eAAW,KAAK,aAAa;AAGlE,QAAM,YAAY,IAAI,QAAQ,QAAQ,IAAI;AAC1C,MAAI;AAAW,eAAW,KAAK,SAAS;AAGxC,QAAM,OAAO,WAAW,KAAK,iBAAAA,QAAK,SAAS;AAC3C,QAAM,WAAmC,EAAE,GAAG,QAAQ,KAAK,GAAG,KAAK,KAAK;AAGxE,MAAI;AAAa,aAAS,mBAAmB,QAAQ,QAAQ,WAAW;AAGxE,QAAM,eAA6B;AAAA,IACjC,GAAG;AAAA,IACH,OAAO,CAAE,UAAU,QAAQ,MAAO;AAAA,IAClC,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AAAA,EACF;AAGA,UAAQ,IAAI,KAAK,aAAa,CAAE,KAAK,GAAG,IAAK,CAAC;AAC9C,UAAQ,IAAI,MAAM,yBAAyB,YAAY;AAEvD,QAAM,YAAQ,iCAAM,KAAK,MAAM,YAAY;AAE3C,MAAI;AACF,YAAQ,IAAI,KAAK,qBAAqB,MAAM,GAAG;AAG/C,QAAI,MAAM,QAAQ;AAChB,YAAM,MAAM,qBAAAC,QAAS,gBAAgB,MAAM,MAAM;AACjD,UAAI,GAAG,QAAQ,CAAC,SAAS,QAAQ,IAAI,OAAO,QAAQ,MAAQ,CAAC;AAAA,IAC/D;AAGA,QAAI,MAAM,QAAQ;AAChB,YAAM,MAAM,qBAAAA,QAAS,gBAAgB,MAAM,MAAM;AACjD,UAAI,GAAG,QAAQ,CAAC,SAAS,QAAQ,IAAI,KAAK,QAAO,MAAQ,CAAC;AAAA,IAC5D;AAAA,EACF,SAAS,OAAO;AAEd,UAAM,KAAK;AACX,UAAM;AAAA,EACR;AAGA,SAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,UAAM,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAC1C,UAAM,GAAG,QAAQ,CAAC,MAAM,WAAW;AACjC,UAAI,SAAS;AAAG,eAAO,QAAQ;AAC/B,UAAI;AAAQ,eAAO,OAAO,4BAAa,YAAY,oCAAoC,MAAM,EAAE,CAAC;AAChG,UAAI;AAAM,eAAO,OAAO,4BAAa,YAAY,kCAAkC,IAAI,EAAE,CAAC;AAC1F,aAAO,4BAAa,YAAY,4CAA4C,CAAC;AAAA,IAC/E,CAAC;AAAA,EACH,CAAC;AACH;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAsB;AACtB,uBAAiB;AACjB,2BAAqB;AAErB,qBAAqC;AACrC,qBAA+B;AAC/B,mBAA6D;AAkB7D,eAAsB,UAClB,KACA,MACA,UAA4B,CAAC,GAC7B,SACa;AACf,QAAM;AAAA,IACJ,MAAM,CAAC;AAAA;AAAA,IACP,QAAQ;AAAA;AAAA,IACR,MAAM;AAAA;AAAA,IACN;AAAA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,WAAW,MAAM,QAAQ,QAAQ,GAAG,QAAI,yCAA2B;AACzE,iCAAO,+BAAiB,QAAQ,GAAG,iCAA6B,mBAAG,QAAQ,CAAC,iBAAiB;AAG7F,QAAM,aAA6B,CAAC;AAGpC,QAAM,eAAe,QAAQ,QAAQ,iBAAiB,MAAM;AAC5D,UAAI,+BAAiB,YAAY;AAAG,eAAW,KAAK,YAAY;AAGhE,QAAM,gBAAgB,QAAQ,QAAQ,kBAAkB,MAAM;AAC9D,UAAI,+BAAiB,aAAa;AAAG,eAAW,KAAK,aAAa;AAGlE,QAAM,YAAY,IAAI,QAAQ,QAAQ,IAAI;AAC1C,MAAI;AAAW,eAAW,KAAK,SAAS;AAGxC,QAAM,OAAO,WAAW,KAAK,iBAAAA,QAAK,SAAS;AAC3C,QAAM,WAAmC;AAAA,IACvC,GAAG,QAAQ;AAAA;AAAA,IACX,GAAG;AAAA;AAAA,IACH,GAAG,0BAAW,QAAQ;AAAA;AAAA,IACtB;AAAA;AAAA,EACF;AAGA,MAAI;AAAa,aAAS,mBAAmB,QAAQ,QAAQ,WAAW;AAGxE,QAAM,eAA6B;AAAA,IACjC,GAAG;AAAA,IACH,OAAO,CAAE,UAAU,QAAQ,MAAO;AAAA,IAClC,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AAAA,EACF;AAGA,UAAQ,IAAI,KAAK,aAAa,CAAE,KAAK,GAAG,IAAK,CAAC;AAC9C,UAAQ,IAAI,MAAM,yBAAyB,YAAY;AAEvD,QAAM,YAAQ,iCAAM,KAAK,MAAM,YAAY;AAE3C,MAAI;AACF,YAAQ,IAAI,KAAK,qBAAqB,MAAM,GAAG;AAG/C,QAAI,MAAM,QAAQ;AAChB,YAAM,MAAM,qBAAAC,QAAS,gBAAgB,MAAM,MAAM;AACjD,UAAI,GAAG,QAAQ,CAAC,SAAS,QAAQ,IAAI,OAAO,QAAQ,MAAQ,CAAC;AAAA,IAC/D;AAGA,QAAI,MAAM,QAAQ;AAChB,YAAM,MAAM,qBAAAA,QAAS,gBAAgB,MAAM,MAAM;AACjD,UAAI,GAAG,QAAQ,CAAC,SAAS,QAAQ,IAAI,KAAK,QAAO,MAAQ,CAAC;AAAA,IAC5D;AAAA,EACF,SAAS,OAAO;AAEd,UAAM,KAAK;AACX,UAAM;AAAA,EACR;AAGA,SAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,UAAM,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAC1C,UAAM,GAAG,QAAQ,CAAC,MAAM,WAAW;AACjC,UAAI,SAAS;AAAG,eAAO,QAAQ;AAC/B,UAAI;AAAQ,eAAO,OAAO,4BAAa,YAAY,oCAAoC,MAAM,EAAE,CAAC;AAChG,UAAI;AAAM,eAAO,OAAO,4BAAa,YAAY,kCAAkC,IAAI,EAAE,CAAC;AAC1F,aAAO,4BAAa,YAAY,4CAA4C,CAAC;AAAA,IAC/E,CAAC;AAAA,EACH,CAAC;AACH;",
5
5
  "names": ["path", "readline"]
6
6
  }
@@ -3,7 +3,7 @@ import { spawn } from "node:child_process";
3
3
  import path from "node:path";
4
4
  import readline from "node:readline";
5
5
  import { assert, BuildFailure } from "../asserts.mjs";
6
- import { $p } from "../logging.mjs";
6
+ import { $p, logOptions } from "../logging.mjs";
7
7
  import { getCurrentWorkingDirectory, resolveDirectory } from "../paths.mjs";
8
8
  async function execChild(cmd, args, options = {}, context) {
9
9
  const {
@@ -30,7 +30,16 @@ async function execChild(cmd, args, options = {}, context) {
30
30
  if (extraPath)
31
31
  childPaths.push(extraPath);
32
32
  const PATH = childPaths.join(path.delimiter);
33
- const childEnv = { ...process.env, ...env, PATH };
33
+ const childEnv = {
34
+ ...process.env,
35
+ // environment from current running process
36
+ ...env,
37
+ // environment configured from "execChild" arguments
38
+ ...logOptions.forkEnv(),
39
+ // forked log options for child plugjs
40
+ PATH
41
+ // path with all ".../node_modules/.bin" directories
42
+ };
34
43
  if (coverageDir)
35
44
  childEnv.NODE_V8_COVERAGE = context.resolve(coverageDir);
36
45
  const childOptions = {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/exec.ts"],
4
- "mappings": ";AAAA,SAAS,aAAa;AACtB,OAAO,UAAU;AACjB,OAAO,cAAc;AAErB,SAAS,QAAQ,oBAAoB;AACrC,SAAS,UAAU;AACnB,SAAS,4BAA4B,wBAAwB;AAkB7D,eAAsB,UAClB,KACA,MACA,UAA4B,CAAC,GAC7B,SACa;AACf,QAAM;AAAA,IACJ,MAAM,CAAC;AAAA;AAAA,IACP,QAAQ;AAAA;AAAA,IACR,MAAM;AAAA;AAAA,IACN;AAAA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,WAAW,MAAM,QAAQ,QAAQ,GAAG,IAAI,2BAA2B;AACzE,SAAO,iBAAiB,QAAQ,GAAG,6BAA6B,GAAG,QAAQ,CAAC,iBAAiB;AAG7F,QAAM,aAA6B,CAAC;AAGpC,QAAM,eAAe,QAAQ,QAAQ,iBAAiB,MAAM;AAC5D,MAAI,iBAAiB,YAAY;AAAG,eAAW,KAAK,YAAY;AAGhE,QAAM,gBAAgB,QAAQ,QAAQ,kBAAkB,MAAM;AAC9D,MAAI,iBAAiB,aAAa;AAAG,eAAW,KAAK,aAAa;AAGlE,QAAM,YAAY,IAAI,QAAQ,QAAQ,IAAI;AAC1C,MAAI;AAAW,eAAW,KAAK,SAAS;AAGxC,QAAM,OAAO,WAAW,KAAK,KAAK,SAAS;AAC3C,QAAM,WAAmC,EAAE,GAAG,QAAQ,KAAK,GAAG,KAAK,KAAK;AAGxE,MAAI;AAAa,aAAS,mBAAmB,QAAQ,QAAQ,WAAW;AAGxE,QAAM,eAA6B;AAAA,IACjC,GAAG;AAAA,IACH,OAAO,CAAE,UAAU,QAAQ,MAAO;AAAA,IAClC,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AAAA,EACF;AAGA,UAAQ,IAAI,KAAK,aAAa,CAAE,KAAK,GAAG,IAAK,CAAC;AAC9C,UAAQ,IAAI,MAAM,yBAAyB,YAAY;AAEvD,QAAM,QAAQ,MAAM,KAAK,MAAM,YAAY;AAE3C,MAAI;AACF,YAAQ,IAAI,KAAK,qBAAqB,MAAM,GAAG;AAG/C,QAAI,MAAM,QAAQ;AAChB,YAAM,MAAM,SAAS,gBAAgB,MAAM,MAAM;AACjD,UAAI,GAAG,QAAQ,CAAC,SAAS,QAAQ,IAAI,OAAO,QAAQ,MAAQ,CAAC;AAAA,IAC/D;AAGA,QAAI,MAAM,QAAQ;AAChB,YAAM,MAAM,SAAS,gBAAgB,MAAM,MAAM;AACjD,UAAI,GAAG,QAAQ,CAAC,SAAS,QAAQ,IAAI,KAAK,QAAO,MAAQ,CAAC;AAAA,IAC5D;AAAA,EACF,SAAS,OAAO;AAEd,UAAM,KAAK;AACX,UAAM;AAAA,EACR;AAGA,SAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,UAAM,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAC1C,UAAM,GAAG,QAAQ,CAAC,MAAM,WAAW;AACjC,UAAI,SAAS;AAAG,eAAO,QAAQ;AAC/B,UAAI;AAAQ,eAAO,OAAO,aAAa,YAAY,oCAAoC,MAAM,EAAE,CAAC;AAChG,UAAI;AAAM,eAAO,OAAO,aAAa,YAAY,kCAAkC,IAAI,EAAE,CAAC;AAC1F,aAAO,aAAa,YAAY,4CAA4C,CAAC;AAAA,IAC/E,CAAC;AAAA,EACH,CAAC;AACH;",
4
+ "mappings": ";AAAA,SAAS,aAAa;AACtB,OAAO,UAAU;AACjB,OAAO,cAAc;AAErB,SAAS,QAAQ,oBAAoB;AACrC,SAAS,IAAI,kBAAkB;AAC/B,SAAS,4BAA4B,wBAAwB;AAkB7D,eAAsB,UAClB,KACA,MACA,UAA4B,CAAC,GAC7B,SACa;AACf,QAAM;AAAA,IACJ,MAAM,CAAC;AAAA;AAAA,IACP,QAAQ;AAAA;AAAA,IACR,MAAM;AAAA;AAAA,IACN;AAAA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,WAAW,MAAM,QAAQ,QAAQ,GAAG,IAAI,2BAA2B;AACzE,SAAO,iBAAiB,QAAQ,GAAG,6BAA6B,GAAG,QAAQ,CAAC,iBAAiB;AAG7F,QAAM,aAA6B,CAAC;AAGpC,QAAM,eAAe,QAAQ,QAAQ,iBAAiB,MAAM;AAC5D,MAAI,iBAAiB,YAAY;AAAG,eAAW,KAAK,YAAY;AAGhE,QAAM,gBAAgB,QAAQ,QAAQ,kBAAkB,MAAM;AAC9D,MAAI,iBAAiB,aAAa;AAAG,eAAW,KAAK,aAAa;AAGlE,QAAM,YAAY,IAAI,QAAQ,QAAQ,IAAI;AAC1C,MAAI;AAAW,eAAW,KAAK,SAAS;AAGxC,QAAM,OAAO,WAAW,KAAK,KAAK,SAAS;AAC3C,QAAM,WAAmC;AAAA,IACvC,GAAG,QAAQ;AAAA;AAAA,IACX,GAAG;AAAA;AAAA,IACH,GAAG,WAAW,QAAQ;AAAA;AAAA,IACtB;AAAA;AAAA,EACF;AAGA,MAAI;AAAa,aAAS,mBAAmB,QAAQ,QAAQ,WAAW;AAGxE,QAAM,eAA6B;AAAA,IACjC,GAAG;AAAA,IACH,OAAO,CAAE,UAAU,QAAQ,MAAO;AAAA,IAClC,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AAAA,EACF;AAGA,UAAQ,IAAI,KAAK,aAAa,CAAE,KAAK,GAAG,IAAK,CAAC;AAC9C,UAAQ,IAAI,MAAM,yBAAyB,YAAY;AAEvD,QAAM,QAAQ,MAAM,KAAK,MAAM,YAAY;AAE3C,MAAI;AACF,YAAQ,IAAI,KAAK,qBAAqB,MAAM,GAAG;AAG/C,QAAI,MAAM,QAAQ;AAChB,YAAM,MAAM,SAAS,gBAAgB,MAAM,MAAM;AACjD,UAAI,GAAG,QAAQ,CAAC,SAAS,QAAQ,IAAI,OAAO,QAAQ,MAAQ,CAAC;AAAA,IAC/D;AAGA,QAAI,MAAM,QAAQ;AAChB,YAAM,MAAM,SAAS,gBAAgB,MAAM,MAAM;AACjD,UAAI,GAAG,QAAQ,CAAC,SAAS,QAAQ,IAAI,KAAK,QAAO,MAAQ,CAAC;AAAA,IAC5D;AAAA,EACF,SAAS,OAAO;AAEd,UAAM,KAAK;AACX,UAAM;AAAA,EACR;AAGA,SAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,UAAM,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAC1C,UAAM,GAAG,QAAQ,CAAC,MAAM,WAAW;AACjC,UAAI,SAAS;AAAG,eAAO,QAAQ;AAC/B,UAAI;AAAQ,eAAO,OAAO,aAAa,YAAY,oCAAoC,MAAM,EAAE,CAAC;AAChG,UAAI;AAAM,eAAO,OAAO,aAAa,YAAY,kCAAkC,IAAI,EAAE,CAAC;AAC1F,aAAO,aAAa,YAAY,4CAA4C,CAAC;AAAA,IAC/E,CAAC;AAAA,EACH,CAAC;AACH;",
5
5
  "names": []
6
6
  }
package/dist/utils.cjs CHANGED
@@ -17,6 +17,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
17
17
  // utils.ts
18
18
  var utils_exports = {};
19
19
  module.exports = __toCommonJS(utils_exports);
20
+ __reExport(utils_exports, require("./utils/ansi.cjs"), module.exports);
20
21
  __reExport(utils_exports, require("./utils/diff.cjs"), module.exports);
21
22
  __reExport(utils_exports, require("./utils/exec.cjs"), module.exports);
22
23
  __reExport(utils_exports, require("./utils/jsonc.cjs"), module.exports);
@@ -26,6 +27,7 @@ __reExport(utils_exports, require("./utils/singleton.cjs"), module.exports);
26
27
  __reExport(utils_exports, require("./utils/walk.cjs"), module.exports);
27
28
  // Annotate the CommonJS export names for ESM import in node:
28
29
  0 && (module.exports = {
30
+ ...require("./utils/ansi.cjs"),
29
31
  ...require("./utils/diff.cjs"),
30
32
  ...require("./utils/exec.cjs"),
31
33
  ...require("./utils/jsonc.cjs"),
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/utils.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,6BAAd;AACA,0BAAc,6BADd;AAEA,0BAAc,8BAFd;AAGA,0BAAc,8BAHd;AAIA,0BAAc,gCAJd;AAKA,0BAAc,kCALd;AAMA,0BAAc,6BANd;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,6BAAd;AACA,0BAAc,6BADd;AAEA,0BAAc,6BAFd;AAGA,0BAAc,8BAHd;AAIA,0BAAc,8BAJd;AAKA,0BAAc,gCALd;AAMA,0BAAc,kCANd;AAOA,0BAAc,6BAPd;",
5
5
  "names": []
6
6
  }
package/dist/utils.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './utils/ansi';
1
2
  export * from './utils/diff';
2
3
  export * from './utils/exec';
3
4
  export * from './utils/jsonc';
package/dist/utils.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  // utils.ts
2
+ export * from "./utils/ansi.mjs";
2
3
  export * from "./utils/diff.mjs";
3
4
  export * from "./utils/exec.mjs";
4
5
  export * from "./utils/jsonc.mjs";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/utils.ts"],
4
- "mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plugjs/plug",
3
- "version": "0.4.34",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
package/src/build.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { assert } from './asserts'
1
+ import { BuildFailure, assert } from './asserts'
2
2
  import { runAsync } from './async'
3
- import { $gry, $ms, $p, $plur, $t, getLogger, logOptions } from './logging'
3
+ import { $grn, $gry, $ms, $p, $plur, $t, $ylw, NOTICE, getLogger, log, logOptions } from './logging'
4
4
  import { Context, ContextPromises, PipeImpl } from './pipe'
5
5
  import { findCaller } from './utils/caller'
6
6
  import { getSingleton } from './utils/singleton'
@@ -142,7 +142,8 @@ class TaskImpl<R extends Result> implements Task<R> {
142
142
  return result
143
143
  }).catch((error) => {
144
144
  state.fails.add(this)
145
- throw context.log.fail(`Failure ${$ms(Date.now() - now)}`, error)
145
+ context.log.error(`Failure ${$ms(Date.now() - now)}`, error)
146
+ throw BuildFailure.fail()
146
147
  }).finally(async () => {
147
148
  await ContextPromises.wait(context)
148
149
  }).then(async (result) => {
@@ -161,10 +162,10 @@ class TaskImpl<R extends Result> implements Task<R> {
161
162
  * ========================================================================== */
162
163
 
163
164
  /** Compile a {@link BuildDef | build definition} into a {@link Build} */
164
- export function build<
165
+ export function plugjs<
165
166
  D extends BuildDef, B extends ThisBuild<D>
166
167
  >(def: D & ThisType<B>): Build<D> {
167
- const buildFile = findCaller(build)
168
+ const buildFile = findCaller(plugjs)
168
169
  const tasks: Record<string, Task> = {}
169
170
  const props: Record<string, string> = {}
170
171
 
@@ -178,11 +179,11 @@ export function build<
178
179
  props[key] = val
179
180
  } else if (typeof val === 'function') {
180
181
  tasks[key] = new TaskImpl(key, buildFile, val, tasks, props)
181
- // tasks[key] = makeTask(buildFile, tasks, props, val, key)
182
182
  len = key.length
183
183
  }
184
184
 
185
185
  /* Update the logger's own "taskLength" for nice printing */
186
+ if ((logOptions.level >= NOTICE) && (key.startsWith('_'))) continue
186
187
  /* coverage ignore if */
187
188
  if (len > logOptions.taskLength) logOptions.taskLength = len
188
189
  }
@@ -249,6 +250,14 @@ export function build<
249
250
  return compiled as Build<D>
250
251
  }
251
252
 
253
+ /** @deprecated Please use the new {@link plugjs} export */
254
+ export const build: typeof plugjs = function<
255
+ D extends BuildDef, B extends ThisBuild<D>
256
+ >(def: D & ThisType<B>): Build<D> {
257
+ log.warn(`Use of deprecated ${$ylw('build')} entry point, please use ${$grn('plugjs')}`)
258
+ return plugjs(def)
259
+ }
260
+
252
261
  /** Check if the specified build is actually a {@link Build} */
253
262
  export function isBuild(build: any): build is Build<Record<string, any>> {
254
263
  return build && typeof build[buildMarker] === 'function'
package/src/cli.mts CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ /* eslint-disable no-fallthrough */
2
3
  /* eslint-disable no-console */
3
4
 
4
5
  import _fs from 'node:fs'
@@ -6,13 +7,16 @@ import _fs from 'node:fs'
6
7
  import { main, yargsParser } from '@plugjs/tsrun'
7
8
 
8
9
  import { BuildFailure } from './asserts'
10
+ import { runAsync } from './async'
9
11
  import { invokeTasks, isBuild } from './build'
10
12
  import { $blu, $gry, $p, $red, $t, $und, $wht } from './logging/colors'
11
- import { logOptions } from './logging/options'
12
- import { getCurrentWorkingDirectory, resolveDirectory, resolveFile, resolveAbsolutePath } from './paths'
13
13
  import { logLevels } from './logging/levels'
14
+ import { logOptions } from './logging/options'
15
+ import { getCurrentWorkingDirectory, resolveAbsolutePath, resolveDirectory, resolveFile } from './paths'
16
+ import { Context } from './pipe'
14
17
 
15
18
  import type { AbsolutePath } from './paths'
19
+ import type { Build } from './types'
16
20
 
17
21
  /* Log levels */
18
22
  const { TRACE, DEBUG, INFO, NOTICE, WARN, ERROR, OFF } = logLevels
@@ -158,11 +162,9 @@ export function parseCommandLine(args: string[]): CommandLineOptions {
158
162
  case 'help':
159
163
  help()
160
164
  process.exit(0)
161
- break
162
165
  case 'version':
163
166
  console.log(`PlugJS ${$gry('ver.')} ${$wnd(version)}`)
164
167
  process.exit(0)
165
- break
166
168
  default:
167
169
  console.log(`Unsupported option ${$wnd(key)} (try ${$wnd('--help')})`)
168
170
  process.exit(1)
@@ -259,11 +261,14 @@ main(import.meta.url, async (args: string[]): Promise<void> => {
259
261
  if (tasks.length === 0) tasks.push('default')
260
262
 
261
263
  // Import and check build file
262
- let maybeBuild = await import(buildFile)
263
- while (maybeBuild) {
264
- if (isBuild(maybeBuild)) break
265
- maybeBuild = maybeBuild.default
266
- }
264
+ const initialContext = new Context(buildFile, '')
265
+ const maybeBuild = await runAsync(initialContext, async (): Promise<Build | void> => {
266
+ let maybeBuild = await import(buildFile)
267
+ while (maybeBuild) {
268
+ if (isBuild(maybeBuild)) return maybeBuild
269
+ maybeBuild = maybeBuild.default
270
+ }
271
+ })
267
272
 
268
273
  // We _need_ a build
269
274
  if (! isBuild(maybeBuild)) {
package/src/fork.ts CHANGED
@@ -4,9 +4,11 @@ import { assert, BuildFailure } from './asserts'
4
4
  import { runAsync } from './async'
5
5
  import { Files } from './files'
6
6
  import { $gry, $p, $red, logOptions } from './logging'
7
+ import { emit, emitForked } from './logging/emit'
7
8
  import { requireFilename, resolveFile } from './paths'
8
9
  import { Context, install } from './pipe'
9
10
 
11
+ import type { ForkedLogMessage } from './logging/emit'
10
12
  import type { AbsolutePath } from './paths'
11
13
  import type { Plug, PlugName, PlugResult } from './pipe'
12
14
 
@@ -37,6 +39,7 @@ export interface ForkData {
37
39
  filesDir: AbsolutePath,
38
40
  /** All files to pipe */
39
41
  filesList: AbsolutePath[],
42
+ logIndent: number,
40
43
  }
41
44
 
42
45
  /** Fork result, from child to parent process */
@@ -69,6 +72,7 @@ export abstract class ForkingPlug implements Plug<PlugResult> {
69
72
  buildFile: context.buildFile,
70
73
  filesDir: files.directory,
71
74
  filesList: [ ...files.absolutePaths() ],
75
+ logIndent: context.log.indent,
72
76
  }
73
77
 
74
78
  /* Get _this_ filename to spawn */
@@ -76,7 +80,7 @@ export abstract class ForkingPlug implements Plug<PlugResult> {
76
80
  context.log.debug('About to fork plug from', $p(this._scriptFile))
77
81
 
78
82
  /* Environment variables */
79
- const env = { ...process.env, ...logOptions.forkEnv(context.taskName, 4) }
83
+ const env = { ...process.env, ...logOptions.forkEnv(context.taskName) }
80
84
 
81
85
  /* Check our args (reversed) to see if the last specifies `coverageDir` */
82
86
  for (let i = this._arguments.length - 1; i >= 0; i --) {
@@ -95,15 +99,11 @@ export abstract class ForkingPlug implements Plug<PlugResult> {
95
99
 
96
100
  /* Run our script in a _separate_ process */
97
101
  const child = fork(script, {
98
- stdio: [ 'ignore', 'inherit', 'inherit', 'ipc', 'pipe' ],
102
+ stdio: [ 'ignore', 'inherit', 'inherit', 'ipc' ],
99
103
  env,
100
104
  })
101
105
 
102
- /* Pipe child logs directly to the writer */
103
- if (child.stdio[4]) {
104
- child.stdio[4].on('data', (data) => logOptions.output.write(data))
105
- }
106
-
106
+ /* Do some logging... */
107
107
  context.log.info('Running', $p(script), $gry(`(pid=${child.pid})`))
108
108
 
109
109
  /* Return a promise from the child process events */
@@ -116,9 +116,18 @@ export abstract class ForkingPlug implements Plug<PlugResult> {
116
116
  return done || reject(BuildFailure.fail())
117
117
  })
118
118
 
119
- child.on('message', (message: ForkResult) => {
120
- context.log.debug('Message from forked plug process with PID', child.pid, message)
121
- response = message
119
+ child.on('message', (message: ForkResult | ForkedLogMessage) => {
120
+ if ('logLevel' in message) {
121
+ const { logLevel, taskName, lines } = message
122
+ lines.forEach((line) => {
123
+ // this is _a hack_, as we want to reuse the indent and prefix of
124
+ // the current log, but the task name from the forked plug!!!
125
+ (context.log as any)._emit(logLevel, [ line ], taskName)
126
+ })
127
+ } else {
128
+ context.log.debug('Message from forked plug process with PID', child.pid, message)
129
+ response = message
130
+ }
122
131
  })
123
132
 
124
133
  child.on('exit', (code, signal) => {
@@ -204,13 +213,19 @@ if ((process.argv[1] === requireFilename(__fileurl)) && (process.send)) {
204
213
  buildFile,
205
214
  filesDir,
206
215
  filesList,
216
+ logIndent,
207
217
  } = message
208
218
 
219
+ /* Before anything else, capture logs! */
220
+ emit.emitter = emitForked // replace the log emitter...
221
+
209
222
  /* First of all, our plug context */
210
223
  const context = new Context(buildFile, taskName)
224
+ context.log.indent = logIndent
211
225
  context.log.debug('Message from parent process for PID', process.pid, message)
212
226
 
213
227
  /* Contextualize this run, and go! */
228
+ process.exitCode = 0
214
229
  const result = runAsync(context, async () => {
215
230
  /* Check that we have a proper script file name */
216
231
  assert(resolveFile(scriptFile), `Script file ${$p(scriptFile)} not found`)
@@ -253,23 +268,14 @@ if ((process.argv[1] === requireFilename(__fileurl)) && (process.send)) {
253
268
 
254
269
  /* The promise generated by `process.send()` simply triggers process exit */
255
270
  promise.then(() => {
256
- context.log.debug('Forked plug exiting')
257
- process.disconnect()
258
- process.exitCode = 0
271
+ context.log.debug('Forked plug with pid', process.pid, 'exiting')
259
272
  }, (error) => {
260
273
  // eslint-disable-next-line no-console
261
- console.log('\n\nError sending message back to parent process', error)
274
+ console.error('\n\nError sending message back to parent process', error)
262
275
  process.exitCode = 1
263
276
  }).finally(() => {
264
- /* Flush and end our log output */
265
- logOptions.output.end()
266
-
267
- /* Set a timeout _forcefully_ killing the process in 5 seconds */
268
- setTimeout(() => {
269
- // eslint-disable-next-line no-console
270
- console.log('\n\nProcess %d for %s did not exit in 5 seconds', process.pid, exportName)
271
- process.exit(2)
272
- }, 5000).unref()
277
+ process.disconnect()
278
+ process.exit(process.exitCode)
273
279
  })
274
280
  })
275
281
  }
package/src/fs.ts CHANGED
@@ -1,5 +1,5 @@
1
- import fsp from 'node:fs/promises'
2
1
  import { constants } from 'node:fs'
2
+ import fsp from 'node:fs/promises'
3
3
 
4
4
  type FsPromises = typeof fsp
5
5
 
package/src/helpers.ts CHANGED
@@ -21,10 +21,10 @@ import { execChild } from './utils/exec'
21
21
  import { parseOptions } from './utils/options'
22
22
  import { walk } from './utils/walk'
23
23
 
24
- import type { ForkOptions } from './fork'
25
24
  import type { Pipe } from './index'
26
25
  import type { AbsolutePath } from './paths'
27
26
  import type { Context } from './pipe'
27
+ import type { RunBuildOptions } from './plugs/build'
28
28
  import type { ExecChildOptions } from './utils/exec'
29
29
  import type { ParseOptions } from './utils/options'
30
30
  import type { WalkOptions } from './utils/walk'
@@ -71,7 +71,7 @@ export function find(...args: ParseOptions<FindOptions>): Pipe {
71
71
  }))
72
72
  }
73
73
 
74
- export type InvokeBuildOptions = ForkOptions & Record<string, string>
74
+ export type InvokeBuildOptions = RunBuildOptions & Record<string, string>
75
75
  export type InvokeBuildTasks = string | [ string, ...string[] ]
76
76
 
77
77
  export function invokeBuild(buildFile: string): Promise<void>
package/src/index.ts CHANGED
@@ -41,8 +41,8 @@ export * as pipe from './pipe'
41
41
  export * as utils from './utils'
42
42
 
43
43
  // Individual utilities
44
- export { banner, log, $ms, $p, $t, $blu, $cyn, $grn, $gry, $mgt, $red, $und, $wht, $ylw } from './logging'
45
- export { assert, fail, BuildFailure } from './asserts'
44
+ export { BuildFailure, assert, fail } from './asserts'
45
+ export { $blu, $cyn, $grn, $gry, $mgt, $ms, $p, $red, $t, $und, $wht, $ylw, banner, log } from './logging'
46
46
 
47
47
  // Our minimal exports
48
48
  export * from './build'