@plugjs/plug 0.1.0 → 0.1.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 (73) hide show
  1. package/dist/asserts.cjs +6 -1
  2. package/dist/asserts.cjs.map +1 -1
  3. package/dist/asserts.d.ts +2 -0
  4. package/dist/asserts.mjs +5 -1
  5. package/dist/asserts.mjs.map +1 -1
  6. package/dist/build.cjs +6 -8
  7. package/dist/build.cjs.map +1 -1
  8. package/dist/build.mjs +7 -9
  9. package/dist/build.mjs.map +1 -1
  10. package/dist/files.cjs +4 -8
  11. package/dist/files.cjs.map +1 -1
  12. package/dist/files.mjs +4 -8
  13. package/dist/files.mjs.map +1 -1
  14. package/dist/fs.cjs.map +1 -1
  15. package/dist/fs.mjs.map +1 -1
  16. package/dist/helpers.cjs +10 -0
  17. package/dist/helpers.cjs.map +1 -1
  18. package/dist/helpers.d.ts +6 -0
  19. package/dist/helpers.mjs +9 -0
  20. package/dist/helpers.mjs.map +1 -1
  21. package/dist/index.cjs +26 -0
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.ts +2 -2
  24. package/dist/index.mjs +15 -2
  25. package/dist/index.mjs.map +1 -1
  26. package/dist/logging/emit.d.ts +1 -1
  27. package/dist/logging/levels.d.ts +6 -6
  28. package/dist/logging/logger.cjs +8 -11
  29. package/dist/logging/logger.cjs.map +1 -1
  30. package/dist/logging/logger.d.ts +10 -10
  31. package/dist/logging/logger.mjs +8 -11
  32. package/dist/logging/logger.mjs.map +1 -1
  33. package/dist/logging/report.cjs +1 -2
  34. package/dist/logging/report.cjs.map +1 -1
  35. package/dist/logging/report.d.ts +1 -1
  36. package/dist/logging/report.mjs +1 -2
  37. package/dist/logging/report.mjs.map +1 -1
  38. package/dist/logging.cjs +2 -11
  39. package/dist/logging.cjs.map +1 -1
  40. package/dist/logging.d.ts +1 -1
  41. package/dist/logging.mjs +2 -11
  42. package/dist/logging.mjs.map +1 -1
  43. package/dist/paths.cjs +22 -24
  44. package/dist/paths.cjs.map +1 -1
  45. package/dist/paths.d.ts +8 -8
  46. package/dist/paths.mjs +22 -24
  47. package/dist/paths.mjs.map +1 -1
  48. package/dist/pipe.d.ts +7 -7
  49. package/dist/plugs/copy.cjs +11 -3
  50. package/dist/plugs/copy.cjs.map +1 -1
  51. package/dist/plugs/copy.d.ts +2 -2
  52. package/dist/plugs/copy.mjs +11 -3
  53. package/dist/plugs/copy.mjs.map +1 -1
  54. package/dist/plugs/esbuild/fix-extensions.cjs +3 -4
  55. package/dist/plugs/esbuild/fix-extensions.cjs.map +1 -1
  56. package/dist/plugs/esbuild/fix-extensions.mjs +3 -4
  57. package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
  58. package/dist/plugs/esbuild.d.ts +1 -1
  59. package/dist/types.d.ts +7 -7
  60. package/dist/utils/match.d.ts +1 -1
  61. package/dist/utils/options.d.ts +3 -3
  62. package/extra/ts-loader.mjs +3 -3
  63. package/package.json +20 -14
  64. package/src/asserts.ts +6 -1
  65. package/src/build.ts +179 -0
  66. package/src/files.ts +4 -4
  67. package/src/fs.ts +6 -5
  68. package/src/helpers.ts +16 -0
  69. package/src/index.ts +2 -2
  70. package/src/logging/logger.ts +31 -35
  71. package/src/logging.ts +7 -13
  72. package/src/paths.ts +35 -40
  73. package/src/plugs/copy.ts +13 -5
package/dist/paths.mjs CHANGED
@@ -5,12 +5,10 @@ import { dirname, extname, isAbsolute, join, normalize, relative, resolve, sep }
5
5
  import { fileURLToPath, pathToFileURL } from "node:url";
6
6
  import { assert } from "./asserts.mjs";
7
7
  function resolveAbsolutePath(directory, ...paths) {
8
- const resolved = resolve(directory, ...paths);
9
- assert(isAbsolute(resolved), `Path "${join(...paths)}" resolved in "${directory}" is not absolute`);
10
- return resolved;
8
+ assertAbsolutePath(directory);
9
+ return resolve(directory, ...paths);
11
10
  }
