@plugjs/plug 0.0.12 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/{types → dist}/assert.d.ts +0 -0
  2. package/dist/async.cjs +20 -19
  3. package/dist/async.cjs.map +1 -1
  4. package/dist/async.d.ts +20 -0
  5. package/dist/async.mjs +18 -17
  6. package/dist/async.mjs.map +1 -1
  7. package/dist/build.cjs +144 -110
  8. package/dist/build.cjs.map +2 -2
  9. package/dist/build.d.ts +12 -0
  10. package/dist/build.mjs +146 -112
  11. package/dist/build.mjs.map +2 -2
  12. package/dist/files.cjs +2 -16
  13. package/dist/files.cjs.map +1 -1
  14. package/{types → dist}/files.d.ts +3 -10
  15. package/dist/files.mjs +3 -17
  16. package/dist/files.mjs.map +1 -1
  17. package/dist/fork.cjs +28 -40
  18. package/dist/fork.cjs.map +1 -1
  19. package/dist/fork.d.ts +36 -0
  20. package/dist/fork.mjs +29 -40
  21. package/dist/fork.mjs.map +1 -1
  22. package/dist/helpers.cjs +61 -63
  23. package/dist/helpers.cjs.map +2 -2
  24. package/dist/helpers.d.ts +21 -0
  25. package/dist/helpers.mjs +61 -64
  26. package/dist/helpers.mjs.map +2 -2
  27. package/dist/index.cjs +3 -2
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.ts +10 -0
  30. package/dist/index.mjs +3 -2
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/log/colors.cjs +3 -1
  33. package/dist/log/colors.cjs.map +1 -1
  34. package/{types → dist}/log/colors.d.ts +2 -2
  35. package/dist/log/colors.mjs +3 -1
  36. package/dist/log/colors.mjs.map +1 -1
  37. package/{types → dist}/log/emit.d.ts +1 -1
  38. package/{types → dist}/log/levels.d.ts +0 -0
  39. package/dist/log/logger.cjs +4 -0
  40. package/dist/log/logger.cjs.map +1 -1
  41. package/{types → dist}/log/logger.d.ts +4 -1
  42. package/dist/log/logger.mjs +4 -0
  43. package/dist/log/logger.mjs.map +1 -1
  44. package/{types → dist}/log/options.d.ts +1 -1
  45. package/dist/log/report.cjs +4 -13
  46. package/dist/log/report.cjs.map +1 -1
  47. package/{types → dist}/log/report.d.ts +36 -4
  48. package/dist/log/report.mjs +3 -12
  49. package/dist/log/report.mjs.map +1 -1
  50. package/{types → dist}/log/spinner.d.ts +0 -0
  51. package/dist/log.cjs +1 -1
  52. package/dist/log.cjs.map +1 -1
  53. package/{types → dist}/log.d.ts +6 -6
  54. package/dist/log.mjs +2 -2
  55. package/dist/log.mjs.map +1 -1
  56. package/{types → dist}/paths.d.ts +0 -0
  57. package/dist/pipe.cjs +41 -34
  58. package/dist/pipe.cjs.map +1 -1
  59. package/dist/pipe.d.ts +182 -0
  60. package/dist/pipe.mjs +38 -32
  61. package/dist/pipe.mjs.map +1 -1
  62. package/dist/plugs/copy.cjs +15 -25
  63. package/dist/plugs/copy.cjs.map +2 -2
  64. package/dist/plugs/copy.d.ts +28 -0
  65. package/dist/plugs/copy.mjs +15 -17
  66. package/dist/plugs/copy.mjs.map +2 -2
  67. package/{types → dist}/plugs/coverage/analysis.d.ts +2 -2
  68. package/dist/plugs/coverage/report.cjs +4 -2
  69. package/dist/plugs/coverage/report.cjs.map +1 -1
  70. package/{types → dist}/plugs/coverage/report.d.ts +3 -3
  71. package/dist/plugs/coverage/report.mjs +4 -2
  72. package/dist/plugs/coverage/report.mjs.map +1 -1
  73. package/dist/plugs/coverage.cjs +23 -27
  74. package/dist/plugs/coverage.cjs.map +1 -1
  75. package/dist/plugs/coverage.d.ts +49 -0
  76. package/dist/plugs/coverage.mjs +24 -20
  77. package/dist/plugs/coverage.mjs.map +1 -1
  78. package/dist/plugs/debug.cjs +8 -37
  79. package/dist/plugs/debug.cjs.map +1 -1
  80. package/dist/plugs/debug.d.ts +7 -0
  81. package/dist/plugs/debug.mjs +24 -20
  82. package/dist/plugs/debug.mjs.map +1 -1
  83. package/{types → dist}/plugs/esbuild/bundle-locals.d.ts +0 -0
  84. package/{types → dist}/plugs/esbuild/fix-extensions.d.ts +0 -0
  85. package/dist/plugs/esbuild/fix-extensions.mjs +1 -1
  86. package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
  87. package/dist/plugs/esbuild.cjs +14 -25
  88. package/dist/plugs/esbuild.cjs.map +1 -1
  89. package/dist/plugs/esbuild.d.ts +18 -0
  90. package/dist/plugs/esbuild.mjs +14 -17
  91. package/dist/plugs/esbuild.mjs.map +1 -1
  92. package/dist/plugs/eslint/runner.cjs +5 -6
  93. package/dist/plugs/eslint/runner.cjs.map +1 -1
  94. package/dist/plugs/eslint/runner.d.ts +8 -0
  95. package/dist/plugs/eslint/runner.mjs +6 -7
  96. package/dist/plugs/eslint/runner.mjs.map +1 -1
  97. package/dist/{task.cjs → plugs/eslint.cjs} +7 -24
  98. package/dist/plugs/eslint.cjs.map +6 -0
  99. package/dist/plugs/eslint.d.ts +34 -0
  100. package/dist/plugs/eslint.mjs +5 -0
  101. package/dist/plugs/eslint.mjs.map +6 -0
  102. package/dist/plugs/exec.cjs +20 -24
  103. package/dist/plugs/exec.cjs.map +1 -1
  104. package/dist/plugs/exec.d.ts +90 -0
  105. package/dist/plugs/exec.mjs +20 -23
  106. package/dist/plugs/exec.mjs.map +1 -1
  107. package/dist/plugs/filter.cjs +9 -19
  108. package/dist/plugs/filter.cjs.map +1 -1
  109. package/dist/plugs/filter.d.ts +29 -0
  110. package/dist/plugs/filter.mjs +10 -12
  111. package/dist/plugs/filter.mjs.map +1 -1
  112. package/dist/plugs/mocha/reporter.cjs +19 -6
  113. package/dist/plugs/mocha/reporter.cjs.map +1 -1
  114. package/{types → dist}/plugs/mocha/reporter.d.ts +0 -2
  115. package/dist/plugs/mocha/reporter.mjs +18 -4
  116. package/dist/plugs/mocha/reporter.mjs.map +1 -1
  117. package/dist/plugs/mocha/runner.cjs +4 -5
  118. package/dist/plugs/mocha/runner.cjs.map +1 -1
  119. package/dist/plugs/mocha/runner.d.ts +8 -0
  120. package/dist/plugs/mocha/runner.mjs +5 -6
  121. package/dist/plugs/mocha/runner.mjs.map +1 -1
  122. package/dist/plugs/mocha.cjs +22 -0
  123. package/dist/plugs/mocha.cjs.map +6 -0
  124. package/{types/plugs/mocha/runner.d.ts → dist/plugs/mocha.d.ts} +9 -8
  125. package/dist/plugs/mocha.mjs +5 -0
  126. package/dist/plugs/mocha.mjs.map +6 -0
  127. package/dist/plugs/rmf.cjs +4 -32
  128. package/dist/plugs/rmf.cjs.map +1 -1
  129. package/dist/plugs/rmf.d.ts +11 -0
  130. package/dist/plugs/rmf.mjs +25 -20
  131. package/dist/plugs/rmf.mjs.map +1 -1
  132. package/{types → dist}/plugs/tsc/compiler.d.ts +1 -1
  133. package/{types → dist}/plugs/tsc/options.d.ts +1 -1
  134. package/{types → dist}/plugs/tsc/report.d.ts +2 -2
  135. package/dist/plugs/tsc/runner.cjs +12 -11
  136. package/dist/plugs/tsc/runner.cjs.map +1 -1
  137. package/dist/plugs/tsc/runner.d.ts +8 -0
  138. package/dist/plugs/tsc/runner.mjs +12 -11
  139. package/dist/plugs/tsc/runner.mjs.map +1 -1
  140. package/dist/plugs/tsc.cjs +7 -0
  141. package/dist/plugs/tsc.cjs.map +6 -0
  142. package/dist/plugs/tsc.d.ts +36 -0
  143. package/dist/plugs/tsc.mjs +15 -0
  144. package/dist/plugs/tsc.mjs.map +6 -0
  145. package/dist/plugs.cjs +3 -5
  146. package/dist/plugs.cjs.map +1 -1
  147. package/dist/plugs.d.ts +10 -0
  148. package/dist/plugs.mjs +3 -5
  149. package/dist/plugs.mjs.map +1 -1
  150. package/dist/types.cjs +19 -0
  151. package/dist/types.cjs.map +6 -0
  152. package/dist/types.d.ts +72 -0
  153. package/dist/types.mjs +1 -0
  154. package/dist/types.mjs.map +6 -0
  155. package/{types → dist}/utils/asyncfs.d.ts +0 -0
  156. package/dist/utils/caller.cjs +8 -11
  157. package/dist/utils/caller.cjs.map +2 -2
  158. package/dist/utils/caller.d.ts +2 -0
  159. package/dist/utils/caller.mjs +8 -11
  160. package/dist/utils/caller.mjs.map +2 -2
  161. package/{types → dist}/utils/match.d.ts +0 -0
  162. package/dist/utils/options.cjs +4 -6
  163. package/dist/utils/options.cjs.map +1 -1
  164. package/dist/utils/options.d.ts +16 -0
  165. package/dist/utils/options.mjs +4 -6
  166. package/dist/utils/options.mjs.map +1 -1
  167. package/{types → dist}/utils/walk.d.ts +2 -2
  168. package/extra/cli.mjs +31 -20
  169. package/extra/ts-loader.mjs +6 -5
  170. package/package.json +10 -10
  171. package/src/async.ts +27 -19
  172. package/src/files.ts +6 -30
  173. package/src/fork.ts +35 -76
  174. package/src/helpers.ts +89 -101
  175. package/src/index.ts +10 -15
  176. package/src/log/colors.ts +4 -3
  177. package/src/log/emit.ts +4 -4
  178. package/src/log/logger.ts +12 -4
  179. package/src/log/options.ts +1 -1
  180. package/src/log/report.ts +10 -24
  181. package/src/log/spinner.ts +3 -3
  182. package/src/log.ts +9 -9
  183. package/src/paths.ts +1 -1
  184. package/src/pipe.ts +191 -178
  185. package/src/plugs/copy.ts +40 -31
  186. package/src/plugs/coverage/analysis.ts +4 -4
  187. package/src/plugs/coverage/report.ts +9 -6
  188. package/src/plugs/coverage.ts +68 -55
  189. package/src/plugs/debug.ts +22 -27
  190. package/src/plugs/esbuild/fix-extensions.ts +2 -2
  191. package/src/plugs/esbuild.ts +42 -46
  192. package/src/plugs/eslint/runner.ts +16 -31
  193. package/src/plugs/eslint.ts +42 -0
  194. package/src/plugs/exec.ts +93 -82
  195. package/src/plugs/filter.ts +42 -27
  196. package/src/plugs/mocha/reporter.ts +19 -5
  197. package/src/plugs/mocha/runner.ts +12 -38
  198. package/src/plugs/mocha.ts +41 -0
  199. package/src/plugs/rmf.ts +21 -25
  200. package/src/plugs/tsc/compiler.ts +1 -1
  201. package/src/plugs/tsc/options.ts +2 -2
  202. package/src/plugs/tsc/report.ts +2 -2
  203. package/src/plugs/tsc/runner.ts +24 -30
  204. package/src/plugs/tsc.ts +45 -0
  205. package/src/plugs.ts +10 -25
  206. package/src/types.ts +123 -0
  207. package/src/utils/caller.ts +11 -22
  208. package/src/utils/options.ts +49 -17
  209. package/src/utils/walk.ts +4 -4
  210. package/dist/run.cjs +0 -90
  211. package/dist/run.cjs.map +0 -6
  212. package/dist/run.mjs +0 -65
  213. package/dist/run.mjs.map +0 -6
  214. package/dist/task.cjs.map +0 -6
  215. package/dist/task.mjs +0 -14
  216. package/dist/task.mjs.map +0 -6
  217. package/src/run.ts +0 -159
  218. package/src/task.ts +0 -26
  219. package/types/async.d.ts +0 -20
  220. package/types/build.d.ts +0 -56
  221. package/types/fork.d.ts +0 -57
  222. package/types/helpers.d.ts +0 -43
  223. package/types/index.d.ts +0 -14
  224. package/types/pipe.d.ts +0 -152
  225. package/types/plugs/copy.d.ts +0 -27
  226. package/types/plugs/coverage.d.ts +0 -46
  227. package/types/plugs/debug.d.ts +0 -14
  228. package/types/plugs/esbuild.d.ts +0 -23
  229. package/types/plugs/eslint/runner.d.ts +0 -22
  230. package/types/plugs/exec.d.ts +0 -90
  231. package/types/plugs/filter.d.ts +0 -23
  232. package/types/plugs/rmf.d.ts +0 -15
  233. package/types/plugs/tsc/runner.d.ts +0 -13
  234. package/types/plugs.d.ts +0 -17
  235. package/types/run.d.ts +0 -89
  236. package/types/task.d.ts +0 -15
  237. package/types/utils/caller.d.ts +0 -7
  238. package/types/utils/options.d.ts +0 -15
