@plugjs/plug 0.4.0 → 0.4.2

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 (72) hide show
  1. package/dist/asserts.cjs +1 -1
  2. package/dist/asserts.cjs.map +1 -1
  3. package/dist/asserts.mjs +1 -1
  4. package/dist/asserts.mjs.map +1 -1
  5. package/dist/async.cjs +5 -20
  6. package/dist/async.cjs.map +2 -2
  7. package/dist/async.mjs +5 -20
  8. package/dist/async.mjs.map +2 -2
  9. package/dist/build.cjs +95 -70
  10. package/dist/build.cjs.map +2 -2
  11. package/dist/build.d.ts +6 -8
  12. package/dist/build.mjs +92 -67
  13. package/dist/build.mjs.map +2 -2
  14. package/dist/cli.mjs +1 -1
  15. package/dist/files.cjs +5 -3
  16. package/dist/files.cjs.map +1 -1
  17. package/dist/files.d.ts +2 -1
  18. package/dist/files.mjs +11 -4
  19. package/dist/files.mjs.map +1 -1
  20. package/dist/helpers.cjs +3 -4
  21. package/dist/helpers.cjs.map +1 -1
  22. package/dist/helpers.mjs +3 -4
  23. package/dist/helpers.mjs.map +1 -1
  24. package/dist/logging/options.cjs +3 -10
  25. package/dist/logging/options.cjs.map +1 -1
  26. package/dist/logging/options.d.ts +44 -1
  27. package/dist/logging/options.mjs +3 -10
  28. package/dist/logging/options.mjs.map +1 -1
  29. package/dist/plugs/build.cjs +4 -7
  30. package/dist/plugs/build.cjs.map +1 -1
  31. package/dist/plugs/build.mjs +2 -5
  32. package/dist/plugs/build.mjs.map +1 -1
  33. package/dist/plugs/debug.cjs +7 -9
  34. package/dist/plugs/debug.cjs.map +1 -1
  35. package/dist/plugs/debug.mjs +8 -10
  36. package/dist/plugs/debug.mjs.map +1 -1
  37. package/dist/types.cjs +12 -0
  38. package/dist/types.cjs.map +1 -1
  39. package/dist/types.d.ts +33 -9
  40. package/dist/types.mjs +5 -0
  41. package/dist/types.mjs.map +2 -2
  42. package/dist/utils/diff.cjs +1 -4
  43. package/dist/utils/diff.cjs.map +1 -1
  44. package/dist/utils/diff.mjs +1 -4
  45. package/dist/utils/diff.mjs.map +1 -1
  46. package/dist/utils/{types.cjs → singleton.cjs} +14 -13
  47. package/dist/utils/singleton.cjs.map +6 -0
  48. package/dist/utils/singleton.d.ts +12 -0
  49. package/dist/utils/singleton.mjs +13 -0
  50. package/dist/utils/singleton.mjs.map +6 -0
  51. package/dist/utils.cjs +2 -2
  52. package/dist/utils.cjs.map +1 -1
  53. package/dist/utils.d.ts +1 -1
  54. package/dist/utils.mjs +1 -1
  55. package/package.json +1 -1
  56. package/src/asserts.ts +1 -1
  57. package/src/async.ts +6 -29
  58. package/src/build.ts +151 -117
  59. package/src/files.ts +14 -6
  60. package/src/helpers.ts +3 -4
  61. package/src/logging/options.ts +4 -13
  62. package/src/plugs/build.ts +2 -15
  63. package/src/plugs/debug.ts +10 -9
  64. package/src/types.ts +52 -23
  65. package/src/utils/diff.ts +1 -6
  66. package/src/utils/singleton.ts +19 -0
  67. package/src/utils.ts +1 -1
  68. package/dist/utils/types.cjs.map +0 -6
  69. package/dist/utils/types.d.ts +0 -4
  70. package/dist/utils/types.mjs +0 -12
  71. package/dist/utils/types.mjs.map +0 -6
  72. package/src/utils/types.ts +0 -11
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/logging/options.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -27,6 +27,7 @@ module.exports = __toCommonJS(build_exports);
27
27
  var import_colors = require("../logging/colors.cjs");
28
28
  var import_fork = require("../fork.cjs");
29
29
  var import_paths = require("../paths.cjs");
