@plugjs/plug 0.0.21 → 0.0.23

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 (163) hide show
  1. package/dist/async.cjs.map +1 -1
  2. package/dist/async.mjs.map +1 -1
  3. package/dist/build.cjs +20 -11
  4. package/dist/build.cjs.map +1 -1
  5. package/dist/build.d.ts +2 -0
  6. package/dist/build.mjs +19 -11
  7. package/dist/build.mjs.map +1 -1
  8. package/dist/files.cjs.map +1 -1
  9. package/dist/files.d.ts +1 -1
  10. package/dist/files.mjs.map +1 -1
  11. package/dist/fork.cjs.map +1 -1
  12. package/dist/fork.d.ts +4 -3
  13. package/dist/fork.mjs.map +1 -1
  14. package/dist/helpers.cjs +20 -0
  15. package/dist/helpers.cjs.map +1 -1
  16. package/dist/helpers.d.ts +34 -2
  17. package/dist/helpers.mjs +20 -2
  18. package/dist/helpers.mjs.map +1 -1
  19. package/dist/index.cjs +2 -5
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.mjs +1 -3
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/log/colors.cjs.map +1 -1
  25. package/dist/log/colors.d.ts +1 -1
  26. package/dist/log/colors.mjs.map +1 -1
  27. package/dist/log/emit.cjs.map +1 -1
  28. package/dist/log/emit.d.ts +1 -1
  29. package/dist/log/emit.mjs.map +1 -1
  30. package/dist/log/logger.cjs.map +1 -1
  31. package/dist/log/logger.d.ts +2 -2
  32. package/dist/log/logger.mjs.map +1 -1
  33. package/dist/log/options.cjs.map +1 -1
  34. package/dist/log/options.d.ts +3 -3
  35. package/dist/log/options.mjs.map +1 -1
  36. package/dist/log/report.cjs.map +1 -1
  37. package/dist/log/report.d.ts +3 -3
  38. package/dist/log/report.mjs.map +1 -1
  39. package/dist/log.cjs.map +1 -1
  40. package/dist/log.d.ts +1 -1
  41. package/dist/log.mjs.map +1 -1
  42. package/dist/paths.cjs.map +1 -1
  43. package/dist/paths.mjs.map +1 -1
  44. package/dist/pipe.cjs +1 -14
  45. package/dist/pipe.cjs.map +1 -1
  46. package/dist/pipe.d.ts +4 -20
  47. package/dist/pipe.mjs +1 -19
  48. package/dist/pipe.mjs.map +1 -1
  49. package/dist/plugs/copy.cjs.map +1 -1
  50. package/dist/plugs/copy.mjs.map +1 -1
  51. package/dist/plugs/coverage/analysis.cjs.map +1 -1
  52. package/dist/plugs/coverage/analysis.d.ts +3 -3
  53. package/dist/plugs/coverage/analysis.mjs.map +1 -1
  54. package/dist/plugs/coverage/report.cjs +1 -1
  55. package/dist/plugs/coverage/report.cjs.map +1 -1
  56. package/dist/plugs/coverage/report.d.ts +3 -3
  57. package/dist/plugs/coverage/report.mjs +1 -1
  58. package/dist/plugs/coverage/report.mjs.map +1 -1
  59. package/dist/plugs/coverage.cjs +1 -1
  60. package/dist/plugs/coverage.cjs.map +1 -1
  61. package/dist/plugs/coverage.d.ts +1 -1
  62. package/dist/plugs/coverage.mjs +1 -1
  63. package/dist/plugs/coverage.mjs.map +1 -1
  64. package/dist/plugs/debug.cjs.map +1 -1
  65. package/dist/plugs/debug.mjs.map +1 -1
  66. package/dist/plugs/esbuild/bundle-locals.d.ts +1 -1
  67. package/dist/plugs/esbuild/fix-extensions.cjs.map +1 -1
  68. package/dist/plugs/esbuild/fix-extensions.d.ts +1 -1
  69. package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
  70. package/dist/plugs/esbuild.cjs +1 -1
  71. package/dist/plugs/esbuild.cjs.map +1 -1
  72. package/dist/plugs/esbuild.d.ts +1 -1
  73. package/dist/plugs/esbuild.mjs +1 -1
  74. package/dist/plugs/esbuild.mjs.map +1 -1
  75. package/dist/plugs/eslint/runner.cjs.map +1 -1
  76. package/dist/plugs/eslint/runner.d.ts +2 -2
  77. package/dist/plugs/eslint/runner.mjs.map +1 -1
  78. package/dist/plugs/exec.cjs +1 -1
  79. package/dist/plugs/exec.cjs.map +1 -1
  80. package/dist/plugs/exec.mjs +1 -1
  81. package/dist/plugs/exec.mjs.map +1 -1
  82. package/dist/plugs/filter.cjs.map +1 -1
  83. package/dist/plugs/filter.d.ts +1 -1
  84. package/dist/plugs/filter.mjs.map +1 -1
  85. package/dist/plugs/mocha/reporter.cjs +1 -1
  86. package/dist/plugs/mocha/reporter.cjs.map +1 -1
  87. package/dist/plugs/mocha/reporter.mjs +1 -1
  88. package/dist/plugs/mocha/reporter.mjs.map +1 -1
  89. package/dist/plugs/mocha/runner.cjs +12 -2
  90. package/dist/plugs/mocha/runner.cjs.map +2 -2
  91. package/dist/plugs/mocha/runner.d.ts +2 -2
  92. package/dist/plugs/mocha/runner.mjs +13 -3
  93. package/dist/plugs/mocha/runner.mjs.map +2 -2
  94. package/dist/plugs/mocha.cjs.map +1 -1
  95. package/dist/plugs/mocha.d.ts +2 -0
  96. package/dist/plugs/mocha.mjs.map +1 -1
  97. package/dist/plugs/rmf.cjs.map +1 -1
  98. package/dist/plugs/rmf.mjs.map +1 -1
  99. package/dist/plugs/tsc/compiler.cjs.map +1 -1
  100. package/dist/plugs/tsc/compiler.d.ts +1 -1
  101. package/dist/plugs/tsc/compiler.mjs.map +1 -1
  102. package/dist/plugs/tsc/options.cjs.map +1 -1
  103. package/dist/plugs/tsc/options.d.ts +1 -1
  104. package/dist/plugs/tsc/options.mjs.map +1 -1
  105. package/dist/plugs/tsc/report.cjs.map +1 -1
  106. package/dist/plugs/tsc/report.d.ts +2 -2
  107. package/dist/plugs/tsc/report.mjs.map +1 -1
  108. package/dist/plugs/tsc/runner.cjs +1 -1
  109. package/dist/plugs/tsc/runner.cjs.map +1 -1
  110. package/dist/plugs/tsc/runner.d.ts +1 -1
  111. package/dist/plugs/tsc/runner.mjs +1 -1
  112. package/dist/plugs/tsc/runner.mjs.map +1 -1
  113. package/dist/plugs/tsc.cjs.map +1 -1
  114. package/dist/plugs/tsc.mjs.map +1 -1
  115. package/dist/utils/asyncfs.cjs.map +1 -1
  116. package/dist/utils/asyncfs.mjs.map +1 -1
  117. package/dist/utils/caller.cjs.map +1 -1
  118. package/dist/utils/caller.d.ts +1 -1
  119. package/dist/utils/caller.mjs.map +1 -1
  120. package/dist/utils/walk.cjs.map +1 -1
  121. package/dist/utils/walk.d.ts +2 -2
  122. package/dist/utils/walk.mjs.map +1 -1
  123. package/extra/cli.mjs +1152 -51
  124. package/extra/ts-loader.mjs +12 -11
  125. package/package.json +7 -7
  126. package/src/async.ts +2 -1
  127. package/src/files.ts +3 -1
  128. package/src/fork.ts +8 -3
  129. package/src/helpers.ts +61 -4
  130. package/src/index.ts +4 -2
  131. package/src/log/colors.ts +4 -1
  132. package/src/log/emit.ts +4 -1
  133. package/src/log/logger.ts +7 -3
  134. package/src/log/options.ts +6 -3
  135. package/src/log/report.ts +5 -3
  136. package/src/log.ts +1 -1
  137. package/src/paths.ts +1 -0
  138. package/src/pipe.ts +9 -45
  139. package/src/plugs/copy.ts +3 -1
  140. package/src/plugs/coverage/analysis.ts +12 -7
  141. package/src/plugs/coverage/report.ts +13 -8
  142. package/src/plugs/coverage.ts +12 -5
  143. package/src/plugs/debug.ts +4 -2
  144. package/src/plugs/esbuild/bundle-locals.ts +1 -1
  145. package/src/plugs/esbuild/fix-extensions.ts +2 -1
  146. package/src/plugs/esbuild.ts +13 -5
  147. package/src/plugs/eslint/runner.ts +5 -3
  148. package/src/plugs/exec.ts +8 -4
  149. package/src/plugs/filter.ts +5 -2
  150. package/src/plugs/mocha/reporter.ts +5 -3
  151. package/src/plugs/mocha/runner.ts +21 -6
  152. package/src/plugs/mocha.ts +2 -0
  153. package/src/plugs/rmf.ts +4 -2
  154. package/src/plugs/tsc/compiler.ts +3 -1
  155. package/src/plugs/tsc/options.ts +3 -1
  156. package/src/plugs/tsc/report.ts +5 -2
  157. package/src/plugs/tsc/runner.ts +6 -5
  158. package/src/plugs/tsc.ts +2 -2
  159. package/src/utils/asyncfs.ts +0 -1
  160. package/src/utils/caller.ts +4 -1
  161. package/src/utils/walk.ts +7 -3
  162. package/types/globals.d.ts +15 -0
  163. /package/{extra → types}/webassembly.d.ts +0 -0
