@plugjs/plug 0.0.1

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 (264) hide show
  1. package/LICENSE.md +211 -0
  2. package/NOTICE.md +13 -0
  3. package/README.md +7 -0
  4. package/dist/assert.cjs +72 -0
  5. package/dist/assert.cjs.map +6 -0
  6. package/dist/assert.mjs +41 -0
  7. package/dist/assert.mjs.map +6 -0
  8. package/dist/async.cjs +58 -0
  9. package/dist/async.cjs.map +6 -0
  10. package/dist/async.mjs +30 -0
  11. package/dist/async.mjs.map +6 -0
  12. package/dist/build.cjs +136 -0
  13. package/dist/build.cjs.map +6 -0
  14. package/dist/build.mjs +110 -0
  15. package/dist/build.mjs.map +6 -0
  16. package/dist/files.cjs +113 -0
  17. package/dist/files.cjs.map +6 -0
  18. package/dist/files.mjs +88 -0
  19. package/dist/files.mjs.map +6 -0
  20. package/dist/fork.cjs +177 -0
  21. package/dist/fork.cjs.map +6 -0
  22. package/dist/fork.mjs +151 -0
  23. package/dist/fork.mjs.map +6 -0
  24. package/dist/helpers.cjs +129 -0
  25. package/dist/helpers.cjs.map +6 -0
  26. package/dist/helpers.mjs +97 -0
  27. package/dist/helpers.mjs.map +6 -0
  28. package/dist/index.cjs +25 -0
  29. package/dist/index.cjs.map +6 -0
  30. package/dist/index.mjs +7 -0
  31. package/dist/index.mjs.map +6 -0
  32. package/dist/log/colors.cjs +129 -0
  33. package/dist/log/colors.cjs.map +6 -0
  34. package/dist/log/colors.mjs +93 -0
  35. package/dist/log/colors.mjs.map +6 -0
  36. package/dist/log/emit.cjs +109 -0
  37. package/dist/log/emit.cjs.map +6 -0
  38. package/dist/log/emit.mjs +83 -0
  39. package/dist/log/emit.mjs.map +6 -0
  40. package/dist/log/levels.cjs +75 -0
  41. package/dist/log/levels.cjs.map +6 -0
  42. package/dist/log/levels.mjs +41 -0
  43. package/dist/log/levels.mjs.map +6 -0
  44. package/dist/log/logger.cjs +129 -0
  45. package/dist/log/logger.cjs.map +6 -0
  46. package/dist/log/logger.mjs +104 -0
  47. package/dist/log/logger.mjs.map +6 -0
  48. package/dist/log/options.cjs +149 -0
  49. package/dist/log/options.cjs.map +6 -0
  50. package/dist/log/options.mjs +124 -0
  51. package/dist/log/options.mjs.map +6 -0
  52. package/dist/log/report.cjs +284 -0
  53. package/dist/log/report.cjs.map +6 -0
  54. package/dist/log/report.mjs +259 -0
  55. package/dist/log/report.mjs.map +6 -0
  56. package/dist/log/spinner.cjs +83 -0
  57. package/dist/log/spinner.cjs.map +6 -0
  58. package/dist/log/spinner.mjs +57 -0
  59. package/dist/log/spinner.mjs.map +6 -0
  60. package/dist/log.cjs +71 -0
  61. package/dist/log.cjs.map +6 -0
  62. package/dist/log.mjs +45 -0
  63. package/dist/log.mjs.map +6 -0
  64. package/dist/paths.cjs +158 -0
  65. package/dist/paths.cjs.map +6 -0
  66. package/dist/paths.mjs +122 -0
  67. package/dist/paths.mjs.map +6 -0
  68. package/dist/pipe.cjs +71 -0
  69. package/dist/pipe.cjs.map +6 -0
  70. package/dist/pipe.mjs +44 -0
  71. package/dist/pipe.mjs.map +6 -0
  72. package/dist/plugs/copy.cjs +95 -0
  73. package/dist/plugs/copy.cjs.map +6 -0
  74. package/dist/plugs/copy.mjs +64 -0
  75. package/dist/plugs/copy.mjs.map +6 -0
  76. package/dist/plugs/coverage/analysis.cjs +229 -0
  77. package/dist/plugs/coverage/analysis.cjs.map +6 -0
  78. package/dist/plugs/coverage/analysis.mjs +202 -0
  79. package/dist/plugs/coverage/analysis.mjs.map +6 -0
  80. package/dist/plugs/coverage/report.cjs +215 -0
  81. package/dist/plugs/coverage/report.cjs.map +6 -0
  82. package/dist/plugs/coverage/report.mjs +200 -0
  83. package/dist/plugs/coverage/report.mjs.map +6 -0
  84. package/dist/plugs/coverage.cjs +142 -0
  85. package/dist/plugs/coverage.cjs.map +6 -0
  86. package/dist/plugs/coverage.mjs +117 -0
  87. package/dist/plugs/coverage.mjs.map +6 -0
  88. package/dist/plugs/debug.cjs +50 -0
  89. package/dist/plugs/debug.cjs.map +6 -0
  90. package/dist/plugs/debug.mjs +25 -0
  91. package/dist/plugs/debug.mjs.map +6 -0
  92. package/dist/plugs/esbuild/bundle-locals.cjs +51 -0
  93. package/dist/plugs/esbuild/bundle-locals.cjs.map +6 -0
  94. package/dist/plugs/esbuild/bundle-locals.mjs +26 -0
  95. package/dist/plugs/esbuild/bundle-locals.mjs.map +6 -0
  96. package/dist/plugs/esbuild/check-dependencies.cjs +140 -0
  97. package/dist/plugs/esbuild/check-dependencies.cjs.map +6 -0
  98. package/dist/plugs/esbuild/check-dependencies.mjs +115 -0
  99. package/dist/plugs/esbuild/check-dependencies.mjs.map +6 -0
  100. package/dist/plugs/esbuild/fix-extensions.cjs +91 -0
  101. package/dist/plugs/esbuild/fix-extensions.cjs.map +6 -0
  102. package/dist/plugs/esbuild/fix-extensions.mjs +60 -0
  103. package/dist/plugs/esbuild/fix-extensions.mjs.map +6 -0
  104. package/dist/plugs/esbuild.cjs +109 -0
  105. package/dist/plugs/esbuild.cjs.map +6 -0
  106. package/dist/plugs/esbuild.mjs +83 -0
  107. package/dist/plugs/esbuild.mjs.map +6 -0
  108. package/dist/plugs/eslint/runner.cjs +91 -0
  109. package/dist/plugs/eslint/runner.cjs.map +6 -0
  110. package/dist/plugs/eslint/runner.mjs +68 -0
  111. package/dist/plugs/eslint/runner.mjs.map +6 -0
  112. package/dist/plugs/exec.cjs +128 -0
  113. package/dist/plugs/exec.cjs.map +6 -0
  114. package/dist/plugs/exec.mjs +96 -0
  115. package/dist/plugs/exec.mjs.map +6 -0
  116. package/dist/plugs/filter.cjs +59 -0
  117. package/dist/plugs/filter.cjs.map +6 -0
  118. package/dist/plugs/filter.mjs +34 -0
  119. package/dist/plugs/filter.mjs.map +6 -0
  120. package/dist/plugs/mocha/reporter.cjs +140 -0
  121. package/dist/plugs/mocha/reporter.cjs.map +6 -0
  122. package/dist/plugs/mocha/reporter.mjs +107 -0
  123. package/dist/plugs/mocha/reporter.mjs.map +6 -0
  124. package/dist/plugs/mocha/runner.cjs +73 -0
  125. package/dist/plugs/mocha/runner.cjs.map +6 -0
  126. package/dist/plugs/mocha/runner.mjs +44 -0
  127. package/dist/plugs/mocha/runner.mjs.map +6 -0
  128. package/dist/plugs/tsc/compiler.cjs +74 -0
  129. package/dist/plugs/tsc/compiler.cjs.map +6 -0
  130. package/dist/plugs/tsc/compiler.mjs +43 -0
  131. package/dist/plugs/tsc/compiler.mjs.map +6 -0
  132. package/dist/plugs/tsc/options.cjs +82 -0
  133. package/dist/plugs/tsc/options.cjs.map +6 -0
  134. package/dist/plugs/tsc/options.mjs +51 -0
  135. package/dist/plugs/tsc/options.mjs.map +6 -0
  136. package/dist/plugs/tsc/report.cjs +90 -0
  137. package/dist/plugs/tsc/report.cjs.map +6 -0
  138. package/dist/plugs/tsc/report.mjs +59 -0
  139. package/dist/plugs/tsc/report.mjs.map +6 -0
  140. package/dist/plugs/tsc/runner.cjs +101 -0
  141. package/dist/plugs/tsc/runner.cjs.map +6 -0
  142. package/dist/plugs/tsc/runner.mjs +72 -0
  143. package/dist/plugs/tsc/runner.mjs.map +6 -0
  144. package/dist/plugs.cjs +31 -0
  145. package/dist/plugs.cjs.map +6 -0
  146. package/dist/plugs.mjs +13 -0
  147. package/dist/plugs.mjs.map +6 -0
  148. package/dist/run.cjs +95 -0
  149. package/dist/run.cjs.map +6 -0
  150. package/dist/run.mjs +70 -0
  151. package/dist/run.mjs.map +6 -0
  152. package/dist/task.cjs +39 -0
  153. package/dist/task.cjs.map +6 -0
  154. package/dist/task.mjs +14 -0
  155. package/dist/task.mjs.map +6 -0
  156. package/dist/utils/asyncfs.cjs +143 -0
  157. package/dist/utils/asyncfs.cjs.map +6 -0
  158. package/dist/utils/asyncfs.mjs +83 -0
  159. package/dist/utils/asyncfs.mjs.map +6 -0
  160. package/dist/utils/caller.cjs +59 -0
  161. package/dist/utils/caller.cjs.map +6 -0
  162. package/dist/utils/caller.mjs +34 -0
  163. package/dist/utils/caller.mjs.map +6 -0
  164. package/dist/utils/match.cjs +69 -0
  165. package/dist/utils/match.cjs.map +6 -0
  166. package/dist/utils/match.mjs +38 -0
  167. package/dist/utils/match.mjs.map +6 -0
  168. package/dist/utils/options.cjs +41 -0
  169. package/dist/utils/options.cjs.map +6 -0
  170. package/dist/utils/options.mjs +16 -0
  171. package/dist/utils/options.mjs.map +6 -0
  172. package/dist/utils/walk.cjs +104 -0
  173. package/dist/utils/walk.cjs.map +6 -0
  174. package/dist/utils/walk.mjs +79 -0
  175. package/dist/utils/walk.mjs.map +6 -0
  176. package/extra/cli.mjs +212 -0
  177. package/extra/ts-loader.mjs +214 -0
  178. package/extra/webassembly.d.ts +11 -0
  179. package/package.json +57 -0
  180. package/src/assert.ts +47 -0
  181. package/src/async.ts +50 -0
  182. package/src/files.ts +129 -0
  183. package/src/fork.ts +263 -0
  184. package/src/helpers.ts +145 -0
  185. package/src/index.ts +20 -0
  186. package/src/log/colors.ts +119 -0
  187. package/src/log/emit.ts +125 -0
  188. package/src/log/levels.ts +65 -0
  189. package/src/log/logger.ts +171 -0
  190. package/src/log/options.ts +199 -0
  191. package/src/log/report.ts +433 -0
  192. package/src/log/spinner.ts +70 -0
  193. package/src/log.ts +68 -0
  194. package/src/paths.ts +213 -0
  195. package/src/pipe.ts +231 -0
  196. package/src/plugs/copy.ts +113 -0
  197. package/src/plugs/coverage/analysis.ts +395 -0
  198. package/src/plugs/coverage/report.ts +337 -0
  199. package/src/plugs/coverage.ts +194 -0
  200. package/src/plugs/debug.ts +35 -0
  201. package/src/plugs/esbuild/bundle-locals.ts +33 -0
  202. package/src/plugs/esbuild/check-dependencies.ts +158 -0
  203. package/src/plugs/esbuild/fix-extensions.ts +108 -0
  204. package/src/plugs/esbuild.ts +128 -0
  205. package/src/plugs/eslint/runner.ts +112 -0
  206. package/src/plugs/exec.ts +215 -0
  207. package/src/plugs/filter.ts +56 -0
  208. package/src/plugs/mocha/reporter.ts +152 -0
  209. package/src/plugs/mocha/runner.ts +77 -0
  210. package/src/plugs/tsc/compiler.ts +66 -0
  211. package/src/plugs/tsc/options.ts +97 -0
  212. package/src/plugs/tsc/report.ts +74 -0
  213. package/src/plugs/tsc/runner.ts +100 -0
  214. package/src/plugs.ts +33 -0
  215. package/src/run.ts +160 -0
  216. package/src/task.ts +26 -0
  217. package/src/utils/asyncfs.ts +82 -0
  218. package/src/utils/caller.ts +45 -0
  219. package/src/utils/match.ts +286 -0
  220. package/src/utils/options.ts +22 -0
  221. package/src/utils/walk.ts +136 -0
  222. package/types/assert.d.ts +18 -0
  223. package/types/async.d.ts +20 -0
  224. package/types/build.d.ts +56 -0
  225. package/types/files.d.ts +44 -0
  226. package/types/fork.d.ts +57 -0
  227. package/types/helpers.d.ts +49 -0
  228. package/types/index.d.ts +14 -0
  229. package/types/log/colors.d.ts +25 -0
  230. package/types/log/emit.d.ts +14 -0
  231. package/types/log/levels.d.ts +52 -0
  232. package/types/log/logger.d.ts +31 -0
  233. package/types/log/options.d.ts +40 -0
  234. package/types/log/report.d.ts +64 -0
  235. package/types/log/spinner.d.ts +2 -0
  236. package/types/log.d.ts +10 -0
  237. package/types/paths.d.ts +76 -0
  238. package/types/pipe.d.ts +152 -0
  239. package/types/plugs/copy.d.ts +27 -0
  240. package/types/plugs/coverage/analysis.d.ts +104 -0
  241. package/types/plugs/coverage/report.d.ts +53 -0
  242. package/types/plugs/coverage.d.ts +46 -0
  243. package/types/plugs/debug.d.ts +14 -0
  244. package/types/plugs/esbuild/bundle-locals.d.ts +6 -0
  245. package/types/plugs/esbuild/check-dependencies.d.ts +12 -0
  246. package/types/plugs/esbuild/fix-extensions.d.ts +29 -0
  247. package/types/plugs/esbuild.d.ts +24 -0
  248. package/types/plugs/eslint/runner.d.ts +22 -0
  249. package/types/plugs/exec.d.ts +90 -0
  250. package/types/plugs/filter.d.ts +23 -0
  251. package/types/plugs/mocha/reporter.d.ts +8 -0
  252. package/types/plugs/mocha/runner.d.ts +34 -0
  253. package/types/plugs/tsc/compiler.d.ts +24 -0
  254. package/types/plugs/tsc/options.d.ts +8 -0
  255. package/types/plugs/tsc/report.d.ts +5 -0
  256. package/types/plugs/tsc/runner.d.ts +13 -0
  257. package/types/plugs.d.ts +16 -0
  258. package/types/run.d.ts +89 -0
  259. package/types/task.d.ts +15 -0
  260. package/types/utils/asyncfs.d.ts +37 -0
  261. package/types/utils/caller.d.ts +7 -0
  262. package/types/utils/match.d.ts +216 -0
  263. package/types/utils/options.d.ts +15 -0
  264. package/types/utils/walk.d.ts +28 -0