12
11
  function resolveRelativeChildPath(directory, ...paths) {
13
- assertAbsolutePath(directory);
14
12
  const abs = resolveAbsolutePath(directory, ...paths);
15
13
  const rel = relative(directory, abs);
16
14
  return isAbsolute(rel) || rel === ".." || rel.startsWith(`..${sep}`) ? void 0 : rel;
@@ -35,6 +33,25 @@ function getCurrentWorkingDirectory() {
35
33
  assertAbsolutePath(cwd);
36
34
  return cwd;
37
35
  }
36
+ function commonPath(path, ...paths) {
37
+ assertAbsolutePath(path);
38
+ const components = normalize(path).split(sep);
39
+ let length = components.length;
40
+ for (const current of paths) {
41
+ const absolute = resolveAbsolutePath(path, current);
42
+ const parts = absolute.split(sep);
43
+ for (let i = 0; i < length; i++) {
44
+ if (components[i] !== parts[i]) {
45
+ length = i;
46
+ break;
47
+ }
48
+ }
49
+ assert(length, "No common ancestors amongst paths");
50
+ }
51
+ const common = components.slice(0, length).join(sep);
52
+ assertAbsolutePath(common);
53
+ return common;
54
+ }
38
55
  function requireFilename(__fileurl, ...paths) {
39
56
  const file = __fileurl.startsWith("file:") ? fileURLToPath(__fileurl) : __fileurl;
40
57
  assertAbsolutePath(file);
@@ -48,7 +65,7 @@ function requireResolve(__fileurl, module) {
48
65
  if (module.match(/^\.\.?\//)) {
49
66
  const url = pathToFileURL(file);
50
67
  const ext = extname(file);
51
- const checks = ext ? [`${module}`, `${module}${ext}`, `${module}/index${ext}`] : [module];
68
+ const checks = [`${module}`, `${module}${ext}`, `${module}/index${ext}`];
52
69
  for (const check of checks) {
53
70
  const resolved = fileURLToPath(new URL(check, url));
54
71
  if (resolveFile(resolved)) {
@@ -62,25 +79,6 @@ function requireResolve(__fileurl, module) {
62
79
  assertAbsolutePath(required);
63
80
  return required;
64
81
  }
65
- function commonPath(path, ...paths) {
66
- assertAbsolutePath(path);
67
- const components = normalize(path).split(sep);
68
- let length = components.length;
69
- for (const current of paths) {
70
- const absolute = resolveAbsolutePath(path, current);
71
- const parts = absolute.split(sep);
72
- for (let i = 0; i < length; i++) {
73
- if (components[i] !== parts[i]) {
74
- length = i;
75
- break;
76
- }
77
- }
78
- assert(length, "No common ancestors amongst paths");
79
- }
80
- const common = components.slice(0, length).join(sep);
81
- assertAbsolutePath(common);
82
- return common;
83
- }
84
82
  function resolveFile(path, ...paths) {
85
83
  const file = resolveAbsolutePath(path, ...paths);
86
84
  try {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/paths.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["relative", "require"]
6
6
  }
package/dist/pipe.d.ts CHANGED
@@ -4,7 +4,7 @@ import type { AbsolutePath } from './paths';
4
4
  import type { Result } from './types';
5
5
  import type { Pipe } from './index';
6
6
  /** A convenience type indicating what can be returned by a {@link Plug}. */
7
- export declare type PlugResult = Files | undefined | void;
7
+ export type PlugResult = Files | undefined | void;
8
8
  /**
9
9
  * The {@link Plug} interface describes _build plugin_.
10
10
  *
@@ -16,7 +16,7 @@ export interface Plug<T extends PlugResult> {
16
16
  pipe(files: Files, context: Context): T | Promise<T>;
17
17
  }
18
18
  /** A type identifying a {@link Plug} as a `function` */
19
- export declare type PlugFunction<T extends PlugResult> = Plug<T>['pipe'];
19
+ export type PlugFunction<T extends PlugResult> = Plug<T>['pipe'];
20
20
  /**
21
21
  * The {@link Context} class defines the context in which a {@link Plug}
22
22
  * is invoked.
@@ -84,11 +84,11 @@ export declare class PipeImpl implements Pipe {
84
84
  plug(plug: PlugFunction<void | undefined>): Promise<undefined>;
85
85
  }
86
86
  /** The names which can be installed as direct plugs. */
87
- export declare type PlugName = string & Exclude<keyof Pipe, 'plug' | keyof Promise<any>>;
87
+ export type PlugName = string & Exclude<keyof Pipe, 'plug' | keyof Promise<any>>;
88
88
  /** The parameters of the plug extension with the given name */
89
- export declare type PipeParameters<Name extends PlugName> = PipeOverloads<Name>['args'];
89
+ export type PipeParameters<Name extends PlugName> = PipeOverloads<Name>['args'];
90
90
  /** Extract arguments and return types from function overloads. */
91
- declare type PipeOverloads<Name extends PlugName> = Pipe[Name] extends {
91
+ type PipeOverloads<Name extends PlugName> = Pipe[Name] extends {
92
92
  (...args: infer A0): infer R0;
93
93
  (...args: infer A1): infer R1;
94
94
  (...args: infer A2): infer R2;
@@ -155,12 +155,12 @@ declare type PipeOverloads<Name extends PlugName> = Pipe[Name] extends {
155
155
  ret: R0;
156
156
  } : never) : never;
157
157
  /** The parameters of the plug extension with the given name */
158
- declare type PipeResult<Name extends PlugName> = PipeOverloads<Name>['ret'];
158
+ type PipeResult<Name extends PlugName> = PipeOverloads<Name>['ret'];
159
159
  /**
160
160
  * A type defining the correct constructor for a {@link Plug}, inferring
161
161
  * argument types and instance type from the definitions in {@link Pipe}.
162
162
  */
163
- declare type PlugConstructor<Name extends PlugName> = PipeResult<Name> extends Pipe ? new (...args: PipeParameters<Name>) => Plug<Files> : PipeResult<Name> extends Promise<undefined> ? new (...args: PipeParameters<Name>) => Plug<void | undefined> : PipeResult<Name> extends (Pipe | Promise<undefined>) ? new (...args: PipeParameters<Name>) => Plug<Files | void | undefined> : never;
163
+ type PlugConstructor<Name extends PlugName> = PipeResult<Name> extends Pipe ? new (...args: PipeParameters<Name>) => Plug<Files> : PipeResult<Name> extends Promise<undefined> ? new (...args: PipeParameters<Name>) => Plug<void | undefined> : PipeResult<Name> extends (Pipe | Promise<undefined>) ? new (...args: PipeParameters<Name>) => Plug<Files | void | undefined> : never;
164
164
  /**
165
165
  * Install a {@link Plug} into our {@link Pipe} prototype.
166
166
  *
@@ -28,8 +28,8 @@ var import_pipe = require("../pipe.cjs");
28
28
  this._options = _options;
29
29
  }
30
30
  async pipe(files, context) {
31
- const { mode, dirMode, overwrite, rename = (s) => s } = this._options;
32
- const flags = overwrite ? import_fs.fsConstants.COPYFILE_EXCL : 0;
31
+ const { mode, dirMode, overwrite = "fail", rename = (s) => s } = this._options;
32
+ const flags = overwrite === "overwrite" ? 0 : import_fs.fsConstants.COPYFILE_EXCL;
33
33
  const dmode = parseMode(dirMode);
34
34
  const fmode = parseMode(mode);
35
35
  const directory = context.resolve(this._directory);
@@ -52,7 +52,15 @@ var import_pipe = require("../pipe.cjs");
52
52
  }
53
53
  }
54
54
  context.log.trace(`Copying "${(0, import_logging.$p)(absolute)}" to "${(0, import_logging.$p)(target)}"`);
55
- await (0, import_fs.copyFile)(absolute, target, flags);
55
+ try {
56
+ await (0, import_fs.copyFile)(absolute, target, flags);
57
+ } catch (error) {
58
+ if (error.code === "EEXIST" && overwrite === "skip") {
59
+ context.log.warn(`Not overwriting existing file ${(0, import_logging.$p)(target)}`);
60
+ } else {
61
+ throw error;
62
+ }
63
+ }
56
64
  if (fmode !== void 0) {
57
65
  context.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, (0, import_logging.$p)(target));
58
66
  await (0, import_fs.chmod)(target, fmode);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/copy.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,qBAAuB;AACvB,mBAAsB;AACtB,gBAAoD;AACpD,qBAAmB;AACnB,mBAA2E;AAC3E,kBAAwB;AAAA,IAuCxB,qBAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,WAAW,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AACrE,UAAM,QAAQ,YAAY,sBAAY,gBAAgB;AACtD,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,mBAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,aAAS,kCAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,2CAAuC,mBAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,iBAAY,gCAAkB,MAAM;AAC1C,YAAM,cAAc,UAAM,iBAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,6CAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,UAAM,gCAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,uBAAmB,mBAAG,GAAG,CAAC;AAC/E,oBAAM,iBAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAGA,cAAQ,IAAI,MAAM,gBAAY,mBAAG,QAAQ,cAAU,mBAAG,MAAM,IAAI;AAChE,gBAAM,oBAAS,UAAU,QAAQ,KAAK;AAGtC,UAAI,UAAU,QAAW;AACvB,gBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,kBAAc,mBAAG,MAAM,CAAC;AAC7E,kBAAM,iBAAM,QAAQ,KAAK;AAAA,MAC3B;AAGA,cAAQ,IAAI,MAAM;AAAA,IACpB;AAEA,UAAM,SAAS,QAAQ,MAAM;AAC7B,YAAQ,IAAI,KAAK,UAAU,OAAO,QAAQ,gBAAY,mBAAG,QAAQ,SAAS,CAAC;AAC3E,WAAO;AAAA,EACT;AACF,CAAC;AAMD,SAAS,UAAU,MAAuD;AACxE,MAAI,SAAS;AAAW,WAAO;AAC/B,MAAI,OAAO,SAAS;AAAU,WAAO;AACrC,QAAM,SAAS,SAAS,MAAM,CAAC;AAC/B,6BAAO,CAAE,MAAM,MAAM,GAAG,iBAAiB,OAAO;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,MAAsB;AAC3C,SAAO,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG;AACzC;",
4
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,qBAAuB;AACvB,mBAAsB;AACtB,gBAAoD;AACpD,qBAAmB;AACnB,mBAA2E;AAC3E,kBAAwB;AAAA,IAuCxB,qBAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,YAAY,QAAQ,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AAC9E,UAAM,QAAQ,cAAc,cAAc,IAAI,sBAAY;AAC1D,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,mBAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,aAAS,kCAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,2CAAuC,mBAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,iBAAY,gCAAkB,MAAM;AAC1C,YAAM,cAAc,UAAM,iBAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,6CAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,UAAM,gCAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,uBAAmB,mBAAG,GAAG,CAAC;AAC/E,oBAAM,iBAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAGA,cAAQ,IAAI,MAAM,gBAAY,mBAAG,QAAQ,cAAU,mBAAG,MAAM,IAAI;AAChE,UAAI;AACF,kBAAM,oBAAS,UAAU,QAAQ,KAAK;AAAA,MACxC,SAAS,OAAP;AACA,YAAK,MAAM,SAAS,YAAc,cAAc,QAAS;AACvD,kBAAQ,IAAI,KAAK,qCAAiC,mBAAG,MAAM,GAAG;AAAA,QAChE,OAAO;AACL,gBAAM;AAAA,QACR;AAAA,MACF;AAGA,UAAI,UAAU,QAAW;AACvB,gBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,kBAAc,mBAAG,MAAM,CAAC;AAC7E,kBAAM,iBAAM,QAAQ,KAAK;AAAA,MAC3B;AAGA,cAAQ,IAAI,MAAM;AAAA,IACpB;AAEA,UAAM,SAAS,QAAQ,MAAM;AAC7B,YAAQ,IAAI,KAAK,UAAU,OAAO,QAAQ,gBAAY,mBAAG,QAAQ,SAAS,CAAC;AAC3E,WAAO;AAAA,EACT;AACF,CAAC;AAMD,SAAS,UAAU,MAAuD;AACxE,MAAI,SAAS;AAAW,WAAO;AAC/B,MAAI,OAAO,SAAS;AAAU,WAAO;AACrC,QAAM,SAAS,SAAS,MAAM,CAAC;AAC/B,6BAAO,CAAE,MAAM,MAAM,GAAG,iBAAiB,OAAO;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,MAAsB;AAC3C,SAAO,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG;AACzC;",
5
5
  "names": ["directory"]
6
6
  }
@@ -1,7 +1,7 @@
1
1
  /** Options for copying files */
2
2
  export interface CopyOptions {
3
- /** Whether to allow overwriting or not (default `false`). */
4
- overwrite?: boolean;
3
+ /** Whether to allow overwriting or not (default `fail`). */
4
+ overwrite?: 'overwrite' | 'fail' | 'skip';
5
5
  /** If specified, use this `mode` (octal string) when creating files. */
6
6
  mode?: string | number;
7
7
  /** If specified, use this `mode` (octal string) when creating directories. */
@@ -11,8 +11,8 @@ install("copy", class Copy {
11
11
  this._options = _options;
12
12
  }
13
13
  async pipe(files, context) {
14
- const { mode, dirMode, overwrite, rename = (s) => s } = this._options;
15
- const flags = overwrite ? fsConstants.COPYFILE_EXCL : 0;
14
+ const { mode, dirMode, overwrite = "fail", rename = (s) => s } = this._options;
15
+ const flags = overwrite === "overwrite" ? 0 : fsConstants.COPYFILE_EXCL;
16
16
  const dmode = parseMode(dirMode);
17
17
  const fmode = parseMode(mode);
18
18
  const directory = context.resolve(this._directory);
@@ -35,7 +35,15 @@ install("copy", class Copy {
35
35
  }
36
36
  }
37
37
  context.log.trace(`Copying "${$p(absolute)}" to "${$p(target)}"`);
38
- await copyFile(absolute, target, flags);
38
+ try {
39
+ await copyFile(absolute, target, flags);
40
+ } catch (error) {
41
+ if (error.code === "EEXIST" && overwrite === "skip") {
42
+ context.log.warn(`Not overwriting existing file ${$p(target)}`);
43
+ } else {
44
+ throw error;
45
+ }
46
+ }
39
47
  if (fmode !== void 0) {
40
48
  context.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, $p(target));
41
49
  await chmod(target, fmode);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/copy.ts"],
4
- "mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,OAAO,UAAU,aAAa,aAAa;AACpD,SAAS,UAAU;AACnB,SAAS,oBAAoB,mBAAmB,2BAA2B;AAC3E,SAAS,eAAe;AAuCxB,QAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,WAAW,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AACrE,UAAM,QAAQ,YAAY,YAAY,gBAAgB;AACtD,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,MAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,SAAS,oBAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,uCAAuC,GAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,aAAY,kBAAkB,MAAM;AAC1C,YAAM,cAAc,MAAM,MAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,2BAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,MAAM,kBAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,mBAAmB,GAAG,GAAG,CAAC;AAC/E,gBAAM,MAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAGA,cAAQ,IAAI,MAAM,YAAY,GAAG,QAAQ,UAAU,GAAG,MAAM,IAAI;AAChE,YAAM,SAAS,UAAU,QAAQ,KAAK;AAGtC,UAAI,UAAU,QAAW;AACvB,gBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,cAAc,GAAG,MAAM,CAAC;AAC7E,cAAM,MAAM,QAAQ,KAAK;AAAA,MAC3B;AAGA,cAAQ,IAAI,MAAM;AAAA,IACpB;AAEA,UAAM,SAAS,QAAQ,MAAM;AAC7B,YAAQ,IAAI,KAAK,UAAU,OAAO,QAAQ,YAAY,GAAG,QAAQ,SAAS,CAAC;AAC3E,WAAO;AAAA,EACT;AACF,CAAC;AAMD,SAAS,UAAU,MAAuD;AACxE,MAAI,SAAS;AAAW,WAAO;AAC/B,MAAI,OAAO,SAAS;AAAU,WAAO;AACrC,QAAM,SAAS,SAAS,MAAM,CAAC;AAC/B,SAAO,CAAE,MAAM,MAAM,GAAG,iBAAiB,OAAO;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,MAAsB;AAC3C,SAAO,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG;AACzC;",
4
+ "mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,OAAO,UAAU,aAAa,aAAa;AACpD,SAAS,UAAU;AACnB,SAAS,oBAAoB,mBAAmB,2BAA2B;AAC3E,SAAS,eAAe;AAuCxB,QAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,YAAY,QAAQ,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AAC9E,UAAM,QAAQ,cAAc,cAAc,IAAI,YAAY;AAC1D,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,MAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,SAAS,oBAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,uCAAuC,GAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,aAAY,kBAAkB,MAAM;AAC1C,YAAM,cAAc,MAAM,MAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,2BAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,MAAM,kBAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,mBAAmB,GAAG,GAAG,CAAC;AAC/E,gBAAM,MAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAGA,cAAQ,IAAI,MAAM,YAAY,GAAG,QAAQ,UAAU,GAAG,MAAM,IAAI;AAChE,UAAI;AACF,cAAM,SAAS,UAAU,QAAQ,KAAK;AAAA,MACxC,SAAS,OAAP;AACA,YAAK,MAAM,SAAS,YAAc,cAAc,QAAS;AACvD,kBAAQ,IAAI,KAAK,iCAAiC,GAAG,MAAM,GAAG;AAAA,QAChE,OAAO;AACL,gBAAM;AAAA,QACR;AAAA,MACF;AAGA,UAAI,UAAU,QAAW;AACvB,gBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,cAAc,GAAG,MAAM,CAAC;AAC7E,cAAM,MAAM,QAAQ,KAAK;AAAA,MAC3B;AAGA,cAAQ,IAAI,MAAM;AAAA,IACpB;AAEA,UAAM,SAAS,QAAQ,MAAM;AAC7B,YAAQ,IAAI,KAAK,UAAU,OAAO,QAAQ,YAAY,GAAG,QAAQ,SAAS,CAAC;AAC3E,WAAO;AAAA,EACT;AACF,CAAC;AAMD,SAAS,UAAU,MAAuD;AACxE,MAAI,SAAS;AAAW,WAAO;AAC/B,MAAI,OAAO,SAAS;AAAU,WAAO;AACrC,QAAM,SAAS,SAAS,MAAM,CAAC;AAC/B,SAAO,CAAE,MAAM,MAAM,GAAG,iBAAiB,OAAO;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,MAAsB;AAC3C,SAAO,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG;AACzC;",
5
5
  "names": ["directory"]
6
6
  }
@@ -36,11 +36,10 @@ function fixExtensions() {
36
36
  return {
37
37
  name: "fix-extensions",
38
38
  setup(build) {
39
- var _a, _b, _c;
40
39
  build.initialOptions.bundle = true;
41
- const cjs = ((_a = build.initialOptions.outExtension) == null ? void 0 : _a[".cjs"]) || ".cjs";
42
- const mjs = ((_b = build.initialOptions.outExtension) == null ? void 0 : _b[".mjs"]) || ".mjs";
43
- const js = ((_c = build.initialOptions.outExtension) == null ? void 0 : _c[".js"]) || ".js";
40
+ const cjs = build.initialOptions.outExtension?.[".cjs"] || ".cjs";
41
+ const mjs = build.initialOptions.outExtension?.[".mjs"] || ".mjs";
42
+ const js = build.initialOptions.outExtension?.[".js"] || ".js";
44
43
  const exts = build.initialOptions.resolveExtensions || [".ts", ".js", ".tsx", ".jsx"];
45
44
  build.onResolve({ filter: /.*/ }, async (args) => {
46
45
  if (!args.importer)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugs/esbuild/fix-extensions.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAiB;AAEjB,gBAAqB;AACrB,mBAAqE;AA+B9D,SAAS,gBAAwB;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,MAAM,OAAa;AAtCvB;AAwCM,YAAM,eAAe,SAAS;AAG9B,YAAM,QAAM,WAAM,eAAe,iBAArB,mBAAoC,YAAW;AAC3D,YAAM,QAAM,WAAM,eAAe,iBAArB,mBAAoC,YAAW;AAC3D,YAAM,OAAK,WAAM,eAAe,iBAArB,mBAAoC,WAAU;AAGzD,YAAM,OAAO,MAAM,eAAe,qBAAqB,CAAE,OAAO,OAAO,QAAQ,MAAO;AAGtF,YAAM,UAAU,EAAE,QAAQ,KAAK,GAAG,OAAO,SAAS;AAEhD,YAAI,CAAE,KAAK;AAAU,iBAAO;AAG5B,YAAI,CAAE,KAAK,KAAK,MAAM,UAAU;AAAG,iBAAO,EAAE,UAAU,KAAK;AAG3D,cAAM,aAAa,KAAK;AACxB,6CAAmB,UAAU;AAG7B,cAAM,eAAW,kCAAoB,YAAY,KAAK,IAAI;AAC1D,gBAAI,0BAAY,QAAQ;AAAG,iBAAO,EAAE,MAAM,KAAK,MAAM,UAAU,KAAK;AAOpE,cAAM,QAAQ,KAAK,KAAK,MAAM,kBAAkB;AAChD,YAAI,OAAO;AACT,gBAAM,CAAE,EAAE,MAAM,GAAI,IAAI;AACxB,gBAAM,SAAS,OAAO,IAAK,QAAQ,MAAM,IAAI;AAC7C,gBAAM,aAAS,kCAAoB,YAAY,MAAM;AACrD,kBAAI,0BAAY,MAAM,GAAG;AACvB,kBAAM,SAAS,QAAQ,SAAS,MAAM,QAAQ,SAAS,MAAM;AAC7D,mBAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,KAAK;AAAA,UAC/C;AAAA,QACF;AAGA,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,GAAG,KAAK,OAAO;AAChC,gBAAM,WAAW,iBAAAA,QAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAM,SAAS,UAAM,gBAAK,QAAQ,EAAE,KAAK,CAACC,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAI;AAAQ,mBAAO,EAAE,MAAM,GAAG,KAAK,OAAO,MAAM,UAAU,KAAK;AAAA,QACjE;AAGA,cAAM,UAAU,iBAAAD,QAAK,QAAQ,KAAK,YAAY,KAAK,IAAI;AACvD,cAAM,QAAQ,UAAM,gBAAK,OAAO,EAAE,KAAK,CAACC,UAASA,MAAK,YAAY,GAAG,CAAC,UAAU,MAAU;AAC1F,YAAI,CAAE;AAAO,iBAAO,EAAE,UAAU,KAAK;AAGrC,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,iBAAAD,QAAK,KAAK,KAAK,MAAM,QAAQ,KAAK;AACnD,gBAAM,WAAW,iBAAAA,QAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAM,SAAS,UAAM,gBAAK,QAAQ,EAAE,KAAK,CAACC,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAI;AAAQ,mBAAO,EAAE,MAAM,GAAG,KAAK,aAAa,MAAM,UAAU,KAAK;AAAA,QACvE;AAGA,eAAO,EAAE,UAAU,KAAK;AAAA,MAC1B,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAiB;AAEjB,gBAAqB;AACrB,mBAAqE;AA+B9D,SAAS,gBAAwB;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,MAAM,OAAa;AAEjB,YAAM,eAAe,SAAS;AAG9B,YAAM,MAAM,MAAM,eAAe,eAAe,WAAW;AAC3D,YAAM,MAAM,MAAM,eAAe,eAAe,WAAW;AAC3D,YAAM,KAAK,MAAM,eAAe,eAAe,UAAU;AAGzD,YAAM,OAAO,MAAM,eAAe,qBAAqB,CAAE,OAAO,OAAO,QAAQ,MAAO;AAGtF,YAAM,UAAU,EAAE,QAAQ,KAAK,GAAG,OAAO,SAAS;AAEhD,YAAI,CAAE,KAAK;AAAU,iBAAO;AAG5B,YAAI,CAAE,KAAK,KAAK,MAAM,UAAU;AAAG,iBAAO,EAAE,UAAU,KAAK;AAG3D,cAAM,aAAa,KAAK;AACxB,6CAAmB,UAAU;AAG7B,cAAM,eAAW,kCAAoB,YAAY,KAAK,IAAI;AAC1D,gBAAI,0BAAY,QAAQ;AAAG,iBAAO,EAAE,MAAM,KAAK,MAAM,UAAU,KAAK;AAOpE,cAAM,QAAQ,KAAK,KAAK,MAAM,kBAAkB;AAChD,YAAI,OAAO;AACT,gBAAM,CAAE,EAAE,MAAM,GAAI,IAAI;AACxB,gBAAM,SAAS,OAAO,IAAK,QAAQ,MAAM,IAAI;AAC7C,gBAAM,aAAS,kCAAoB,YAAY,MAAM;AACrD,kBAAI,0BAAY,MAAM,GAAG;AACvB,kBAAM,SAAS,QAAQ,SAAS,MAAM,QAAQ,SAAS,MAAM;AAC7D,mBAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,KAAK;AAAA,UAC/C;AAAA,QACF;AAGA,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,GAAG,KAAK,OAAO;AAChC,gBAAM,WAAW,iBAAAA,QAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAM,SAAS,UAAM,gBAAK,QAAQ,EAAE,KAAK,CAACC,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAI;AAAQ,mBAAO,EAAE,MAAM,GAAG,KAAK,OAAO,MAAM,UAAU,KAAK;AAAA,QACjE;AAGA,cAAM,UAAU,iBAAAD,QAAK,QAAQ,KAAK,YAAY,KAAK,IAAI;AACvD,cAAM,QAAQ,UAAM,gBAAK,OAAO,EAAE,KAAK,CAACC,UAASA,MAAK,YAAY,GAAG,CAAC,UAAU,MAAU;AAC1F,YAAI,CAAE;AAAO,iBAAO,EAAE,UAAU,KAAK;AAGrC,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,iBAAAD,QAAK,KAAK,KAAK,MAAM,QAAQ,KAAK;AACnD,gBAAM,WAAW,iBAAAA,QAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAM,SAAS,UAAM,gBAAK,QAAQ,EAAE,KAAK,CAACC,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAI;AAAQ,mBAAO,EAAE,MAAM,GAAG,KAAK,aAAa,MAAM,UAAU,KAAK;AAAA,QACvE;AAGA,eAAO,EAAE,UAAU,KAAK;AAAA,MAC1B,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
5
5
  "names": ["path", "stat"]
6
6
  }
@@ -6,11 +6,10 @@ function fixExtensions() {
6
6
  return {
7
7
  name: "fix-extensions",
8
8
  setup(build) {
9
- var _a, _b, _c;
10
9
  build.initialOptions.bundle = true;
11
- const cjs = ((_a = build.initialOptions.outExtension) == null ? void 0 : _a[".cjs"]) || ".cjs";
12
- const mjs = ((_b = build.initialOptions.outExtension) == null ? void 0 : _b[".mjs"]) || ".mjs";
13
- const js = ((_c = build.initialOptions.outExtension) == null ? void 0 : _c[".js"]) || ".js";
10
+ const cjs = build.initialOptions.outExtension?.[".cjs"] || ".cjs";
11
+ const mjs = build.initialOptions.outExtension?.[".mjs"] || ".mjs";
12
+ const js = build.initialOptions.outExtension?.[".js"] || ".js";
14
13
  const exts = build.initialOptions.resolveExtensions || [".ts", ".js", ".tsx", ".jsx"];
15
14
  build.onResolve({ filter: /.*/ }, async (args) => {
16
15
  if (!args.importer)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugs/esbuild/fix-extensions.ts"],
4
- "mappings": ";AAAA,OAAO,UAAU;AAEjB,SAAS,YAAY;AACrB,SAAS,oBAAoB,qBAAqB,mBAAmB;AA+B9D,SAAS,gBAAwB;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,MAAM,OAAa;AAtCvB;AAwCM,YAAM,eAAe,SAAS;AAG9B,YAAM,QAAM,WAAM,eAAe,iBAArB,mBAAoC,YAAW;AAC3D,YAAM,QAAM,WAAM,eAAe,iBAArB,mBAAoC,YAAW;AAC3D,YAAM,OAAK,WAAM,eAAe,iBAArB,mBAAoC,WAAU;AAGzD,YAAM,OAAO,MAAM,eAAe,qBAAqB,CAAE,OAAO,OAAO,QAAQ,MAAO;AAGtF,YAAM,UAAU,EAAE,QAAQ,KAAK,GAAG,OAAO,SAAS;AAEhD,YAAI,CAAE,KAAK;AAAU,iBAAO;AAG5B,YAAI,CAAE,KAAK,KAAK,MAAM,UAAU;AAAG,iBAAO,EAAE,UAAU,KAAK;AAG3D,cAAM,aAAa,KAAK;AACxB,2BAAmB,UAAU;AAG7B,cAAM,WAAW,oBAAoB,YAAY,KAAK,IAAI;AAC1D,YAAI,YAAY,QAAQ;AAAG,iBAAO,EAAE,MAAM,KAAK,MAAM,UAAU,KAAK;AAOpE,cAAM,QAAQ,KAAK,KAAK,MAAM,kBAAkB;AAChD,YAAI,OAAO;AACT,gBAAM,CAAE,EAAE,MAAM,GAAI,IAAI;AACxB,gBAAM,SAAS,OAAO,IAAK,QAAQ,MAAM,IAAI;AAC7C,gBAAM,SAAS,oBAAoB,YAAY,MAAM;AACrD,cAAI,YAAY,MAAM,GAAG;AACvB,kBAAM,SAAS,QAAQ,SAAS,MAAM,QAAQ,SAAS,MAAM;AAC7D,mBAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,KAAK;AAAA,UAC/C;AAAA,QACF;AAGA,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,GAAG,KAAK,OAAO;AAChC,gBAAM,WAAW,KAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAM,SAAS,MAAM,KAAK,QAAQ,EAAE,KAAK,CAACA,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAI;AAAQ,mBAAO,EAAE,MAAM,GAAG,KAAK,OAAO,MAAM,UAAU,KAAK;AAAA,QACjE;AAGA,cAAM,UAAU,KAAK,QAAQ,KAAK,YAAY,KAAK,IAAI;AACvD,cAAM,QAAQ,MAAM,KAAK,OAAO,EAAE,KAAK,CAACA,UAASA,MAAK,YAAY,GAAG,CAAC,UAAU,MAAU;AAC1F,YAAI,CAAE;AAAO,iBAAO,EAAE,UAAU,KAAK;AAGrC,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,KAAK,KAAK,KAAK,MAAM,QAAQ,KAAK;AACnD,gBAAM,WAAW,KAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAM,SAAS,MAAM,KAAK,QAAQ,EAAE,KAAK,CAACA,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAI;AAAQ,mBAAO,EAAE,MAAM,GAAG,KAAK,aAAa,MAAM,UAAU,KAAK;AAAA,QACvE;AAGA,eAAO,EAAE,UAAU,KAAK;AAAA,MAC1B,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
4
+ "mappings": ";AAAA,OAAO,UAAU;AAEjB,SAAS,YAAY;AACrB,SAAS,oBAAoB,qBAAqB,mBAAmB;AA+B9D,SAAS,gBAAwB;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,MAAM,OAAa;AAEjB,YAAM,eAAe,SAAS;AAG9B,YAAM,MAAM,MAAM,eAAe,eAAe,WAAW;AAC3D,YAAM,MAAM,MAAM,eAAe,eAAe,WAAW;AAC3D,YAAM,KAAK,MAAM,eAAe,eAAe,UAAU;AAGzD,YAAM,OAAO,MAAM,eAAe,qBAAqB,CAAE,OAAO,OAAO,QAAQ,MAAO;AAGtF,YAAM,UAAU,EAAE,QAAQ,KAAK,GAAG,OAAO,SAAS;AAEhD,YAAI,CAAE,KAAK;AAAU,iBAAO;AAG5B,YAAI,CAAE,KAAK,KAAK,MAAM,UAAU;AAAG,iBAAO,EAAE,UAAU,KAAK;AAG3D,cAAM,aAAa,KAAK;AACxB,2BAAmB,UAAU;AAG7B,cAAM,WAAW,oBAAoB,YAAY,KAAK,IAAI;AAC1D,YAAI,YAAY,QAAQ;AAAG,iBAAO,EAAE,MAAM,KAAK,MAAM,UAAU,KAAK;AAOpE,cAAM,QAAQ,KAAK,KAAK,MAAM,kBAAkB;AAChD,YAAI,OAAO;AACT,gBAAM,CAAE,EAAE,MAAM,GAAI,IAAI;AACxB,gBAAM,SAAS,OAAO,IAAK,QAAQ,MAAM,IAAI;AAC7C,gBAAM,SAAS,oBAAoB,YAAY,MAAM;AACrD,cAAI,YAAY,MAAM,GAAG;AACvB,kBAAM,SAAS,QAAQ,SAAS,MAAM,QAAQ,SAAS,MAAM;AAC7D,mBAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,KAAK;AAAA,UAC/C;AAAA,QACF;AAGA,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,GAAG,KAAK,OAAO;AAChC,gBAAM,WAAW,KAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAM,SAAS,MAAM,KAAK,QAAQ,EAAE,KAAK,CAACA,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAI;AAAQ,mBAAO,EAAE,MAAM,GAAG,KAAK,OAAO,MAAM,UAAU,KAAK;AAAA,QACjE;AAGA,cAAM,UAAU,KAAK,QAAQ,KAAK,YAAY,KAAK,IAAI;AACvD,cAAM,QAAQ,MAAM,KAAK,OAAO,EAAE,KAAK,CAACA,UAASA,MAAK,YAAY,GAAG,CAAC,UAAU,MAAU;AAC1F,YAAI,CAAE;AAAO,iBAAO,EAAE,UAAU,KAAK;AAGrC,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,KAAK,KAAK,KAAK,MAAM,QAAQ,KAAK;AACnD,gBAAM,WAAW,KAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAM,SAAS,MAAM,KAAK,QAAQ,EAAE,KAAK,CAACA,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAI;AAAQ,mBAAO,EAAE,MAAM,GAAG,KAAK,aAAa,MAAM,UAAU,KAAK;AAAA,QACvE;AAGA,eAAO,EAAE,UAAU,KAAK;AAAA,MAC1B,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
5
5
  "names": ["stat"]
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import type { BuildOptions } from 'esbuild';
2
- export declare type ESBuildOptions = Omit<BuildOptions, 'absWorkingDir' | 'entryPoints' | 'watch'>;
2
+ export type ESBuildOptions = Omit<BuildOptions, 'absWorkingDir' | 'entryPoints' | 'watch'>;
3
3
  export * from './esbuild/bundle-locals';
4
4
  export * from './esbuild/fix-extensions';
5
5
  declare module '../index' {
package/dist/types.d.ts CHANGED
@@ -5,7 +5,7 @@ import type { Pipe } from './index';
5
5
  * A type describing the ultimate result of a {@link Plug}, {@link Pipe} or
6
6
  * {@link Task}, that is either a {@link Files} instance or `undefined`.
7
7
  */
8
- export declare type Result = Files | undefined;
8
+ export type Result = Files | undefined;
9
9
  /**
10
10
  * The {@link State} interface defines a component tracking the current
11
11
  * _state_ of a build, caching the result of {@link Task}s, and tracking their
@@ -39,15 +39,15 @@ export interface Task<T extends Result = Result> {
39
39
  * The {@link TaskResult} type identifies _what_ can be returned by a
40
40
  * {@link TaskDef | _task definition_}.
41
41
  */
42
- export declare type TaskResult = Pipe | Files | void | undefined;
42
+ export type TaskResult = Pipe | Files | void | undefined;
43
43
  /** The {@link TaskDef} type identifies the _definition_ of a task. */
44
- export declare type TaskDef<R extends TaskResult = TaskResult> = () => R | Promise<R>;
44
+ export type TaskDef<R extends TaskResult = TaskResult> = () => R | Promise<R>;
45
45
  /** A type identifying all _properties_ of a {@link Context}. */
46
- export declare type Props<D extends BuildDef = BuildDef> = {
46
+ export type Props<D extends BuildDef = BuildDef> = {
47
47
  readonly [k in string & keyof D as D[k] extends string ? k : never]: string;
48
48
  };
49
49
  /** A type identifying all _tasks_ in a {@link Context} */
50
- export declare type Tasks<D extends BuildDef = BuildDef> = {
50
+ export type Tasks<D extends BuildDef = BuildDef> = {
51
51
  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> : R extends Pipe | Files ? Task<Files> : never : D[k] extends Task ? D[k] : never;
52
52
  };
53
53
  /**
@@ -61,11 +61,11 @@ export interface BuildDef {
61
61
  * The type that will be used for `this` when invoking
62
62
  * {@link TaskDef | task definitions }.
63
63
  */
64
- export declare type ThisBuild<D extends BuildDef> = {
64
+ export type ThisBuild<D extends BuildDef> = {
65
65
  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;
66
66
  };
67
67
  /**
68
68
  * The {@link Build} type represents the collection of {@link Task}s
69
69
  * and _properties_ compiled from a {@link BuildDef | build definition}.
70
70
  */
71
- export declare type Build<D extends BuildDef = BuildDef> = Tasks<D> & Props<D>;
71
+ export type Build<D extends BuildDef = BuildDef> = Tasks<D> & Props<D>;
@@ -207,7 +207,7 @@ export interface MatchOptions {
207
207
  unescape?: boolean;
208
208
  }
209
209
  /** A _function_ matching a string. */
210
- export declare type Matcher = (string: string) => boolean;
210
+ export type Matcher = (string: string) => boolean;
211
211
  /**
212
212
  * Create a {@link Matcher} according to the globs and options specified.
213
213
  *
@@ -1,9 +1,9 @@
1
1
  /** A type extacting string parameters from an arguments array */
2
- export declare type ParsedParams<Args extends readonly any[]> = Args extends readonly [infer First, ...infer Rest] ? First extends string ? [First, ...ParsedParams<Rest>] : [] : Args extends readonly [...infer First, infer Rest] ? Rest extends string ? [...ParsedParams<First>, Rest] : [...ParsedParams<First>] : Args extends readonly string[] ? [...Args] : [];
2
+ export type ParsedParams<Args extends readonly any[]> = Args extends readonly [infer First, ...infer Rest] ? First extends string ? [First, ...ParsedParams<Rest>] : [] : Args extends readonly [...infer First, infer Rest] ? Rest extends string ? [...ParsedParams<First>, Rest] : [...ParsedParams<First>] : Args extends readonly string[] ? [...Args] : [];
3
3
  /** A type extacting the (last) options type from an arguments array */
4
- export declare type ParsedOptions<Args extends readonly any[]> = Args extends readonly [...string[], infer Last] ? Last extends object ? Last : never : never;
4
+ export type ParsedOptions<Args extends readonly any[]> = Args extends readonly [...string[], infer Last] ? Last extends object ? Last : never : never;
5
5
  /** Parserable arguments: a number of strings, followed by optional options */
6
- export declare type ParseOptions<Options extends Record<any, any>> = readonly [...params: string[]] | readonly [...params: string[], options: Options];
6
+ export type ParseOptions<Options extends Record<any, any>> = readonly [...params: string[]] | readonly [...params: string[], options: Options];
7
7
  /** The return type from {@link ParseOptions} */
8
8
  export interface ParsedResult<Args extends readonly any[], Options, Defaults> {
9
9
  params: ParsedParams<Args>;
@@ -162,12 +162,12 @@ var load = (url, context, nextLoad) => {
162
162
  if (!ext)
163
163
  return nextLoad(url, context);
164
164
  if (ext === ".cts")
165
- return { format: "commonjs" };
165
+ return { format: "commonjs", shortCircuit: true };
166
166
  const filename = _url.fileURLToPath(url);
167
167
  if (ext === ".ts") {
168
168
  const format = _moduleFormat(_path.dirname(filename));
169
169
  if (format === CJS)
170
- return { format: "commonjs" };
170
+ return { format: "commonjs", shortCircuit: true };
171
171
  }
172
172
  const source = _esbTranpile(filename, ESM);
173
173
  return { source, format: "module", shortCircuit: true };
@@ -220,4 +220,4 @@ export {
220
220
  load,
221
221
  resolve
222
222
  };
223
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidHMtbG9hZGVyLm10cyJdLAogICJtYXBwaW5ncyI6ICI7QUFxQkEsT0FBTyxTQUFTO0FBQ2hCLE9BQU8sYUFBYTtBQUNwQixPQUFPLFdBQVc7QUFDbEIsT0FBTyxVQUFVO0FBR2pCLE9BQU8sY0FBYztBQVNyQixJQUFNLE1BQU07QUFFWixJQUFNLE1BQU07QUFHWixJQUFNLFNBQVMsUUFBUSxJQUFJLG9CQUFvQjtBQUcvQyxTQUFTLEtBQUssTUFBbUIsUUFBZ0IsTUFBb0I7QUFDbkUsTUFBSSxDQUFFO0FBQVE7QUFFZCxRQUFNLElBQUksU0FBUyxXQUFXLFFBQVEsU0FBUyxhQUFhLFFBQVE7QUFDcEUsUUFBTSxTQUFTLGNBQWMsU0FBUyxRQUFRO0FBRzlDLFVBQVEsSUFBSSxRQUFRLEtBQUssR0FBRyxJQUFJO0FBQ2xDO0FBR0EsU0FBUyxPQUNMLE1BQ0EsU0FDQSxVQUE0RCxDQUFDLEdBQ3hEO0FBQ1AsUUFBTSxJQUFJLFNBQVMsV0FBVyxRQUFRLFNBQVMsYUFBYSxRQUFRO0FBQ3BFLFFBQU0sU0FBUyxjQUFjLFNBQVMsUUFBUTtBQUU5QyxRQUFNLEVBQUUsUUFBUSxXQUFXLE1BQU0sSUFBSTtBQUNyQyxRQUFNLFFBQVEsSUFBSSxNQUFNLEdBQUcsVUFBVSxTQUFTO0FBQzlDLFFBQU0sa0JBQWtCLE9BQU8sS0FBSztBQUNwQyxTQUFPLE9BQU8sT0FBTyxLQUFLO0FBRTFCLFFBQU07QUFDUjtBQVFBLElBQU0scUJBQXFCLG9CQUFJLElBQWtCO0FBR2pELElBQUksUUFBUSxJQUFJLHdCQUF3QjtBQUN0QyxRQUFNLE9BQU8sUUFBUSxJQUFJO0FBQ3pCLFFBQU0sTUFBTSxRQUFRLElBQUk7QUFDeEIsT0FBSyxNQUFNLDZCQUE2Qiw4QkFBOEIsT0FBTztBQUM3RSxxQkFBbUIsSUFBSSxLQUFLLElBQUk7QUFDbEM7QUFHQSxJQUFJO0FBQVEsVUFBUSxHQUFHLFFBQVEsTUFBTSxLQUFLLE1BQU0sZ0JBQWdCLGtCQUFrQixDQUFDO0FBTW5GLFNBQVMsY0FBYyxXQUF5QjtBQUU5QyxRQUFNLE9BQU8sbUJBQW1CLElBQUksU0FBUztBQUM3QyxNQUFJO0FBQU0sV0FBTztBQUdqQixRQUFNLE9BQU8sTUFBTSxRQUFRLFdBQVcsY0FBYztBQUVwRCxNQUFJO0FBQ0YsVUFBTSxPQUFPLElBQUksYUFBYSxNQUFNLE9BQU87QUFDM0MsVUFBTSxPQUFPLEtBQUssTUFBTSxJQUFJO0FBRzVCLFVBQU1BLFFBQU8sS0FBSyxTQUFTLFdBQVcsTUFBTTtBQUM1QyxTQUFLLE1BQU0sU0FBUyxpQ0FBaUMsS0FBSyxVQUFVQSxRQUFPO0FBQzNFLHVCQUFtQixJQUFJLFdBQVdBLEtBQUk7QUFDdEMsV0FBT0E7QUFBQSxFQUNULFNBQVMsT0FBUDtBQUVBLFFBQUssTUFBTSxTQUFTLFlBQWMsTUFBTSxTQUFTLFVBQVc7QUFDMUQsYUFBTyxNQUFNLDRCQUE0QixTQUFTLEVBQUUsT0FBTyxPQUFPLGNBQWMsQ0FBQztBQUFBLElBQ25GO0FBQUEsRUFDRjtBQVNBLFFBQU0sT0FBTyxNQUFNLFNBQVMsU0FBUztBQUNyQyxRQUFNLFNBQVMsTUFBTSxRQUFRLFNBQVM7QUFFdEMsTUFBSyxTQUFTLGtCQUFvQixXQUFXLFdBQVk7QUFDdkQsdUJBQW1CLElBQUksV0FBVyxHQUFHO0FBQ3JDLFdBQU87QUFBQSxFQUNULE9BQU87QUFFTCxVQUFNQSxRQUFPLGNBQWMsTUFBTTtBQUNqQyx1QkFBbUIsSUFBSSxXQUFXQSxLQUFJO0FBQ3RDLFdBQU9BO0FBQUEsRUFDVDtBQUNGO0FBR0EsU0FBUyxRQUFRLE1BQXVCO0FBQ3RDLE1BQUk7QUFDRixXQUFPLElBQUksU0FBUyxJQUFJLEVBQUUsT0FBTztBQUFBLEVBQ25DLFNBQVMsT0FBUDtBQUNBLFdBQU87QUFBQSxFQUNUO0FBQ0Y7QUFHQSxTQUFTLGFBQWEsTUFBdUI7QUFDM0MsTUFBSTtBQUNGLFdBQU8sSUFBSSxTQUFTLElBQUksRUFBRSxZQUFZO0FBQUEsRUFDeEMsU0FBUyxPQUFQO0FBQ0EsV0FBTztBQUFBLEVBQ1Q7QUFDRjtBQVdBLFNBQVMsV0FDTCxNQUNBLFdBQStCLENBQUMsR0FDNUI7QUFDTixRQUFNLFNBQVMsUUFBUTtBQUN2QixRQUFNLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLE9BQU8sZUFBZSxPQUFPLFdBQVcsR0FBRztBQUU3RSxRQUFNLFFBQVEsU0FBUyxtQkFBbUIsVUFBVSxFQUFFLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFDeEUsUUFBTSxRQUFRLENBQUMsWUFBWSxPQUFPLE1BQU0sR0FBRztBQUFBLENBQVcsQ0FBQztBQUN6RDtBQUtBLFNBQVMsYUFBYSxVQUFrQixNQUFvQjtBQUMxRCxPQUFLLE1BQU0sZ0JBQWdCLFVBQVU7QUFFckMsUUFBTSxDQUFFLFFBQVEsU0FBVSxJQUFJLFNBQVMsTUFDckMsQ0FBRSxPQUFPLGlCQUFrQixJQUMzQixDQUFFLE9BQU8sWUFBYTtBQUd4QixRQUFNLFVBQXFDO0FBQUEsSUFDekMsWUFBWTtBQUFBLElBQ1o7QUFBQSxJQUNBLFFBQVE7QUFBQSxJQUNSLFdBQVc7QUFBQSxJQUNYLGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLFFBQVEsT0FBTyxRQUFRLFNBQVM7QUFBQSxJQUNoQyxRQUFRLEVBQUUsVUFBVTtBQUFBLEVBQ3RCO0FBR0EsTUFBSSxRQUFRO0FBQ1YsWUFBUSxTQUFTLDRCQUE0Qix1QkFBdUI7QUFBQSxFQUN0RTtBQUdBLE1BQUk7QUFDSixNQUFJO0FBQ0YsVUFBTSxTQUFTLElBQUksYUFBYSxVQUFVLE9BQU87QUFDakQsYUFBUyxTQUFTLGNBQWMsUUFBUSxPQUFPO0FBQUEsRUFDakQsU0FBUyxPQUFQO0FBQ0EsZUFBVyxTQUFVLE1BQW9DLE1BQU07QUFDL0QsZUFBVyxXQUFZLE1BQW9DLFFBQVE7QUFDbkUsV0FBTyxNQUFNLDhCQUE4QixhQUFhLEVBQUUsT0FBTyxPQUFPLGFBQWEsQ0FBQztBQUFBLEVBQ3hGO0FBR0EsTUFBSTtBQUFRLGVBQVcsV0FBVyxPQUFPLFFBQVE7QUFHakQsU0FBTyxPQUFPO0FBQ2hCO0FBOEZPLElBQU0sVUFBdUIsQ0FBQyxXQUFXLFNBQVMsZ0JBQXdEO0FBQy9HLE9BQUssS0FBSyxjQUFjLG9CQUFvQixRQUFRLFlBQVk7QUFHaEUsTUFBSSxDQUFFLFVBQVUsTUFBTSxVQUFVO0FBQUcsV0FBTyxZQUFZLFdBQVcsT0FBTztBQUd4RSxRQUFNLFlBQVksUUFBUTtBQUMxQixNQUFJLENBQUU7QUFBVyxXQUFPLFlBQVksV0FBVyxPQUFPO0FBQ3RELE1BQUksQ0FBRSxVQUFVLFdBQVcsT0FBTztBQUFHLFdBQU8sWUFBWSxXQUFXLE9BQU87QUFHMUUsTUFBSSxDQUFFLFVBQVUsTUFBTSxTQUFTO0FBQUcsV0FBTyxZQUFZLFdBQVcsT0FBTztBQUd2RSxRQUFNLE1BQU0sSUFBSSxJQUFJLFdBQVcsU0FBUyxFQUFFO0FBQzFDLFFBQU0sT0FBTyxLQUFLLGNBQWMsR0FBRztBQW9CbkMsTUFBSSxRQUFRLElBQUksR0FBRztBQUNqQixTQUFLLEtBQUssdUJBQXVCLGtCQUFrQixXQUFXO0FBQzlELFdBQU8sWUFBWSxXQUFXLE9BQU87QUFBQSxFQUN2QztBQVFBLFFBQU0sUUFBUSxVQUFVLE1BQU0sa0JBQWtCO0FBQ2hELE1BQUksT0FBTztBQUNULFVBQU0sQ0FBRSxFQUFFLE1BQU0sR0FBSSxJQUFJO0FBQ3hCLFVBQU0sY0FBYyxPQUFPLElBQUssUUFBUSxNQUFNLElBQUk7QUFDbEQsVUFBTSxRQUFRLElBQUksSUFBSSxhQUFhLFNBQVMsRUFBRTtBQUM5QyxVQUFNLFNBQVMsS0FBSyxjQUFjLEtBQUs7QUFFdkMsUUFBSSxRQUFRLE1BQU0sR0FBRztBQUNuQixXQUFLLEtBQUssdUJBQXVCLGtCQUFrQixhQUFhO0FBQ2hFLGFBQU8sWUFBWSxhQUFhLE9BQU87QUFBQSxJQUN6QztBQUFBLEVBQ0Y7QUFHQSxNQUFJLFFBQVEsR0FBRyxTQUFTLEdBQUc7QUFDekIsU0FBSyxLQUFLLHVCQUF1QixxQkFBcUIsY0FBYztBQUNwRSxXQUFPLFlBQVksR0FBRyxnQkFBZ0IsT0FBTztBQUFBLEVBQy9DO0FBR0EsTUFBSSxhQUFhLElBQUksR0FBRztBQUN0QixVQUFNLE9BQU8sTUFBTSxRQUFRLE1BQU0sVUFBVTtBQUMzQyxRQUFJLFFBQVEsSUFBSSxHQUFHO0FBQ2pCLFdBQUssS0FBSyx1QkFBdUIsa0JBQWtCLFlBQVk7QUFDL0QsWUFBTSxPQUFPLEtBQUssY0FBYyxJQUFJLEVBQUU7QUFDdEMsYUFBTyxZQUFZLE1BQU0sT0FBTztBQUFBLElBQ2xDO0FBQUEsRUFDRjtBQUdBLFNBQU8sWUFBWSxXQUFXLE9BQU87QUFDdkM7QUFHTyxJQUFNLE9BQWlCLENBQUMsS0FBSyxTQUFTLGFBQStDO0FBNVk1RjtBQTZZRSxPQUFLLEtBQUssdUJBQXVCLE1BQU07QUFHdkMsTUFBSSxDQUFFLElBQUksV0FBVyxPQUFPO0FBQUcsV0FBTyxTQUFTLEtBQUssT0FBTztBQUczRCxRQUFNLE9BQU0sU0FBSSxNQUFNLFlBQVksTUFBdEIsbUJBQTBCO0FBR3RDLE1BQUksQ0FBRTtBQUFLLFdBQU8sU0FBUyxLQUFLLE9BQU87QUFDdkMsTUFBSSxRQUFRO0FBQVEsV0FBTyxFQUFFLFFBQVEsV0FBVztBQUdoRCxRQUFNLFdBQVcsS0FBSyxjQUFjLEdBQUc7QUFHdkMsTUFBSSxRQUFRLE9BQU87QUFDakIsVUFBTSxTQUFTLGNBQWMsTUFBTSxRQUFRLFFBQVEsQ0FBQztBQUdwRCxRQUFJLFdBQVc7QUFBSyxhQUFPLEVBQUUsUUFBUSxXQUFXO0FBQUEsRUFDbEQ7QUFHQSxRQUFNLFNBQVMsYUFBYSxVQUFVLEdBQUc7QUFHekMsU0FBTyxFQUFFLFFBQVEsUUFBUSxVQUFVLGNBQWMsS0FBSztBQUN4RDtBQW1DQSxJQUFNLFNBQTJCLENBQUMsUUFBUSxhQUFtQjtBQUMzRCxPQUFLLEtBQUssdUJBQXVCLFdBQVc7QUFHNUMsUUFBTSxNQUFNLE1BQU0sUUFBUSxRQUFRO0FBR2xDLE1BQUksUUFBUSxPQUFPO0FBQ2pCLFVBQU0sU0FBUyxjQUFjLE1BQU0sUUFBUSxRQUFRLENBQUM7QUFHcEQsUUFBSSxXQUFXLEtBQUs7QUFDbEIsYUFBTyxLQUFLLHNDQUFzQyxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUFBLElBQzNGO0FBQUEsRUFDRixXQUFXLFFBQVEsUUFBUTtBQUN6QixXQUFPLEtBQUsseUJBQXlCLFdBQVc7QUFBQSxFQUNsRDtBQUVBLFFBQU0sU0FBUyxhQUFhLFVBQVUsR0FBRztBQUd6QyxNQUFJO0FBQ0YsV0FBTyxTQUFTLFFBQVEsUUFBUTtBQUFBLEVBQ2xDLFNBQVMsT0FBUDtBQUVBLFlBQVEsSUFBSSwyQkFBMkIsYUFBYSxLQUFLO0FBQUEsRUFDM0Q7QUFDRjtBQUdBLFFBQVEsWUFBWSxTQUFTLFFBQVEsWUFBWSxVQUFVO0FBcUIzRCxJQUFNLHNCQUFzQixRQUFRO0FBQ3BDLFFBQVEsbUJBQW1CLFNBQ3ZCLFNBQ0EsV0FDRyxNQUNBO0FBQ0wsTUFBSTtBQUVGLFdBQU8sb0JBQW9CLEtBQUssTUFBTSxTQUFTLFFBQVEsR0FBRyxJQUFJO0FBQUEsRUFDaEUsU0FBUyxPQUFQO0FBRUEsUUFBSSxNQUFNLFNBQVM7QUFBb0IsWUFBTTtBQUc3QyxVQUFNLFFBQVEsUUFBUSxNQUFNLGtCQUFrQjtBQU05QyxRQUFJLFVBQVUsT0FBTztBQUNuQixZQUFNLENBQUUsRUFBRSxNQUFNLEdBQUksSUFBSTtBQUN4QixZQUFNLFlBQVksT0FBTyxJQUFLLFFBQVEsTUFBTSxJQUFJO0FBQ2hELFVBQUk7QUFDRixjQUFNLFNBQVMsb0JBQW9CLEtBQUssTUFBTSxXQUFXLFFBQVEsR0FBRyxJQUFJO0FBQ3hFLGFBQUssWUFBWSxtQkFBbUIsNEJBQTRCLFdBQVc7QUFDM0UsZUFBTztBQUFBLE1BQ1QsU0FBUyxTQUFQO0FBQ0EsY0FBTTtBQUFBLE1BQ1I7QUFBQSxJQUNGO0FBR0EsVUFBTTtBQUFBLEVBQ1I7QUFDRjtBQU9BLElBQU0saUJBQWlCLE9BQU8sSUFBSSxpQkFBaUI7QUFDakQsV0FBbUIsa0JBQWtCO0FBRXZDLEtBQUssTUFBTSwyQkFBMkIsWUFBWSxNQUFNOyIsCiAgIm5hbWVzIjogWyJ0eXBlIl0KfQo=
223
+ //# sourceMappingURL=data:application/json;base64,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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plugjs/plug",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -102,28 +102,34 @@
102
102
  },
103
103
  "scripts": {
104
104
  "bootstrap": "./bootstrap.sh",
105
- "build": "./extra/cli.mjs",
105
+ "build": "./bootstrap.sh && ./extra/cli.mjs",
106
106
  "dev": "./extra/cli.mjs -w ./src -w ./test"
107
107
  },
108
108
  "author": "",
109
109
  "license": "ISC",
110
110
  "dependencies": {
111
- "@types/node": "<17",
112
- "esbuild": "^0.15.13",
111
+ "@types/node": "<19",
112
+ "esbuild": "^0.15.18",
113
113
  "picomatch": "^2.3.1",
114
- "typescript": "^4.8.4"
114
+ "typescript": "^4.9.3"
115
115
  },
116
116
  "devDependencies": {
117
- "@plugjs/cov8": "^0.1.0",
118
- "@plugjs/eslint": "^0.1.0",
119
- "@plugjs/eslint-plugin": "^0.1.0",
120
- "@plugjs/mocha": "^0.1.0",
121
- "@plugjs/plug": "^0.1.0",
122
- "@plugjs/typescript": "^0.1.0",
123
- "@types/chai": "^4.3.3",
117
+ "@plugjs/cov8": "^0.1.1",
118
+ "@plugjs/eslint": "^0.1.1",
119
+ "@plugjs/eslint-plugin": "^0.1.1",
120
+ "@plugjs/jasmine": "^0.1.1",
121
+ "@plugjs/typescript": "^0.1.1",
124
122
  "@types/picomatch": "^2.3.0",
125
123
  "@types/yargs-parser": "^21.0.0",
126
- "chai": "^4.3.6",
124
+ "chai": "^4.3.7",
125
+ "chai-as-promised": "^7.1.1",
127
126
  "yargs-parser": "^21.1.1"
128
- }
127
+ },
128
+ "files": [
129
+ "*.md",
130
+ "dist/",
131
+ "extra/*.mjs",
132
+ "src/",
133
+ "types/"
134
+ ]
129
135
  }
package/src/asserts.ts CHANGED
@@ -31,7 +31,7 @@ export class BuildFailure extends Error {
31
31
  }
32
32
 
33
33
  static withMessage(message: string): BuildFailure {
34
- return new BuildFailure(message || undefined, [])
34
+ return new BuildFailure(message, [])
35
35
  }
36
36
 
37
37
  static withErrors(errors: any[]): BuildFailure {
@@ -66,3 +66,8 @@ export async function assertPromises<T>(promises: (T | Promise<T>)[]): Promise<T
66
66
  export function assert(assertion: any, message: string): asserts assertion {
67
67
  if (! assertion) throw BuildFailure.withMessage(message)
68
68
  }
69
+
70
+ /** Fail a build with a message */
71
+ export function fail(message: string): never {
72
+ throw BuildFailure.withMessage(message)
73
+ }