@@ -1,11 +1,12 @@
1
- import _esbuild from "esbuild";
1
+ // extra/ts-loader.mts
2
2
  import _fs from "node:fs";
3
3
  import _module from "node:module";
4
4
  import _path from "node:path";
5
5
  import _url from "node:url";
6
- const CJS = "commonjs";
7
- const ESM = "module";
8
- const _debug = process.env.DEBUG_TS_LOADER === "true";
6
+ import _esbuild from "esbuild";
7
+ var CJS = "commonjs";
8
+ var ESM = "module";
9
+ var _debug = process.env.DEBUG_TS_LOADER === "true";
9
10
  function _log(type, arg, ...args) {
10
11
  if (!_debug)
11
12
  return;
@@ -22,7 +23,7 @@ function _throw(type, message, options = {}) {
22
23
  Object.assign(error, extra);
23
24
  throw error;
24
25
  }
25
- const _moduleFormatCache = /* @__PURE__ */ new Map();
26
+ var _moduleFormatCache = /* @__PURE__ */ new Map();
26
27
  if (process.env.__TS_LOADER_FORCE_TYPE) {
27
28
  const type = process.env.__TS_LOADER_FORCE_TYPE;
28
29
  const dir = process.cwd();
@@ -110,7 +111,7 @@ function _esbTranpile(filename, type) {
110
111
  _esbReport("warning", result.warnings);
111
112
  return result.code;
112
113
  }
113
- const resolve = (specifier, context, nextResolve) => {
114
+ var resolve = (specifier, context, nextResolve) => {
114
115
  _log(ESM, `Resolving "${specifier}" from "${context.parentURL}"`);
115
116
  if (!specifier.match(/^\.\.?\//))
116
117
  return nextResolve(specifier, context);
@@ -152,7 +153,7 @@ const resolve = (specifier, context, nextResolve) => {
152
153
  }
153
154
  return nextResolve(specifier, context);
154
155
  };
155
- const load = (url, context, nextLoad) => {
156
+ var load = (url, context, nextLoad) => {
156
157
  var _a;
157
158
  _log(ESM, `Attempting to load "${url}"`);
158
159
  if (!url.startsWith("file:"))
@@ -171,7 +172,7 @@ const load = (url, context, nextLoad) => {
171
172
  const source = _esbTranpile(filename, ESM);
172
173
  return { source, format: "module", shortCircuit: true };
173
174
  };
174
- const loader = (module, filename) => {
175
+ var loader = (module, filename) => {
175
176
  _log(ESM, `Attempting to load "${filename}"`);
176
177
  const ext = _path.extname(filename);
177
178
  if (ext === ".ts") {
@@ -190,7 +191,7 @@ const loader = (module, filename) => {
190
191
  }
191
192
  };
192
193
  _module._extensions[".ts"] = _module._extensions[".cts"] = loader;
193
- const _oldResolveFilename = _module._resolveFilename;
194
+ var _oldResolveFilename = _module._resolveFilename;
194
195
  _module._resolveFilename = function(request, parent, ...args) {
195
196
  try {
196
197
  return _oldResolveFilename.call(this, request, parent, ...args);
@@ -212,11 +213,11 @@ _module._resolveFilename = function(request, parent, ...args) {
212
213
  throw error;
213
214
  }
214
215
  };
215
- const tsLoaderMarker = Symbol.for("plugjs:tsLoader");
216
+ var tsLoaderMarker = Symbol.for("plugjs:tsLoader");
216
217
  globalThis[tsLoaderMarker] = tsLoaderMarker;
217
218
  _log(null, `Installing loader from "${import.meta.url}"`);
218
219
  export {
219
220
  load,
220
221
  resolve
221
222
  };
222
- //# sourceMappingURL=data:application/json;base64,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
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.0.21",
3
+ "version": "0.0.23",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -28,9 +28,9 @@
28
28
  "author": "",
29
29
  "license": "ISC",
30
30
  "dependencies": {
31
- "@babel/parser": "^7.19.6",
32
- "@babel/types": "^7.19.4",
33
- "@plugjs/cov8-html": "^0.0.2",
31
+ "@babel/parser": "^7.20.0",
32
+ "@babel/types": "^7.20.0",
33
+ "@plugjs/cov8-html": "^0.0.4",
34
34
  "@types/mocha": "^10.0.0",
35
35
  "@types/node": "<17",
36
36
  "diff": "^5.1.0",
@@ -39,8 +39,7 @@
39
39
  "mocha": "^10.1.0",
40
40
  "picomatch": "^2.3.1",
41
41
  "source-map": "^0.7.4",
42
- "typescript": "^4.8.4",
43
- "yargs-parser": "^21.1.1"
42
+ "typescript": "^4.8.4"
44
43
  },
45
44
  "devDependencies": {
46
45
  "@plugjs/eslint-plugin": "^0.0.2",
@@ -54,6 +53,7 @@
54
53
  "chai": "^4.3.6",
55
54
  "eslint-config-google": "^0.14.0",
56
55
  "eslint-import-resolver-typescript": "^3.5.2",
57
- "eslint-plugin-import": "^2.26.0"
56
+ "eslint-plugin-import": "^2.26.0",
57
+ "yargs-parser": "^21.1.1"
58
58
  }
59
59
  }
package/src/async.ts CHANGED
@@ -1,6 +1,7 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks'
2
+
1
3
  import type { Context } from './pipe'
2
4
 
3
- import { AsyncLocalStorage } from 'node:async_hooks'
4
5
 
5
6
  /* ========================================================================== *
6
7
  * EXPORTED *
package/src/files.ts CHANGED
@@ -1,6 +1,8 @@
1
- import { AbsolutePath, assertRelativeChildPath, getAbsoluteParent, resolveAbsolutePath } from './paths'
1
+ import { assertRelativeChildPath, getAbsoluteParent, resolveAbsolutePath } from './paths'
2
2
  import { mkdir, writeFile } from './utils/asyncfs'
3
3
 
4
+ import type { AbsolutePath } from './paths'
5
+
4
6
  /** The {@link FilesBuilder} interface defines a builder for {@link Files}. */
5
7
  export interface FilesBuilder {
6
8
  /** The (resolved) directory the {@link Files} will be associated with */
package/src/fork.ts CHANGED
@@ -1,11 +1,16 @@
1
1
  import { fork } from 'node:child_process'
2
+
2
3
  import { assert } from './assert'
3
4
  import { runAsync } from './async'
4
5
  import { BuildFailure } from './failure'
5
6
  import { Files } from './files'
6
- import { $gry, $p, LogOptions, logOptions } from './log'
7
- import { AbsolutePath, requireFilename, resolveFile } from './paths'
8
- import { Context, install, Plug, PlugName, PlugResult } from './pipe'
7
+ import { $gry, $p, logOptions } from './log'
8
+ import { requireFilename, resolveFile } from './paths'
9
+ import { Context, install } from './pipe'
10
+
11
+ import type { LogOptions } from './log'
12
+ import type { AbsolutePath } from './paths'
13
+ import type { Plug, PlugName, PlugResult } from './pipe'
9
14
 
10
15
  /** Fork data, from parent to child process */
11
16
  export interface ForkData {
package/src/helpers.ts CHANGED
@@ -1,12 +1,16 @@
1
- import { assert } from './assert'
1
+ import { assert, assertPromises } from './assert'
2
2
  import { requireContext } from './async'
3
3
  import { Files } from './files'
4
4
  import { $p, log } from './log'
5
- import { AbsolutePath, getCurrentWorkingDirectory, resolveDirectory, resolveFile } from './paths'
5
+ import { commonPath, getCurrentWorkingDirectory, resolveDirectory, resolveFile } from './paths'
6
6
  import { Pipe } from './pipe'
7
7
  import { rm } from './utils/asyncfs'
8
- import { ParseOptions, parseOptions } from './utils/options'
9
- import { walk, WalkOptions } from './utils/walk'
8
+ import { parseOptions } from './utils/options'
9
+ import { walk } from './utils/walk'
10
+
11
+ import type { AbsolutePath } from './paths'
12
+ import type { ParseOptions } from './utils/options'
13
+ import type { WalkOptions } from './utils/walk'
10
14
 
11
15
  /* ========================================================================== *
12
16
  * EXTERNAL HELPERS *
@@ -67,6 +71,59 @@ export async function rmrf(directory: string): Promise<void> {
67
71
  await rm(dir, { recursive: true })
68
72
  }
69
73
 
74
+ /**
75
+ * Merge the results of several {@link Pipe}s into a single one.
76
+ *
77
+ * Merging is performed _in parallel_. When serial execution is to be desired,
78
+ * we can merge the awaited _result_ of the {@link Pipe}.
79
+ *
80
+ * For example:
81
+ *
82
+ * ```
83
+ * const pipe: Pipe = merge([
84
+ * await this.anotherTask1(),
85
+ * await this.anotherTask2(),
86
+ * ])
87
+ * ```
88
+ */
89
+ export function merge(pipes: (Pipe | Files | Promise<Files>)[]): Pipe {
90
+ const context = requireContext()
91
+ return new Pipe(context, Promise.resolve().then(async () => {
92
+ // No pipes? Just send off an empty pipe...
93
+ if (pipes.length === 0) return Files.builder(getCurrentWorkingDirectory()).build()
94
+
95
+ // Await for all pipes / files / files promises
96
+ const results = await assertPromises<Files>(pipes)
97
+
98
+ // Find the common directory between all the Files instances
99
+ const [ firstDir, ...otherDirs ] = results.map((f) => f.directory)
100
+ const directory = commonPath(firstDir, ...otherDirs)
101
+
102
+ // Build our new files instance merging all the results
103
+ return Files.builder(directory).merge(...results).build()
104
+ }))
105
+ }
106
+
107
+ /**
108
+ * Create an empty _no-op_ {@link Pipe}.
109
+ *
110
+ * This is useful when creating tasks with conditional pipes and returning the
111
+ * correct type, for example:
112
+ *
113
+ * ```
114
+ * if (someCondition) {
115
+ * return find(...).pipe(...)
116
+ * } else {
117
+ * return noop()
118
+ * }
119
+ * ```
120
+ */
121
+ export function noop(): Pipe {
122
+ const context = requireContext()
123
+ const files = new Files(getCurrentWorkingDirectory())
124
+ return new Pipe(context, Promise.resolve(files))
125
+ }
126
+
70
127
  /**
71
128
  * Resolve a (set of) path(s) into an {@link AbsolutePath}.
72
129
  *
package/src/index.ts CHANGED
@@ -1,10 +1,12 @@
1
- /// <reference path="../extra/webassembly.d.ts" />
1
+ // Reference our extra "webassembly" type fix here. As we're using esbuild
2
+ // everywhere, we want our dependants to have this type known...
3
+ /// <reference path="../types/webassembly.d.ts" />
2
4
 
3
5
  export type { AbsolutePath } from './paths'
4
6
  export type { Files, FilesBuilder } from './files'
5
7
 
6
8
  export { BuildFailure } from './failure'
7
- export { Pipe } from './pipe'
9
+ export type { Pipe } from './pipe'
8
10
 
9
11
  // Our minimal exports
10
12
  export * from './assert'
package/src/log/colors.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import { sep } from 'node:path'
2
- import { AbsolutePath, getCurrentWorkingDirectory, resolveRelativeChildPath } from '../paths'
2
+
3
+ import { getCurrentWorkingDirectory, resolveRelativeChildPath } from '../paths'
3
4
  import { logOptions } from './options'
4
5
 
6
+ import type { AbsolutePath } from '../paths'
7
+
5
8
  /* ========================================================================== */
6
9
 
7
10
  /* Initial value of log colors, and subscribe to changes */
package/src/log/emit.ts CHANGED
@@ -1,9 +1,12 @@
1
1
  import { formatWithOptions } from 'node:util'
2
+
2
3
  import { $blu, $grn, $gry, $red, $t, $ylw } from './colors'
3
- import { DEBUG, INFO, LogLevel, NOTICE, TRACE, WARN } from './levels'
4
+ import { DEBUG, INFO, NOTICE, TRACE, WARN } from './levels'
4
5
  import { logOptions } from './options'
5
6
  import { zapSpinner } from './spinner'
6
7
 
8
+ import type { LogLevel } from './levels'
9
+
7
10
  /* ========================================================================== */
8
11
 
9
12
  /* Initial values, and subscribe to changes */
package/src/log/logger.ts CHANGED
@@ -1,8 +1,12 @@
1
1
  import { BuildFailure, isBuildFailure } from '../failure'
2
- import { emitColor, emitPlain, LogEmitter } from './emit'
3
- import { DEBUG, ERROR, INFO, LogLevel, NOTICE, TRACE, WARN } from './levels'
2
+ import { emitColor, emitPlain } from './emit'
3
+ import { DEBUG, ERROR, INFO, NOTICE, TRACE, WARN } from './levels'
4
4
  import { logOptions } from './options'
5
- import { Report, ReportImpl } from './report'
5
+ import { ReportImpl } from './report'
6
+
7
+ import type { LogEmitter } from './emit'
8
+ import type { LogLevel } from './levels'
9
+ import type { Report } from './report'
6
10
 
7
11
  /* ========================================================================== */
8
12
 
@@ -1,7 +1,10 @@
1
1
  import { EventEmitter } from 'node:events'
2
- import { Writable } from 'node:stream'
3
- import { InspectOptions } from 'node:util'
4
- import { getLevelNumber, LogLevel, LogLevelString, NOTICE } from './levels'
2
+
3
+ import { getLevelNumber, NOTICE } from './levels'
4
+
5
+ import type { LogLevel, LogLevelString } from './levels'
6
+ import type { Writable } from 'node:stream'
7
+ import type { InspectOptions } from 'node:util'
5
8
 
6
9
  /* ========================================================================== */
7
10
 
package/src/log/report.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  import { BuildFailure } from '../failure'
2
- import { AbsolutePath } from '../paths'
3
2
  import { readFile } from '../utils/asyncfs'
4
3
  import { $blu, $cyn, $gry, $red, $und, $wht, $ylw } from './colors'
5
- import { LogEmitter } from './emit'
6
- import { ERROR, LogLevels, NOTICE, WARN } from './levels'
4
+ import { ERROR, NOTICE, WARN } from './levels'
7
5
  import { logOptions } from './options'
8
6
 
7
+ import type { AbsolutePath } from '../paths'
8
+ import type { LogEmitter } from './emit'
9
+ import type { LogLevels } from './levels'
10
+
9
11
  /* ========================================================================== */
10
12
 
11
13
  /** Levels used in a {@link Report} */
package/src/log.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { currentContext } from './async'
2
- import { getLogger, Log } from './log/logger'
2
+ import { getLogger, type Log } from './log/logger'
3
3
  import { setupSpinner } from './log/spinner'
4
4
 
5
5
  export * from './log/colors'
package/src/paths.ts CHANGED
@@ -2,6 +2,7 @@ import { statSync } from 'node:fs'
2
2
  import { createRequire } from 'node:module'
3
3
  import { dirname, extname, isAbsolute, join, normalize, relative, resolve, sep } from 'node:path'
4
4
  import { fileURLToPath, pathToFileURL } from 'node:url'
5
+
5
6
  import { assert } from './assert'
6
7
 
7
8
  /** A _branded_ `string` representing an _absolute_ path name */
package/src/pipe.ts CHANGED
@@ -1,17 +1,13 @@
1
- import {
2
- AbsolutePath,
3
- commonPath,
4
- getAbsoluteParent,
5
- getCurrentWorkingDirectory,
6
- resolveAbsolutePath,
7
- } from './paths'
8
-
9
1
  import { sep } from 'path'
2
+
10
3
  import { assert, assertPromises } from './assert'
11
- import { requireContext } from './async'
12
- import { Files } from './files'
13
- import { getLogger, Logger } from './log'
14
- import { Result } from './types'
4
+ import { getLogger } from './log'
5
+ import { getAbsoluteParent, getCurrentWorkingDirectory, resolveAbsolutePath } from './paths'
6
+
7
+ import type { Files } from './files'
8
+ import type { Logger } from './log'
9
+ import type { AbsolutePath } from './paths'
10
+ import type { Result } from './types'
15
11
 
16
12
  /* ========================================================================== *
17
13
  * PLUGS *
@@ -228,41 +224,9 @@ export class Pipe extends PipeProto implements Promise<Files> {
228
224
  return result2 || undefined
229
225
  }))
230
226
  }
231
-
232
- /**
233
- * Merge the results of several {@link Pipe}s into a single one.
234
- *
235
- * Merging is performed _in parallel_. When serial execution is to be desired,
236
- * we can merge the awaited _result_ of the {@link Pipe}.
237
- *
238
- * For example:
239
- *
240
- * ```
241
- * const pipe: Pipe = merge([
242
- * await this.anotherTask1(),
243
- * await this.anotherTask2(),
244
- * ])
245
- * ```
246
- */
247
- static merge(pipes: (Pipe | Files | Promise<Files>)[]): Pipe {
248
- const context = requireContext()
249
- return new Pipe(context, Promise.resolve().then(async () => {
250
- // No pipes? Just send off an empty pipe...
251
- if (pipes.length === 0) return Files.builder(getCurrentWorkingDirectory()).build()
252
-
253
- // Await for all pipes / files / files promises
254
- const results = await assertPromises<Files>(pipes)
255
-
256
- // Find the common directory between all the Files instances
257
- const [ firstDir, ...otherDirs ] = results.map((f) => f.directory)
258
- const directory = commonPath(firstDir, ...otherDirs)
259
-
260
- // Build our new files instance merging all the results
261
- return Files.builder(directory).merge(...results).build()
262
- }))
263
- }
264
227
  }
265
228
 
229
+
266
230
  /* ========================================================================== *
267
231
  * PLUG INSTALLATION (NEW) *
268
232
  * ========================================================================== */
package/src/plugs/copy.ts CHANGED
@@ -2,9 +2,11 @@ import { assert } from '../assert'
2
2
  import { Files } from '../files'
3
3
  import { $p } from '../log'
4
4
  import { assertAbsolutePath, getAbsoluteParent, resolveAbsolutePath } from '../paths'
5
- import { Context, install, PipeParameters, Plug } from '../pipe'
5
+ import { install } from '../pipe'
6
6
  import { chmod, copyFile, fsConstants, mkdir } from '../utils/asyncfs'
7
7
 
8
+ import type { Context, PipeParameters, Plug } from '../pipe'
9
+
8
10
  /** Options for copying files */
9
11
  export interface CopyOptions {
10
12
  /** Whether to allow overwriting or not (default `false`). */
@@ -1,10 +1,15 @@
1
1
  import { fileURLToPath, pathToFileURL } from 'node:url'
2
- import { RawSourceMap, SourceMapConsumer } from 'source-map'
2
+
3
+ import { SourceMapConsumer } from 'source-map'
4
+
3
5
  import { assert } from '../../assert'
4
- import { $gry, $p, Logger } from '../../log'
5
- import { AbsolutePath } from '../../paths'
6
+ import { $gry, $p } from '../../log'
6
7
  import { readFile } from '../../utils/asyncfs'
7
8
 
9
+ import type { Logger } from '../../log'
10
+ import type { RawSourceMap } from 'source-map'
11
+ import type { AbsolutePath } from '../../paths'
12
+
8
13
  /* ========================================================================== *
9
14
  * V8 COVERAGE TYPES *
10
15
  * ========================================================================== */
@@ -335,10 +340,10 @@ export class CombiningCoverageAnalyser extends CoverageAnalyserImpl {
335
340
  * specified coverage files and produce a {@link CoverageReport}.
336
341
  */
337
342
  export async function createAnalyser(
338
- sourceFiles: AbsolutePath[],
339
- coverageFiles: AbsolutePath[],
340
- sourceMapBias: SourceMapBias,
341
- log: Logger,
343
+ sourceFiles: AbsolutePath[],
344
+ coverageFiles: AbsolutePath[],
345
+ sourceMapBias: SourceMapBias,
346
+ log: Logger,
342
347
  ): Promise<CoverageAnalyser> {
343
348
  /* Internally V8 coverage uses URLs for everything */
344
349
  const urls = sourceFiles.map((path) => pathToFileURL(path).toString())
@@ -1,24 +1,29 @@
1
+ import { pathToFileURL } from 'node:url'
1
2
 
2
3
  import {
3
- Comment, isDeclaration,
4
+ isDeclaration,
4
5
  isExportDeclaration,
5
6
  isFile,
6
7
  isIfStatement,
7
8
  isImportDeclaration,
8
- isProgram, isTryStatement,
9
+ isProgram,
10
+ isTryStatement,
9
11
  isTSDeclareMethod,
10
12
  isTSTypeReference,
11
13
  isTypeScript,
12
- Node,
13
14
  VISITOR_KEYS,
14
15
  } from '@babel/types'
15
-
16
16
  import { parse } from '@babel/parser'
17
- import { pathToFileURL } from 'node:url'
18
- import { $p, Logger } from '../../log'
19
- import { AbsolutePath } from '../../paths'
17
+
18
+ import { $p } from '../../log'
20
19
  import { readFile } from '../../utils/asyncfs'
21
- import { CoverageAnalyser } from './analysis'
20
+
21
+ import type { Logger } from '../../log'
22
+ import type {
23
+ Comment,
24
+ Node } from '@babel/types'
25
+ import type { AbsolutePath } from '../../paths'
26
+ import type { CoverageAnalyser } from './analysis'
22
27
 
23
28
  /* ========================================================================== *
24
29
  * EXPORTED CONSTANTS AND TYPES *
@@ -1,12 +1,19 @@
1
- import { html, initFunction } from '@plugjs/cov8-html'
2
1
  import { sep } from 'node:path'
2
+
3
+ import { html, initFunction } from '@plugjs/cov8-html'
4
+
3
5
  import { Files } from '../files'
4
6
  import { $gry, $ms, $p, $red, $ylw, ERROR, NOTICE, WARN } from '../log'
5
- import { AbsolutePath, resolveAbsolutePath } from '../paths'
6
- import { Context, install, PipeParameters, Plug } from '../pipe'
7
+ import { resolveAbsolutePath } from '../paths'
8
+ import { install } from '../pipe'
7
9
  import { walk } from '../utils/walk'
8
- import { createAnalyser, SourceMapBias } from './coverage/analysis'
9
- import { coverageReport, CoverageResult } from './coverage/report'
10
+ import { createAnalyser } from './coverage/analysis'
11
+ import { coverageReport } from './coverage/report'
12
+
13
+ import type { AbsolutePath } from '../paths'
14
+ import type { Context, PipeParameters, Plug } from '../pipe'
15
+ import type { SourceMapBias } from './coverage/analysis'
16
+ import type { CoverageResult } from './coverage/report'
10
17
 
11
18
  /** Options to analyse coverage reports */
12
19
  export interface CoverageOptions {
@@ -1,6 +1,8 @@
1
- import { Files } from '../files'
2
1
  import { $gry, $p, $und, $ylw } from '../log'
3
- import { Context, install, PipeParameters, Plug } from '../pipe'
2
+ import { install } from '../pipe'
3
+
4
+ import type { Files } from '../files'
5
+ import type { Context, PipeParameters, Plug } from '../pipe'
4
6
 
5
7
  declare module '../pipe' {
6
8
  export interface Pipe {
@@ -1,4 +1,4 @@
1
- import { Plugin } from 'esbuild'
1
+ import type { Plugin } from 'esbuild'
2
2
 
3
3
  /**
4
4
  * A simple ESBuild plugin bundling _only_ local files, and marking anything
@@ -1,9 +1,10 @@
1
1
  import path from 'node:path'
2
2
 
3
- import { Plugin } from 'esbuild'
4
3
  import { assertAbsolutePath, resolveAbsolutePath, resolveFile } from '../../paths'
5
4
  import { stat } from '../../utils/asyncfs'
6
5
 
6
+ import type { Plugin } from 'esbuild'
7
+
7
8
  /**
8
9
  * A simple ESBuild plugin fixing extensions for `require` and `import` calls.
9
10
  *
@@ -1,12 +1,20 @@
1
- import { build, BuildFailure, BuildOptions, BuildResult, Format, Message, Metafile } from 'esbuild'
2
1
  import { basename } from 'node:path'
2
+
3
+ import { build } from 'esbuild'
4
+
3
5
  import { assert } from '../assert'
4
- import { Files, FilesBuilder } from '../files'
5
- import { $p, ERROR, Logger, ReportLevel, ReportRecord, WARN } from '../log'
6
- import { AbsolutePath, getAbsoluteParent, resolveAbsolutePath } from '../paths'
7
- import { Context, install, PipeParameters, Plug } from '../pipe'
6
+ import { Files } from '../files'
7
+ import { $p, ERROR, WARN } from '../log'
8
+ import { getAbsoluteParent, resolveAbsolutePath } from '../paths'
9
+ import { install } from '../pipe'
8
10
  import { readFile } from '../utils/asyncfs'
9
11
 
12
+ import type { FilesBuilder } from '../files'
13
+ import type { Logger, ReportLevel, ReportRecord } from '../log'
14
+ import type { AbsolutePath } from '../paths'
15
+ import type { Context, PipeParameters, Plug } from '../pipe'
16
+ import type { BuildFailure, BuildOptions, BuildResult, Format, Message, Metafile } from 'esbuild'
17
+
10
18
  export type ESBuildOptions = Omit<BuildOptions, 'absWorkingDir' | 'entryPoints' | 'watch'>
11
19
 
12
20
  export * from './esbuild/bundle-locals'
@@ -1,12 +1,14 @@
1
1
  import { ESLint as RealESLint } from 'eslint'
2
+
2
3
  import { assert } from '../../assert'
3
4
  import { BuildFailure } from '../../failure'
4
- import { Files } from '../../files'
5
5
  import { $p, ERROR, NOTICE, WARN } from '../../log'
6
6
  import { getCurrentWorkingDirectory, resolveAbsolutePath, resolveDirectory, resolveFile } from '../../paths'
7
- import { Context, PipeParameters, Plug } from '../../pipe'
8
7
  import { readFile } from '../../utils/asyncfs'
9
- import { ESLintOptions } from '../eslint'
8
+
9
+ import type { Files } from '../../files'
10
+ import type { Context, PipeParameters, Plug } from '../../pipe'
11
+ import type { ESLintOptions } from '../eslint'
10
12
 
11
13
  /** Runner implementation for the `ESLint` plug. */
12
14
  export default class ESLint implements Plug<void> {