package/dist/fork.cjs.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/fork.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["message", "result"]
6
6
  }
package/dist/fork.d.ts ADDED
@@ -0,0 +1,36 @@
1
+ import { Files } from './files';
2
+ import { LogOptions } from './log';
3
+ import { AbsolutePath } from './paths';
4
+ import { Plug, PlugResult, Context } from './pipe';
5
+ /** Fork data, from parent to child process */
6
+ export interface ForkData {
7
+ /** Script name for the Plug to execute */
8
+ scriptFile: AbsolutePath;
9
+ /** Plug constructor arguments */
10
+ constructorArgs: any[];
11
+ /** Task name (for logs) */
12
+ taskName: string;
13
+ /** Build file name */
14
+ buildFile: AbsolutePath;
15
+ /** Files directory */
16
+ filesDir: AbsolutePath;
17
+ /** All files to pipe */
18
+ filesList: AbsolutePath[];
19
+ /** Options for our logger in the child process */
20
+ logOpts: Partial<LogOptions>;
21
+ }
22
+ /** Fork result, from child to parent process */
23
+ export interface ForkResult {
24
+ /** If this is `true` we _might_ have `filesDir` and `filesList` */
25
+ failed: boolean;
26
+ /** Files directory of the result */
27
+ filesDir?: AbsolutePath | undefined;
28
+ /** All files returned by the plug */
29
+ filesList?: AbsolutePath[] | undefined;
30
+ }
31
+ export declare abstract class ForkingPlug implements Plug<PlugResult> {
32
+ private readonly _scriptFile;
33
+ private readonly _arguments;
34
+ constructor(_scriptFile: AbsolutePath, _arguments: any[]);
35
+ pipe(files: Files, context: Context): Promise<PlugResult>;
36
+ }
package/dist/fork.mjs CHANGED
@@ -2,44 +2,35 @@
2
2
  import { fork } from "node:child_process";
