@plugjs/plug 0.1.3 → 0.2.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 (120) hide show
  1. package/README.md +2 -2
  2. package/cli/plug.mjs +1397 -0
  3. package/cli/ts-loader.mjs +273 -0
  4. package/cli/tsrun.mjs +136 -0
  5. package/dist/asserts.cjs +6 -3
  6. package/dist/asserts.cjs.map +1 -1
  7. package/dist/asserts.d.ts +2 -2
  8. package/dist/asserts.mjs +6 -3
  9. package/dist/asserts.mjs.map +1 -1
  10. package/dist/build.cjs +39 -28
  11. package/dist/build.cjs.map +2 -2
  12. package/dist/build.mjs +39 -28
  13. package/dist/build.mjs.map +2 -2
  14. package/dist/files.cjs +9 -0
  15. package/dist/files.cjs.map +1 -1
  16. package/dist/files.d.ts +2 -2
  17. package/dist/files.mjs +9 -0
  18. package/dist/files.mjs.map +1 -1
  19. package/dist/fork.cjs +12 -10
  20. package/dist/fork.cjs.map +2 -2
  21. package/dist/fork.mjs +12 -10
  22. package/dist/fork.mjs.map +2 -2
  23. package/dist/fs.cjs +11 -4
  24. package/dist/fs.cjs.map +1 -1
  25. package/dist/fs.mjs +7 -4
  26. package/dist/fs.mjs.map +1 -1
  27. package/dist/helpers.cjs +5 -2
  28. package/dist/helpers.cjs.map +1 -1
  29. package/dist/helpers.mjs +5 -2
  30. package/dist/helpers.mjs.map +1 -1
  31. package/dist/index.cjs +9 -0
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.ts +4 -1
  34. package/dist/index.mjs +4 -1
  35. package/dist/index.mjs.map +1 -1
  36. package/dist/logging/levels.cjs.map +1 -1
  37. package/dist/logging/levels.mjs.map +1 -1
  38. package/dist/logging/logger.cjs +1 -1
  39. package/dist/logging/logger.cjs.map +1 -1
  40. package/dist/logging/logger.mjs +1 -1
  41. package/dist/logging/logger.mjs.map +1 -1
  42. package/dist/logging/options.cjs +5 -0
  43. package/dist/logging/options.cjs.map +1 -1
  44. package/dist/logging/options.mjs +5 -0
  45. package/dist/logging/options.mjs.map +1 -1
  46. package/dist/logging/report.cjs.map +1 -1
  47. package/dist/logging/report.mjs.map +1 -1
  48. package/dist/logging/spinner.cjs +12 -0
  49. package/dist/logging/spinner.cjs.map +1 -1
  50. package/dist/logging/spinner.mjs +12 -0
  51. package/dist/logging/spinner.mjs.map +1 -1
  52. package/dist/paths.cjs.map +1 -1
  53. package/dist/paths.mjs.map +1 -1
  54. package/dist/pipe.cjs +34 -0
  55. package/dist/pipe.cjs.map +1 -1
  56. package/dist/pipe.mjs +34 -0
  57. package/dist/pipe.mjs.map +1 -1
  58. package/dist/plugs/debug.cjs.map +1 -1
  59. package/dist/plugs/debug.mjs.map +1 -1
  60. package/dist/plugs/edit.cjs +1 -1
  61. package/dist/plugs/edit.cjs.map +1 -1
  62. package/dist/plugs/edit.d.ts +2 -2
  63. package/dist/plugs/edit.mjs +1 -1
  64. package/dist/plugs/edit.mjs.map +1 -1
  65. package/dist/plugs/esbuild/fix-extensions.cjs +4 -0
  66. package/dist/plugs/esbuild/fix-extensions.cjs.map +1 -1
  67. package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
  68. package/dist/plugs/esbuild.cjs +6 -2
  69. package/dist/plugs/esbuild.cjs.map +1 -1
  70. package/dist/plugs/esbuild.mjs +6 -2
  71. package/dist/plugs/esbuild.mjs.map +1 -1
  72. package/dist/plugs/exec.cjs.map +1 -1
  73. package/dist/plugs/exec.mjs.map +1 -1
  74. package/dist/plugs/exports.cjs +122 -0
  75. package/dist/plugs/exports.cjs.map +6 -0
  76. package/dist/plugs/exports.d.ts +17 -0
  77. package/dist/plugs/exports.mjs +105 -0
  78. package/dist/plugs/exports.mjs.map +6 -0
  79. package/dist/plugs/filter.cjs.map +1 -1
  80. package/dist/plugs/filter.mjs.map +1 -1
  81. package/dist/plugs.cjs +1 -0
  82. package/dist/plugs.cjs.map +1 -1
  83. package/dist/plugs.d.ts +1 -0
  84. package/dist/plugs.mjs +1 -0
  85. package/dist/plugs.mjs.map +1 -1
  86. package/dist/types.d.ts +7 -5
  87. package/dist/utils/exec.cjs +9 -0
  88. package/dist/utils/exec.cjs.map +1 -1
  89. package/dist/utils/exec.mjs +5 -0
  90. package/dist/utils/exec.mjs.map +1 -1
  91. package/dist/utils/match.cjs +5 -0
  92. package/dist/utils/match.cjs.map +1 -1
  93. package/dist/utils/match.mjs +1 -0
  94. package/dist/utils/match.mjs.map +1 -1
  95. package/dist/utils/options.cjs.map +1 -1
  96. package/dist/utils/options.mjs.map +1 -1
  97. package/dist/utils/walk.cjs.map +1 -1
  98. package/dist/utils/walk.mjs.map +1 -1
  99. package/extra/plug.mts +373 -0
  100. package/extra/ts-loader.mts +545 -0
  101. package/extra/tsrun.mts +64 -0
  102. package/extra/utils.ts +168 -0
  103. package/package.json +9 -19
  104. package/src/asserts.ts +7 -4
  105. package/src/build.ts +49 -22
  106. package/src/files.ts +2 -2
  107. package/src/fork.ts +9 -8
  108. package/src/helpers.ts +6 -2
  109. package/src/index.ts +5 -1
  110. package/src/logging/logger.ts +1 -1
  111. package/src/plugs/edit.ts +4 -3
  112. package/src/plugs/esbuild.ts +0 -1
  113. package/src/plugs/exports.ts +175 -0
  114. package/src/plugs.ts +1 -0
  115. package/src/types.ts +9 -7
  116. package/types/plugjs.d.ts +0 -2
  117. package/LICENSE.md +0 -211
  118. package/NOTICE.md +0 -13
  119. package/extra/cli.mjs +0 -1356
  120. package/extra/ts-loader.mjs +0 -223