30
+ var import_build = require("../build.cjs");
30
31
  var RunBuildInternal = class {
31
32
  constructor(_tasks, _props) {
32
33
  this._tasks = _tasks;
@@ -37,22 +38,18 @@ var RunBuildInternal = class {
37
38
  for (const file of files.absolutePaths()) {
38
39
  let maybeBuild = await import(file);
39
40
  while (maybeBuild) {
40
- if (isBuild(maybeBuild))
41
+ if ((0, import_build.isBuild)(maybeBuild))
41
42
  break;
42
43
  maybeBuild = maybeBuild.default;
43
44
  }
44
- if (!isBuild(maybeBuild)) {
45
+ if (!(0, import_build.isBuild)(maybeBuild)) {
45
46
  context.log.fail(`File ${(0, import_colors.$p)(file)} did not export a proper build`);
46
47
  } else {
47
- await maybeBuild[buildMarker](tasks, this._props);
48
+ await (0, import_build.invokeTasks)(maybeBuild, tasks, this._props);
48
49
  }
49
50
  }
50
51
  }
51
52
  };
52
- var buildMarker = Symbol.for("plugjs:isBuild");
53
- function isBuild(build) {
54
- return build && typeof build[buildMarker] === "function";
55
- }
56
53
  var RunBuild = class extends import_fork.ForkingPlug {
57
54
  constructor(tasks, props, options) {
58
55
  super((0, import_paths.requireFilename)(__filename), [tasks, props, options], RunBuildInternal.name);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/build.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,kBAA8C;AAC9C,mBAAgC;AAOzB,IAAM,mBAAN,MAA6C;AAAA,EAClD,YACqB,QACA,QACnB;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAiC;AACxD,UAAM,QAAQ,KAAK,OAAO,WAAW,IAAI,CAAE,SAAU,IAAI,KAAK;AAE9D,eAAW,QAAQ,MAAM,cAAc,GAAG;AAExC,UAAI,aAAa,MAAM,OAAO;AAC9B,aAAO,YAAY;AACjB,YAAI,QAAQ,UAAU;AAAG;AACzB,qBAAa,WAAW;AAAA,MAC1B;AAGA,UAAI,CAAE,QAAQ,UAAU,GAAG;AACzB,gBAAQ,IAAI,KAAK,YAAQ,kBAAG,IAAI,iCAAiC;AAAA,MACnE,OAAO;AACL,cAAM,WAAW,WAAW,EAAE,OAAO,KAAK,MAAM;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AACF;AAGA,IAAM,cAAc,OAAO,IAAI,gBAAgB;AAG/C,SAAS,QAAQ,OAKf;AACA,SAAO,SAAS,OAAO,MAAM,WAAW,MAAM;AAChD;AAEO,IAAM,WAAN,cAAuB,wBAAY;AAAA,EACxC,YACI,OACA,OACA,SACF;AACA,cAAM,8BAAgB,UAAS,GAAG,CAAE,OAAO,OAAO,OAAQ,GAAG,iBAAiB,IAAI;AAAA,EACpF;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,kBAA8C;AAC9C,mBAAgC;AAChC,mBAAqC;AAM9B,IAAM,mBAAN,MAA6C;AAAA,EAClD,YACqB,QACA,QACnB;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAiC;AACxD,UAAM,QAAQ,KAAK,OAAO,WAAW,IAAI,CAAE,SAAU,IAAI,KAAK;AAE9D,eAAW,QAAQ,MAAM,cAAc,GAAG;AAExC,UAAI,aAAa,MAAM,OAAO;AAC9B,aAAO,YAAY;AACjB,gBAAI,sBAAQ,UAAU;AAAG;AACzB,qBAAa,WAAW;AAAA,MAC1B;AAGA,UAAI,KAAE,sBAAQ,UAAU,GAAG;AACzB,gBAAQ,IAAI,KAAK,YAAQ,kBAAG,IAAI,iCAAiC;AAAA,MACnE,OAAO;AACL,kBAAM,0BAAY,YAAY,OAAO,KAAK,MAAM;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,WAAN,cAAuB,wBAAY;AAAA,EACxC,YACI,OACA,OACA,SACF;AACA,cAAM,8BAAgB,UAAS,GAAG,CAAE,OAAO,OAAO,OAAQ,GAAG,iBAAiB,IAAI;AAAA,EACpF;AACF;",
5
5
  "names": []
6
6
  }
@@ -2,6 +2,7 @@
2
2
  import { $p } from "../logging/colors.mjs";
3
3
  import { ForkingPlug } from "../fork.mjs";
4
4
  import { requireFilename } from "../paths.mjs";
5
+ import { invokeTasks, isBuild } from "../build.mjs";
5
6
  var RunBuildInternal = class {
6
7
  constructor(_tasks, _props) {
7
8
  this._tasks = _tasks;
@@ -19,15 +20,11 @@ var RunBuildInternal = class {
19
20
  if (!isBuild(maybeBuild)) {
20
21
  context.log.fail(`File ${$p(file)} did not export a proper build`);
21
22
  } else {
22
- await maybeBuild[buildMarker](tasks, this._props);
23
+ await invokeTasks(maybeBuild, tasks, this._props);
23
24
  }
24
25
  }
25
26
  }
26
27
  };
27
- var buildMarker = Symbol.for("plugjs:isBuild");
28
- function isBuild(build) {
29
- return build && typeof build[buildMarker] === "function";
30
- }
31
28
  var RunBuild = class extends ForkingPlug {
32
29
  constructor(tasks, props, options) {
33
30
  super(requireFilename(import.meta.url), [tasks, props, options], RunBuildInternal.name);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/build.ts"],
4
- "mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,mBAAqC;AAC9C,SAAS,uBAAuB;AAOzB,IAAM,mBAAN,MAA6C;AAAA,EAClD,YACqB,QACA,QACnB;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAiC;AACxD,UAAM,QAAQ,KAAK,OAAO,WAAW,IAAI,CAAE,SAAU,IAAI,KAAK;AAE9D,eAAW,QAAQ,MAAM,cAAc,GAAG;AAExC,UAAI,aAAa,MAAM,OAAO;AAC9B,aAAO,YAAY;AACjB,YAAI,QAAQ,UAAU;AAAG;AACzB,qBAAa,WAAW;AAAA,MAC1B;AAGA,UAAI,CAAE,QAAQ,UAAU,GAAG;AACzB,gBAAQ,IAAI,KAAK,QAAQ,GAAG,IAAI,iCAAiC;AAAA,MACnE,OAAO;AACL,cAAM,WAAW,WAAW,EAAE,OAAO,KAAK,MAAM;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AACF;AAGA,IAAM,cAAc,OAAO,IAAI,gBAAgB;AAG/C,SAAS,QAAQ,OAKf;AACA,SAAO,SAAS,OAAO,MAAM,WAAW,MAAM;AAChD;AAEO,IAAM,WAAN,cAAuB,YAAY;AAAA,EACxC,YACI,OACA,OACA,SACF;AACA,UAAM,gBAAgB,eAAS,GAAG,CAAE,OAAO,OAAO,OAAQ,GAAG,iBAAiB,IAAI;AAAA,EACpF;AACF;",
4
+ "mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,mBAAqC;AAC9C,SAAS,uBAAuB;AAChC,SAAS,aAAa,eAAe;AAM9B,IAAM,mBAAN,MAA6C;AAAA,EAClD,YACqB,QACA,QACnB;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAiC;AACxD,UAAM,QAAQ,KAAK,OAAO,WAAW,IAAI,CAAE,SAAU,IAAI,KAAK;AAE9D,eAAW,QAAQ,MAAM,cAAc,GAAG;AAExC,UAAI,aAAa,MAAM,OAAO;AAC9B,aAAO,YAAY;AACjB,YAAI,QAAQ,UAAU;AAAG;AACzB,qBAAa,WAAW;AAAA,MAC1B;AAGA,UAAI,CAAE,QAAQ,UAAU,GAAG;AACzB,gBAAQ,IAAI,KAAK,QAAQ,GAAG,IAAI,iCAAiC;AAAA,MACnE,OAAO;AACL,cAAM,YAAY,YAAY,OAAO,KAAK,MAAM;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,WAAN,cAAuB,YAAY;AAAA,EACxC,YACI,OACA,OACA,SACF;AACA,UAAM,gBAAgB,eAAS,GAAG,CAAE,OAAO,OAAO,OAAQ,GAAG,iBAAiB,IAAI;AAAA,EACpF;AACF;",
5
5
  "names": []
6
6
  }
@@ -11,15 +11,13 @@ var import_pipe = require("../pipe.cjs");
11
11
  }
12
12
  async pipe(files, context) {
13
13
  context.log.notice(this._title, `${(0, import_logging.$gry)("(")}${(0, import_logging.$ylw)(files.length)} ${(0, import_logging.$gry)("files)")}`);
14
- context.log.notice("- base dir:", (0, import_logging.$p)(context.resolve("@")));
15
- context.log.notice("- build file dir:", (0, import_logging.$p)(context.resolve(".")));
16
- context.log.notice("- files dir:", (0, import_logging.$p)(files.directory));
17
- if (files.length) {
18
- const [path, ...paths] = files;
19
- context.log.notice("- relative paths:", (0, import_logging.$und)((0, import_logging.$gry)(path)));
20
- for (const p of paths)
21
- context.log.notice("- :", (0, import_logging.$und)((0, import_logging.$gry)(p)));
22
- }
14
+ context.log.notice("- build file dir:", (0, import_logging.$gry)((0, import_logging.$und)(context.resolve("@"))));
15
+ context.log.notice("- current dir:", (0, import_logging.$gry)((0, import_logging.$und)(context.resolve("."))));
16
+ context.log.notice("- files dir:", (0, import_logging.$gry)((0, import_logging.$und)(files.directory)));
17
+ const paths = [...files];
18
+ const path = paths.shift();
19
+ context.log.notice("- relative paths:", (0, import_logging.$und)((0, import_logging.$gry)(path)));
20
+ paths.forEach((p) => context.log.notice("- :", (0, import_logging.$und)((0, import_logging.$gry)(p))));
23
21
  return files;
24
22
  }
25
23
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/debug.ts"],
4
- "mappings": ";;;AAAA,qBAAqC;AACrC,kBAAwB;AAAA,IAiBxB,qBAAQ,SAAS,MAAM,MAA6B;AAAA,EACjC;AAAA,EAEjB,eAAe,MAA+B;AAC5C,UAAM,CAAE,QAAQ,WAAY,IAAI;AAChC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,MAAM,KAAK,OAAc,SAAkC;AACzD,YAAQ,IAAI,OAAO,KAAK,QAAQ,OAAG,qBAAK,GAAG,QAAI,qBAAK,MAAM,MAAM,SAAK,qBAAK,QAAQ,GAAG;AACrF,YAAQ,IAAI,OAAO,0BAAsB,mBAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,YAAQ,IAAI,OAAO,0BAAsB,mBAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,YAAQ,IAAI,OAAO,0BAAsB,mBAAG,MAAM,SAAS,CAAC;AAC5D,QAAI,MAAM,QAAQ;AAChB,YAAM,CAAE,MAAM,GAAG,KAAM,IAAI;AAC3B,cAAQ,IAAI,OAAO,0BAAsB,yBAAK,qBAAK,IAAI,CAAC,CAAC;AACzD,iBAAW,KAAK;AAAO,gBAAQ,IAAI,OAAO,0BAAsB,yBAAK,qBAAK,CAAC,CAAC,CAAC;AAAA,IAC/E;AACA,WAAO;AAAA,EACT;AACF,CAAC;",
4
+ "mappings": ";;;AAAA,qBAAiC;AACjC,kBAAwB;AAAA,IAiBxB,qBAAQ,SAAS,MAAM,MAA6B;AAAA,EACjC;AAAA,EAEjB,eAAe,MAA+B;AAC5C,UAAM,CAAE,QAAQ,WAAY,IAAI;AAChC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,MAAM,KAAK,OAAc,SAAkC;AACzD,YAAQ,IAAI,OAAO,KAAK,QAAQ,OAAG,qBAAK,GAAG,QAAI,qBAAK,MAAM,MAAM,SAAK,qBAAK,QAAQ,GAAG;AACrF,YAAQ,IAAI,OAAO,yBAAqB,yBAAK,qBAAK,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC;AACxE,YAAQ,IAAI,OAAO,yBAAqB,yBAAK,qBAAK,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC;AACxE,YAAQ,IAAI,OAAO,yBAAqB,yBAAK,qBAAK,MAAM,SAAS,CAAC,CAAC;AAEnE,UAAM,QAAQ,CAAE,GAAG,KAAM;AACzB,UAAM,OAAO,MAAM,MAAM;AACzB,YAAQ,IAAI,OAAO,yBAAqB,yBAAK,qBAAK,IAAI,CAAC,CAAC;AACxD,UAAM,QAAQ,CAAC,MAAM,QAAQ,IAAI,OAAO,yBAAqB,yBAAK,qBAAK,CAAC,CAAC,CAAC,CAAC;AAE3E,WAAO;AAAA,EACT;AACF,CAAC;",
5
5
  "names": []
6
6
  }
@@ -1,5 +1,5 @@
1
1
  // plugs/debug.ts
2
- import { $gry, $p, $und, $ylw } from "../logging.mjs";
2
+ import { $gry, $und, $ylw } from "../logging.mjs";
3
3
  import { install } from "../pipe.mjs";
4
4
  install("debug", class Debug {
5
5
  _title;
@@ -9,15 +9,13 @@ install("debug", class Debug {
9
9
  }
10
10
  async pipe(files, context) {
11
11
  context.log.notice(this._title, `${$gry("(")}${$ylw(files.length)} ${$gry("files)")}`);
12
- context.log.notice("- base dir:", $p(context.resolve("@")));
13
- context.log.notice("- build file dir:", $p(context.resolve(".")));
14
- context.log.notice("- files dir:", $p(files.directory));
15
- if (files.length) {
16
- const [path, ...paths] = files;
17
- context.log.notice("- relative paths:", $und($gry(path)));
18
- for (const p of paths)
19
- context.log.notice("- :", $und($gry(p)));
20
- }
12
+ context.log.notice("- build file dir:", $gry($und(context.resolve("@"))));
13
+ context.log.notice("- current dir:", $gry($und(context.resolve("."))));
14
+ context.log.notice("- files dir:", $gry($und(files.directory)));
15
+ const paths = [...files];
16
+ const path = paths.shift();
17
+ context.log.notice("- relative paths:", $und($gry(path)));
18
+ paths.forEach((p) => context.log.notice("- :", $und($gry(p))));
21
19
  return files;
22
20
  }
23
21
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/debug.ts"],
4
- "mappings": ";AAAA,SAAS,MAAM,IAAI,MAAM,YAAY;AACrC,SAAS,eAAe;AAiBxB,QAAQ,SAAS,MAAM,MAA6B;AAAA,EACjC;AAAA,EAEjB,eAAe,MAA+B;AAC5C,UAAM,CAAE,QAAQ,WAAY,IAAI;AAChC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,MAAM,KAAK,OAAc,SAAkC;AACzD,YAAQ,IAAI,OAAO,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,KAAK,MAAM,MAAM,KAAK,KAAK,QAAQ,GAAG;AACrF,YAAQ,IAAI,OAAO,sBAAsB,GAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,YAAQ,IAAI,OAAO,sBAAsB,GAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,YAAQ,IAAI,OAAO,sBAAsB,GAAG,MAAM,SAAS,CAAC;AAC5D,QAAI,MAAM,QAAQ;AAChB,YAAM,CAAE,MAAM,GAAG,KAAM,IAAI;AAC3B,cAAQ,IAAI,OAAO,sBAAsB,KAAK,KAAK,IAAI,CAAC,CAAC;AACzD,iBAAW,KAAK;AAAO,gBAAQ,IAAI,OAAO,sBAAsB,KAAK,KAAK,CAAC,CAAC,CAAC;AAAA,IAC/E;AACA,WAAO;AAAA,EACT;AACF,CAAC;",
4
+ "mappings": ";AAAA,SAAS,MAAM,MAAM,YAAY;AACjC,SAAS,eAAe;AAiBxB,QAAQ,SAAS,MAAM,MAA6B;AAAA,EACjC;AAAA,EAEjB,eAAe,MAA+B;AAC5C,UAAM,CAAE,QAAQ,WAAY,IAAI;AAChC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,MAAM,KAAK,OAAc,SAAkC;AACzD,YAAQ,IAAI,OAAO,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,KAAK,MAAM,MAAM,KAAK,KAAK,QAAQ,GAAG;AACrF,YAAQ,IAAI,OAAO,qBAAqB,KAAK,KAAK,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC;AACxE,YAAQ,IAAI,OAAO,qBAAqB,KAAK,KAAK,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC;AACxE,YAAQ,IAAI,OAAO,qBAAqB,KAAK,KAAK,MAAM,SAAS,CAAC,CAAC;AAEnE,UAAM,QAAQ,CAAE,GAAG,KAAM;AACzB,UAAM,OAAO,MAAM,MAAM;AACzB,YAAQ,IAAI,OAAO,qBAAqB,KAAK,KAAK,IAAI,CAAC,CAAC;AACxD,UAAM,QAAQ,CAAC,MAAM,QAAQ,IAAI,OAAO,qBAAqB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3E,WAAO;AAAA,EACT;AACF,CAAC;",
5
5
  "names": []
6
6
  }
package/dist/types.cjs CHANGED
@@ -3,6 +3,10 @@ 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
+ };
6
10
  var __copyProps = (to, from, except, desc) => {
7
11
  if (from && typeof from === "object" || typeof from === "function") {
8
12
  for (let key of __getOwnPropNames(from))
@@ -15,5 +19,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
15
19
 
16
20
  // types.ts
17
21
  var types_exports = {};
22
+ __export(types_exports, {
23
+ buildMarker: () => buildMarker
24
+ });
18
25
  module.exports = __toCommonJS(types_exports);
26
+ var buildMarker = Symbol.for("plugjs:plug:types:Build");
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ buildMarker
30
+ });
19
31
  //# sourceMappingURL=types.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/types.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmIO,IAAM,cAAc,OAAO,IAAI,yBAAyB;",
5
5
  "names": []
6
6
  }
package/dist/types.d.ts CHANGED
@@ -27,21 +27,23 @@ export interface State {
27
27
  * The {@link Task} interface normalizes a task definition, associating it with
28
28
  * its build file, its sibling {@link Task}s and available _properties_.
29
29
  */
30
- export interface Task<T extends Result = Result, P extends Props = Record<string, string>> {
31
- /** Simply invoke this task stand alone */
32
- (props?: Partial<P>): Promise<T>;
30
+ export interface Task<T extends Result = Result> {
31
+ /** The unique ID of this {@link Task} */
32
+ readonly id: number;
33
+ /** The _original_ name of this task */
34
+ readonly name: string;
33
35
  /** All _properties_ siblings to this {@link Task} */
34
36
  readonly props: Props;
35
37
  /** All {@link Tasks} sibling to this {@link Task} */
36
38
  readonly tasks: Tasks;
37
39
  /** The absolute file name where this {@link Task} was defined */
38
40
  readonly buildFile: AbsolutePath;
39
- /** Invoke a task from in the context of a {@link Build} */
40
- invoke(state: State, taskName: string): Promise<T>;
41
41
  /** Other {@link Task}s hooked _before_ this one */
42
42
  readonly before: Task[];
43
43
  /** Other {@link Task}s hooked _after_ this one */
44
44
  readonly after: Task[];
45
+ /** Invoke a task from in the context of a {@link Build} */
46
+ invoke(state: State, taskName: string): Promise<T>;
45
47
  }
46
48
  /**
47
49
  * The {@link TaskResult} type identifies _what_ can be returned by a
@@ -50,30 +52,52 @@ export interface Task<T extends Result = Result, P extends Props = Record<string
50
52
  export type TaskResult = Pipe | Files | void | undefined;
51
53
  /** The {@link TaskDef} type identifies the _definition_ of a task. */
52
54
  export type TaskDef<R extends TaskResult = TaskResult> = () => R | Promise<R>;
55
+ /** A callable, compiled {@link Task} from a {@link TaskDef} */
56
+ export type TaskCall<D extends BuildDef = BuildDef, R extends Result = Result> = {
57
+ (props?: Partial<Props<D>>): Promise<R>;
58
+ task: Task<R>;
59
+ };
53
60
  /** A type identifying all _properties_ of a {@link Build}. */
54
61
  export type Props<D extends BuildDef = BuildDef> = {
55
62
  readonly [k in string & keyof D as D[k] extends string ? k : never]: string;
56
63
  };
57
64
  /** A type identifying all _tasks_ in a {@link Build} */
58
65
  export type Tasks<D extends BuildDef = BuildDef> = {
59
- readonly [k in string & keyof D as D[k] extends TaskDef | Task ? k : never]: D[k] extends TaskDef<infer R> ? R extends void | undefined ? Task<undefined, Props<D>> : R extends Pipe | Files ? Task<Files, Props<D>> : never : D[k] extends Task ? D[k] : never;
66
+ readonly [k in string & keyof D as D[k] extends TaskDef | TaskCall ? k : never]: D[k] extends TaskDef<infer R> ? R extends void | undefined ? TaskCall<D, undefined> : R extends Pipe | Files ? TaskCall<D, Files> : never : D[k] extends TaskCall ? D[k] : never;
60
67
  };
61
68
  /**
62
69
  * The {@link BuildDef} interface describes the _definition_ of a {@link Build},
63
70
  * all its properties and tasks.
64
71
  */
65
72
  export interface BuildDef {
66
- [k: string]: string | TaskDef | Task;
73
+ [k: string]: string | TaskDef | TaskCall;
67
74
  }
68
75
  /**
69
76
  * The type that will be used for `this` when invoking
70
77
  * {@link TaskDef | task definitions }.
71
78
  */
72
79
  export type ThisBuild<D extends BuildDef> = {
73
- readonly [k in keyof D]: k extends string ? D[k] extends TaskDef<infer R> ? R extends Promise<undefined> | void | undefined ? () => Promise<undefined> : R extends Pipe | Files ? () => Pipe : never : D[k] extends Task<infer R> ? R extends undefined ? () => Promise<undefined> : R extends Files ? () => Pipe : never : D[k] extends string ? string : never : never;
80
+ readonly [k in keyof D as k extends string ? k : never]: D[k] extends TaskDef<infer R> ? R extends Promise<undefined> | void | undefined ? () => Promise<undefined> : R extends Pipe | Files ? () => Pipe : never : D[k] extends TaskCall<any, infer R> ? R extends undefined ? () => Promise<undefined> : R extends Files ? () => Pipe : never : D[k] extends string ? string : never;
74
81
  };
82
+ /**
83
+ * Symbol indicating that an object is a {@link Build}.
84
+ *
85
+ * In a compiled {@link Build} this symbol will be associated with a function
86
+ * taking an array of strings (task names) and record of props to override
87
+ */
88
+ export declare const buildMarker: unique symbol;
75
89
  /**
76
90
  * The {@link Build} type represents the collection of {@link Task}s
77
91
  * and _properties_ compiled from a {@link BuildDef | build definition}.
78
92
  */
79
- export type Build<D extends BuildDef = BuildDef> = Tasks<D> & Props<D>;
93
+ export type Build<D extends BuildDef = BuildDef> = Props<D> & Tasks<D> & {
94
+ readonly [buildMarker]: (tasks: readonly string[], props?: Record<string, string | undefined>) => Promise<void>;
95
+ };
96
+ /** A type identifying all _task names_ in a {@link Build}. */
97
+ export type BuildTasks<B extends Build> = string & keyof {
98
+ [name in keyof B as B[name] extends Function ? name : never]: any;
99
+ };
100
+ /** A type identifying a subset of _properties_ for a {@link Build}. */
101
+ export type BuildProps<B extends Build> = {
102
+ [name in keyof B as B[name] extends string ? name : never]?: string;
103
+ };
package/dist/types.mjs CHANGED
@@ -1 +1,6 @@
1
+ // types.ts
2
+ var buildMarker = Symbol.for("plugjs:plug:types:Build");
3
+ export {
4
+ buildMarker
5
+ };
1
6
  //# sourceMappingURL=types.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": [],
4
- "mappings": "",
3
+ "sources": ["../src/types.ts"],
4
+ "mappings": ";AAmIO,IAAM,cAAc,OAAO,IAAI,yBAAyB;",
5
5
  "names": []
6
6
  }
@@ -28,7 +28,6 @@ var import_node_assert = require("node:assert");
28
28
  var import_node_util = require("node:util");
29
29
  var import_asserts = require("../asserts.cjs");
30
30
  var import_logging = require("../logging.cjs");
31
- var import_types = require("./types.cjs");
32
31
  function compareLongestCommonSubsequence(lhsCtx, rhsCtx) {
33
32
  let lhsStart = 0;
34
33
  let rhsStart = 0;
@@ -257,9 +256,7 @@ function textDiff(lhs, rhs, add, del, not) {
257
256
  const _not = not || (import_logging.logOptions.colors ? (s) => s : (s) => ` ${s}`);
258
257
  let lhsLines;
259
258
  let rhsLines;
260
- const lhsType = (0, import_types.getTypeOf)(lhs);
261
- const rhsType = (0, import_types.getTypeOf)(rhs);
262
- if (lhsType === "string" && rhsType === "string") {
259
+ if (typeof lhs === "string" && typeof rhs === "string") {
263
260
  lhsLines = lhs.split("\n");
264
261
  rhsLines = rhs.split("\n");
265
262
  } else {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/diff.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAqB;AACrB,uBAA2C;AAE3C,qBAAuB;AACvB,qBAAuC;AACvC,mBAA0B;AAyB1B,SAAS,gCAAgC,QAAiB,QAA2B;AACnF,MAAI,WAAW;AACf,MAAI,WAAW;AACf,MAAI,UAAU;AACd,MAAI,UAAU;AAEd,QAAM,UAAoB,CAAC;AAE3B,SAAO,UAAU,OAAO,UAAU,UAAU,OAAO,QAAQ;AACzD,QACG,UAAU,OAAO,UAAY,CAAC,OAAO,SAAS,OAAO,KACrD,UAAU,OAAO,UAAY,CAAC,OAAO,SAAS,OAAO,GACtD;AAEA;AACA;AACA;AAAA,IACF;AAGA,eAAW;AACX,eAAW;AAEX,WAAQ,UAAU,OAAO,WACtB,WAAW,OAAO,UAAU,OAAO,SAAS,OAAO,IAAI;AACxD;AAAA,IACF;AAEA,WAAQ,UAAU,OAAO,WACtB,WAAW,OAAO,UAAU,OAAO,SAAS,OAAO,IAAI;AACxD;AAAA,IACF;AAEA,QAAK,WAAW,WAAa,WAAW,SAAU;AAChD,YAAM,MAAM,KAAK,IAAI,UAAW,OAAO,SAAU,OAAO,SAAS,IAAI,CAAC;AACtE,YAAM,MAAM,KAAK,IAAI,UAAW,OAAO,SAAU,OAAO,SAAS,IAAI,CAAC;AAEtE,cAAQ,KAAK;AAAA,QACX,QAAQ;AAAA,QACR,QAAQ,UAAU;AAAA,QAClB,QAAQ;AAAA,QACR,QAAQ,UAAU;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;AAEA,SAAS,uBACL,QAAiB,UAAkB,UACnC,QAAiB,UAAkB,UACnC,SAAmB,SACK;AAC1B,QAAM,MAAM,OAAO,SAAS,OAAO,SAAS;AAE5C,QAAM,QAAQ,WAAW;AACzB,QAAM,MAAM,WAAW;AACvB,QAAM,QAAS,WAAW,YAAa,WAAW;AAClD,QAAM,OAAO,QAAQ,MAAM;AAC3B,QAAM,aAAa,MAAM;AACzB,QAAM,WAAW,MAAM;AACvB,QAAM,QAAS,WAAW,WAAW,WAAW,YAAY,IAAK;AACjE,QAAM,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE;AACzB,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,UAAQ,aAAa,QAAQ,CAAC,IAAI;AAClC,UAAQ,WAAW,MAAM,CAAC,IAAI;AAC9B,OAAK,IAAI,GAAG,KAAK,MAAM,EAAE,GAAG;AAC1B,SAAK,IAAI,QAAQ,GAAG,KAAK,QAAQ,GAAG,KAAK,GAAG;AAC1C,UAAI,MAAM,QAAQ,GAAG;AACnB,YAAI,QAAQ,aAAa,IAAI,CAAC;AAAA,MAChC,OAAO;AACL,YAAI,QAAQ,aAAa,IAAI,CAAC,IAAK;AACnC,YAAK,IAAK,QAAQ,KAAQ,QAAQ,aAAa,IAAI,CAAC,KAAM,GAAI;AAC5D,cAAI,QAAQ,aAAa,IAAI,CAAC;AAAA,QAChC;AAAA,MACF;AACA,UAAI,IAAI;AAER,aAAQ,IAAI,YACT,IAAI,YACJ,OAAO,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,GACnC;AACA;AAAK;AAAA,MACP;AACA,cAAQ,aAAa,CAAC,IAAK;AAE3B,UAAI,OAAQ,MAAM,IAAI,KAAO,IAAI,MAAM,GAAI;AACzC,YAAI,QAAQ,WAAW,CAAC,KAAM,QAAQ,aAAa,CAAC,GAAI;AACtD,cAAI,IAAI,QAAQ,aAAa,CAAC;AAC9B,cAAI,IAAI,QAAQ,aAAa,CAAC,IAAK;AACnC,iBAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAEA,SAAK,IAAI,MAAM,GAAG,KAAK,MAAM,GAAG,KAAK,GAAG;AAEtC,UAAI,MAAM,MAAM,GAAG;AACjB,YAAI,QAAQ,WAAW,IAAI,CAAC;AAAA,MAC9B,OAAO;AACL,YAAI,QAAQ,WAAW,IAAI,CAAC,IAAK;AACjC,YAAK,IAAI,MAAM,KAAO,QAAQ,WAAW,IAAI,CAAC,IAAK,GAAI;AACrD,cAAI,QAAQ,WAAW,IAAI,CAAC;AAAA,QAC9B;AAAA,MACF;AACA,UAAI,IAAI;AACR,aAAQ,IAAI,YACT,IAAI,YACJ,OAAO,MAAM,IAAI,CAAC,MAAM,OAAO,MAAM,IAAI,CAAC,GAC3C;AAEA;AACA;AAAA,MACF;AACA,cAAQ,WAAW,CAAC,IAAI;AAExB,UAAI,CAAC,OAAQ,QAAQ,KAAK,KAAO,KAAK,QAAQ,GAAI;AAChD,YAAI,QAAQ,WAAW,CAAC,KAAM,QAAQ,aAAa,CAAC,GAAI;AACtD,cAAI,IAAI,QAAQ,aAAa,CAAC;AAC9B,cAAI,IAAI,QAAQ,aAAa,CAAC,IAAK;AACnC,iBAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,+BAAK,iCAAiC;AACxC;AAEA,SAAS,4BACL,QAAiB,UAAkB,UACnC,QAAiB,UAAkB,UACnC,UAAU,CAAC,GAAG,UAAU,CAAC,GACrB;AAEN,SAAS,WAAW,YACjB,WAAW,YACX,OAAO,MAAM,QAAQ,MAAM,OAAO,MAAM,QAAQ,GAAK;AACtD,MAAE;AACF,MAAE;AAAA,EACJ;AAEA,SAAS,WAAW,YACjB,WAAW,YACX,OAAO,MAAM,WAAW,CAAC,MAAM,OAAO,MAAM,WAAW,CAAC,GAAK;AAC9D,MAAE;AACF,MAAE;AAAA,EACJ;AACA,MAAI,aAAa,UAAU;AACzB,WAAO,WAAW,UAAU;AAC1B,aAAO,SAAS,UAAU,IAAI;AAAA,IAChC;AAAA,EACF,WAAW,aAAa,UAAU;AAChC,WAAO,WAAW,UAAU;AAC1B,aAAO,SAAS,UAAU,IAAI;AAAA,IAChC;AAAA,EACF,OAAO;AACL,UAAM,EAAE,GAAG,EAAE,IAAI;AAAA,MACb;AAAA,MAAQ;AAAA,MAAU;AAAA,MAClB;AAAA,MAAQ;AAAA,MAAU;AAAA,MAClB;AAAA,MAAS;AAAA,IAAO;AACpB;AAAA,MACI;AAAA,MAAQ;AAAA,MAAU;AAAA,MAClB;AAAA,MAAQ;AAAA,MAAU;AAAA,MAClB;AAAA,MAAS;AAAA,IAAO;AACpB;AAAA,MACI;AAAA,MAAQ;AAAA,MAAG;AAAA,MACX;AAAA,MAAQ;AAAA,MAAG;AAAA,MACX;AAAA,MAAS;AAAA,IAAO;AAAA,EACtB;AACF;AAOA,IAAM,UAAN,MAAc;AAAA;AAAA,EAEH;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAGT,YAAY,OAAiB;AAC3B,UAAM,SAAS,KAAK,SAAS,MAAM;AACnC,SAAK,WAAW,IAAI,MAAM,MAAM;AAChC,SAAK,QAAQ;AAAA,EACf;AACF;AAGA,IAAM,QAAN,MAAoD;AAAA,EAC1C,cAAc,oBAAI,IAAe;AAAA,EACjC,WAA4B,CAAC;AAAA,EAC7B,SAAS;AAAA,EAET,eAAe,MAAiB;AACtC,eAAW,CAAE,QAAQA,KAAK,KAAK,KAAK,UAAU;AAC5C,cAAI,oCAAkB,MAAM,MAAM;AAAG,eAAOA;AAAA,IAC9C;AAEA,UAAM,OAAO,EAAG,KAAK;AACrB,SAAK,SAAS,KAAK,CAAE,MAAM,IAAK,CAAC;AACjC,WAAO;AAAA,EACT;AAAA,EAEQ,kBAAkB,MAAiB;AACzC,QAAI,OAAO,KAAK,YAAY,IAAI,IAAI;AACpC,QAAI;AAAM,aAAO;AAEjB,WAAO,EAAG,KAAK;AACf,SAAK,YAAY,IAAI,MAAM,IAAI;AAC/B,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,SAAS,UAAuB;AAC9B,UAAM,QAAkB,CAAC;AACzB,eAAW,QAAQ,UAAU;AAC3B,YAAM,OAAO,SAAS,OAAO,SAAS,OAAO;AAE7C,YAAM,OAAO,SAAS,WACpB,KAAK,eAAe,IAAI,IACxB,KAAK,kBAAkB,IAAI;AAE7B,YAAM,KAAK,IAAI;AAAA,IACjB;AAEA,WAAO;AAAA,EACT;AACF;AAGA,IAAM,iBAAiC;AAAA,EACrC,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AACX;AAUO,SAAS,KACZ,KACA,KACQ;AACV,6BAAO,QAAQ,QAAW,0BAA0B;AACpD,6BAAO,QAAQ,QAAW,2BAA2B;AAErD,QAAM,QAAQ,IAAI,MAAS;AAC3B,QAAM,SAAS,IAAI,QAAQ,MAAM,SAAS,GAAG,CAAC;AAC9C,QAAM,SAAS,IAAI,QAAQ,MAAM,SAAS,GAAG,CAAC;AAE9C;AAAA,IACI;AAAA,IAAQ;AAAA,IAAG,OAAO;AAAA,IAClB;AAAA,IAAQ;AAAA,IAAG,OAAO;AAAA,EACtB;AAEA,SAAO,gCAAgC,QAAQ,MAAM;AACvD;AAGO,SAAS,SACZ,KACA,KACA,KACA,KACA,KACM;AAER,QAAM,OAAO,QAAQ,0BAAW,SAAS,sBAAO,CAAC,MAAsB,KAAK;AAC5E,QAAM,OAAO,QAAQ,0BAAW,SAAS,sBAAO,CAAC,MAAsB,KAAK;AAC5E,QAAM,OAAO,QAAQ,0BAAW,SAAS,CAAC,MAAsB,IAAI,CAAC,MAAsB,KAAK;AAGhG,MAAI;AACJ,MAAI;AAGJ,QAAM,cAAU,wBAAU,GAAG;AAC7B,QAAM,cAAU,wBAAU,GAAG;AAI7B,MAAK,YAAY,YAAc,YAAY,UAAW;AACpD,eAAW,IAAI,MAAM,IAAI;AACzB,eAAW,IAAI,MAAM,IAAI;AAAA,EAC3B,OAAO;AACL,mBAAW,0BAAQ,KAAK,cAAc,EAAE,MAAM,IAAI;AAClD,mBAAW,0BAAQ,KAAK,cAAc,EAAE,MAAM,IAAI;AAAA,EACpD;AAGA,QAAM,UAAU,KAAK,UAAU,QAAQ;AACvC,MAAI,QAAQ,WAAW;AAAG,WAAO;AAGjC,MAAI,SAAS;AACb,QAAM,SAAmB,CAAC;AAC1B,UAAQ,QAAQ,CAAC,EAAE,QAAQ,QAAQ,QAAQ,OAAO,MAAM;AACtD,QAAI,UAAU;AAAQ,aAAO,KAAK,GAAG,SAAS,MAAM,QAAQ,MAAM,EAAE,IAAI,IAAI,CAAC;AAC7E,QAAI;AAAQ,aAAO,KAAK,GAAG,SAAS,MAAM,QAAQ,SAAS,MAAM,EAAE,IAAI,IAAI,CAAC;AAC5E,QAAI;AAAQ,aAAO,KAAK,GAAG,SAAS,MAAM,QAAQ,SAAS,MAAM,EAAE,IAAI,IAAI,CAAC;AAC5E,aAAS,SAAS;AAAA,EACpB,CAAC;AACD,MAAI,SAAS,SAAS;AAAQ,WAAO,KAAK,GAAG,SAAS,MAAM,MAAM,EAAE,IAAI,IAAI,CAAC;AAG7E,SAAO,OAAO,KAAK,IAAI;AACzB;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAqB;AACrB,uBAA2C;AAE3C,qBAAuB;AACvB,qBAAuC;AAyBvC,SAAS,gCAAgC,QAAiB,QAA2B;AACnF,MAAI,WAAW;AACf,MAAI,WAAW;AACf,MAAI,UAAU;AACd,MAAI,UAAU;AAEd,QAAM,UAAoB,CAAC;AAE3B,SAAO,UAAU,OAAO,UAAU,UAAU,OAAO,QAAQ;AACzD,QACG,UAAU,OAAO,UAAY,CAAC,OAAO,SAAS,OAAO,KACrD,UAAU,OAAO,UAAY,CAAC,OAAO,SAAS,OAAO,GACtD;AAEA;AACA;AACA;AAAA,IACF;AAGA,eAAW;AACX,eAAW;AAEX,WAAQ,UAAU,OAAO,WACtB,WAAW,OAAO,UAAU,OAAO,SAAS,OAAO,IAAI;AACxD;AAAA,IACF;AAEA,WAAQ,UAAU,OAAO,WACtB,WAAW,OAAO,UAAU,OAAO,SAAS,OAAO,IAAI;AACxD;AAAA,IACF;AAEA,QAAK,WAAW,WAAa,WAAW,SAAU;AAChD,YAAM,MAAM,KAAK,IAAI,UAAW,OAAO,SAAU,OAAO,SAAS,IAAI,CAAC;AACtE,YAAM,MAAM,KAAK,IAAI,UAAW,OAAO,SAAU,OAAO,SAAS,IAAI,CAAC;AAEtE,cAAQ,KAAK;AAAA,QACX,QAAQ;AAAA,QACR,QAAQ,UAAU;AAAA,QAClB,QAAQ;AAAA,QACR,QAAQ,UAAU;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;AAEA,SAAS,uBACL,QAAiB,UAAkB,UACnC,QAAiB,UAAkB,UACnC,SAAmB,SACK;AAC1B,QAAM,MAAM,OAAO,SAAS,OAAO,SAAS;AAE5C,QAAM,QAAQ,WAAW;AACzB,QAAM,MAAM,WAAW;AACvB,QAAM,QAAS,WAAW,YAAa,WAAW;AAClD,QAAM,OAAO,QAAQ,MAAM;AAC3B,QAAM,aAAa,MAAM;AACzB,QAAM,WAAW,MAAM;AACvB,QAAM,QAAS,WAAW,WAAW,WAAW,YAAY,IAAK;AACjE,QAAM,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE;AACzB,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,UAAQ,aAAa,QAAQ,CAAC,IAAI;AAClC,UAAQ,WAAW,MAAM,CAAC,IAAI;AAC9B,OAAK,IAAI,GAAG,KAAK,MAAM,EAAE,GAAG;AAC1B,SAAK,IAAI,QAAQ,GAAG,KAAK,QAAQ,GAAG,KAAK,GAAG;AAC1C,UAAI,MAAM,QAAQ,GAAG;AACnB,YAAI,QAAQ,aAAa,IAAI,CAAC;AAAA,MAChC,OAAO;AACL,YAAI,QAAQ,aAAa,IAAI,CAAC,IAAK;AACnC,YAAK,IAAK,QAAQ,KAAQ,QAAQ,aAAa,IAAI,CAAC,KAAM,GAAI;AAC5D,cAAI,QAAQ,aAAa,IAAI,CAAC;AAAA,QAChC;AAAA,MACF;AACA,UAAI,IAAI;AAER,aAAQ,IAAI,YACT,IAAI,YACJ,OAAO,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,GACnC;AACA;AAAK;AAAA,MACP;AACA,cAAQ,aAAa,CAAC,IAAK;AAE3B,UAAI,OAAQ,MAAM,IAAI,KAAO,IAAI,MAAM,GAAI;AACzC,YAAI,QAAQ,WAAW,CAAC,KAAM,QAAQ,aAAa,CAAC,GAAI;AACtD,cAAI,IAAI,QAAQ,aAAa,CAAC;AAC9B,cAAI,IAAI,QAAQ,aAAa,CAAC,IAAK;AACnC,iBAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAEA,SAAK,IAAI,MAAM,GAAG,KAAK,MAAM,GAAG,KAAK,GAAG;AAEtC,UAAI,MAAM,MAAM,GAAG;AACjB,YAAI,QAAQ,WAAW,IAAI,CAAC;AAAA,MAC9B,OAAO;AACL,YAAI,QAAQ,WAAW,IAAI,CAAC,IAAK;AACjC,YAAK,IAAI,MAAM,KAAO,QAAQ,WAAW,IAAI,CAAC,IAAK,GAAI;AACrD,cAAI,QAAQ,WAAW,IAAI,CAAC;AAAA,QAC9B;AAAA,MACF;AACA,UAAI,IAAI;AACR,aAAQ,IAAI,YACT,IAAI,YACJ,OAAO,MAAM,IAAI,CAAC,MAAM,OAAO,MAAM,IAAI,CAAC,GAC3C;AAEA;AACA;AAAA,MACF;AACA,cAAQ,WAAW,CAAC,IAAI;AAExB,UAAI,CAAC,OAAQ,QAAQ,KAAK,KAAO,KAAK,QAAQ,GAAI;AAChD,YAAI,QAAQ,WAAW,CAAC,KAAM,QAAQ,aAAa,CAAC,GAAI;AACtD,cAAI,IAAI,QAAQ,aAAa,CAAC;AAC9B,cAAI,IAAI,QAAQ,aAAa,CAAC,IAAK;AACnC,iBAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,+BAAK,iCAAiC;AACxC;AAEA,SAAS,4BACL,QAAiB,UAAkB,UACnC,QAAiB,UAAkB,UACnC,UAAU,CAAC,GAAG,UAAU,CAAC,GACrB;AAEN,SAAS,WAAW,YACjB,WAAW,YACX,OAAO,MAAM,QAAQ,MAAM,OAAO,MAAM,QAAQ,GAAK;AACtD,MAAE;AACF,MAAE;AAAA,EACJ;AAEA,SAAS,WAAW,YACjB,WAAW,YACX,OAAO,MAAM,WAAW,CAAC,MAAM,OAAO,MAAM,WAAW,CAAC,GAAK;AAC9D,MAAE;AACF,MAAE;AAAA,EACJ;AACA,MAAI,aAAa,UAAU;AACzB,WAAO,WAAW,UAAU;AAC1B,aAAO,SAAS,UAAU,IAAI;AAAA,IAChC;AAAA,EACF,WAAW,aAAa,UAAU;AAChC,WAAO,WAAW,UAAU;AAC1B,aAAO,SAAS,UAAU,IAAI;AAAA,IAChC;AAAA,EACF,OAAO;AACL,UAAM,EAAE,GAAG,EAAE,IAAI;AAAA,MACb;AAAA,MAAQ;AAAA,MAAU;AAAA,MAClB;AAAA,MAAQ;AAAA,MAAU;AAAA,MAClB;AAAA,MAAS;AAAA,IAAO;AACpB;AAAA,MACI;AAAA,MAAQ;AAAA,MAAU;AAAA,MAClB;AAAA,MAAQ;AAAA,MAAU;AAAA,MAClB;AAAA,MAAS;AAAA,IAAO;AACpB;AAAA,MACI;AAAA,MAAQ;AAAA,MAAG;AAAA,MACX;AAAA,MAAQ;AAAA,MAAG;AAAA,MACX;AAAA,MAAS;AAAA,IAAO;AAAA,EACtB;AACF;AAOA,IAAM,UAAN,MAAc;AAAA;AAAA,EAEH;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAGT,YAAY,OAAiB;AAC3B,UAAM,SAAS,KAAK,SAAS,MAAM;AACnC,SAAK,WAAW,IAAI,MAAM,MAAM;AAChC,SAAK,QAAQ;AAAA,EACf;AACF;AAGA,IAAM,QAAN,MAAoD;AAAA,EAC1C,cAAc,oBAAI,IAAe;AAAA,EACjC,WAA4B,CAAC;AAAA,EAC7B,SAAS;AAAA,EAET,eAAe,MAAiB;AACtC,eAAW,CAAE,QAAQA,KAAK,KAAK,KAAK,UAAU;AAC5C,cAAI,oCAAkB,MAAM,MAAM;AAAG,eAAOA;AAAA,IAC9C;AAEA,UAAM,OAAO,EAAG,KAAK;AACrB,SAAK,SAAS,KAAK,CAAE,MAAM,IAAK,CAAC;AACjC,WAAO;AAAA,EACT;AAAA,EAEQ,kBAAkB,MAAiB;AACzC,QAAI,OAAO,KAAK,YAAY,IAAI,IAAI;AACpC,QAAI;AAAM,aAAO;AAEjB,WAAO,EAAG,KAAK;AACf,SAAK,YAAY,IAAI,MAAM,IAAI;AAC/B,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,SAAS,UAAuB;AAC9B,UAAM,QAAkB,CAAC;AACzB,eAAW,QAAQ,UAAU;AAC3B,YAAM,OAAO,SAAS,OAAO,SAAS,OAAO;AAE7C,YAAM,OAAO,SAAS,WACpB,KAAK,eAAe,IAAI,IACxB,KAAK,kBAAkB,IAAI;AAE7B,YAAM,KAAK,IAAI;AAAA,IACjB;AAEA,WAAO;AAAA,EACT;AACF;AAGA,IAAM,iBAAiC;AAAA,EACrC,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AACX;AAUO,SAAS,KACZ,KACA,KACQ;AACV,6BAAO,QAAQ,QAAW,0BAA0B;AACpD,6BAAO,QAAQ,QAAW,2BAA2B;AAErD,QAAM,QAAQ,IAAI,MAAS;AAC3B,QAAM,SAAS,IAAI,QAAQ,MAAM,SAAS,GAAG,CAAC;AAC9C,QAAM,SAAS,IAAI,QAAQ,MAAM,SAAS,GAAG,CAAC;AAE9C;AAAA,IACI;AAAA,IAAQ;AAAA,IAAG,OAAO;AAAA,IAClB;AAAA,IAAQ;AAAA,IAAG,OAAO;AAAA,EACtB;AAEA,SAAO,gCAAgC,QAAQ,MAAM;AACvD;AAGO,SAAS,SACZ,KACA,KACA,KACA,KACA,KACM;AAER,QAAM,OAAO,QAAQ,0BAAW,SAAS,sBAAO,CAAC,MAAsB,KAAK;AAC5E,QAAM,OAAO,QAAQ,0BAAW,SAAS,sBAAO,CAAC,MAAsB,KAAK;AAC5E,QAAM,OAAO,QAAQ,0BAAW,SAAS,CAAC,MAAsB,IAAI,CAAC,MAAsB,KAAK;AAGhG,MAAI;AACJ,MAAI;AAIJ,MAAK,OAAO,QAAQ,YAAc,OAAO,QAAQ,UAAW;AAC1D,eAAW,IAAI,MAAM,IAAI;AACzB,eAAW,IAAI,MAAM,IAAI;AAAA,EAC3B,OAAO;AACL,mBAAW,0BAAQ,KAAK,cAAc,EAAE,MAAM,IAAI;AAClD,mBAAW,0BAAQ,KAAK,cAAc,EAAE,MAAM,IAAI;AAAA,EACpD;AAGA,QAAM,UAAU,KAAK,UAAU,QAAQ;AACvC,MAAI,QAAQ,WAAW;AAAG,WAAO;AAGjC,MAAI,SAAS;AACb,QAAM,SAAmB,CAAC;AAC1B,UAAQ,QAAQ,CAAC,EAAE,QAAQ,QAAQ,QAAQ,OAAO,MAAM;AACtD,QAAI,UAAU;AAAQ,aAAO,KAAK,GAAG,SAAS,MAAM,QAAQ,MAAM,EAAE,IAAI,IAAI,CAAC;AAC7E,QAAI;AAAQ,aAAO,KAAK,GAAG,SAAS,MAAM,QAAQ,SAAS,MAAM,EAAE,IAAI,IAAI,CAAC;AAC5E,QAAI;AAAQ,aAAO,KAAK,GAAG,SAAS,MAAM,QAAQ,SAAS,MAAM,EAAE,IAAI,IAAI,CAAC;AAC5E,aAAS,SAAS;AAAA,EACpB,CAAC;AACD,MAAI,SAAS,SAAS;AAAQ,WAAO,KAAK,GAAG,SAAS,MAAM,MAAM,EAAE,IAAI,IAAI,CAAC;AAG7E,SAAO,OAAO,KAAK,IAAI;AACzB;",
5
5
  "names": ["code"]
6
6
  }
@@ -3,7 +3,6 @@ import { fail } from "node:assert";
3
3
  import { inspect, isDeepStrictEqual } from "node:util";
4
4
  import { assert } from "../asserts.mjs";
5
5
  import { $grn, $red, logOptions } from "../logging.mjs";
6
- import { getTypeOf } from "./types.mjs";
7
6
  function compareLongestCommonSubsequence(lhsCtx, rhsCtx) {
8
7
  let lhsStart = 0;
9
8
  let rhsStart = 0;
@@ -232,9 +231,7 @@ function textDiff(lhs, rhs, add, del, not) {
232
231
  const _not = not || (logOptions.colors ? (s) => s : (s) => ` ${s}`);
233
232
  let lhsLines;
234
233
  let rhsLines;
235
- const lhsType = getTypeOf(lhs);
236
- const rhsType = getTypeOf(rhs);
237
- if (lhsType === "string" && rhsType === "string") {
234
+ if (typeof lhs === "string" && typeof rhs === "string") {
238
235
  lhsLines = lhs.split("\n");
239
236
  rhsLines = rhs.split("\n");
240
237
  } else {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/diff.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["code"]
6
6
  }
@@ -17,21 +17,22 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // utils/types.ts
21
- var types_exports = {};
22
- __export(types_exports, {
23
- getTypeOf: () => getTypeOf
20
+ // utils/singleton.ts
21
+ var singleton_exports = {};
22
+ __export(singleton_exports, {
23
+ getSingleton: () => getSingleton
24
24
  });
25
- module.exports = __toCommonJS(types_exports);
26
- function getTypeOf(what) {
27
- if (Array.isArray(what))
28
- return "array";
29
- if (what === null)
30
- return "null";
31
- return typeof what;
25
+ module.exports = __toCommonJS(singleton_exports);
26
+ function getSingleton(symbol, factory) {
27
+ const anyGlobalThis = globalThis;
28
+ if (anyGlobalThis[symbol])
29
+ return anyGlobalThis[symbol];
30
+ const value = factory();
31
+ Object.defineProperty(anyGlobalThis, symbol, { value });
32
+ return value;
32
33
  }
33
34
  // Annotate the CommonJS export names for ESM import in node:
34
35
  0 && (module.exports = {
35
- getTypeOf
36
+ getSingleton
36
37
  });
37
- //# sourceMappingURL=types.cjs.map
38
+ //# sourceMappingURL=singleton.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/singleton.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,SAAS,aAAgB,QAAgB,SAAqB;AACnE,QAAM,gBAAgB;AACtB,MAAI,cAAc,MAAM;AAAG,WAAO,cAAc,MAAM;AAEtD,QAAM,QAAQ,QAAQ;AACtB,SAAO,eAAe,eAAe,QAAQ,EAAE,MAAM,CAAC;AACtD,SAAO;AACT;",
5
+ "names": []
6
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Get the instance of a _singleton_ variable.
3
+ *
4
+ * Sometimes we need unique instances _per process_ (for example our async
5
+ * context). The problem is that the code might get called from two (or three)
6
+ * different versions of this file: the .cjs transpiled code, the .mjs
7
+ * transpiled one, or the .ts dynamically transpiled by our dynamic loader.
8
+ *
9
+ * A _singleton_ associates an instance with a symbol in `globalThis` and ensure
10
+ * there is only _one_ instance per process (per `globalThis`).
11
+ */
12
+ export declare function getSingleton<T>(symbol: symbol, factory: () => T): T;
@@ -0,0 +1,13 @@
1
+ // utils/singleton.ts
2
+ function getSingleton(symbol, factory) {
3
+ const anyGlobalThis = globalThis;
4
+ if (anyGlobalThis[symbol])
5
+ return anyGlobalThis[symbol];
6
+ const value = factory();
7
+ Object.defineProperty(anyGlobalThis, symbol, { value });
8
+ return value;
9
+ }
10
+ export {
11
+ getSingleton
12
+ };
13
+ //# sourceMappingURL=singleton.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/singleton.ts"],
4
+ "mappings": ";AAWO,SAAS,aAAgB,QAAgB,SAAqB;AACnE,QAAM,gBAAgB;AACtB,MAAI,cAAc,MAAM;AAAG,WAAO,cAAc,MAAM;AAEtD,QAAM,QAAQ,QAAQ;AACtB,SAAO,eAAe,eAAe,QAAQ,EAAE,MAAM,CAAC;AACtD,SAAO;AACT;",
5
+ "names": []
6
+ }
package/dist/utils.cjs CHANGED
@@ -21,7 +21,7 @@ __reExport(utils_exports, require("./utils/diff.cjs"), module.exports);
21
21
  __reExport(utils_exports, require("./utils/exec.cjs"), module.exports);
22
22
  __reExport(utils_exports, require("./utils/match.cjs"), module.exports);
23
23
  __reExport(utils_exports, require("./utils/options.cjs"), module.exports);
24
- __reExport(utils_exports, require("./utils/types.cjs"), module.exports);
24
+ __reExport(utils_exports, require("./utils/singleton.cjs"), module.exports);
25
25
  __reExport(utils_exports, require("./utils/walk.cjs"), module.exports);
26
26
  // Annotate the CommonJS export names for ESM import in node:
27
27
  0 && (module.exports = {
@@ -29,7 +29,7 @@ __reExport(utils_exports, require("./utils/walk.cjs"), module.exports);
29
29
  ...require("./utils/exec.cjs"),
30
30
  ...require("./utils/match.cjs"),
31
31
  ...require("./utils/options.cjs"),
32
- ...require("./utils/types.cjs"),
32
+ ...require("./utils/singleton.cjs"),
33
33
  ...require("./utils/walk.cjs")
34
34
  });
35
35
  //# sourceMappingURL=utils.cjs.map
@@ -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,gCAHd;AAIA,0BAAc,8BAJd;AAKA,0BAAc,6BALd;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,6BAAd;AACA,0BAAc,6BADd;AAEA,0BAAc,8BAFd;AAGA,0BAAc,gCAHd;AAIA,0BAAc,kCAJd;AAKA,0BAAc,6BALd;",
5
5
  "names": []
6
6
  }
package/dist/utils.d.ts CHANGED
@@ -2,5 +2,5 @@ export * from './utils/diff';
2
2
  export * from './utils/exec';
3
3
  export * from './utils/match';
4
4
  export * from './utils/options';
5
- export * from './utils/types';
5
+ export * from './utils/singleton';
6
6
  export * from './utils/walk';
package/dist/utils.mjs CHANGED
@@ -3,6 +3,6 @@ export * from "./utils/diff.mjs";
3
3
  export * from "./utils/exec.mjs";
4
4
  export * from "./utils/match.mjs";
5
5
  export * from "./utils/options.mjs";
6
- export * from "./utils/types.mjs";
6
+ export * from "./utils/singleton.mjs";
7
7
  export * from "./utils/walk.mjs";
8
8
  //# sourceMappingURL=utils.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plugjs/plug",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
package/src/asserts.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  import { githubAnnotation } from './logging/github'
6
6
 
7
7
  /** A symbol marking {@link BuildFailure} instances */
8
- const buildFailure = Symbol.for('plugjs:buildFailure')
8
+ const buildFailure = Symbol.for('plugjs:plug:types:BuildFailure')
9
9
 
10
10
  /** A {@link BuildFailure} represents an error _already logged_ in our build. */
11
11
  export class BuildFailure extends Error {
package/src/async.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { AsyncLocalStorage } from 'node:async_hooks'
2
2
 
3
3
  import { assert } from './asserts'
4
+ import { getSingleton } from './utils/singleton'
4
5
 
5
6
  import type { Context } from './pipe'
6
7
 
@@ -56,33 +57,9 @@ export function runningTasks(): string[] {
56
57
  * INTERNALS *
57
58
  * ========================================================================== */
58
59
 
59
- /*
60
- * Storage and task names must be unique _per process_. We might get called
61
- * from two (or three) different versions of this file: the .cjs transpiled one,
62
- * the .mjs transpiled one (or the .ts dynamically transpiled by ts-loader).
63
- * In all these cases, we must return the _same_ object, so we store those as
64
- * a global variables associated with a couple of global symbols
65
- */
66
- const storageKey = Symbol.for('plugjs.plug.async.storage')
67
- const tasksKey = Symbol.for('plugjs.plug.async.tasks')
68
-
69
- function getStorage(): AsyncLocalStorage<Context> {
70
- let storage: AsyncLocalStorage<Context> = (<any> globalThis)[storageKey]
71
- if (! storage) {
72
- storage = new AsyncLocalStorage<Context>()
73
- ;(<any> globalThis)[storageKey] = storage
74
- }
75
- return storage
76
- }
77
-
78
- function getTasks(): Set<string> {
79
- let tasks: Set<string> = (<any> globalThis)[tasksKey]
80
- if (! tasks) {
81
- tasks = new Set<string>
82
- ;(<any> globalThis)[tasksKey] = tasks
83
- }
84
- return tasks
85
- }
60
+ /* Storage and task names must be unique _per process_ */
61
+ const storageKey = Symbol.for('plugjs:plug:singleton:contextStorage')
62
+ const tasksKey = Symbol.for('plugjs:plug:singleton:runningTasksStorage')
86
63
 
87
- const storage = getStorage()
88
- const tasks = getTasks()
64
+ const storage = getSingleton(storageKey, () => new AsyncLocalStorage<Context>())
65
+ const tasks = getSingleton(tasksKey, () => new Set<string>())