@@ -0,0 +1,115 @@
1
+ // plugs/esbuild/check-dependencies.ts
2
+ import { currentRun } from "../../async.mjs";
3
+ import { $p } from "../../log.mjs";
4
+ import { readFile } from "../../utils/asyncfs.mjs";
5
+ import { parseOptions } from "../../utils/options.mjs";
6
+ function checkDependencies(...args) {
7
+ const run = currentRun();
8
+ const { params, options } = parseOptions(args, {
9
+ ignored: [],
10
+ allowDev: false,
11
+ allowPeer: true,
12
+ allowOptional: true,
13
+ allowUnused: false
14
+ });
15
+ const allowDev = convertOption(options.allowDev);
16
+ const allowPeer = convertOption(options.allowPeer);
17
+ const allowOptional = convertOption(options.allowOptional);
18
+ const allowUnused = convertOption(options.allowUnused);
19
+ const dependencies = [];
20
+ const devDependencies = [];
21
+ const peerDependencies = [];
22
+ const optionalDependencies = [];
23
+ const ignored = new Set(options.ignored);
24
+ const used = /* @__PURE__ */ new Set();
25
+ return {
26
+ name: "check-dependencies",
27
+ setup(build) {
28
+ build.initialOptions.bundle = true;
29
+ let packageJson;
30
+ build.onStart(async () => {
31
+ if (!run)
32
+ return { errors: [{ text: "Unable to find current Run" }] };
33
+ const resolved = run.resolve(params[0] || "@package.json");
34
+ packageJson = resolved;
35
+ try {
36
+ const data = await readFile(resolved, "utf-8");
37
+ const json = JSON.parse(data);
38
+ dependencies.push(...dependencyKeys(json.dependencies));
39
+ devDependencies.push(...dependencyKeys(json.devDependencies));
40
+ peerDependencies.push(...dependencyKeys(json.peerDependencies));
41
+ optionalDependencies.push(...dependencyKeys(json.optionalDependencies));
42
+ } catch (error) {
43
+ return { errors: [{ text: `Unable to parse ${$p(resolved)}` }] };
44
+ }
45
+ });
46
+ build.onResolve({ filter: /.*/ }, (args2) => {
47
+ if (args2.importer.match(/\/node_modules\//))
48
+ return;
49
+ if (args2.path.startsWith("node:"))
50
+ return;
51
+ if (args2.path.startsWith("."))
52
+ return;
53
+ if (dependencies.includes(args2.path)) {
54
+ used.add(args2.path);
55
+ return { external: true };
56
+ }
57
+ const [result, label] = optionalDependencies.includes(args2.path) ? [allowOptional, "an optional"] : peerDependencies.includes(args2.path) ? [allowPeer, "a peer"] : devDependencies.includes(args2.path) ? [allowDev, "a dev"] : ["error", void 0];
58
+ if (ignored.has(args2.path))
59
+ return { external: true };
60
+ if (result === "ignore")
61
+ return { external: true };
62
+ const text = label ? `Dependency "${args2.path}" is ${label} dependency` : `Dependency "${args2.path}" not specified in "package.json"`;
63
+ return result === "warn" ? { external: true, warnings: [{ text }] } : { external: true, errors: [{ text }] };
64
+ });
65
+ build.onEnd((result) => {
66
+ if (allowUnused === "ignore")
67
+ return;
68
+ const unused = new Set(dependencies);
69
+ ignored.forEach((dep) => unused.delete(dep));
70
+ used.forEach((dep) => unused.delete(dep));
71
+ const messages = [...unused].map((dep) => `Unused dependency "${dep}"`).map((text) => ({
72
+ id: "",
73
+ pluginName: "check-dependencies",
74
+ location: {
75
+ file: packageJson,
76
+ namespace: "file",
77
+ line: 0,
78
+ column: 0,
79
+ length: 0,
80
+ lineText: "",
81
+ suggestion: ""
82
+ },
83
+ text,
84
+ notes: [],
85
+ detail: void 0
86
+ }));
87
+ if (allowUnused === "warn") {
88
+ result.warnings.push(...messages);
89
+ } else {
90
+ result.errors.push(...messages);
91
+ }
92
+ });
93
+ }
94
+ };
95
+ }
96
+ function convertOption(option) {
97
+ if (option === "warn")
98
+ return "warn";
99
+ if (option === "error")
100
+ return "error";
101
+ if (option)
102
+ return "ignore";
103
+ return "error";
104
+ }
105
+ function dependencyKeys(dependencies) {
106
+ if (!dependencies)
107
+ return [];
108
+ if (typeof dependencies !== "object")
109
+ return [];
110
+ return Object.keys(dependencies).filter((key) => typeof key === "string");
111
+ }
112
+ export {
113
+ checkDependencies
114
+ };
115
+ //# sourceMappingURL=check-dependencies.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugs/esbuild/check-dependencies.ts"],
4
+ "mappings": "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",
5
+ "names": ["args"]
6
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+
26
+ // plugs/esbuild/fix-extensions.ts
27
+ var fix_extensions_exports = {};
28
+ __export(fix_extensions_exports, {
29
+ fixExtensions: () => fixExtensions
30
+ });
31
+ module.exports = __toCommonJS(fix_extensions_exports);
32
+ var import_node_path = __toESM(require("node:path"), 1);
33
+ var import_paths = require("../../paths.cjs");
34
+ var import_asyncfs = require("../../utils/asyncfs.cjs");
35
+ function fixExtensions() {
36
+ return {
37
+ name: "fix-extensions",
38
+ setup(build) {
39
+ build.initialOptions.bundle = true;
40
+ const cjs = build.initialOptions.outExtension?.[".cjs"] || ".cjs";
41
+ const mjs = build.initialOptions.outExtension?.[".mjs"] || ".mjs";
42
+ const js = build.initialOptions.outExtension?.[".js"] || ".js";
43
+ const exts = build.initialOptions.resolveExtensions || [".ts", ".js", ".tsx", ".jsx"];
44
+ build.onResolve({ filter: /.*/ }, async (args) => {
45
+ if (!args.importer)
46
+ return null;
47
+ if (!args.path.match(/^\.\.?\//))
48
+ return { external: true };
49
+ const resolveDir = args.resolveDir;
50
+ (0, import_paths.assertAbsolutePath)(resolveDir);
51
+ const resolved = (0, import_paths.resolveAbsolutePath)(resolveDir, args.path);
52
+ if ((0, import_paths.isFile)(resolved))
53
+ return { path: args.path, external: true };
54
+ const match = args.path.match(/(.*)(\.[mc]?js$)/);
55
+ if (match) {
56
+ const [, name, ext] = match;
57
+ const tspath = name + ext.replace("js", "ts");
58
+ const tsfile = (0, import_paths.resolveAbsolutePath)(resolveDir, tspath);
59
+ if ((0, import_paths.isFile)(tsfile)) {
60
+ const newext = ext === ".mjs" ? mjs : ext === ".cjs" ? cjs : js;
61
+ return { path: name + newext, external: true };
62
+ }
63
+ }
64
+ for (const ext of exts) {
65
+ const fileName = `${args.path}${ext}`;
66
+ const filePath = import_node_path.default.resolve(args.resolveDir, fileName);
67
+ const isFile2 = await (0, import_asyncfs.stat)(filePath).then((stat2) => stat2.isFile(), (error) => void 0);
68
+ if (isFile2)
69
+ return { path: `${args.path}${js}`, external: true };
70
+ }
71
+ const dirPath = import_node_path.default.resolve(args.resolveDir, args.path);
72
+ const isDir = await (0, import_asyncfs.stat)(dirPath).then((stat2) => stat2.isDirectory(), (error) => void 0);
73
+ if (!isDir)
74
+ return { external: true };
75
+ for (const ext of exts) {
76
+ const fileName = import_node_path.default.join(args.path, `index${ext}`);
77
+ const filePath = import_node_path.default.resolve(args.resolveDir, fileName);
78
+ const isFile2 = await (0, import_asyncfs.stat)(filePath).then((stat2) => stat2.isFile(), (error) => void 0);
79
+ if (isFile2)
80
+ return { path: `${args.path}/index${js}`, external: true };
81
+ }
82
+ return { external: true };
83
+ });
84
+ }
85
+ };
86
+ }
87
+ // Annotate the CommonJS export names for ESM import in node:
88
+ 0 && (module.exports = {
89
+ fixExtensions
90
+ });
91
+ //# sourceMappingURL=fix-extensions.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugs/esbuild/fix-extensions.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAiB;AAGjB,mBAAgE;AAChE,qBAAqB;AA6Bd,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,qBAAO,QAAQ;AAAG,iBAAO,EAAE,MAAM,KAAK,MAAM,UAAU,KAAK;AAO/D,cAAM,QAAQ,KAAK,KAAK,MAAM,kBAAkB;AAChD,YAAI,OAAO;AACT,gBAAM,CAAE,EAAE,MAAM,GAAI,IAAI;AACxB,gBAAM,SAAS,OAAO,IAAI,QAAQ,MAAM,IAAI;AAC5C,gBAAM,aAAS,kCAAoB,YAAY,MAAM;AACrD,kBAAI,qBAAO,MAAM,GAAG;AAClB,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,gBAAMC,UAAS,UAAM,qBAAK,QAAQ,EAAE,KAAK,CAACC,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAID;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,qBAAK,OAAO,EAAE,KAAK,CAACE,UAASA,MAAK,YAAY,GAAG,CAAC,UAAU,MAAU;AAC1F,YAAI,CAAE;AAAO,iBAAO,EAAE,UAAU,KAAK;AAGrC,mBAAW,OAAO,MAAM;AACtB,gBAAM,WAAW,iBAAAF,QAAK,KAAK,KAAK,MAAM,QAAQ,KAAK;AACnD,gBAAM,WAAW,iBAAAA,QAAK,QAAQ,KAAK,YAAY,QAAQ;AACvD,gBAAMC,UAAS,UAAM,qBAAK,QAAQ,EAAE,KAAK,CAACC,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAID;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
+ "names": ["path", "isFile", "stat"]
6
+ }
@@ -0,0 +1,60 @@
1
+ // plugs/esbuild/fix-extensions.ts
2
+ import path from "node:path";
3
+ import { assertAbsolutePath, isFile, resolveAbsolutePath } from "../../paths.mjs";
4
+ import { stat } from "../../utils/asyncfs.mjs";
5
+ function fixExtensions() {
6
+ return {
7
+ name: "fix-extensions",
8
+ setup(build) {
9
+ build.initialOptions.bundle = true;
10
+ const cjs = build.initialOptions.outExtension?.[".cjs"] || ".cjs";
11
+ const mjs = build.initialOptions.outExtension?.[".mjs"] || ".mjs";
12
+ const js = build.initialOptions.outExtension?.[".js"] || ".js";
13
+ const exts = build.initialOptions.resolveExtensions || [".ts", ".js", ".tsx", ".jsx"];
14
+ build.onResolve({ filter: /.*/ }, async (args) => {
15
+ if (!args.importer)
16
+ return null;
17
+ if (!args.path.match(/^\.\.?\//))
18
+ return { external: true };
19
+ const resolveDir = args.resolveDir;
20
+ assertAbsolutePath(resolveDir);
21
+ const resolved = resolveAbsolutePath(resolveDir, args.path);
22
+ if (isFile(resolved))
23
+ return { path: args.path, external: true };
24
+ const match = args.path.match(/(.*)(\.[mc]?js$)/);
25
+ if (match) {
26
+ const [, name, ext] = match;
27
+ const tspath = name + ext.replace("js", "ts");
28
+ const tsfile = resolveAbsolutePath(resolveDir, tspath);
29
+ if (isFile(tsfile)) {
30
+ const newext = ext === ".mjs" ? mjs : ext === ".cjs" ? cjs : js;
31
+ return { path: name + newext, external: true };
32
+ }
33
+ }
34
+ for (const ext of exts) {
35
+ const fileName = `${args.path}${ext}`;
36
+ const filePath = path.resolve(args.resolveDir, fileName);
37
+ const isFile2 = await stat(filePath).then((stat2) => stat2.isFile(), (error) => void 0);
38
+ if (isFile2)
39
+ return { path: `${args.path}${js}`, external: true };
40
+ }
41
+ const dirPath = path.resolve(args.resolveDir, args.path);
42
+ const isDir = await stat(dirPath).then((stat2) => stat2.isDirectory(), (error) => void 0);
43
+ if (!isDir)
44
+ return { external: true };
45
+ for (const ext of exts) {
46
+ const fileName = path.join(args.path, `index${ext}`);
47
+ const filePath = path.resolve(args.resolveDir, fileName);
48
+ const isFile2 = await stat(filePath).then((stat2) => stat2.isFile(), (error) => void 0);
49
+ if (isFile2)
50
+ return { path: `${args.path}/index${js}`, external: true };
51
+ }
52
+ return { external: true };
53
+ });
54
+ }
55
+ };
56
+ }
57
+ export {
58
+ fixExtensions
59
+ };
60
+ //# sourceMappingURL=fix-extensions.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugs/esbuild/fix-extensions.ts"],
4
+ "mappings": ";AAAA,OAAO,UAAU;AAGjB,SAAS,oBAAoB,QAAQ,2BAA2B;AAChE,SAAS,YAAY;AA6Bd,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,OAAO,QAAQ;AAAG,iBAAO,EAAE,MAAM,KAAK,MAAM,UAAU,KAAK;AAO/D,cAAM,QAAQ,KAAK,KAAK,MAAM,kBAAkB;AAChD,YAAI,OAAO;AACT,gBAAM,CAAE,EAAE,MAAM,GAAI,IAAI;AACxB,gBAAM,SAAS,OAAO,IAAI,QAAQ,MAAM,IAAI;AAC5C,gBAAM,SAAS,oBAAoB,YAAY,MAAM;AACrD,cAAI,OAAO,MAAM,GAAG;AAClB,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,gBAAMA,UAAS,MAAM,KAAK,QAAQ,EAAE,KAAK,CAACC,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAID;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,CAACC,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,gBAAMD,UAAS,MAAM,KAAK,QAAQ,EAAE,KAAK,CAACC,UAASA,MAAK,OAAO,GAAG,CAAC,UAAU,MAAU;AACvF,cAAID;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
+ "names": ["isFile", "stat"]
6
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // plugs/esbuild.ts
22
+ var esbuild_exports = {};
23
+ __export(esbuild_exports, {
24
+ ESBuild: () => ESBuild
25
+ });
26
+ module.exports = __toCommonJS(esbuild_exports);
27
+ var import_esbuild = require("esbuild");
28
+ var import_assert = require("../assert.cjs");
29
+ var import_log = require("../log.cjs");
30
+ var import_paths = require("../paths.cjs");
31
+ var import_pipe = require("../pipe.cjs");
32
+ __reExport(esbuild_exports, require("./esbuild/bundle-locals.cjs"), module.exports);
33
+ __reExport(esbuild_exports, require("./esbuild/check-dependencies.cjs"), module.exports);
34
+ __reExport(esbuild_exports, require("./esbuild/fix-extensions.cjs"), module.exports);
35
+ var ESBuild = class {
36
+ constructor(_options) {
37
+ this._options = _options;
38
+ }
39
+ async pipe(files, run) {
40
+ const entryPoints = [...files];
41
+ const absWorkingDir = files.directory;
42
+ const options = {
43
+ platform: "node",
44
+ target: `node${process.versions["node"]}`,
45
+ format: "cjs",
46
+ outbase: absWorkingDir,
47
+ logLevel: "silent",
48
+ ...this._options,
49
+ absWorkingDir,
50
+ entryPoints,
51
+ watch: false
52
+ };
53
+ (0, import_assert.assert)(!(options.outdir && options.outfile), 'Options "outfile" and "outdir" can not coexist');
54
+ let builder;
55
+ if (options.bundle && options.outfile && entryPoints.length === 1) {
56
+ builder = run.files(absWorkingDir);
57
+ const outputFile = (0, import_paths.resolveAbsolutePath)(absWorkingDir, options.outfile);
58
+ const entryPoint = (0, import_paths.resolveAbsolutePath)(absWorkingDir, entryPoints[0]);
59
+ options.outfile = outputFile;
60
+ run.log.debug("Bundling", (0, import_log.$p)(entryPoint), "into", (0, import_log.$p)(outputFile));
61
+ } else {
62
+ (0, import_assert.assert)(options.outdir, 'Option "outdir" must be specified');
63
+ builder = run.files(options.outdir);
64
+ options.outdir = builder.directory;
65
+ const message = options.bundle ? "Bundling" : "Transpiling";
66
+ run.log.debug(message, entryPoints.length, "files to", (0, import_log.$p)(builder.directory));
67
+ }
68
+ const report = run.report("ESBuild Report");
69
+ run.log.trace("Running ESBuild", options);
70
+ let esbuild;
71
+ try {
72
+ esbuild = await (0, import_esbuild.build)({ ...options, metafile: true });
73
+ run.log.trace("ESBuild Results", esbuild);
74
+ report.add(...esbuild.warnings.map((m) => convertMessage(import_log.WARN, m, absWorkingDir)));
75
+ report.add(...esbuild.errors.map((m) => convertMessage(import_log.ERROR, m, absWorkingDir)));
76
+ } catch (error) {
77
+ const e = error;
78
+ if (e.warnings)
79
+ report.add(...e.warnings.map((m) => convertMessage(import_log.WARN, m, absWorkingDir)));
80
+ if (e.errors)
81
+ report.add(...e.errors.map((m) => convertMessage(import_log.ERROR, m, absWorkingDir)));
82
+ }
83
+ await report.loadSources();
84
+ report.done();
85
+ (0, import_assert.assert)(esbuild, "ESBuild did not produce any result");
86
+ for (const file in esbuild.metafile.outputs) {
87
+ builder.add((0, import_paths.resolveAbsolutePath)(absWorkingDir, file));
88
+ }
89
+ const result = builder.build();
90
+ run.log.info("ESBuild produced", result.length, "files into", (0, import_log.$p)(result.directory));
91
+ return result;
92
+ }
93
+ };
94
+ function convertMessage(level, message, directory) {
95
+ const record = { level, message: message.text };
96
+ record.tags = [message.id, message.pluginName].filter((tag) => !!tag);
97
+ if (message.location) {
98
+ record.line = message.location.line, record.column = message.location.column + 1;
99
+ record.length = message.location.length;
100
+ record.file = (0, import_paths.resolveAbsolutePath)(directory, message.location.file);
101
+ }
102
+ return record;
103
+ }
104
+ (0, import_pipe.install)("esbuild", ESBuild);
105
+ // Annotate the CommonJS export names for ESM import in node:
106
+ 0 && (module.exports = {
107
+ ESBuild
108
+ });
109
+ //# sourceMappingURL=esbuild.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/plugs/esbuild.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,83 @@
1
+ // plugs/esbuild.ts
2
+ import { build } from "esbuild";
3
+ import { assert } from "../assert.mjs";
4
+ import { $p, ERROR, WARN } from "../log.mjs";
5
+ import { resolveAbsolutePath } from "../paths.mjs";
6
+ import { install } from "../pipe.mjs";
7
+ export * from "./esbuild/bundle-locals.mjs";
8
+ export * from "./esbuild/check-dependencies.mjs";
9
+ export * from "./esbuild/fix-extensions.mjs";
10
+ var ESBuild = class {
11
+ constructor(_options) {
12
+ this._options = _options;
13
+ }
14
+ async pipe(files, run) {
15
+ const entryPoints = [...files];
16
+ const absWorkingDir = files.directory;
17
+ const options = {
18
+ platform: "node",
19
+ target: `node${process.versions["node"]}`,
20
+ format: "cjs",
21
+ outbase: absWorkingDir,
22
+ logLevel: "silent",
23
+ ...this._options,
24
+ absWorkingDir,
25
+ entryPoints,
26
+ watch: false
27
+ };
28
+ assert(!(options.outdir && options.outfile), 'Options "outfile" and "outdir" can not coexist');
29
+ let builder;
30
+ if (options.bundle && options.outfile && entryPoints.length === 1) {
31
+ builder = run.files(absWorkingDir);
32
+ const outputFile = resolveAbsolutePath(absWorkingDir, options.outfile);
33
+ const entryPoint = resolveAbsolutePath(absWorkingDir, entryPoints[0]);
34
+ options.outfile = outputFile;
35
+ run.log.debug("Bundling", $p(entryPoint), "into", $p(outputFile));
36
+ } else {
37
+ assert(options.outdir, 'Option "outdir" must be specified');
38
+ builder = run.files(options.outdir);
39
+ options.outdir = builder.directory;
40
+ const message = options.bundle ? "Bundling" : "Transpiling";
41
+ run.log.debug(message, entryPoints.length, "files to", $p(builder.directory));
42
+ }
43
+ const report = run.report("ESBuild Report");
44
+ run.log.trace("Running ESBuild", options);
45
+ let esbuild;
46
+ try {
47
+ esbuild = await build({ ...options, metafile: true });
48
+ run.log.trace("ESBuild Results", esbuild);
49
+ report.add(...esbuild.warnings.map((m) => convertMessage(WARN, m, absWorkingDir)));
50
+ report.add(...esbuild.errors.map((m) => convertMessage(ERROR, m, absWorkingDir)));
51
+ } catch (error) {
52
+ const e = error;
53
+ if (e.warnings)
54
+ report.add(...e.warnings.map((m) => convertMessage(WARN, m, absWorkingDir)));
55
+ if (e.errors)
56
+ report.add(...e.errors.map((m) => convertMessage(ERROR, m, absWorkingDir)));
57
+ }
58
+ await report.loadSources();
59
+ report.done();
60
+ assert(esbuild, "ESBuild did not produce any result");
61
+ for (const file in esbuild.metafile.outputs) {
62
+ builder.add(resolveAbsolutePath(absWorkingDir, file));
63
+ }
64
+ const result = builder.build();
65
+ run.log.info("ESBuild produced", result.length, "files into", $p(result.directory));
66
+ return result;
67
+ }
68
+ };
69
+ function convertMessage(level, message, directory) {
70
+ const record = { level, message: message.text };
71
+ record.tags = [message.id, message.pluginName].filter((tag) => !!tag);
72
+ if (message.location) {
73
+ record.line = message.location.line, record.column = message.location.column + 1;
74
+ record.length = message.location.length;
75
+ record.file = resolveAbsolutePath(directory, message.location.file);
76
+ }
77
+ return record;
78
+ }
79
+ install("esbuild", ESBuild);
80
+ export {
81
+ ESBuild
82
+ };
83
+ //# sourceMappingURL=esbuild.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/plugs/esbuild.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // plugs/eslint/runner.ts
21
+ var runner_exports = {};
22
+ __export(runner_exports, {
23
+ default: () => ESLint
24
+ });
25
+ module.exports = __toCommonJS(runner_exports);
26
+ var import_eslint = require("eslint");
27
+ var import_assert = require("../../assert.cjs");
28
+ var import_log = require("../../log.cjs");
29
+ var import_paths = require("../../paths.cjs");
30
+ var import_asyncfs = require("../../utils/asyncfs.cjs");
31
+ var ESLint = class {
32
+ _options;
33
+ constructor(arg = {}) {
34
+ this._options = typeof arg === "string" ? { configFile: arg } : arg;
35
+ }
36
+ async pipe(files, run) {
37
+ const { directory, configFile } = this._options;
38
+ const cwd = directory ? run.resolve(directory) : (0, import_paths.getCurrentWorkingDirectory)();
39
+ (0, import_assert.assert)((0, import_paths.isDirectory)(cwd), `ESLint directory ${(0, import_log.$p)(cwd)} does not exist`);
40
+ const overrideConfigFile = configFile ? run.resolve(configFile) : void 0;
41
+ if (overrideConfigFile) {
42
+ (0, import_assert.assert)((0, import_paths.isFile)(overrideConfigFile), `ESLint configuration ${(0, import_log.$p)(overrideConfigFile)} does not exist`);
43
+ }
44
+ const eslint = new import_eslint.ESLint({ overrideConfigFile, cwd });
45
+ const paths = [...files.absolutePaths()];
46
+ const promises = paths.map(async (filePath) => {
47
+ const code = await (0, import_asyncfs.readFile)(filePath, "utf-8");
48
+ return eslint.lintText(code, { filePath });
49
+ });
50
+ const settlements = await Promise.allSettled(promises);
51
+ const summary = settlements.reduce((summary2, settlement, i) => {
52
+ if (settlement.status === "rejected") {
53
+ run.log.error("Error linting", (0, import_log.$p)(paths[i]), settlement.reason);
54
+ summary2.failures++;
55
+ return summary2;
56
+ }
57
+ summary2.results.push(...settlement.value);
58
+ return summary2;
59
+ }, {
60
+ results: [],
61
+ failures: 0
62
+ });
63
+ const { results, failures } = summary;
64
+ if (failures)
65
+ throw (0, import_assert.failure)();
66
+ const report = run.report("ESLint Report");
67
+ for (const result of results) {
68
+ const { filePath, source, messages } = result;
69
+ const file = (0, import_paths.resolveAbsolutePath)((0, import_paths.getCurrentWorkingDirectory)(), filePath);
70
+ for (const record of messages) {
71
+ const {
72
+ severity,
73
+ message,
74
+ ruleId: tags,
75
+ line,
76
+ column,
77
+ endLine = line,
78
+ endColumn = column + 1
79
+ } = record;
80
+ const level = severity === 0 ? import_log.NOTICE : severity === 1 ? import_log.WARN : import_log.ERROR;
81
+ const length = endLine === line ? endColumn - column : endLine > line ? -1 : 1;
82
+ report.add({ level, message, tags, line, column, length, file, source });
83
+ }
84
+ }
85
+ report.done(this._options.showSources);
86
+ return void 0;
87
+ }
88
+ };
89
+ // Annotate the CommonJS export names for ESM import in node:
90
+ 0 && (module.exports = {});
91
+ //# sourceMappingURL=runner.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugs/eslint/runner.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAqC;AACrC,oBAAgC;AAEhC,iBAAwC;AACxC,mBAAqF;AAGrF,qBAAyB;AAezB,IAAqB,SAArB,MAAuD;AAAA,EACpC;AAAA,EAKjB,YAAY,MAA8B,CAAC,GAAG;AAC5C,SAAK,WAAW,OAAO,QAAQ,WAAW,EAAE,YAAY,IAAI,IAAI;AAAA,EAClE;AAAA,EAEA,MAAM,KAAK,OAAc,KAA8B;AACrD,UAAM,EAAE,WAAW,WAAW,IAAI,KAAK;AAEvC,UAAM,MAAM,YAAY,IAAI,QAAQ,SAAS,QAAI,yCAA2B;AAC5E,kCAAO,0BAAY,GAAG,GAAG,wBAAoB,eAAG,GAAG,kBAAkB;AAErE,UAAM,qBAAqB,aAAa,IAAI,QAAQ,UAAU,IAAI;AAClE,QAAI,oBAAoB;AACtB,oCAAO,qBAAO,kBAAkB,GAAG,4BAAwB,eAAG,kBAAkB,kBAAkB;AAAA,IACpG;AAGA,UAAM,SAAS,IAAI,cAAAA,OAAW,EAAE,oBAAoB,IAAI,CAAC;AAGzD,UAAM,QAAQ,CAAE,GAAG,MAAM,cAAc,CAAE;AACzC,UAAM,WAAW,MAAM,IAAI,OAAO,aAAa;AAC7C,YAAM,OAAO,UAAM,yBAAS,UAAU,OAAO;AAC7C,aAAO,OAAO,SAAS,MAAM,EAAE,SAAS,CAAC;AAAA,IAC3C,CAAC;AAGD,UAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AAGrD,UAAM,UAAU,YAAY,OAAO,CAACC,UAAS,YAAY,MAAM;AAE7D,UAAI,WAAW,WAAW,YAAY;AACpC,YAAI,IAAI,MAAM,qBAAiB,eAAG,MAAM,EAAE,GAAG,WAAW,MAAM;AAC9D,QAAAA,SAAQ;AACR,eAAOA;AAAA,MACT;AAGA,MAAAA,SAAQ,QAAQ,KAAK,GAAG,WAAW,KAAK;AACxC,aAAOA;AAAA,IACT,GAAG;AAAA,MACD,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,IACZ,CAAC;AAGD,UAAM,EAAE,SAAS,SAAS,IAAI;AAC9B,QAAI;AAAU,gBAAM,uBAAQ;AAG5B,UAAM,SAAS,IAAI,OAAO,eAAe;AAGzC,eAAW,UAAU,SAAS;AAC5B,YAAM,EAAE,UAAU,QAAQ,SAAS,IAAI;AACvC,YAAM,WAAO,sCAAoB,yCAA2B,GAAG,QAAQ;AAEvE,iBAAW,UAAU,UAAU;AAC7B,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV,YAAY,SAAS;AAAA,QACvB,IAAI;AAGJ,cAAM,QAAQ,aAAa,IAAI,oBAAS,aAAa,IAAI,kBAAO;AAGhE,cAAM,SAAS,YAAY,OAAO,YAAY,SAAS,UAAU,OAAO,KAAK;AAG7E,eAAO,IAAI,EAAE,OAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,MAAM,OAAO,CAAC;AAAA,MACzE;AAAA,IACF;AAGA,WAAO,KAAK,KAAK,SAAS,WAAW;AACrC,WAAO;AAAA,EACT;AACF;",
5
+ "names": ["RealESLint", "summary"]
6
+ }