@@ -0,0 +1,273 @@
1
+ // ts-loader.mts
2
+ import _fs2 from "node:fs";
3
+ import _module from "node:module";
4
+ import _path from "node:path";
5
+ import _url from "node:url";
6
+ import _util from "node:util";
7
+ import _esbuild from "esbuild";
8
+
9
+ // utils.ts
10
+ import _fs from "node:fs";
11
+ var $rst = process.stdout.isTTY ? "\x1B[0m" : "";
12
+ var $und = process.stdout.isTTY ? "\x1B[4m" : "";
13
+ var $gry = process.stdout.isTTY ? "\x1B[38;5;240m" : "";
14
+ var $blu = process.stdout.isTTY ? "\x1B[38;5;69m" : "";
15
+ var $wht = process.stdout.isTTY ? "\x1B[1;38;5;255m" : "";
16
+ var $tsk = process.stdout.isTTY ? "\x1B[38;5;141m" : "";
17
+ function isFile(path) {
18
+ try {
19
+ return _fs.statSync(path).isFile();
20
+ } catch (error) {
21
+ return false;
22
+ }
23
+ }
24
+ function isDirectory(path) {
25
+ try {
26
+ return _fs.statSync(path).isDirectory();
27
+ } catch (error) {
28
+ return false;
29
+ }
30
+ }
31
+
32
+ // ts-loader.mts
33
+ var CJS = "commonjs";
34
+ var ESM = "module";
35
+ var _debugLog = _util.debuglog("plug:ts-loader");
36
+ var _debug = _debugLog.enabled;
37
+ function _log(type, arg, ...args) {
38
+ if (!_debug)
39
+ return;
40
+ const t = type === ESM ? "esm" : type === CJS ? "cjs" : "---";
41
+ _debugLog(`[${t}] ${arg}`, ...args);
42
+ }
43
+ function _throw(type, message, options = {}) {
44
+ const t = type === ESM ? "esm" : type === CJS ? "cjs" : "---";
45
+ const prefix = `[ts-loader|${t}|pid=${process.pid}]`;
46
+ const { start = _throw, ...extra } = options;
47
+ const error = new Error(`${prefix} ${message}`);
48
+ Error.captureStackTrace(error, start);
49
+ Object.assign(error, extra);
50
+ throw error;
51
+ }
52
+ function _checkType(type) {
53
+ if (type === CJS)
54
+ return CJS;
55
+ if (type === ESM)
56
+ return ESM;
57
+ _throw(null, `Invalid type "${process.env.__TS_LOADER_FORCE_TYPE}"`);
58
+ }
59
+ var _type = (() => {
60
+ if (process.env.__TS_LOADER_FORCE_TYPE) {
61
+ const type = process.env.__TS_LOADER_FORCE_TYPE;
62
+ _log(null, `Forcing type to "${type}" from environment`);
63
+ return _checkType(type);
64
+ }
65
+ const findType = (directory) => {
66
+ const packageFile = _path.join(directory, "package.json");
67
+ try {
68
+ const packageData = _fs2.readFileSync(packageFile, "utf-8");
69
+ const packageJson = JSON.parse(packageData);
70
+ const packageType = packageJson.type;
71
+ switch (packageType) {
72
+ case void 0:
73
+ _log(null, `File "${packageFile}" does not declare a default type`);
74
+ return CJS;
75
+ case CJS:
76
+ case ESM:
77
+ _log(null, `File "${packageFile}" declares type as "${CJS}"`);
78
+ return packageType;
79
+ default:
80
+ _log(null, `File "${packageFile}" specifies unknown type "${packageType}"`);
81
+ return CJS;
82
+ }
83
+ } catch (cause) {
84
+ if (cause.code !== "ENOENT" && cause.code !== "EISDIR") {
85
+ _throw(null, `Unable to read or parse "${packageFile}"`, { cause, start: findType });
86
+ }
87
+ }
88
+ const parent = _path.dirname(directory);
89
+ if (directory !== parent)
90
+ return findType(directory);
91
+ _log(null, `Type defaulted to "${CJS}"`);
92
+ return CJS;
93
+ };
94
+ return findType(process.cwd());
95
+ })();
96
+ var tsLoaderMarker = Symbol.for("plugjs:tsLoader");
97
+ Object.defineProperty(globalThis, tsLoaderMarker, {
98
+ set(type) {
99
+ _log(null, `Setting type to "${type}"`);
100
+ process.env.__TS_LOADER_FORCE_TYPE = _type = _checkType(type);
101
+ },
102
+ get() {
103
+ return _type;
104
+ }
105
+ });
106
+ function _esbReport(kind, messages = []) {
107
+ const output = process.stderr;
108
+ const options = { color: !!output.isTTY, terminalWidth: output.columns || 80 };
109
+ const array = _esbuild.formatMessagesSync(messages, { kind, ...options });
110
+ array.forEach((message) => output.write(`${message}
111
+ `));
112
+ }
113
+ function _esbTranpile(filename, type) {
114
+ _log(type, `Transpiling "${filename}`);
115
+ const [format, __fileurl] = type === ESM ? ["esm", "import.meta.url"] : ["cjs", "__filename"];
116
+ const options = {
117
+ sourcefile: filename,
118
+ // the original filename we're parsing
119
+ format,
120
+ // what are we actually transpiling to???
121
+ loader: "ts",
122
+ // the format is always "typescript"
123
+ sourcemap: "inline",
124
+ // always inline source maps
125
+ sourcesContent: false,
126
+ // do not include sources content in sourcemap
127
+ platform: "node",
128
+ // d'oh! :-)
129
+ logLevel: "silent",
130
+ // catching those in our _esbReport below
131
+ target: `node${process.versions["node"]}`,
132
+ // target _this_ version
133
+ define: { __fileurl }
134
+ // from "globals.d.ts"
135
+ };
136
+ if (_debug) {
137
+ if (format === "esm") {
138
+ options.banner = `;(await import('node:util')).debuglog('plug:ts-loader')('[esm] Loaded "%s"', ${__fileurl});`;
139
+ } else if (format === "cjs") {
140
+ options.banner = `;require('node:util').debuglog('plug:ts-loader')('[cjs] Loaded "%s"', ${__fileurl});`;
141
+ }
142
+ }
143
+ let result;
144
+ try {
145
+ const source = _fs2.readFileSync(filename, "utf-8");
146
+ result = _esbuild.transformSync(source, options);
147
+ } catch (cause) {
148
+ _esbReport("error", cause.errors);
149
+ _esbReport("warning", cause.warnings);
150
+ _throw(type, `ESBuild error transpiling "${filename}"`, { cause, start: _esbTranpile });
151
+ }
152
+ if (_debug)
153
+ _esbReport("warning", result.warnings);
154
+ return result.code;
155
+ }
156
+ var resolve = (specifier, context, nextResolve) => {
157
+ _log(ESM, `Resolving "${specifier}" from "${context.parentURL}"`);
158
+ if (!specifier.match(/^\.\.?\//))
159
+ return nextResolve(specifier, context);
160
+ const parentURL = context.parentURL;
161
+ if (!parentURL)
162
+ return nextResolve(specifier, context);
163
+ if (!parentURL.startsWith("file:"))
164
+ return nextResolve(specifier, context);
165
+ if (!parentURL.match(/\.m?ts$/))
166
+ return nextResolve(specifier, context);
167
+ const url = new URL(specifier, parentURL).href;
168
+ const path = _url.fileURLToPath(url);
169
+ if (isFile(path)) {
170
+ _log(ESM, `Positive match for "${specifier}" as "${path}" (1)`);
171
+ return nextResolve(specifier, context);
172
+ }
173
+ const match = specifier.match(/(.*)(\.[mc]?js$)/);
174
+ if (match) {
175
+ const [, base, ext] = match;
176
+ const tsspecifier = base + ext.replace("js", "ts");
177
+ const tsurl = new URL(tsspecifier, parentURL).href;
178
+ const tspath = _url.fileURLToPath(tsurl);
179
+ if (isFile(tspath)) {
180
+ _log(ESM, `Positive match for "${specifier}" as "${tspath}" (2)`);
181
+ return nextResolve(tsspecifier, context);
182
+ }
183
+ }
184
+ if (isFile(`${path}.ts`)) {
185
+ _log(ESM, `Positive match for "${specifier}.ts" as "${path}.ts" (3)`);
186
+ return nextResolve(`${specifier}.ts`, context);
187
+ }
188
+ if (isDirectory(path)) {
189
+ const file = _path.resolve(path, "index.ts");
190
+ if (isFile(file)) {
191
+ _log(ESM, `Positive match for "${specifier}" as "${file}" (4)`);
192
+ const spec = _url.pathToFileURL(file).pathname;
193
+ return nextResolve(spec, context);
194
+ }
195
+ }
196
+ return nextResolve(specifier, context);
197
+ };
198
+ var load = (url, context, nextLoad) => {
199
+ _log(ESM, `Attempting to load "${url}"`);
200
+ if (!url.startsWith("file:"))
201
+ return nextLoad(url, context);
202
+ const ext = url.match(/\.[cm]?ts$/)?.[0];
203
+ if (!ext)
204
+ return nextLoad(url, context);
205
+ if (ext === ".cts") {
206
+ if (_debug) {
207
+ _log(null, `Switching type from "module" to "commonjs" for "${url}"`);
208
+ _log(null, "Please note that named import WILL NOT WORK in this case, as Node.js performs a");
209
+ _log(null, "static analisys on the CommonJS source code, and this file is transpiled from.");
210
+ _log(null, "TypeScript to CommonJS dynamically.");
211
+ }
212
+ return { format: CJS, shortCircuit: true };
213
+ }
214
+ const filename = _url.fileURLToPath(url);
215
+ if (ext === ".ts") {
216
+ if (_type === CJS) {
217
+ if (_debug) {
218
+ _log(null, `Switching type from "module" to "commonjs" for "${url}"`);
219
+ _log(null, "Please note that named import WILL NOT WORK in this case, as Node.js performs a");
220
+ _log(null, "static analisys on the CommonJS source code, and this file is transpiled from.");
221
+ _log(null, "TypeScript to CommonJS dynamically.");
222
+ }
223
+ return { format: CJS, shortCircuit: true };
224
+ }
225
+ }
226
+ const source = _esbTranpile(filename, ESM);
227
+ return { source, format: ESM, shortCircuit: true };
228
+ };
229
+ var loader = (module, filename) => {
230
+ _log(CJS, `Attempting to load "${filename}"`);
231
+ const ext = _path.extname(filename);
232
+ if (ext === ".ts") {
233
+ if (_type === ESM) {
234
+ _throw(CJS, `Must use import to load ES Module: ${filename}`, { code: "ERR_REQUIRE_ESM" });
235
+ }
236
+ } else if (ext !== ".cts") {
237
+ _throw(CJS, `Unsupported filename "${filename}"`);
238
+ }
239
+ const source = _esbTranpile(filename, CJS);
240
+ try {
241
+ module._compile(source, filename);
242
+ } catch (cause) {
243
+ console.error(`Error compiling module "${filename}"`, cause);
244
+ }
245
+ };
246
+ _module._extensions[".ts"] = _module._extensions[".cts"] = loader;
247
+ var _oldResolveFilename = _module._resolveFilename;
248
+ _module._resolveFilename = function(request, parent, ...args) {
249
+ try {
250
+ return _oldResolveFilename.call(this, request, parent, ...args);
251
+ } catch (error) {
252
+ if (error.code !== "MODULE_NOT_FOUND")
253
+ throw error;
254
+ const match = request.match(/(.*)(\.[mc]?js$)/);
255
+ if (parent && match) {
256
+ const [, name, ext] = match;
257
+ const tsrequest = name + ext.replace("js", "ts");
258
+ try {
259
+ const result = _oldResolveFilename.call(this, tsrequest, parent, ...args);
260
+ _log(CJS, `Resolution for "${request}" intercepted as "${tsrequest}`);
261
+ return result;
262
+ } catch (discard) {
263
+ throw error;
264
+ }
265
+ }
266
+ throw error;
267
+ }
268
+ };
269
+ export {
270
+ load,
271
+ resolve
272
+ };
273
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vZXh0cmEvdHMtbG9hZGVyLm10cyIsICIuLi9leHRyYS91dGlscy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFxQkEsT0FBT0EsVUFBUztBQUNoQixPQUFPLGFBQWE7QUFDcEIsT0FBTyxXQUFXO0FBQ2xCLE9BQU8sVUFBVTtBQUNqQixPQUFPLFdBQVc7QUFHbEIsT0FBTyxjQUFjOzs7QUMxQnJCLE9BQU8sU0FBUztBQVNULElBQU0sT0FBTyxRQUFRLE9BQU8sUUFBUSxZQUFjO0FBQ2xELElBQU0sT0FBTyxRQUFRLE9BQU8sUUFBUSxZQUFjO0FBQ2xELElBQU0sT0FBTyxRQUFRLE9BQU8sUUFBUSxtQkFBcUI7QUFDekQsSUFBTSxPQUFPLFFBQVEsT0FBTyxRQUFRLGtCQUFvQjtBQUN4RCxJQUFNLE9BQU8sUUFBUSxPQUFPLFFBQVEscUJBQXVCO0FBQzNELElBQU0sT0FBTyxRQUFRLE9BQU8sUUFBUSxtQkFBcUI7QUEyQ3pELFNBQVMsT0FBTyxNQUF1QjtBQUM1QyxNQUFJO0FBQ0YsV0FBTyxJQUFJLFNBQVMsSUFBSSxFQUFFLE9BQU87QUFBQSxFQUNuQyxTQUFTLE9BQVA7QUFDQSxXQUFPO0FBQUEsRUFDVDtBQUNGO0FBR08sU0FBUyxZQUFZLE1BQXVCO0FBQ2pELE1BQUk7QUFDRixXQUFPLElBQUksU0FBUyxJQUFJLEVBQUUsWUFBWTtBQUFBLEVBQ3hDLFNBQVMsT0FBUDtBQUNBLFdBQU87QUFBQSxFQUNUO0FBQ0Y7OztBRGxDQSxJQUFNLE1BQU07QUFFWixJQUFNLE1BQU07QUFHWixJQUFNLFlBQVksTUFBTSxTQUFTLGdCQUFnQjtBQUNqRCxJQUFNLFNBQVMsVUFBVTtBQUd6QixTQUFTLEtBQUssTUFBbUIsUUFBZ0IsTUFBb0I7QUFDbkUsTUFBSSxDQUFFO0FBQVE7QUFFZCxRQUFNLElBQUksU0FBUyxNQUFNLFFBQVEsU0FBUyxNQUFNLFFBQVE7QUFDeEQsWUFBVSxJQUFJLE1BQU0sT0FBTyxHQUFHLElBQUk7QUFDcEM7QUFHQSxTQUFTLE9BQ0wsTUFDQSxTQUNBLFVBQTRELENBQUMsR0FDeEQ7QUFDUCxRQUFNLElBQUksU0FBUyxNQUFNLFFBQVEsU0FBUyxNQUFNLFFBQVE7QUFDeEQsUUFBTSxTQUFTLGNBQWMsU0FBUyxRQUFRO0FBRTlDLFFBQU0sRUFBRSxRQUFRLFFBQVEsR0FBRyxNQUFNLElBQUk7QUFDckMsUUFBTSxRQUFRLElBQUksTUFBTSxHQUFHLFVBQVUsU0FBUztBQUM5QyxRQUFNLGtCQUFrQixPQUFPLEtBQUs7QUFDcEMsU0FBTyxPQUFPLE9BQU8sS0FBSztBQUUxQixRQUFNO0FBQ1I7QUFPQSxTQUFTLFdBQVcsTUFBb0I7QUFDdEMsTUFBSSxTQUFTO0FBQUssV0FBTztBQUN6QixNQUFJLFNBQVM7QUFBSyxXQUFPO0FBQ3pCLFNBQU8sTUFBTSxpQkFBaUIsUUFBUSxJQUFJLHlCQUF5QjtBQUNyRTtBQUVBLElBQUksU0FBZSxNQUFZO0FBQzdCLE1BQUksUUFBUSxJQUFJLHdCQUF3QjtBQUN0QyxVQUFNLE9BQU8sUUFBUSxJQUFJO0FBQ3pCLFNBQUssTUFBTSxvQkFBb0Isd0JBQXdCO0FBQ3ZELFdBQU8sV0FBVyxJQUFJO0FBQUEsRUFDeEI7QUFFQSxRQUFNLFdBQVcsQ0FBQyxjQUE0QjtBQUM1QyxVQUFNLGNBQWMsTUFBTSxLQUFLLFdBQVcsY0FBYztBQUN4RCxRQUFJO0FBQ0YsWUFBTSxjQUFjQyxLQUFJLGFBQWEsYUFBYSxPQUFPO0FBQ3pELFlBQU0sY0FBYyxLQUFLLE1BQU0sV0FBVztBQUMxQyxZQUFNLGNBQWMsWUFBWTtBQUNoQyxjQUFRLGFBQWE7QUFBQSxRQUNuQixLQUFLO0FBQ0gsZUFBSyxNQUFNLFNBQVMsOENBQThDO0FBQ2xFLGlCQUFPO0FBQUEsUUFFVCxLQUFLO0FBQUEsUUFDTCxLQUFLO0FBQ0gsZUFBSyxNQUFNLFNBQVMsa0NBQWtDLE1BQU07QUFDNUQsaUJBQU87QUFBQSxRQUVUO0FBQ0UsZUFBSyxNQUFNLFNBQVMsd0NBQXdDLGNBQWM7QUFDMUUsaUJBQU87QUFBQSxNQUNYO0FBQUEsSUFDRixTQUFTLE9BQVA7QUFDQSxVQUFLLE1BQU0sU0FBUyxZQUFjLE1BQU0sU0FBUyxVQUFXO0FBQzFELGVBQU8sTUFBTSw0QkFBNEIsZ0JBQWdCLEVBQUUsT0FBTyxPQUFPLFNBQVMsQ0FBQztBQUFBLE1BQ3JGO0FBQUEsSUFDRjtBQUVBLFVBQU0sU0FBUyxNQUFNLFFBQVEsU0FBUztBQUN0QyxRQUFJLGNBQWM7QUFBUSxhQUFPLFNBQVMsU0FBUztBQUVuRCxTQUFLLE1BQU0sc0JBQXNCLE1BQU07QUFDdkMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPLFNBQVMsUUFBUSxJQUFJLENBQUM7QUFDL0IsR0FBRztBQUdILElBQU0saUJBQWlCLE9BQU8sSUFBSSxpQkFBaUI7QUFFbkQsT0FBTyxlQUFlLFlBQVksZ0JBQWdCO0FBQUEsRUFDaEQsSUFBSSxNQUFvQjtBQUN0QixTQUFLLE1BQU0sb0JBQW9CLE9BQU87QUFDdEMsWUFBUSxJQUFJLHlCQUF5QixRQUFRLFdBQVcsSUFBSTtBQUFBLEVBQzlEO0FBQUEsRUFDQSxNQUFZO0FBQ1YsV0FBTztBQUFBLEVBQ1Q7QUFDRixDQUFDO0FBWUQsU0FBUyxXQUNMLE1BQ0EsV0FBK0IsQ0FBQyxHQUM1QjtBQUNOLFFBQU0sU0FBUyxRQUFRO0FBQ3ZCLFFBQU0sVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sT0FBTyxlQUFlLE9BQU8sV0FBVyxHQUFHO0FBRTdFLFFBQU0sUUFBUSxTQUFTLG1CQUFtQixVQUFVLEVBQUUsTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUN4RSxRQUFNLFFBQVEsQ0FBQyxZQUFZLE9BQU8sTUFBTSxHQUFHO0FBQUEsQ0FBVyxDQUFDO0FBQ3pEO0FBS0EsU0FBUyxhQUFhLFVBQWtCLE1BQW9CO0FBQzFELE9BQUssTUFBTSxnQkFBZ0IsVUFBVTtBQUVyQyxRQUFNLENBQUUsUUFBUSxTQUFVLElBQUksU0FBUyxNQUNyQyxDQUFFLE9BQU8saUJBQWtCLElBQzNCLENBQUUsT0FBTyxZQUFhO0FBR3hCLFFBQU0sVUFBcUM7QUFBQSxJQUN6QyxZQUFZO0FBQUE7QUFBQSxJQUNaO0FBQUE7QUFBQSxJQUNBLFFBQVE7QUFBQTtBQUFBLElBQ1IsV0FBVztBQUFBO0FBQUEsSUFDWCxnQkFBZ0I7QUFBQTtBQUFBLElBQ2hCLFVBQVU7QUFBQTtBQUFBLElBQ1YsVUFBVTtBQUFBO0FBQUEsSUFDVixRQUFRLE9BQU8sUUFBUSxTQUFTLE1BQU07QUFBQTtBQUFBLElBQ3RDLFFBQVEsRUFBRSxVQUFVO0FBQUE7QUFBQSxFQUN0QjtBQUdBLE1BQUksUUFBUTtBQUNWLFFBQUksV0FBVyxPQUFPO0FBQ3BCLGNBQVEsU0FBUyxnRkFBZ0Y7QUFBQSxJQUNuRyxXQUFXLFdBQVcsT0FBTztBQUMzQixjQUFRLFNBQVMseUVBQXlFO0FBQUEsSUFDNUY7QUFBQSxFQUNGO0FBR0EsTUFBSTtBQUNKLE1BQUk7QUFDRixVQUFNLFNBQVNBLEtBQUksYUFBYSxVQUFVLE9BQU87QUFDakQsYUFBUyxTQUFTLGNBQWMsUUFBUSxPQUFPO0FBQUEsRUFDakQsU0FBUyxPQUFQO0FBQ0EsZUFBVyxTQUFVLE1BQW9DLE1BQU07QUFDL0QsZUFBVyxXQUFZLE1BQW9DLFFBQVE7QUFDbkUsV0FBTyxNQUFNLDhCQUE4QixhQUFhLEVBQUUsT0FBTyxPQUFPLGFBQWEsQ0FBQztBQUFBLEVBQ3hGO0FBR0EsTUFBSTtBQUFRLGVBQVcsV0FBVyxPQUFPLFFBQVE7QUFHakQsU0FBTyxPQUFPO0FBQ2hCO0FBOEZPLElBQU0sVUFBdUIsQ0FBQyxXQUFXLFNBQVMsZ0JBQXdEO0FBQy9HLE9BQUssS0FBSyxjQUFjLG9CQUFvQixRQUFRLFlBQVk7QUFHaEUsTUFBSSxDQUFFLFVBQVUsTUFBTSxVQUFVO0FBQUcsV0FBTyxZQUFZLFdBQVcsT0FBTztBQUd4RSxRQUFNLFlBQVksUUFBUTtBQUMxQixNQUFJLENBQUU7QUFBVyxXQUFPLFlBQVksV0FBVyxPQUFPO0FBQ3RELE1BQUksQ0FBRSxVQUFVLFdBQVcsT0FBTztBQUFHLFdBQU8sWUFBWSxXQUFXLE9BQU87QUFHMUUsTUFBSSxDQUFFLFVBQVUsTUFBTSxTQUFTO0FBQUcsV0FBTyxZQUFZLFdBQVcsT0FBTztBQUd2RSxRQUFNLE1BQU0sSUFBSSxJQUFJLFdBQVcsU0FBUyxFQUFFO0FBQzFDLFFBQU0sT0FBTyxLQUFLLGNBQWMsR0FBRztBQW9CbkMsTUFBSSxPQUFPLElBQUksR0FBRztBQUNoQixTQUFLLEtBQUssdUJBQXVCLGtCQUFrQixXQUFXO0FBQzlELFdBQU8sWUFBWSxXQUFXLE9BQU87QUFBQSxFQUN2QztBQVFBLFFBQU0sUUFBUSxVQUFVLE1BQU0sa0JBQWtCO0FBQ2hELE1BQUksT0FBTztBQUNULFVBQU0sQ0FBRSxFQUFFLE1BQU0sR0FBSSxJQUFJO0FBQ3hCLFVBQU0sY0FBYyxPQUFPLElBQUssUUFBUSxNQUFNLElBQUk7QUFDbEQsVUFBTSxRQUFRLElBQUksSUFBSSxhQUFhLFNBQVMsRUFBRTtBQUM5QyxVQUFNLFNBQVMsS0FBSyxjQUFjLEtBQUs7QUFFdkMsUUFBSSxPQUFPLE1BQU0sR0FBRztBQUNsQixXQUFLLEtBQUssdUJBQXVCLGtCQUFrQixhQUFhO0FBQ2hFLGFBQU8sWUFBWSxhQUFhLE9BQU87QUFBQSxJQUN6QztBQUFBLEVBQ0Y7QUFHQSxNQUFJLE9BQU8sR0FBRyxTQUFTLEdBQUc7QUFDeEIsU0FBSyxLQUFLLHVCQUF1QixxQkFBcUIsY0FBYztBQUNwRSxXQUFPLFlBQVksR0FBRyxnQkFBZ0IsT0FBTztBQUFBLEVBQy9DO0FBR0EsTUFBSSxZQUFZLElBQUksR0FBRztBQUNyQixVQUFNLE9BQU8sTUFBTSxRQUFRLE1BQU0sVUFBVTtBQUMzQyxRQUFJLE9BQU8sSUFBSSxHQUFHO0FBQ2hCLFdBQUssS0FBSyx1QkFBdUIsa0JBQWtCLFlBQVk7QUFDL0QsWUFBTSxPQUFPLEtBQUssY0FBYyxJQUFJLEVBQUU7QUFDdEMsYUFBTyxZQUFZLE1BQU0sT0FBTztBQUFBLElBQ2xDO0FBQUEsRUFDRjtBQUdBLFNBQU8sWUFBWSxXQUFXLE9BQU87QUFDdkM7QUFHTyxJQUFNLE9BQWlCLENBQUMsS0FBSyxTQUFTLGFBQStDO0FBQzFGLE9BQUssS0FBSyx1QkFBdUIsTUFBTTtBQUd2QyxNQUFJLENBQUUsSUFBSSxXQUFXLE9BQU87QUFBRyxXQUFPLFNBQVMsS0FBSyxPQUFPO0FBRzNELFFBQU0sTUFBTSxJQUFJLE1BQU0sWUFBWSxJQUFJLENBQUM7QUFHdkMsTUFBSSxDQUFFO0FBQUssV0FBTyxTQUFTLEtBQUssT0FBTztBQUV2QyxNQUFJLFFBQVEsUUFBUTtBQUNsQixRQUFJLFFBQVE7QUFDVixXQUFLLE1BQU0sbURBQW1ELE1BQU07QUFDcEUsV0FBSyxNQUFNLGlGQUFpRjtBQUM1RixXQUFLLE1BQU0sZ0ZBQWdGO0FBQzNGLFdBQUssTUFBTSxxQ0FBcUM7QUFBQSxJQUNsRDtBQUNBLFdBQU8sRUFBRSxRQUFRLEtBQUssY0FBYyxLQUFLO0FBQUEsRUFDM0M7QUFHQSxRQUFNLFdBQVcsS0FBSyxjQUFjLEdBQUc7QUFHdkMsTUFBSSxRQUFRLE9BQU87QUFDakIsUUFBSSxVQUFVLEtBQUs7QUFDakIsVUFBSSxRQUFRO0FBQ1YsYUFBSyxNQUFNLG1EQUFtRCxNQUFNO0FBQ3BFLGFBQUssTUFBTSxpRkFBaUY7QUFDNUYsYUFBSyxNQUFNLGdGQUFnRjtBQUMzRixhQUFLLE1BQU0scUNBQXFDO0FBQUEsTUFDbEQ7QUFDQSxhQUFPLEVBQUUsUUFBUSxLQUFLLGNBQWMsS0FBSztBQUFBLElBQzNDO0FBQUEsRUFDRjtBQUdBLFFBQU0sU0FBUyxhQUFhLFVBQVUsR0FBRztBQUN6QyxTQUFPLEVBQUUsUUFBUSxRQUFRLEtBQUssY0FBYyxLQUFLO0FBQ25EO0FBbUNBLElBQU0sU0FBMkIsQ0FBQyxRQUFRLGFBQW1CO0FBQzNELE9BQUssS0FBSyx1QkFBdUIsV0FBVztBQUc1QyxRQUFNLE1BQU0sTUFBTSxRQUFRLFFBQVE7QUFHbEMsTUFBSSxRQUFRLE9BQU87QUFFakIsUUFBSSxVQUFVLEtBQUs7QUFDakIsYUFBTyxLQUFLLHNDQUFzQyxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUFBLElBQzNGO0FBQUEsRUFDRixXQUFXLFFBQVEsUUFBUTtBQUN6QixXQUFPLEtBQUsseUJBQXlCLFdBQVc7QUFBQSxFQUNsRDtBQUVBLFFBQU0sU0FBUyxhQUFhLFVBQVUsR0FBRztBQUd6QyxNQUFJO0FBQ0YsV0FBTyxTQUFTLFFBQVEsUUFBUTtBQUFBLEVBQ2xDLFNBQVMsT0FBUDtBQUVBLFlBQVEsTUFBTSwyQkFBMkIsYUFBYSxLQUFLO0FBQUEsRUFDN0Q7QUFDRjtBQUdBLFFBQVEsWUFBWSxLQUFLLElBQUksUUFBUSxZQUFZLE1BQU0sSUFBSTtBQXFCM0QsSUFBTSxzQkFBc0IsUUFBUTtBQUNwQyxRQUFRLG1CQUFtQixTQUN2QixTQUNBLFdBQ0csTUFDQTtBQUNMLE1BQUk7QUFFRixXQUFPLG9CQUFvQixLQUFLLE1BQU0sU0FBUyxRQUFRLEdBQUcsSUFBSTtBQUFBLEVBQ2hFLFNBQVMsT0FBUDtBQUVBLFFBQUksTUFBTSxTQUFTO0FBQW9CLFlBQU07QUFHN0MsVUFBTSxRQUFRLFFBQVEsTUFBTSxrQkFBa0I7QUFNOUMsUUFBSSxVQUFVLE9BQU87QUFDbkIsWUFBTSxDQUFFLEVBQUUsTUFBTSxHQUFJLElBQUk7QUFDeEIsWUFBTSxZQUFZLE9BQU8sSUFBSyxRQUFRLE1BQU0sSUFBSTtBQUNoRCxVQUFJO0FBQ0YsY0FBTSxTQUFTLG9CQUFvQixLQUFLLE1BQU0sV0FBVyxRQUFRLEdBQUcsSUFBSTtBQUN4RSxhQUFLLEtBQUssbUJBQW1CLDRCQUE0QixXQUFXO0FBQ3BFLGVBQU87QUFBQSxNQUNULFNBQVMsU0FBUDtBQUNBLGNBQU07QUFBQSxNQUNSO0FBQUEsSUFDRjtBQUdBLFVBQU07QUFBQSxFQUNSO0FBQ0Y7IiwKICAibmFtZXMiOiBbIl9mcyIsICJfZnMiXQp9Cg==
package/cli/tsrun.mjs ADDED
@@ -0,0 +1,136 @@
1
+ #!/usr/bin/env node
2
+
3
+ // tsrun.mts
4
+ import _path2 from "node:path";
5
+
6
+ // utils.ts
7
+ import _childProcess from "node:child_process";
8
+ import _fs from "node:fs";
9
+ import _path from "node:path";
10
+ import _url from "node:url";
11
+ import _util from "node:util";
12
+ var $rst = process.stdout.isTTY ? "\x1B[0m" : "";
13
+ var $und = process.stdout.isTTY ? "\x1B[4m" : "";
14
+ var $gry = process.stdout.isTTY ? "\x1B[38;5;240m" : "";
15
+ var $blu = process.stdout.isTTY ? "\x1B[38;5;69m" : "";
16
+ var $wht = process.stdout.isTTY ? "\x1B[1;38;5;255m" : "";
17
+ var $tsk = process.stdout.isTTY ? "\x1B[38;5;141m" : "";
18
+ function version() {
19
+ const debug = _util.debuglog("plug:cli");
20
+ try {
21
+ const thisFile = _url.fileURLToPath(import.meta.url);
22
+ const packageFile = _path.resolve(thisFile, "..", "..", "package.json");
23
+ const packageData = _fs.readFileSync(packageFile, "utf-8");
24
+ return JSON.parse(packageData).version || "(unknown)";
25
+ } catch (error) {
26
+ debug("Error parsing version:", error);
27
+ return "(error)";
28
+ }
29
+ }
30
+ function forceType(type) {
31
+ const debug = _util.debuglog("plug:cli");
32
+ const tsLoaderMarker = Symbol.for("plugjs:tsLoader");
33
+ if (!(tsLoaderMarker in globalThis)) {
34
+ throw new Error("TypeScript Loader not available");
35
+ }
36
+ debug(`Forcing type to "${type}"`);
37
+ globalThis[tsLoaderMarker] = type;
38
+ }
39
+ function main(callback) {
40
+ const debug = _util.debuglog("plug:cli");
41
+ const sourceMapsEnabled = process.execArgv.indexOf("--enable-source-maps") >= 0;
42
+ const tsLoaderMarker = Symbol.for("plugjs:tsLoader");
43
+ const typeScriptEnabled = globalThis[tsLoaderMarker];
44
+ debug("SourceMaps enabled =", sourceMapsEnabled);
45
+ debug("TypeScript enabled =", typeScriptEnabled || false);
46
+ if (sourceMapsEnabled && typeScriptEnabled) {
47
+ const args = process.argv.slice(2).filter((arg) => {
48
+ if (arg === "--force-esm") {
49
+ return forceType("module");
50
+ } else if (arg === "--force-cjs") {
51
+ return forceType("commonjs");
52
+ } else {
53
+ return arg;
54
+ }
55
+ });
56
+ Promise.resolve().then(() => callback(args)).catch(console.error);
57
+ } else {
58
+ const script = _url.fileURLToPath(import.meta.url);
59
+ const execArgv = [...process.execArgv];
60
+ if (!sourceMapsEnabled)
61
+ execArgv.push("--enable-source-maps");
62
+ if (!typeScriptEnabled) {
63
+ const directory = _path.dirname(script);
64
+ const extension = _path.extname(script);
65
+ const loader = _path.resolve(directory, `ts-loader${extension}`);
66
+ execArgv.push(`--experimental-loader=${loader}`, "--no-warnings");
67
+ }
68
+ const child = _childProcess.fork(script, [...process.argv.slice(2)], {
69
+ stdio: ["inherit", "inherit", "inherit", "ipc"],
70
+ execArgv
71
+ });
72
+ child.on("error", (error) => {
73
+ console.log("Error respawning CLI", error);
74
+ process.exit(1);
75
+ });
76
+ child.on("exit", (code, signal) => {
77
+ if (signal) {
78
+ console.log(`CLI process exited with signal ${signal}`);
79
+ process.exit(1);
80
+ } else if (typeof code !== "number") {
81
+ console.log("CLI process failed for an unknown reason");
82
+ process.exit(1);
83
+ } else {
84
+ process.exit(code);
85
+ }
86
+ });
87
+ }
88
+ }
89
+
90
+ // tsrun.mts
91
+ function help() {
92
+ console.log(`${$blu}${$und}Usage:${$rst}
93
+
94
+ ${$wht}tsrun${$rst} ${$gry}[${$rst}--options${$gry}] script.ts [...${$rst}script args${$gry}]${$rst}
95
+
96
+ ${$blu}${$und}Options:${$rst}
97
+
98
+ ${$wht}-h --help${$rst} Help! You're reading it now!
99
+ ${$wht}-v --version${$rst} Version! This one: ${version()}!
100
+ ${$wht} --force-esm${$rst} Force transpilation of ".ts" files to EcmaScript modules
101
+ ${$wht} --force-cjs${$rst} Force transpilation of ".ts" files to CommonJS modules
102
+
103
+ ${$blu}${$und}Description:${$rst}
104
+
105
+ ${$wht}tsrun${$rst} is a minimalistic TypeScript loader, using "esbuild" to transpile TS
106
+ code to JavaScript, and running it. Being extremely un-sofisticated, it's
107
+ not meant to to be in any way a replacement for more complete alternatives
108
+ like "ts-node".
109
+ `);
110
+ process.exit(1);
111
+ }
112
+ main((args) => {
113
+ let script;
114
+ let scriptArgs = [];
115
+ for (let i = 0; i < args.length; i++) {
116
+ const arg = args[i];
117
+ if (arg === "-h" || arg === "--help")
118
+ help();
119
+ if (arg === "-v" || arg === "--version") {
120
+ console.log(`v${version()}`);
121
+ process.exit(1);
122
+ }
123
+ if (arg.startsWith("-")) {
124
+ console.log(`${$wht}tsrun${$rst}: Uknown option "${$wht}${arg}${$rst}"`);
125
+ process.exit(1);
126
+ }
127
+ [script, ...scriptArgs] = args.slice(i);
128
+ break;
129
+ }
130
+ if (!script)
131
+ help();
132
+ script = _path2.resolve(process.cwd(), script);
133
+ process.argv = [process.argv0, script, ...scriptArgs];
134
+ import(script);
135
+ });
136
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vZXh0cmEvdHNydW4ubXRzIiwgIi4uL2V4dHJhL3V0aWxzLnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7O0FBR0EsT0FBT0EsWUFBVzs7O0FDRmxCLE9BQU8sbUJBQW1CO0FBQzFCLE9BQU8sU0FBUztBQUNoQixPQUFPLFdBQVc7QUFDbEIsT0FBTyxVQUFVO0FBQ2pCLE9BQU8sV0FBVztBQU1YLElBQU0sT0FBTyxRQUFRLE9BQU8sUUFBUSxZQUFjO0FBQ2xELElBQU0sT0FBTyxRQUFRLE9BQU8sUUFBUSxZQUFjO0FBQ2xELElBQU0sT0FBTyxRQUFRLE9BQU8sUUFBUSxtQkFBcUI7QUFDekQsSUFBTSxPQUFPLFFBQVEsT0FBTyxRQUFRLGtCQUFvQjtBQUN4RCxJQUFNLE9BQU8sUUFBUSxPQUFPLFFBQVEscUJBQXVCO0FBQzNELElBQU0sT0FBTyxRQUFRLE9BQU8sUUFBUSxtQkFBcUI7QUFPekQsU0FBUyxVQUFrQjtBQUNoQyxRQUFNLFFBQVEsTUFBTSxTQUFTLFVBQVU7QUFFdkMsTUFBSTtBQUNGLFVBQU0sV0FBVyxLQUFLLGNBQWMsWUFBWSxHQUFHO0FBQ25ELFVBQU0sY0FBYyxNQUFNLFFBQVEsVUFBVSxNQUFNLE1BQU0sY0FBYztBQUN0RSxVQUFNLGNBQWMsSUFBSSxhQUFhLGFBQWEsT0FBTztBQUN6RCxXQUFPLEtBQUssTUFBTSxXQUFXLEVBQUUsV0FBVztBQUFBLEVBQzVDLFNBQVMsT0FBUDtBQUNBLFVBQU0sMEJBQTBCLEtBQUs7QUFDckMsV0FBTztBQUFBLEVBQ1Q7QUFDRjtBQU1BLFNBQVMsVUFBVSxNQUFtQztBQUNwRCxRQUFNLFFBQVEsTUFBTSxTQUFTLFVBQVU7QUFFdkMsUUFBTSxpQkFBaUIsT0FBTyxJQUFJLGlCQUFpQjtBQUVuRCxNQUFJLEVBQUUsa0JBQWtCLGFBQWE7QUFDbkMsVUFBTSxJQUFJLE1BQU0saUNBQWlDO0FBQUEsRUFDbkQ7QUFDQSxRQUFNLG9CQUFvQixPQUFPO0FBQ2hDLEVBQUMsV0FBbUIsY0FBYyxJQUFJ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
package/dist/asserts.cjs CHANGED
@@ -33,12 +33,15 @@ function isBuildFailure(arg) {
33
33
  }
34
34
  var BuildFailure = class extends Error {
35
35
  errors;
36
- constructor(message, errors) {
36
+ /** Construct a {@link BuildFailure} */
37
+ constructor(message, errors = []) {
37
38
  super(message || "");
38
39
  Error.captureStackTrace(this, BuildFailure);
40
+ if (errors.length)
41
+ this.errors = Object.freeze([...errors]);
39
42
  Object.defineProperties(this, {
40
- "errors": { value: Object.freeze([...errors]) },
41
- [buildFailure]: { value: buildFailure }
43
+ [buildFailure]: { value: buildFailure },
44
+ "name": { value: "BuildFailure" }
42
45
  });
43
46
  }
44
47
  static fail() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/asserts.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,kBAAkB;AACtC;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA,EAGD,YAAY,SAA6B,QAAe;AAC9D,UAAM,WAAW,EAAE;AAGnB,UAAM,kBAAkB,MAAM,YAAY;AAC1C,WAAO,iBAAiB,MAAM;AAAA,MAC5B,UAAU,EAAE,OAAO,OAAO,OAAO,CAAE,GAAG,MAAO,CAAC,EAAE;AAAA,MAChD,CAAC,eAAe,EAAE,OAAO,aAAa;AAAA,IACxC,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,OAAqB;AAC1B,WAAO,IAAI,aAAa,QAAW,CAAC,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,YAAY,SAA+B;AAChD,WAAO,IAAI,aAAa,SAAS,CAAC,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,WAAW,QAA6B;AAC7C,WAAO,IAAI,aAAa,QAAW,MAAM;AAAA,EAC3C;AACF;AAGA,eAAsB,eAAkB,UAA4C;AAElF,QAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,QAAM,UAAe,CAAC;AACtB,QAAM,WAAW,oBAAI,IAAS;AAE9B,cAAY,QAAQ,CAAC,eAAe;AAClC,QAAI,WAAW,WAAW,aAAa;AACrC,cAAQ,KAAK,WAAW,KAAK;AAAA,IAC/B,OAAO;AACL,eAAS,IAAI,WAAW,MAAM;AAAA,IAChC;AAAA,EACF,CAAC;AAGD,MAAI,SAAS;AAAM,UAAM,aAAa,WAAW,CAAE,GAAG,QAAS,CAAC;AAEhE,SAAO;AACT;AAGO,SAAS,OAAO,WAAgB,SAAoC;AACzE,MAAI,CAAE;AAAW,UAAM,aAAa,YAAY,OAAO;AACzD;AAGO,SAAS,KAAK,SAAwB;AAC3C,QAAM,aAAa,YAAY,OAAO;AACxC;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,YAAY,MAAM;AACtC;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA;AAAA,EAGT,YAAY,SAA8B,SAAgB,CAAC,GAAG;AAC5D,UAAM,WAAW,EAAE;AAGnB,UAAM,kBAAkB,MAAM,YAAY;AAC1C,QAAI,OAAO;AAAQ,WAAK,SAAS,OAAO,OAAO,CAAE,GAAG,MAAO,CAAC;AAG5D,WAAO,iBAAiB,MAAM;AAAA,MAC5B,CAAC,YAAY,GAAG,EAAE,OAAO,aAAa;AAAA,MACtC,QAAQ,EAAE,OAAO,eAAe;AAAA,IAClC,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,OAAqB;AAC1B,WAAO,IAAI,aAAa,QAAW,CAAC,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,YAAY,SAA+B;AAChD,WAAO,IAAI,aAAa,SAAS,CAAC,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,WAAW,QAA6B;AAC7C,WAAO,IAAI,aAAa,QAAW,MAAM;AAAA,EAC3C;AACF;AAGA,eAAsB,eAAkB,UAA4C;AAElF,QAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,QAAM,UAAe,CAAC;AACtB,QAAM,WAAW,oBAAI,IAAS;AAE9B,cAAY,QAAQ,CAAC,eAAe;AAClC,QAAI,WAAW,WAAW,aAAa;AACrC,cAAQ,KAAK,WAAW,KAAK;AAAA,IAC/B,OAAO;AACL,eAAS,IAAI,WAAW,MAAM;AAAA,IAChC;AAAA,EACF,CAAC;AAGD,MAAI,SAAS;AAAM,UAAM,aAAa,WAAW,CAAE,GAAG,QAAS,CAAC;AAEhE,SAAO;AACT;AAGO,SAAS,OAAO,WAAgB,SAAoC;AACzE,MAAI,CAAE;AAAW,UAAM,aAAa,YAAY,OAAO;AACzD;AAGO,SAAS,KAAK,SAAwB;AAC3C,QAAM,aAAa,YAAY,OAAO;AACxC;",
5
5
  "names": []
6
6
  }
package/dist/asserts.d.ts CHANGED
@@ -2,9 +2,9 @@
2
2
  export declare function isBuildFailure(arg: any): arg is BuildFailure;
3
3
  /** A {@link BuildFailure} represents an error _already logged_ in our build. */
4
4
  export declare class BuildFailure extends Error {
5
- readonly errors: readonly any[];
5
+ readonly errors?: readonly any[] | undefined;
6
6
  /** Construct a {@link BuildFailure} */
7
- private constructor();
7
+ constructor(message?: string | undefined, errors?: any[]);
8
8
  static fail(): BuildFailure;
9
9
  static withMessage(message: string): BuildFailure;
10
10
  static withErrors(errors: any[]): BuildFailure;
package/dist/asserts.mjs CHANGED
@@ -5,12 +5,15 @@ function isBuildFailure(arg) {
5
5
  }
6
6
  var BuildFailure = class extends Error {
7
7
  errors;
8
- constructor(message, errors) {
8
+ /** Construct a {@link BuildFailure} */
9
+ constructor(message, errors = []) {
9
10
  super(message || "");
10
11
  Error.captureStackTrace(this, BuildFailure);
12
+ if (errors.length)
13
+ this.errors = Object.freeze([...errors]);
11
14
  Object.defineProperties(this, {
12
- "errors": { value: Object.freeze([...errors]) },
13
- [buildFailure]: { value: buildFailure }
15
+ [buildFailure]: { value: buildFailure },
16
+ "name": { value: "BuildFailure" }
14
17
  });
15
18
  }
16
19
  static fail() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/asserts.ts"],
4
- "mappings": ";AAKA,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,kBAAkB;AACtC;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA,EAGD,YAAY,SAA6B,QAAe;AAC9D,UAAM,WAAW,EAAE;AAGnB,UAAM,kBAAkB,MAAM,YAAY;AAC1C,WAAO,iBAAiB,MAAM;AAAA,MAC5B,UAAU,EAAE,OAAO,OAAO,OAAO,CAAE,GAAG,MAAO,CAAC,EAAE;AAAA,MAChD,CAAC,eAAe,EAAE,OAAO,aAAa;AAAA,IACxC,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,OAAqB;AAC1B,WAAO,IAAI,aAAa,QAAW,CAAC,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,YAAY,SAA+B;AAChD,WAAO,IAAI,aAAa,SAAS,CAAC,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,WAAW,QAA6B;AAC7C,WAAO,IAAI,aAAa,QAAW,MAAM;AAAA,EAC3C;AACF;AAGA,eAAsB,eAAkB,UAA4C;AAElF,QAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,QAAM,UAAe,CAAC;AACtB,QAAM,WAAW,oBAAI,IAAS;AAE9B,cAAY,QAAQ,CAAC,eAAe;AAClC,QAAI,WAAW,WAAW,aAAa;AACrC,cAAQ,KAAK,WAAW,KAAK;AAAA,IAC/B,OAAO;AACL,eAAS,IAAI,WAAW,MAAM;AAAA,IAChC;AAAA,EACF,CAAC;AAGD,MAAI,SAAS;AAAM,UAAM,aAAa,WAAW,CAAE,GAAG,QAAS,CAAC;AAEhE,SAAO;AACT;AAGO,SAAS,OAAO,WAAgB,SAAoC;AACzE,MAAI,CAAE;AAAW,UAAM,aAAa,YAAY,OAAO;AACzD;AAGO,SAAS,KAAK,SAAwB;AAC3C,QAAM,aAAa,YAAY,OAAO;AACxC;",
4
+ "mappings": ";AAKA,IAAM,eAAe,OAAO,IAAI,qBAAqB;AAG9C,SAAS,eAAe,KAA+B;AAC5D,SAAO,OAAO,IAAI,YAAY,MAAM;AACtC;AAGO,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC7B;AAAA;AAAA,EAGT,YAAY,SAA8B,SAAgB,CAAC,GAAG;AAC5D,UAAM,WAAW,EAAE;AAGnB,UAAM,kBAAkB,MAAM,YAAY;AAC1C,QAAI,OAAO;AAAQ,WAAK,SAAS,OAAO,OAAO,CAAE,GAAG,MAAO,CAAC;AAG5D,WAAO,iBAAiB,MAAM;AAAA,MAC5B,CAAC,YAAY,GAAG,EAAE,OAAO,aAAa;AAAA,MACtC,QAAQ,EAAE,OAAO,eAAe;AAAA,IAClC,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,OAAqB;AAC1B,WAAO,IAAI,aAAa,QAAW,CAAC,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,YAAY,SAA+B;AAChD,WAAO,IAAI,aAAa,SAAS,CAAC,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,WAAW,QAA6B;AAC7C,WAAO,IAAI,aAAa,QAAW,MAAM;AAAA,EAC3C;AACF;AAGA,eAAsB,eAAkB,UAA4C;AAElF,QAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,QAAM,UAAe,CAAC;AACtB,QAAM,WAAW,oBAAI,IAAS;AAE9B,cAAY,QAAQ,CAAC,eAAe;AAClC,QAAI,WAAW,WAAW,aAAa;AACrC,cAAQ,KAAK,WAAW,KAAK;AAAA,IAC/B,OAAO;AACL,eAAS,IAAI,WAAW,MAAM;AAAA,IAChC;AAAA,EACF,CAAC;AAGD,MAAI,SAAS;AAAM,UAAM,aAAa,WAAW,CAAE,GAAG,QAAS,CAAC;AAEhE,SAAO;AACT;AAGO,SAAS,OAAO,WAAgB,SAAoC;AACzE,MAAI,CAAE;AAAW,UAAM,aAAa,YAAY,OAAO;AACzD;AAGO,SAAS,KAAK,SAAwB;AAC3C,QAAM,aAAa,YAAY,OAAO;AACxC;",
5
5
  "names": []
6
6
  }
package/dist/build.cjs CHANGED
@@ -30,50 +30,61 @@ var import_logging = require("./logging.cjs");
30
30
  var import_pipe = require("./pipe.cjs");
31
31
  var import_caller = require("./utils/caller.cjs");
32
32
  var import_options = require("./utils/options.cjs");
33
- var TaskImpl = class {
34
- constructor(buildFile, tasks, props, _def) {
35
- this.buildFile = buildFile;
36
- this.tasks = tasks;
37
- this.props = props;
38
- this._def = _def;
39
- }
40
- invoke(state, taskName) {
41
- (0, import_asserts.assert)(!state.stack.includes(this), `Recursion detected calling ${(0, import_logging.$t)(taskName)}`);
42
- const cached = state.cache.get(this);
33
+ var taskMarker = Symbol.for("plugjs:isTask");
34
+ function isTask(something) {
35
+ return something[taskMarker] === true;
36
+ }
37
+ function makeTask(buildFile, tasks, props, _def, _name) {
38
+ function invoke2(state, taskName) {
39
+ (0, import_asserts.assert)(!state.stack.includes(task), `Recursion detected calling ${(0, import_logging.$t)(taskName)}`);
40
+ const cached = state.cache.get(task);
43
41
  if (cached)
44
42
  return cached;
45
- const props = Object.assign({}, this.props, state.props);
46
- const tasks = Object.assign({}, this.tasks, state.tasks);
47
- const stack = [...state.stack, this];
43
+ const props2 = Object.assign({}, task.props, state.props);
44
+ const tasks2 = Object.assign({}, task.tasks, state.tasks);
45
+ const stack = [...state.stack, task];
48
46
  const cache = state.cache;
49
- const context = new import_pipe.Context(this.buildFile, taskName);
47
+ const context = new import_pipe.Context(task.buildFile, taskName);
50
48
  const build2 = new Proxy({}, {
51
49
  get(_, name) {
52
- if (name in tasks) {
50
+ if (name in tasks2) {
53
51
  return () => {
54
- const state2 = { stack, cache, tasks, props };
55
- const promise2 = tasks[name].invoke(state2, name);
52
+ const state2 = { stack, cache, tasks: tasks2, props: props2 };
53
+ const promise2 = tasks2[name].invoke(state2, name);
56
54
  return new import_pipe.PipeImpl(context, promise2);
57
55
  };
58
- } else if (name in props) {
59
- return props[name];
56
+ } else if (name in props2) {
57
+ return props2[name];
60
58
  }
61
59
  }
62
60
  });
63
61
  context.log.info("Running...");
64
62
  const now = Date.now();
65
63
  const promise = (0, import_async.runAsync)(context, taskName, async () => {
66
- return await this._def.call(build2) || void 0;
64
+ return await _def.call(build2) || void 0;
67
65
  }).then((result) => {
68
- context.log.notice(`Success ${(0, import_logging.$ms)(Date.now() - now)}`);
66
+ const level = taskName.startsWith("_") ? "info" : "notice";
67
+ context.log[level](`Success ${(0, import_logging.$ms)(Date.now() - now)}`);
69
68
  return result;
70
69
  }).catch((error) => {
71
70
  throw context.log.fail(`Failure ${(0, import_logging.$ms)(Date.now() - now)}`, error);
72
71
  }).finally(() => import_pipe.ContextPromises.wait(context));
73
- cache.set(this, promise);
72
+ cache.set(task, promise);
74
73
  return promise;
75
74
  }
76
- };
75
+ const task = Object.assign((overrideProps = {}) => {
76
+ const state = {
77
+ cache: /* @__PURE__ */ new Map(),
78
+ stack: [],
79
+ props: Object.assign({}, props, overrideProps),
80
+ tasks
81
+ };
82
+ return invoke2(state, _name);
83
+ }, { buildFile, tasks, props, invoke: invoke2 });
84
+ Object.defineProperty(task, taskMarker, { value: true });
85
+ Object.defineProperty(task, "name", { value: _name });
86
+ return task;
87
+ }
77
88
  var buildMarker = Symbol.for("plugjs:isBuild");
78
89
  function build(def) {
79
90
  const buildFile = (0, import_caller.findCaller)(build);
@@ -81,13 +92,13 @@ function build(def) {
81
92
  const props = {};
82
93
  for (const [key, val] of Object.entries(def)) {
83
94
  let len = 0;
84
- if (typeof val === "string") {
95
+ if (isTask(val)) {
96
+ tasks[key] = val;
97
+ len = key.length;
98
+ } else if (typeof val === "string") {
85
99
  props[key] = val;
86
100
  } else if (typeof val === "function") {
87
- tasks[key] = new TaskImpl(buildFile, tasks, props, val);
88
- len = key.length;
89
- } else if (val instanceof TaskImpl) {
90
- tasks[key] = val;
101
+ tasks[key] = makeTask(buildFile, tasks, props, val, key);
91
102
  len = key.length;
92
103
  }
93
104
  if (len > import_logging.logOptions.taskLength)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/build.ts"],
4
- "mappings": "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",
5
- "names": ["build", "state", "promise", "invoke"]
4
+ "mappings": "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",
5
+ "names": ["invoke", "props", "tasks", "build", "state", "promise"]
6
6
  }