3
3
  import { assert, failure } from "./assert.mjs";
4
4
  import { runAsync } from "./async.mjs";
5
+ import { Files } from "./files.mjs";
5
6
  import { $gry, $p, logOptions } from "./log.mjs";
6
- import { resolveFile, requireFilename } from "./paths.mjs";
7
- import { install } from "./pipe.mjs";
8
- import { RunImpl } from "./run.mjs";
9
- function installForking(plugName, scriptFile) {
10
- const ctor = class extends ForkingPlug {
11
- constructor(...args) {
12
- super(scriptFile, args);
13
- }
14
- };
15
- install(plugName, ctor);
16
- }
7
+ import { requireFilename, resolveFile } from "./paths.mjs";
8
+ import { Context } from "./pipe.mjs";
17
9
  var ForkingPlug = class {
18
10
  constructor(_scriptFile, _arguments) {
19
11
  this._scriptFile = _scriptFile;
20
12
  this._arguments = _arguments;
21
13
  }
22
- pipe(files, run) {
14
+ pipe(files, context) {
23
15
  const message = {
24
16
  scriptFile: this._scriptFile,
25
17
  constructorArgs: this._arguments,
26
- taskName: run.taskName,
27
- buildFile: run.buildFile,
28
- buildDir: run.buildDir,
18
+ taskName: context.taskName,
19
+ buildFile: context.buildFile,
29
20
  filesDir: files.directory,
30
21
  filesList: [...files.absolutePaths()],
31
- logOpts: logOptions.fork(run.taskName)
22
+ logOpts: logOptions.fork(context.taskName)
32
23
  };
33
24
  const script = requireFilename(import.meta.url);
34
- run.log.debug("About to fork plug from", $p(script));
25
+ context.log.debug("About to fork plug from", $p(script));
35
26
  const env = { ...process.env };
36
27
  for (let i = this._arguments.length - 1; i >= 0; i--) {
37
28
  if (this._arguments[i] == null)
38
29
  continue;
39
30
  if (typeof this._arguments[i] === "object") {
40
31
  if (typeof this._arguments[i].coverageDir === "string") {
41
- const dir = env.NODE_V8_COVERAGE = run.resolve(this._arguments[i].coverageDir);
42
- run.log.debug("Forked process will produce coverage in", $p(dir));
32
+ const dir = env.NODE_V8_COVERAGE = context.resolve(this._arguments[i].coverageDir);
33
+ context.log.debug("Forked process will produce coverage in", $p(dir));
43
34
  }
44
35
  }
45
36
  }
@@ -47,46 +38,46 @@ var ForkingPlug = class {
47
38
  stdio: ["ignore", "inherit", "inherit", "ipc"],
48
39
  env
49
40
  });
50
- run.log.info("Running", $p(script), $gry(`(pid=${child.pid})`));
41
+ context.log.info("Running", $p(script), $gry(`(pid=${child.pid})`));
51
42
  let done = false;
52
43
  return new Promise((resolve, reject) => {
53
44
  let result = void 0;
54
45
  child.on("error", (error) => {
55
- run.log.error("Child process error", error);
46
+ context.log.error("Child process error", error);
56
47
  return done || reject(failure());
57
48
  });
58
49
  child.on("message", (message2) => {
59
- run.log.debug("Message from child process", message2);
50
+ context.log.debug("Message from child process", message2);
60
51
  result = message2;
61
52
  });
62
53
  child.on("exit", (code, signal) => {
63
54
  if (signal) {
64
- run.log.error(`Child process exited with signal ${signal}`, $gry(`(pid=${child.pid})`));
55
+ context.log.error(`Child process exited with signal ${signal}`, $gry(`(pid=${child.pid})`));
65
56
  return done || reject(failure());
66
57
  } else if (code !== 0) {
67
- run.log.error(`Child process exited with code ${code}`, $gry(`(pid=${child.pid})`));
58
+ context.log.error(`Child process exited with code ${code}`, $gry(`(pid=${child.pid})`));
68
59
  return done || reject(failure());
69
60
  } else if (!result) {
70
- run.log.error("Child process exited with no result", $gry(`(pid=${child.pid})`));
61
+ context.log.error("Child process exited with no result", $gry(`(pid=${child.pid})`));
71
62
  return done || reject(failure());
72
63
  } else if (result.failed) {
73
64
  return done || reject(failure());
74
65
  }
75
- return done || resolve(message.filesDir && message.filesList ? run.files(message.filesDir).unchecked(...message.filesList).build() : void 0);
66
+ return done || resolve(message.filesDir && message.filesList ? Files.builder(message.filesDir).add(...message.filesList).build() : void 0);
76
67
  });
77
68
  try {
78
69
  const result2 = child.send(message, (error) => {
79
70
  if (error) {
80
- run.log.error("Error sending message to child process (callback failure)", error);
71
+ context.log.error("Error sending message to child process (callback failure)", error);
81
72
  reject(failure());
82
73
  }
83
74
  });
84
75
  if (!result2) {
85
- run.log.error("Error sending message to child process (send returned false)");
76
+ context.log.error("Error sending message to child process (send returned false)");
86
77
  reject(failure());
87
78
  }
88
79
  } catch (error) {
89
- run.log.error("Error sending message to child process (exception caught)", error);
80
+ context.log.error("Error sending message to child process (exception caught)", error);
90
81
  reject(failure());
91
82
  }
92
83
  }).finally(() => done = true);
@@ -104,15 +95,14 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
104
95
  constructorArgs,
105
96
  taskName,
106
97
  buildFile,
107
- buildDir,
108
98
  filesDir,
109
99
  filesList,
110
100
  logOpts
111
101
  } = message;
112
102
  Object.assign(logOptions, logOpts);
113
- const run = new RunImpl({ buildDir, buildFile, taskName });
114
- run.log.debug("Message from parent process", message);
115
- const result = runAsync(run, taskName, async () => {
103
+ const context = new Context(buildFile, taskName);
104
+ context.log.debug("Message from parent process", message);
105
+ const result = runAsync(context, taskName, async () => {
116
106
  assert(resolveFile(scriptFile), `Script file ${$p(scriptFile)} not found`);
117
107
  const script = await import(scriptFile);
118
108
  let Ctor = script;
@@ -123,8 +113,8 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
123
113
  `Script ${$p(scriptFile)} does not export a default constructor`
124
114
  );
125
115
  const plug = new Ctor(...constructorArgs);
126
- const files = run.files(filesDir).unchecked(...filesList).build();
127
- return plug.pipe(files, run);
116
+ const files = Files.builder(filesDir).add(...filesList).build();
117
+ return plug.pipe(files, context);
128
118
  });
129
119
  const promise = result.then((result2) => {
130
120
  const message2 = result2 ? { failed: false, filesDir: result2.directory, filesList: [...result2.absolutePaths()] } : { failed: false };
@@ -132,22 +122,21 @@ if (process.argv[1] === requireFilename(import.meta.url) && process.send) {
132
122
  process.send(message2, (err) => err ? reject(err) : resolve());
133
123
  });
134
124
  }, (error) => {
135
- run.log.error(error);
125
+ context.log.error(error);
136
126
  return new Promise((resolve, reject) => {
137
127
  process.send({ failed: true }, (err) => err ? reject(err) : resolve());
138
128
  });
139
129
  });
140
130
  promise.then(() => {
141
- run.log.debug("Forked plug exiting");
131
+ context.log.debug("Forked plug exiting");
142
132
  process.exit(0);
143
133
  }, (error) => {
144
- run.log.error("Error sending message back to parent process", error);
134
+ context.log.error("Error sending message back to parent process", error);
145
135
  process.exit(1);
146
136
  });
147
137
  });
148
138
  }
149
139
  export {
150
- ForkingPlug,
151
- installForking
140
+ ForkingPlug
152
141
  };
153
142
  //# sourceMappingURL=fork.mjs.map
package/dist/fork.mjs.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/fork.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["message", "result"]
6
6
  }
package/dist/helpers.cjs CHANGED
@@ -20,32 +20,78 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // helpers.ts
21
21
  var helpers_exports = {};
22
22
  __export(helpers_exports, {
23
- files: () => files,
24
23
  find: () => find,
25
24
  isDirectory: () => isDirectory,
26
25
  isFile: () => isFile,
27
26
  merge: () => merge,
28
- pipe: () => pipe,
29
- resolve: () => resolve,
30
- rmrf: () => rmrf,
31
- setLogLevel: () => setLogLevel
27
+ rmrf: () => rmrf
32
28
  });
33
29
  module.exports = __toCommonJS(helpers_exports);
34
- var import_paths = require("./paths.cjs");
35
30
  var import_assert = require("./assert.cjs");
36
31
  var import_async = require("./async.cjs");
32
+ var import_files = require("./files.cjs");
37
33
  var import_log = require("./log.cjs");
34
+ var import_paths = require("./paths.cjs");
35
+ var import_pipe = require("./pipe.cjs");
38
36
  var import_asyncfs = require("./utils/asyncfs.cjs");
37
+ var import_options = require("./utils/options.cjs");
38
+ var import_walk = require("./utils/walk.cjs");
39
+ var PipeImpl = class extends import_pipe.Pipe {
40
+ constructor(_start) {
41
+ super();
42
+ this._start = _start;
43
+ }
44
+ plug(arg) {
45
+ const plug = typeof arg === "function" ? { pipe: arg } : arg;
46
+ const parent = this;
47
+ return new PipeImpl(async (context) => {
48
+ const files = await parent._start(context);
49
+ const files2 = await plug.pipe(files, context);
50
+ (0, import_assert.assert)(files2, "Unable to extend pipe (part tres)");
51
+ return files2;
52
+ });
53
+ }
54
+ async run() {
55
+ return this._start((0, import_async.requireContext)());
56
+ }
57
+ };
58
+ function find(...args) {
59
+ const { params: globs, options } = (0, import_options.parseOptions)(args, {});
60
+ return new PipeImpl(async (context) => {
61
+ const directory = options.directory ? context.resolve(options.directory) : (0, import_paths.getCurrentWorkingDirectory)();
62
+ const builder = import_files.Files.builder(directory);
63
+ for await (const file of (0, import_walk.walk)(directory, globs, options)) {
64
+ builder.add(file);
65
+ }
66
+ return builder.build();
67
+ });
68
+ }
69
+ function merge(...pipes) {
70
+ return new PipeImpl(async () => {
71
+ if (pipes.length === 0)
72
+ return import_files.Files.builder((0, import_paths.getCurrentWorkingDirectory)()).build();
73
+ const results = [];
74
+ for (const pipe of pipes) {
75
+ const result = await pipe.run();
76
+ (0, import_assert.assert)(result, "Pipe did not return a Files result");
77
+ results.push(result);
78
+ }
79
+ const [first, ...others] = results;
80
+ const firstDir = first.directory;
81
+ const otherDirs = others.map((f) => f.directory);
82
+ const directory = (0, import_paths.commonPath)(firstDir, ...otherDirs);
83
+ return import_files.Files.builder(directory).merge(first, ...others).build();
84
+ });
85
+ }
39
86
  async function rmrf(directory) {
40
- const run = (0, import_async.currentRun)();
41
- (0, import_assert.assert)(run, "Unable to find files outside a running task");
42
- const dir = run.resolve(directory);
87
+ const context = (0, import_async.requireContext)();
88
+ const dir = context.resolve(directory);
43
89
  (0, import_assert.assert)(
44
90
  dir !== (0, import_paths.getCurrentWorkingDirectory)(),
45
91
  `Cowardly refusing to wipe current working directory ${(0, import_log.$p)(dir)}`
46
92
  );
47
93
  (0, import_assert.assert)(
48
- dir !== run.buildDir,
94
+ dir !== context.resolve("@"),
49
95
  `Cowardly refusing to wipe build file directory ${(0, import_log.$p)(dir)}`
50
96
  );
51
97
  if (!(0, import_paths.resolveDirectory)(dir)) {
@@ -55,68 +101,20 @@ async function rmrf(directory) {
55
101
  import_log.log.notice("Removing directory", (0, import_log.$p)(dir), "recursively");
56
102
  await (0, import_asyncfs.rm)(dir, { recursive: true });
57
103
  }
58
- function setLogLevel(level) {
59
- const run = (0, import_async.currentRun)();
60
- (0, import_assert.assert)(run, "Unable to find files outside a running task");
61
- return run.setLogLevel(level);
62
- }
63
- function resolve(...paths) {
64
- const run = (0, import_async.currentRun)();
65
- (0, import_assert.assert)(run, "Unable to find files outside a running task");
66
- return run.resolve(...paths);
67
- }
68
- function files(first, ...paths) {
69
- const run = (0, import_async.currentRun)();
70
- (0, import_assert.assert)(run, "Unable to create files builder outside a running task");
71
- if (typeof first === "string") {
72
- return run.files(first, ...paths);
73
- } else if (first) {
74
- return run.files(first);
75
- } else {
76
- return run.files();
77
- }
78
- }
79
- function merge(args) {
80
- const run = (0, import_async.currentRun)();
81
- (0, import_assert.assert)(run, "Unable to create files builder outside a running task");
82
- const promise = Promise.resolve().then(async () => {
83
- if (args.length === 0)
84
- return run.pipe(run.files().build());
85
- const instances = await Promise.all(args);
86
- const [first, ...others] = instances;
87
- const firstDir = first.directory;
88
- const otherDirs = others.map((f) => f.directory);
89
- const directory = (0, import_paths.commonPath)(firstDir, ...otherDirs);
90
- return run.files(directory).merge(first, ...others).build();
91
- });
92
- return run.pipe(promise);
93
- }
94
- function find(glob, ...args) {
95
- const run = (0, import_async.currentRun)();
96
- (0, import_assert.assert)(run, "Unable to find files outside a running task");
97
- return run.find(glob, ...args);
98
- }
99
- function pipe(files2) {
100
- const run = (0, import_async.currentRun)();
101
- (0, import_assert.assert)(run, "Unable to create pipes outside a running task");
102
- return run.pipe(files2);
103
- }
104
104
  function isFile(...paths) {
105
- return (0, import_paths.resolveFile)(resolve(...paths));
105
+ const path = (0, import_async.requireContext)().resolve(...paths);
106
+ return (0, import_paths.resolveFile)(path);
106
107
  }
107
108
  function isDirectory(...paths) {
108
- return (0, import_paths.resolveDirectory)(resolve(...paths));
109
+ const path = (0, import_async.requireContext)().resolve(...paths);
110
+ return (0, import_paths.resolveDirectory)(path);
109
111
  }
110
112
  // Annotate the CommonJS export names for ESM import in node:
111
113
  0 && (module.exports = {
112
- files,
113
114
  find,
114
115
  isDirectory,
115
116
  isFile,
116
117
  merge,
117
- pipe,
118
- resolve,
119
- rmrf,
120
- setLogLevel
118
+ rmrf
121
119
  });
122
120
  //# sourceMappingURL=helpers.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/helpers.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAMO;AAEP,oBAAuB;AACvB,mBAA2B;AAE3B,iBAAwC;AAGxC,qBAAmB;AAMnB,eAAsB,KAAK,WAAkC;AAC3D,QAAM,UAAM,yBAAW;AACvB,4BAAO,KAAK,6CAA6C;AACzD,QAAM,MAAM,IAAI,QAAQ,SAAS;AAEjC;AAAA,IAAO,YAAQ,yCAA2B;AAAA,IACtC,2DAAuD,eAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,IAAI;AAAA,IACf,sDAAkD,eAAG,GAAG;AAAA,EAAG;AAE/D,MAAI,KAAE,+BAAiB,GAAG,GAAG;AAC3B,mBAAI,KAAK,iBAAa,eAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,iBAAI,OAAO,0BAAsB,eAAG,GAAG,GAAG,aAAa;AACvD,YAAM,mBAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAOO,SAAS,YAAY,OAA6B;AACvD,QAAM,UAAM,yBAAW;AACvB,4BAAO,KAAK,6CAA6C;AACzD,SAAO,IAAI,YAAY,KAAK;AAC9B;AASO,SAAS,WAAW,OAA+B;AACxD,QAAM,UAAM,yBAAW;AACvB,4BAAO,KAAK,6CAA6C;AACzD,SAAO,IAAI,QAAQ,GAAG,KAAK;AAC7B;AAQO,SAAS,MAAM,UAAsC,OAA+B;AACzF,QAAM,UAAM,yBAAW;AACvB,4BAAO,KAAK,uDAAuD;AACnE,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,IAAI,MAAM,OAAO,GAAG,KAAK;AAAA,EAClC,WAAW,OAAO;AAChB,WAAO,IAAI,MAAM,KAAK;AAAA,EACxB,OAAO;AACL,WAAO,IAAI,MAAM;AAAA,EACnB;AACF;AAKO,SAAS,MAAM,MAAyD;AAC7E,QAAM,UAAM,yBAAW;AACvB,4BAAO,KAAK,uDAAuD;AAEnE,QAAM,UAAU,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAEjD,QAAI,KAAK,WAAW;AAAG,aAAO,IAAI,KAAK,IAAI,MAAM,EAAE,MAAM,CAAC;AAG1D,UAAM,YAAY,MAAM,QAAQ,IAAI,IAAI;AACxC,UAAM,CAAE,UAAU,MAAO,IAAI;AAE7B,UAAM,WAAW,MAAM;AACvB,UAAM,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS;AAE/C,UAAM,gBAAY,yBAAW,UAAU,GAAG,SAAS;AAEnD,WAAO,IAAI,MAAM,SAAS,EAAE,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM;AAAA,EAC5D,CAAC;AAED,SAAO,IAAI,KAAK,OAAO;AACzB;AAKO,SAAS,KAAK,SAAiB,MAAwD;AAC5F,QAAM,UAAM,yBAAW;AACvB,4BAAO,KAAK,6CAA6C;AACzD,SAAO,IAAI,KAAK,MAAM,GAAG,IAAI;AAC/B;AAGO,SAAS,KAAKA,QAAsD;AACzE,QAAM,UAAM,yBAAW;AACvB,4BAAO,KAAK,+CAA+C;AAC3D,SAAO,IAAI,KAAKA,MAAK;AACvB;AAGO,SAAS,UAAU,OAA2C;AACnE,aAAO,0BAAY,QAAQ,GAAG,KAAK,CAAC;AACtC;AAGO,SAAS,eAAe,OAA2C;AACxE,aAAO,+BAAiB,QAAQ,GAAG,KAAK,CAAC;AAC3C;",
5
- "names": ["files"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AACvB,mBAA+B;AAC/B,mBAAsB;AACtB,iBAAwB;AACxB,mBAAoG;AACpG,kBAA8D;AAC9D,qBAAmB;AACnB,qBAA2C;AAC3C,kBAAkC;AAElC,IAAM,WAAN,cAAuB,iBAAqB;AAAA,EAC1C,YAA6B,QAA8C;AACzE,UAAM;AADqB;AAAA,EAE7B;AAAA,EAMA,KAAK,KAA6E;AAChF,UAAM,OAAO,OAAO,QAAQ,aAAa,EAAE,MAAM,IAAI,IAAI;AAEzD,UAAM,SAAS;AACf,WAAO,IAAI,SAAS,OAAO,YAAqC;AAC9D,YAAM,QAAQ,MAAM,OAAO,OAAO,OAAO;AACzC,YAAM,SAAS,MAAM,KAAK,KAAK,OAAO,OAAO;AAC7C,gCAAO,QAAQ,mCAAmC;AAClD,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,MAAsB;AAC1B,WAAO,KAAK,WAAO,6BAAe,CAAC;AAAA,EACrC;AACF;AAcO,SAAS,QAAQ,MAAuC;AAC7D,QAAM,EAAE,QAAQ,OAAO,QAAQ,QAAI,6BAAa,MAAM,CAAC,CAAC;AAExD,SAAO,IAAI,SAAS,OAAO,YAAqC;AAC9D,UAAM,YAAY,QAAQ,YACxB,QAAQ,QAAQ,QAAQ,SAAS,QACjC,yCAA2B;AAE7B,UAAM,UAAU,mBAAM,QAAQ,SAAS;AACvC,qBAAiB,YAAQ,kBAAK,WAAW,OAAO,OAAO,GAAG;AACxD,cAAQ,IAAI,IAAI;AAAA,IAClB;AAEA,WAAO,QAAQ,MAAM;AAAA,EACvB,CAAC;AACH;AAEO,SAAS,SAAS,OAAqB;AAC5C,SAAO,IAAI,SAAS,YAA4B;AAC9C,QAAI,MAAM,WAAW;AAAG,aAAO,mBAAM,YAAQ,yCAA2B,CAAC,EAAE,MAAM;AAEjF,UAAM,UAAmB,CAAC;AAE1B,eAAW,QAAQ,OAAO;AACxB,YAAM,SAAS,MAAM,KAAK,IAAI;AAC9B,gCAAO,QAAQ,oCAAoC;AACnD,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEA,UAAM,CAAE,UAAU,MAAO,IAAI;AAE7B,UAAM,WAAW,MAAM;AACvB,UAAM,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS;AAE/C,UAAM,gBAAY,yBAAW,UAAU,GAAG,SAAS;AAEnD,WAAO,mBAAM,QAAQ,SAAS,EAAE,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM;AAAA,EAChE,CAAC;AACH;AAKA,eAAsB,KAAK,WAAkC;AAC3D,QAAM,cAAU,6BAAe;AAC/B,QAAM,MAAM,QAAQ,QAAQ,SAAS;AAErC;AAAA,IAAO,YAAQ,yCAA2B;AAAA,IACtC,2DAAuD,eAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,QAAQ,QAAQ,GAAG;AAAA,IAC9B,sDAAkD,eAAG,GAAG;AAAA,EAAG;AAE/D,MAAI,KAAE,+BAAiB,GAAG,GAAG;AAC3B,mBAAI,KAAK,iBAAa,eAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,iBAAI,OAAO,0BAAsB,eAAG,GAAG,GAAG,aAAa;AACvD,YAAM,mBAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAGO,SAAS,UAAU,OAA0D;AAClF,QAAM,WAAO,6BAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,aAAO,0BAAY,IAAI;AACzB;AAGO,SAAS,eAAe,OAA0D;AACvF,QAAM,WAAO,6BAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,aAAO,+BAAiB,IAAI;AAC9B;",
5
+ "names": []
6
6
  }
@@ -0,0 +1,21 @@
1
+ import { AbsolutePath } from './paths';
2
+ import { Pipe } from './pipe';
3
+ import { WalkOptions } from './utils/walk';
4
+ /** The {@link FindOptions} interface defines the options for finding files. */
5
+ export interface FindOptions extends WalkOptions {
6
+ /** The directory where to start looking for files. */
7
+ directory?: string;
8
+ }
9
+ export declare function find(glob: string): Pipe;
10
+ export declare function find(glob: string, ...globs: string[]): Pipe;
11
+ export declare function find(glob: string, options: FindOptions): Pipe;
12
+ export declare function find(glob: string, ...extra: [...globs: string[], options: FindOptions]): Pipe;
13
+ export declare function merge(...pipes: Pipe[]): Pipe;
14
+ /**
15
+ * Recursively remove the specified directory _**(use with care)**_.
16
+ */
17
+ export declare function rmrf(directory: string): Promise<void>;
18
+ /** Return an absolute path of the file if it exist on disk */
19
+ export declare function isFile(...paths: [string, ...string[]]): AbsolutePath | undefined;
20
+ /** Return an absolute path of the file if it exist on disk */
21
+ export declare function isDirectory(...paths: [string, ...string[]]): AbsolutePath | undefined;
package/dist/helpers.mjs CHANGED
@@ -1,24 +1,69 @@
1
1
  // helpers.ts
2
- import {
3
- commonPath,
4
- getCurrentWorkingDirectory,
5
- resolveDirectory,
6
- resolveFile
7
- } from "./paths.mjs";
8
2
  import { assert } from "./assert.mjs";
9
- import { currentRun } from "./async.mjs";
3
+ import { requireContext } from "./async.mjs";
4
+ import { Files } from "./files.mjs";
10
5
  import { $p, log } from "./log.mjs";
6
+ import { commonPath, getCurrentWorkingDirectory, resolveDirectory, resolveFile } from "./paths.mjs";
7
+ import { Pipe } from "./pipe.mjs";
11
8
  import { rm } from "./utils/asyncfs.mjs";
9
+ import { parseOptions } from "./utils/options.mjs";
10
+ import { walk } from "./utils/walk.mjs";
11
+ var PipeImpl = class extends Pipe {
12
+ constructor(_start) {
13
+ super();
14
+ this._start = _start;
15
+ }
16
+ plug(arg) {
17
+ const plug = typeof arg === "function" ? { pipe: arg } : arg;
18
+ const parent = this;
19
+ return new PipeImpl(async (context) => {
20
+ const files = await parent._start(context);
21
+ const files2 = await plug.pipe(files, context);
22
+ assert(files2, "Unable to extend pipe (part tres)");
23
+ return files2;
24
+ });
25
+ }
26
+ async run() {
27
+ return this._start(requireContext());
28
+ }
29
+ };
30
+ function find(...args) {
31
+ const { params: globs, options } = parseOptions(args, {});
32
+ return new PipeImpl(async (context) => {
33
+ const directory = options.directory ? context.resolve(options.directory) : getCurrentWorkingDirectory();
34
+ const builder = Files.builder(directory);
35
+ for await (const file of walk(directory, globs, options)) {
36
+ builder.add(file);
37
+ }
38
+ return builder.build();
39
+ });
40
+ }
41
+ function merge(...pipes) {
42
+ return new PipeImpl(async () => {
43
+ if (pipes.length === 0)
44
+ return Files.builder(getCurrentWorkingDirectory()).build();
45
+ const results = [];
46
+ for (const pipe of pipes) {
47
+ const result = await pipe.run();
48
+ assert(result, "Pipe did not return a Files result");
49
+ results.push(result);
50
+ }
51
+ const [first, ...others] = results;
52
+ const firstDir = first.directory;
53
+ const otherDirs = others.map((f) => f.directory);
54
+ const directory = commonPath(firstDir, ...otherDirs);
55
+ return Files.builder(directory).merge(first, ...others).build();
56
+ });
57
+ }
12
58
  async function rmrf(directory) {
13
- const run = currentRun();
14
- assert(run, "Unable to find files outside a running task");
15
- const dir = run.resolve(directory);
59
+ const context = requireContext();
60
+ const dir = context.resolve(directory);
16
61
  assert(
17
62
  dir !== getCurrentWorkingDirectory(),
18
63
  `Cowardly refusing to wipe current working directory ${$p(dir)}`
19
64
  );
20
65
  assert(
21
- dir !== run.buildDir,
66
+ dir !== context.resolve("@"),
22
67
  `Cowardly refusing to wipe build file directory ${$p(dir)}`
23
68
  );
24
69
  if (!resolveDirectory(dir)) {
@@ -28,67 +73,19 @@ async function rmrf(directory) {
28
73
  log.notice("Removing directory", $p(dir), "recursively");
29
74
  await rm(dir, { recursive: true });
30
75
  }
31
- function setLogLevel(level) {
32
- const run = currentRun();
33
- assert(run, "Unable to find files outside a running task");
34
- return run.setLogLevel(level);
35
- }
36
- function resolve(...paths) {
37
- const run = currentRun();
38
- assert(run, "Unable to find files outside a running task");
39
- return run.resolve(...paths);
40
- }
41
- function files(first, ...paths) {
42
- const run = currentRun();
43
- assert(run, "Unable to create files builder outside a running task");
44
- if (typeof first === "string") {
45
- return run.files(first, ...paths);
46
- } else if (first) {
47
- return run.files(first);
48
- } else {
49
- return run.files();
50
- }
51
- }
52
- function merge(args) {
53
- const run = currentRun();
54
- assert(run, "Unable to create files builder outside a running task");
55
- const promise = Promise.resolve().then(async () => {
56
- if (args.length === 0)
57
- return run.pipe(run.files().build());
58
- const instances = await Promise.all(args);
59
- const [first, ...others] = instances;
60
- const firstDir = first.directory;
61
- const otherDirs = others.map((f) => f.directory);
62
- const directory = commonPath(firstDir, ...otherDirs);
63
- return run.files(directory).merge(first, ...others).build();
64
- });
65
- return run.pipe(promise);
66
- }
67
- function find(glob, ...args) {
68
- const run = currentRun();
69
- assert(run, "Unable to find files outside a running task");
70
- return run.find(glob, ...args);
71
- }
72
- function pipe(files2) {
73
- const run = currentRun();
74
- assert(run, "Unable to create pipes outside a running task");
75
- return run.pipe(files2);
76
- }
77
76
  function isFile(...paths) {
78
- return resolveFile(resolve(...paths));
77
+ const path = requireContext().resolve(...paths);
78
+ return resolveFile(path);
79
79
  }
80
80
  function isDirectory(...paths) {
81
- return resolveDirectory(resolve(...paths));
81
+ const path = requireContext().resolve(...paths);
82
+ return resolveDirectory(path);
82
83
  }
83
84
  export {
84
- files,
85
85
  find,
86
86
  isDirectory,
87
87
  isFile,
88
88
  merge,
89
- pipe,
90
- resolve,
91
- rmrf,
92
- setLogLevel
89
+ rmrf
93
90
  };
94
91
  //# sourceMappingURL=helpers.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/helpers.ts"],
4
- "mappings": ";AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAE3B,SAAS,IAAI,WAA2B;AAGxC,SAAS,UAAU;AAMnB,eAAsB,KAAK,WAAkC;AAC3D,QAAM,MAAM,WAAW;AACvB,SAAO,KAAK,6CAA6C;AACzD,QAAM,MAAM,IAAI,QAAQ,SAAS;AAEjC;AAAA,IAAO,QAAQ,2BAA2B;AAAA,IACtC,uDAAuD,GAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,IAAI;AAAA,IACf,kDAAkD,GAAG,GAAG;AAAA,EAAG;AAE/D,MAAI,CAAE,iBAAiB,GAAG,GAAG;AAC3B,QAAI,KAAK,aAAa,GAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,MAAI,OAAO,sBAAsB,GAAG,GAAG,GAAG,aAAa;AACvD,QAAM,GAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAOO,SAAS,YAAY,OAA6B;AACvD,QAAM,MAAM,WAAW;AACvB,SAAO,KAAK,6CAA6C;AACzD,SAAO,IAAI,YAAY,KAAK;AAC9B;AASO,SAAS,WAAW,OAA+B;AACxD,QAAM,MAAM,WAAW;AACvB,SAAO,KAAK,6CAA6C;AACzD,SAAO,IAAI,QAAQ,GAAG,KAAK;AAC7B;AAQO,SAAS,MAAM,UAAsC,OAA+B;AACzF,QAAM,MAAM,WAAW;AACvB,SAAO,KAAK,uDAAuD;AACnE,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,IAAI,MAAM,OAAO,GAAG,KAAK;AAAA,EAClC,WAAW,OAAO;AAChB,WAAO,IAAI,MAAM,KAAK;AAAA,EACxB,OAAO;AACL,WAAO,IAAI,MAAM;AAAA,EACnB;AACF;AAKO,SAAS,MAAM,MAAyD;AAC7E,QAAM,MAAM,WAAW;AACvB,SAAO,KAAK,uDAAuD;AAEnE,QAAM,UAAU,QAAQ,QAAQ,EAAE,KAAK,YAAY;AAEjD,QAAI,KAAK,WAAW;AAAG,aAAO,IAAI,KAAK,IAAI,MAAM,EAAE,MAAM,CAAC;AAG1D,UAAM,YAAY,MAAM,QAAQ,IAAI,IAAI;AACxC,UAAM,CAAE,UAAU,MAAO,IAAI;AAE7B,UAAM,WAAW,MAAM;AACvB,UAAM,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS;AAE/C,UAAM,YAAY,WAAW,UAAU,GAAG,SAAS;AAEnD,WAAO,IAAI,MAAM,SAAS,EAAE,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM;AAAA,EAC5D,CAAC;AAED,SAAO,IAAI,KAAK,OAAO;AACzB;AAKO,SAAS,KAAK,SAAiB,MAAwD;AAC5F,QAAM,MAAM,WAAW;AACvB,SAAO,KAAK,6CAA6C;AACzD,SAAO,IAAI,KAAK,MAAM,GAAG,IAAI;AAC/B;AAGO,SAAS,KAAKA,QAAsD;AACzE,QAAM,MAAM,WAAW;AACvB,SAAO,KAAK,+CAA+C;AAC3D,SAAO,IAAI,KAAKA,MAAK;AACvB;AAGO,SAAS,UAAU,OAA2C;AACnE,SAAO,YAAY,QAAQ,GAAG,KAAK,CAAC;AACtC;AAGO,SAAS,eAAe,OAA2C;AACxE,SAAO,iBAAiB,QAAQ,GAAG,KAAK,CAAC;AAC3C;",
5
- "names": ["files"]
4
+ "mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,IAAI,WAAW;AACxB,SAAuB,YAAY,4BAA4B,kBAAkB,mBAAmB;AACpG,SAAkB,YAA4C;AAC9D,SAAS,UAAU;AACnB,SAAuB,oBAAoB;AAC3C,SAAS,YAAyB;AAElC,IAAM,WAAN,cAAuB,KAAqB;AAAA,EAC1C,YAA6B,QAA8C;AACzE,UAAM;AADqB;AAAA,EAE7B;AAAA,EAMA,KAAK,KAA6E;AAChF,UAAM,OAAO,OAAO,QAAQ,aAAa,EAAE,MAAM,IAAI,IAAI;AAEzD,UAAM,SAAS;AACf,WAAO,IAAI,SAAS,OAAO,YAAqC;AAC9D,YAAM,QAAQ,MAAM,OAAO,OAAO,OAAO;AACzC,YAAM,SAAS,MAAM,KAAK,KAAK,OAAO,OAAO;AAC7C,aAAO,QAAQ,mCAAmC;AAClD,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,MAAsB;AAC1B,WAAO,KAAK,OAAO,eAAe,CAAC;AAAA,EACrC;AACF;AAcO,SAAS,QAAQ,MAAuC;AAC7D,QAAM,EAAE,QAAQ,OAAO,QAAQ,IAAI,aAAa,MAAM,CAAC,CAAC;AAExD,SAAO,IAAI,SAAS,OAAO,YAAqC;AAC9D,UAAM,YAAY,QAAQ,YACxB,QAAQ,QAAQ,QAAQ,SAAS,IACjC,2BAA2B;AAE7B,UAAM,UAAU,MAAM,QAAQ,SAAS;AACvC,qBAAiB,QAAQ,KAAK,WAAW,OAAO,OAAO,GAAG;AACxD,cAAQ,IAAI,IAAI;AAAA,IAClB;AAEA,WAAO,QAAQ,MAAM;AAAA,EACvB,CAAC;AACH;AAEO,SAAS,SAAS,OAAqB;AAC5C,SAAO,IAAI,SAAS,YAA4B;AAC9C,QAAI,MAAM,WAAW;AAAG,aAAO,MAAM,QAAQ,2BAA2B,CAAC,EAAE,MAAM;AAEjF,UAAM,UAAmB,CAAC;AAE1B,eAAW,QAAQ,OAAO;AACxB,YAAM,SAAS,MAAM,KAAK,IAAI;AAC9B,aAAO,QAAQ,oCAAoC;AACnD,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEA,UAAM,CAAE,UAAU,MAAO,IAAI;AAE7B,UAAM,WAAW,MAAM;AACvB,UAAM,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS;AAE/C,UAAM,YAAY,WAAW,UAAU,GAAG,SAAS;AAEnD,WAAO,MAAM,QAAQ,SAAS,EAAE,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM;AAAA,EAChE,CAAC;AACH;AAKA,eAAsB,KAAK,WAAkC;AAC3D,QAAM,UAAU,eAAe;AAC/B,QAAM,MAAM,QAAQ,QAAQ,SAAS;AAErC;AAAA,IAAO,QAAQ,2BAA2B;AAAA,IACtC,uDAAuD,GAAG,GAAG;AAAA,EAAG;AAEpE;AAAA,IAAO,QAAQ,QAAQ,QAAQ,GAAG;AAAA,IAC9B,kDAAkD,GAAG,GAAG;AAAA,EAAG;AAE/D,MAAI,CAAE,iBAAiB,GAAG,GAAG;AAC3B,QAAI,KAAK,aAAa,GAAG,GAAG,GAAG,WAAW;AAC1C;AAAA,EACF;AAEA,MAAI,OAAO,sBAAsB,GAAG,GAAG,GAAG,aAAa;AACvD,QAAM,GAAG,KAAK,EAAE,WAAW,KAAK,CAAC;AACnC;AAGO,SAAS,UAAU,OAA0D;AAClF,QAAM,OAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,SAAO,YAAY,IAAI;AACzB;AAGO,SAAS,eAAe,OAA0D;AACvF,QAAM,OAAO,eAAe,EAAE,QAAQ,GAAG,KAAK;AAC9C,SAAO,iBAAiB,IAAI;AAC9B;",
5
+ "names": []
6
6
  }