@plugjs/plug 0.0.26 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/{failure.cjs → asserts.cjs} +29 -9
  2. package/dist/asserts.cjs.map +6 -0
  3. package/dist/{failure.d.ts → asserts.d.ts} +4 -1
  4. package/dist/asserts.mjs +51 -0
  5. package/dist/asserts.mjs.map +6 -0
  6. package/dist/async.cjs +2 -2
  7. package/dist/async.cjs.map +1 -1
  8. package/dist/async.mjs +2 -2
  9. package/dist/async.mjs.map +1 -1
  10. package/dist/build.cjs +21 -30
  11. package/dist/build.cjs.map +1 -1
  12. package/dist/build.d.ts +2 -13
  13. package/dist/build.mjs +16 -24
  14. package/dist/build.mjs.map +1 -1
  15. package/dist/files.cjs +3 -3
  16. package/dist/files.cjs.map +1 -1
  17. package/dist/files.mjs +1 -1
  18. package/dist/files.mjs.map +1 -1
  19. package/dist/fork.cjs +35 -30
  20. package/dist/fork.cjs.map +1 -1
  21. package/dist/fork.d.ts +6 -3
  22. package/dist/fork.mjs +18 -13
  23. package/dist/fork.mjs.map +1 -1
  24. package/dist/{utils/asyncfs.cjs → fs.cjs} +6 -6
  25. package/dist/{utils/asyncfs.cjs.map → fs.cjs.map} +2 -2
  26. package/dist/{utils/asyncfs.d.ts → fs.d.ts} +1 -1
  27. package/dist/{utils/asyncfs.mjs → fs.mjs} +3 -3
  28. package/dist/{utils/asyncfs.mjs.map → fs.mjs.map} +2 -2
  29. package/dist/helpers.cjs +21 -14
  30. package/dist/helpers.cjs.map +1 -1
  31. package/dist/helpers.d.ts +24 -1
  32. package/dist/helpers.mjs +13 -7
  33. package/dist/helpers.mjs.map +1 -1
  34. package/dist/index.cjs +36 -6
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.ts +25 -8
  37. package/dist/index.mjs +20 -5
  38. package/dist/index.mjs.map +1 -1
  39. package/dist/{log → logging}/colors.cjs +1 -1
  40. package/dist/{log → logging}/colors.cjs.map +1 -1
  41. package/dist/{log → logging}/colors.d.ts +0 -0
  42. package/dist/{log → logging}/colors.mjs +1 -1
  43. package/dist/{log → logging}/colors.mjs.map +1 -1
  44. package/dist/{log → logging}/emit.cjs +1 -2
  45. package/dist/{log → logging}/emit.cjs.map +2 -2
  46. package/dist/{log → logging}/emit.d.ts +0 -0
  47. package/dist/{log → logging}/emit.mjs +1 -2
  48. package/dist/{log → logging}/emit.mjs.map +2 -2
  49. package/dist/{log → logging}/levels.cjs +1 -1
  50. package/dist/{log → logging}/levels.cjs.map +1 -1
  51. package/dist/{log → logging}/levels.d.ts +0 -0
  52. package/dist/{log → logging}/levels.mjs +1 -1
  53. package/dist/{log → logging}/levels.mjs.map +1 -1
  54. package/dist/{log → logging}/logger.cjs +13 -7
  55. package/dist/logging/logger.cjs.map +6 -0
  56. package/dist/{log → logging}/logger.d.ts +0 -0
  57. package/dist/{log → logging}/logger.mjs +11 -5
  58. package/dist/logging/logger.mjs.map +6 -0
  59. package/dist/{log → logging}/options.cjs +12 -6
  60. package/dist/logging/options.cjs.map +6 -0
  61. package/dist/{log → logging}/options.d.ts +1 -1
  62. package/dist/{log → logging}/options.mjs +12 -6
  63. package/dist/logging/options.mjs.map +6 -0
  64. package/dist/{log → logging}/report.cjs +10 -9
  65. package/dist/{log → logging}/report.cjs.map +2 -2
  66. package/dist/{log → logging}/report.d.ts +0 -0
  67. package/dist/{log → logging}/report.mjs +7 -6
  68. package/dist/{log → logging}/report.mjs.map +2 -2
  69. package/dist/{log → logging}/spinner.cjs +1 -1
  70. package/dist/{log → logging}/spinner.cjs.map +1 -1
  71. package/dist/{log → logging}/spinner.d.ts +0 -0
  72. package/dist/{log → logging}/spinner.mjs +1 -1
  73. package/dist/{log → logging}/spinner.mjs.map +1 -1
  74. package/dist/{log.cjs → logging.cjs} +12 -12
  75. package/dist/{log.cjs.map → logging.cjs.map} +2 -2
  76. package/dist/{log.d.ts → logging.d.ts} +6 -6
  77. package/dist/{log.mjs → logging.mjs} +9 -9
  78. package/dist/{log.mjs.map → logging.mjs.map} +1 -1
  79. package/dist/paths.cjs +5 -5
  80. package/dist/paths.cjs.map +1 -1
  81. package/dist/paths.mjs +1 -1
  82. package/dist/pipe.cjs +10 -13
  83. package/dist/pipe.cjs.map +1 -1
  84. package/dist/pipe.d.ts +6 -12
  85. package/dist/pipe.mjs +6 -9
  86. package/dist/pipe.mjs.map +1 -1
  87. package/dist/plugs/copy.cjs +14 -14
  88. package/dist/plugs/copy.cjs.map +1 -1
  89. package/dist/plugs/copy.d.ts +1 -1
  90. package/dist/plugs/copy.mjs +3 -3
  91. package/dist/plugs/copy.mjs.map +1 -1
  92. package/dist/plugs/debug.cjs +7 -7
  93. package/dist/plugs/debug.cjs.map +1 -1
  94. package/dist/plugs/debug.d.ts +1 -1
  95. package/dist/plugs/debug.mjs +1 -1
  96. package/dist/plugs/edit.cjs +21 -0
  97. package/dist/plugs/edit.cjs.map +6 -0
  98. package/dist/plugs/edit.d.ts +7 -0
  99. package/dist/plugs/edit.mjs +29 -0
  100. package/dist/plugs/edit.mjs.map +6 -0
  101. package/dist/plugs/esbuild/fix-extensions.cjs +4 -4
  102. package/dist/plugs/esbuild/fix-extensions.cjs.map +1 -1
  103. package/dist/plugs/esbuild/fix-extensions.mjs +1 -1
  104. package/dist/plugs/esbuild/fix-extensions.mjs.map +1 -1
  105. package/dist/plugs/esbuild.cjs +19 -14
  106. package/dist/plugs/esbuild.cjs.map +1 -1
  107. package/dist/plugs/esbuild.d.ts +1 -1
  108. package/dist/plugs/esbuild.mjs +8 -3
  109. package/dist/plugs/esbuild.mjs.map +1 -1
  110. package/dist/plugs/exec.cjs +2 -82
  111. package/dist/plugs/exec.cjs.map +2 -2
  112. package/dist/plugs/exec.d.ts +6 -32
  113. package/dist/plugs/exec.mjs +2 -68
  114. package/dist/plugs/exec.mjs.map +1 -1
  115. package/dist/plugs/filter.d.ts +1 -1
  116. package/dist/plugs/rmf.cjs +5 -5
  117. package/dist/plugs/rmf.cjs.map +1 -1
  118. package/dist/plugs/rmf.d.ts +1 -1
  119. package/dist/plugs/rmf.mjs +2 -2
  120. package/dist/plugs/rmf.mjs.map +1 -1
  121. package/dist/plugs.cjs +1 -4
  122. package/dist/plugs.cjs.map +1 -1
  123. package/dist/plugs.d.ts +1 -4
  124. package/dist/plugs.mjs +1 -4
  125. package/dist/plugs.mjs.map +1 -1
  126. package/dist/types.d.ts +1 -1
  127. package/dist/utils/caller.cjs +8 -5
  128. package/dist/utils/caller.cjs.map +1 -1
  129. package/dist/utils/caller.mjs +6 -3
  130. package/dist/utils/caller.mjs.map +1 -1
  131. package/dist/utils/exec.cjs +102 -0
  132. package/dist/utils/exec.cjs.map +6 -0
  133. package/dist/utils/exec.d.ts +15 -0
  134. package/dist/utils/exec.mjs +71 -0
  135. package/dist/utils/exec.mjs.map +6 -0
  136. package/dist/utils/walk.cjs +7 -7
  137. package/dist/utils/walk.cjs.map +1 -1
  138. package/dist/utils/walk.mjs +2 -2
  139. package/dist/utils/walk.mjs.map +1 -1
  140. package/dist/{plugs/tsc.cjs → utils.cjs} +9 -7
  141. package/dist/utils.cjs.map +6 -0
  142. package/dist/utils.d.ts +4 -0
  143. package/dist/utils.mjs +6 -0
  144. package/dist/utils.mjs.map +6 -0
  145. package/extra/cli.mjs +26 -5
  146. package/extra/ts-loader.mjs +2 -2
  147. package/package.json +90 -15
  148. package/src/{assert.ts → asserts.ts} +36 -1
  149. package/src/async.ts +3 -1
  150. package/src/files.ts +1 -1
  151. package/src/fork.ts +19 -11
  152. package/src/{utils/asyncfs.ts → fs.ts} +1 -1
  153. package/src/helpers.ts +40 -8
  154. package/src/index.ts +30 -8
  155. package/src/{log → logging}/colors.ts +0 -0
  156. package/src/{log → logging}/emit.ts +0 -1
  157. package/src/{log → logging}/levels.ts +0 -0
  158. package/src/{log → logging}/logger.ts +13 -4
  159. package/src/{log → logging}/options.ts +11 -7
  160. package/src/{log → logging}/report.ts +10 -9
  161. package/src/{log → logging}/spinner.ts +0 -0
  162. package/src/{log.ts → logging.ts} +7 -7
  163. package/src/paths.ts +1 -1
  164. package/src/pipe.ts +13 -20
  165. package/src/plugs/copy.ts +4 -4
  166. package/src/plugs/debug.ts +2 -2
  167. package/src/plugs/edit.ts +34 -0
  168. package/src/plugs/esbuild/fix-extensions.ts +2 -2
  169. package/src/plugs/esbuild.ts +13 -7
  170. package/src/plugs/exec.ts +8 -129
  171. package/src/plugs/filter.ts +1 -1
  172. package/src/plugs/rmf.ts +3 -3
  173. package/src/plugs.ts +1 -13
  174. package/src/types.ts +1 -1
  175. package/src/utils/caller.ts +6 -3
  176. package/src/utils/exec.ts +112 -0
  177. package/src/utils/walk.ts +3 -3
  178. package/src/utils.ts +4 -0
  179. package/types/{webassembly.d.ts → plugjs.d.ts} +7 -1
  180. package/dist/assert.cjs +0 -52
  181. package/dist/assert.cjs.map +0 -6
  182. package/dist/assert.d.ts +0 -4
  183. package/dist/assert.mjs +0 -26
  184. package/dist/assert.mjs.map +0 -6
  185. package/dist/failure.cjs.map +0 -6
  186. package/dist/failure.mjs +0 -33
  187. package/dist/failure.mjs.map +0 -6
  188. package/dist/log/logger.cjs.map +0 -6
  189. package/dist/log/logger.mjs.map +0 -6
  190. package/dist/log/options.cjs.map +0 -6
  191. package/dist/log/options.mjs.map +0 -6
  192. package/dist/plugs/coverage/analysis.cjs +0 -234
  193. package/dist/plugs/coverage/analysis.cjs.map +0 -6
  194. package/dist/plugs/coverage/analysis.d.ts +0 -104
  195. package/dist/plugs/coverage/analysis.mjs +0 -207
  196. package/dist/plugs/coverage/analysis.mjs.map +0 -6
  197. package/dist/plugs/coverage/report.cjs +0 -218
  198. package/dist/plugs/coverage/report.cjs.map +0 -6
  199. package/dist/plugs/coverage/report.d.ts +0 -53
  200. package/dist/plugs/coverage/report.mjs +0 -203
  201. package/dist/plugs/coverage/report.mjs.map +0 -6
  202. package/dist/plugs/coverage.cjs +0 -137
  203. package/dist/plugs/coverage.cjs.map +0 -6
  204. package/dist/plugs/coverage.d.ts +0 -49
  205. package/dist/plugs/coverage.mjs +0 -120
  206. package/dist/plugs/coverage.mjs.map +0 -6
  207. package/dist/plugs/eslint/runner.cjs +0 -91
  208. package/dist/plugs/eslint/runner.cjs.map +0 -6
  209. package/dist/plugs/eslint/runner.d.ts +0 -8
  210. package/dist/plugs/eslint/runner.mjs +0 -68
  211. package/dist/plugs/eslint/runner.mjs.map +0 -6
  212. package/dist/plugs/eslint.cjs +0 -22
  213. package/dist/plugs/eslint.cjs.map +0 -6
  214. package/dist/plugs/eslint.d.ts +0 -34
  215. package/dist/plugs/eslint.mjs +0 -5
  216. package/dist/plugs/eslint.mjs.map +0 -6
  217. package/dist/plugs/mocha/reporter.cjs +0 -159
  218. package/dist/plugs/mocha/reporter.cjs.map +0 -6
  219. package/dist/plugs/mocha/reporter.d.ts +0 -6
  220. package/dist/plugs/mocha/reporter.mjs +0 -127
  221. package/dist/plugs/mocha/reporter.mjs.map +0 -6
  222. package/dist/plugs/mocha/runner.cjs +0 -82
  223. package/dist/plugs/mocha/runner.cjs.map +0 -6
  224. package/dist/plugs/mocha/runner.d.ts +0 -8
  225. package/dist/plugs/mocha/runner.mjs +0 -53
  226. package/dist/plugs/mocha/runner.mjs.map +0 -6
  227. package/dist/plugs/mocha.cjs +0 -22
  228. package/dist/plugs/mocha.cjs.map +0 -6
  229. package/dist/plugs/mocha.d.ts +0 -37
  230. package/dist/plugs/mocha.mjs +0 -5
  231. package/dist/plugs/mocha.mjs.map +0 -6
  232. package/dist/plugs/tsc/compiler.cjs +0 -74
  233. package/dist/plugs/tsc/compiler.cjs.map +0 -6
  234. package/dist/plugs/tsc/compiler.d.ts +0 -24
  235. package/dist/plugs/tsc/compiler.mjs +0 -43
  236. package/dist/plugs/tsc/compiler.mjs.map +0 -6
  237. package/dist/plugs/tsc/options.cjs +0 -82
  238. package/dist/plugs/tsc/options.cjs.map +0 -6
  239. package/dist/plugs/tsc/options.d.ts +0 -8
  240. package/dist/plugs/tsc/options.mjs +0 -51
  241. package/dist/plugs/tsc/options.mjs.map +0 -6
  242. package/dist/plugs/tsc/report.cjs +0 -90
  243. package/dist/plugs/tsc/report.cjs.map +0 -6
  244. package/dist/plugs/tsc/report.d.ts +0 -5
  245. package/dist/plugs/tsc/report.mjs +0 -59
  246. package/dist/plugs/tsc/report.mjs.map +0 -6
  247. package/dist/plugs/tsc/runner.cjs +0 -124
  248. package/dist/plugs/tsc/runner.cjs.map +0 -6
  249. package/dist/plugs/tsc/runner.d.ts +0 -8
  250. package/dist/plugs/tsc/runner.mjs +0 -95
  251. package/dist/plugs/tsc/runner.mjs.map +0 -6
  252. package/dist/plugs/tsc.cjs.map +0 -6
  253. package/dist/plugs/tsc.d.ts +0 -48
  254. package/dist/plugs/tsc.mjs +0 -5
  255. package/dist/plugs/tsc.mjs.map +0 -6
  256. package/src/failure.ts +0 -43
  257. package/src/plugs/coverage/analysis.ts +0 -400
  258. package/src/plugs/coverage/report.ts +0 -345
  259. package/src/plugs/coverage.ts +0 -213
  260. package/src/plugs/eslint/runner.ts +0 -100
  261. package/src/plugs/eslint.ts +0 -42
  262. package/src/plugs/mocha/reporter.ts +0 -178
  263. package/src/plugs/mocha/runner.ts +0 -66
  264. package/src/plugs/mocha.ts +0 -43
  265. package/src/plugs/tsc/compiler.ts +0 -68
  266. package/src/plugs/tsc/options.ts +0 -100
  267. package/src/plugs/tsc/report.ts +0 -77
  268. package/src/plugs/tsc/runner.ts +0 -133
  269. package/src/plugs/tsc.ts +0 -58
  270. package/types/globals.d.ts +0 -15
@@ -1,49 +0,0 @@
1
- import type { SourceMapBias } from './coverage/analysis';
2
- /** Options to analyse coverage reports */
3
- export interface CoverageOptions {
4
- /** The bias for source map analisys (defaults to `greatest_lower_bound`) */
5
- sourceMapBias?: SourceMapBias;
6
- /** Minimum _overall_ coverage (as a percentage, defaults to 50) */
7
- minimumCoverage?: number;
8
- /** Optimal _overall_ coverage (as a percentage, defaults to 50) */
9
- optimalCoverage?: number;
10
- /** Minimum _per-file_ coverage (as a percentage, defaults to 75) */
11
- minimumFileCoverage?: number;
12
- /** Optimal _per-file_ coverage (as a percentage, defaults to 75) */
13
- optimalFileCoverage?: number;
14
- }
15
- export interface CoverageReportOptions extends CoverageOptions {
16
- /** If specified, a JSON and HTML report will be written to this directory */
17
- reportDir: string;
18
- }
19
- declare module '../pipe' {
20
- interface Pipe {
21
- /**
22
- * Analyse coverage using files generated by V8/NodeJS.
23
- *
24
- * @param coverageDir The directory where the `coverage-XXX.json` files
25
- * generated by V8/NodeJS can be found.
26
- */
27
- coverage(coverageDir: string): Promise<undefined>;
28
- /**
29
- * Analyse coverage using files generated by V8/NodeJS.
30
- *
31
- * @param coverageDir The directory where the `coverage-XXX.json` files
32
- * generated by V8/NodeJS can be found.
33
- * @param options Extra {@link CoverageOptions | options} allowing to
34
- * specify coverage thresholds.
35
- */
36
- coverage(coverageDir: string, options: CoverageOptions): Promise<undefined>;
37
- /**
38
- * Analyse coverage using files generated by V8/NodeJS and produce an HTML
39
- * report in the directory specified in `options`.
40
- *
41
- * @param coverageDir The directory where the `coverage-XXX.json` files
42
- * generated by V8/NodeJS can be found.
43
- * @param options Extra {@link CoverageOptions | options} allowing to
44
- * specify coverage thresholds where the HTML report should
45
- * be written to.
46
- */
47
- coverage(coverageDir: string, options: CoverageReportOptions): Pipe;
48
- }
49
- }
@@ -1,120 +0,0 @@
1
- // plugs/coverage.ts
2
- import { sep } from "node:path";
3
- import { html, initFunction } from "@plugjs/cov8-html";
4
- import { Files } from "../files.mjs";
5
- import { $gry, $ms, $p, $red, $ylw, ERROR, NOTICE, WARN } from "../log.mjs";
6
- import { resolveAbsolutePath } from "../paths.mjs";
7
- import { install } from "../pipe.mjs";
8
- import { walk } from "../utils/walk.mjs";
9
- import { createAnalyser } from "./coverage/analysis.mjs";
10
- import { coverageReport } from "./coverage/report.mjs";
11
- install("coverage", class Coverage {
12
- constructor(_coverageDir, _options = {}) {
13
- this._coverageDir = _coverageDir;
14
- this._options = _options;
15
- }
16
- async pipe(files, context) {
17
- const coverageDir = context.resolve(this._coverageDir);
18
- const coverageFiles = [];
19
- for await (const file of walk(coverageDir, ["coverage-*.json"])) {
20
- coverageFiles.push(resolveAbsolutePath(coverageDir, file));
21
- }
22
- if (coverageFiles.length === 0) {
23
- throw context.log.fail(`No coverage files found in ${$p(coverageDir)}`);
24
- }
25
- const sourceFiles = [...files.absolutePaths()];
26
- const ms1 = Date.now();
27
- const analyser = await createAnalyser(
28
- sourceFiles,
29
- coverageFiles,
30
- this._options.sourceMapBias || "least_upper_bound",
31
- context.log
32
- );
33
- context.log.info("Parsed", coverageFiles.length, "coverage files", $ms(Date.now() - ms1));
34
- const ms2 = Date.now();
35
- const report = await coverageReport(analyser, sourceFiles, context.log);
36
- context.log.info("Analysed", sourceFiles.length, "source files", $ms(Date.now() - ms2));
37
- analyser.destroy();
38
- const {
39
- minimumCoverage = 50,
40
- minimumFileCoverage = minimumCoverage,
41
- optimalCoverage = Math.round((100 + minimumCoverage) / 2),
42
- optimalFileCoverage = Math.round((100 + minimumFileCoverage) / 2)
43
- } = this._options;
44
- let max = 0;
45
- for (const file in report) {
46
- if (file.length > max)
47
- max = file.length;
48
- }
49
- let maxLength = 0;
50
- for (const file in report.results) {
51
- if (file.length > maxLength)
52
- maxLength = file.length;
53
- }
54
- let fileErrors = 0;
55
- let fileWarnings = 0;
56
- const _report = context.log.report("Coverage report");
57
- for (const [_file, result] of Object.entries(report.results)) {
58
- const { coverage, totalNodes } = result.nodeCoverage;
59
- const file = _file;
60
- if (totalNodes === 0) {
61
- _report.annotate(NOTICE, file, "n/a");
62
- } else if (coverage < minimumFileCoverage) {
63
- _report.annotate(ERROR, file, `${coverage} %`);
64
- fileErrors++;
65
- } else if (coverage < optimalFileCoverage) {
66
- _report.annotate(WARN, file, `${coverage} %`);
67
- fileWarnings++;
68
- } else {
69
- _report.annotate(NOTICE, file, `${coverage} %`);
70
- }
71
- }
72
- if (report.nodes.coverage < minimumCoverage) {
73
- const message = `${$red(`${report.nodes.coverage}%`)} does not meet minimum coverage ${$gry(`(${minimumCoverage}%)`)}`;
74
- _report.add({ level: ERROR, message });
75
- } else if (report.nodes.coverage < optimalCoverage) {
76
- const message = `${$ylw(`${report.nodes.coverage}%`)} does not meet optimal coverage ${$gry(`(${optimalCoverage}%)`)}`;
77
- _report.add({ level: WARN, message });
78
- }
79
- if (fileErrors) {
80
- const message = `${$red(fileErrors)} files do not meet minimum file coverage ${$gry(`(${minimumFileCoverage}%)`)}`;
81
- _report.add({ level: ERROR, message });
82
- }
83
- if (fileWarnings) {
84
- const message = `${$ylw(fileWarnings)} files do not meet optimal file coverage ${$gry(`(${optimalFileCoverage}%)`)}`;
85
- _report.add({ level: WARN, message });
86
- }
87
- if (this._options.reportDir == null)
88
- return _report.done(false);
89
- const reportDir = context.resolve(this._options.reportDir);
90
- const builder = Files.builder(reportDir);
91
- const date = new Date().toISOString();
92
- const thresholds = {
93
- minimumCoverage,
94
- minimumFileCoverage,
95
- optimalCoverage,
96
- optimalFileCoverage
97
- };
98
- await builder.write("report.json", JSON.stringify({ ...report, thresholds, date }));
99
- await builder.write("index.html", html);
100
- const results = {};
101
- for (const [rel, abs] of files.pathMappings()) {
102
- results[rel] = report.results[abs];
103
- }
104
- const tree = {};
105
- for (const relative of Object.keys(results)) {
106
- const directories = relative.split(sep);
107
- const file = directories.pop();
108
- let node = tree;
109
- for (const dir of directories) {
110
- node = node[dir] = node[dir] || {};
111
- }
112
- node[file] = relative;
113
- }
114
- const jsonp = JSON.stringify({ ...report, results, thresholds, tree, date });
115
- await builder.write("report.js", `${initFunction}(${jsonp});`);
116
- _report.done(false);
117
- return builder.build();
118
- }
119
- });
120
- //# sourceMappingURL=coverage.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugs/coverage.ts"],
4
- "mappings": ";AAAA,SAAS,WAAW;AAEpB,SAAS,MAAM,oBAAoB;AAEnC,SAAS,aAAa;AACtB,SAAS,MAAM,KAAK,IAAI,MAAM,MAAM,OAAO,QAAQ,YAAY;AAC/D,SAAS,2BAA2B;AACpC,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AA8D/B,QAAQ,YAAY,MAAM,SAA4C;AAAA,EAEpE,YACqB,cACA,WAA2C,CAAC,GAC/D;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAA8C;AACrE,UAAM,cAAc,QAAQ,QAAQ,KAAK,YAAY;AACrD,UAAM,gBAAgC,CAAC;AACvC,qBAAiB,QAAQ,KAAK,aAAa,CAAE,iBAAkB,CAAC,GAAG;AACjE,oBAAc,KAAK,oBAAoB,aAAa,IAAI,CAAC;AAAA,IAC3D;AAEA,QAAI,cAAc,WAAW,GAAG;AAC9B,YAAM,QAAQ,IAAI,KAAK,8BAA8B,GAAG,WAAW,GAAG;AAAA,IACxE;AAEA,UAAM,cAAc,CAAE,GAAG,MAAM,cAAc,CAAE;AAE/C,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,WAAW,MAAM;AAAA,MACnB;AAAA,MACA;AAAA,MACA,KAAK,SAAS,iBAAiB;AAAA,MAC/B,QAAQ;AAAA,IACZ;AACA,YAAQ,IAAI,KAAK,UAAU,cAAc,QAAQ,kBAAkB,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC;AAExF,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,SAAS,MAAM,eAAe,UAAU,aAAa,QAAQ,GAAG;AACtE,YAAQ,IAAI,KAAK,YAAY,YAAY,QAAQ,gBAAgB,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC;AAEtF,aAAS,QAAQ;AAEjB,UAAM;AAAA,MACJ,kBAAkB;AAAA,MAClB,sBAAsB;AAAA,MACtB,kBAAkB,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAAA,MACxD,sBAAsB,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAAA,IAClE,IAAI,KAAK;AAET,QAAI,MAAM;AACV,eAAW,QAAQ,QAAQ;AACzB,UAAI,KAAK,SAAS;AAAK,cAAM,KAAK;AAAA,IACpC;AAEA,QAAI,YAAY;AAChB,eAAW,QAAQ,OAAO,SAAS;AACjC,UAAI,KAAK,SAAS;AAAW,oBAAY,KAAK;AAAA,IAChD;AAEA,QAAI,aAAa;AACjB,QAAI,eAAe;AACnB,UAAM,UAAU,QAAQ,IAAI,OAAO,iBAAiB;AAEpD,eAAW,CAAE,OAAO,MAAO,KAAK,OAAO,QAAQ,OAAO,OAAO,GAAG;AAC9D,YAAM,EAAE,UAAU,WAAW,IAAI,OAAO;AACxC,YAAM,OAAO;AAEb,UAAI,eAAe,GAAG;AACpB,gBAAQ,SAAS,QAAQ,MAAM,KAAK;AAAA,MACtC,WAAW,WAAW,qBAAqB;AACzC,gBAAQ,SAAS,OAAO,MAAM,GAAG,YAAY;AAC7C;AAAA,MACF,WAAW,WAAW,qBAAqB;AACzC,gBAAQ,SAAS,MAAM,MAAM,GAAG,YAAY;AAC5C;AAAA,MACF,OAAO;AACL,gBAAQ,SAAS,QAAQ,MAAM,GAAG,YAAY;AAAA,MAChD;AAAA,IACF;AAEA,QAAI,OAAO,MAAM,WAAW,iBAAiB;AAC3C,YAAM,UAAU,GAAG,KAAK,GAAG,OAAO,MAAM,WAAW,oCAAoC,KAAK,IAAI,mBAAmB;AACnH,cAAQ,IAAI,EAAE,OAAO,OAAO,QAAQ,CAAC;AAAA,IACvC,WAAW,OAAO,MAAM,WAAW,iBAAiB;AAClD,YAAM,UAAU,GAAG,KAAK,GAAG,OAAO,MAAM,WAAW,oCAAoC,KAAK,IAAI,mBAAmB;AACnH,cAAQ,IAAI,EAAE,OAAO,MAAM,QAAQ,CAAC;AAAA,IACtC;AAEA,QAAI,YAAY;AACd,YAAM,UAAU,GAAG,KAAK,UAAU,6CAA6C,KAAK,IAAI,uBAAuB;AAC/G,cAAQ,IAAI,EAAE,OAAO,OAAO,QAAQ,CAAC;AAAA,IACvC;AACA,QAAI,cAAc;AAChB,YAAM,UAAU,GAAG,KAAK,YAAY,6CAA6C,KAAK,IAAI,uBAAuB;AACjH,cAAQ,IAAI,EAAE,OAAO,MAAM,QAAQ,CAAC;AAAA,IACtC;AAGA,QAAI,KAAK,SAAS,aAAa;AAAM,aAAO,QAAQ,KAAK,KAAK;AAG9D,UAAM,YAAY,QAAQ,QAAQ,KAAK,SAAS,SAAS;AACzD,UAAM,UAAU,MAAM,QAAQ,SAAS;AAGvC,UAAM,OAAO,IAAI,KAAK,EAAE,YAAY;AACpC,UAAM,aAAa;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAGA,UAAM,QAAQ,MAAM,eAAe,KAAK,UAAU,EAAE,GAAG,QAAQ,YAAY,KAAK,CAAC,CAAC;AAGlF,UAAM,QAAQ,MAAM,cAAc,IAAI;AAGtC,UAAM,UAA0C,CAAC;AACjD,eAAW,CAAE,KAAK,GAAI,KAAK,MAAM,aAAa,GAAG;AAC/C,cAAQ,OAAO,OAAO,QAAQ;AAAA,IAChC;AAEA,UAAM,OAA4B,CAAC;AACnC,eAAW,YAAY,OAAO,KAAK,OAAO,GAAG;AAC3C,YAAM,cAAc,SAAS,MAAM,GAAG;AACtC,YAAM,OAAO,YAAY,IAAI;AAE7B,UAAI,OAAO;AACX,iBAAW,OAAO,aAAa;AAC7B,eAAO,KAAK,OAAO,KAAK,QAAQ,CAAC;AAAA,MACnC;AAEA,WAAK,QAAQ;AAAA,IACf;AAEA,UAAM,QAAQ,KAAK,UAAU,EAAE,GAAG,QAAQ,SAAS,YAAY,MAAM,KAAK,CAAC;AAC3E,UAAM,QAAQ,MAAM,aAAa,GAAG,gBAAgB,SAAS;AAG7D,YAAQ,KAAK,KAAK;AAGlB,WAAO,QAAQ,MAAM;AAAA,EACvB;AACF,CAAC;",
5
- "names": []
6
- }
@@ -1,91 +0,0 @@
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_failure = require("../../failure.cjs");
29
- var import_log = require("../../log.cjs");
30
- var import_paths = require("../../paths.cjs");
31
- var import_asyncfs = require("../../utils/asyncfs.cjs");
32
- var ESLint = class {
33
- _options;
34
- constructor(arg = {}) {
35
- this._options = typeof arg === "string" ? { configFile: arg } : arg;
36
- }
37
- async pipe(files, context) {
38
- const { directory, configFile } = this._options;
39
- const cwd = directory ? context.resolve(directory) : (0, import_paths.getCurrentWorkingDirectory)();
40
- (0, import_assert.assert)((0, import_paths.resolveDirectory)(cwd), `ESLint directory ${(0, import_log.$p)(cwd)} does not exist`);
41
- const overrideConfigFile = configFile ? context.resolve(configFile) : void 0;
42
- if (overrideConfigFile) {
43
- (0, import_assert.assert)((0, import_paths.resolveFile)(overrideConfigFile), `ESLint configuration ${(0, import_log.$p)(overrideConfigFile)} does not exist`);
44
- }
45
- const eslint = new import_eslint.ESLint({ overrideConfigFile, cwd });
46
- const paths = [...files.absolutePaths()];
47
- const promises = paths.map(async (filePath) => {
48
- const code = await (0, import_asyncfs.readFile)(filePath, "utf-8");
49
- return eslint.lintText(code, { filePath });
50
- });
51
- const settlements = await Promise.allSettled(promises);
52
- const summary = settlements.reduce((summary2, settlement, i) => {
53
- if (settlement.status === "rejected") {
54
- context.log.error("Error linting", (0, import_log.$p)(paths[i]), settlement.reason);
55
- summary2.failures++;
56
- return summary2;
57
- }
58
- summary2.results.push(...settlement.value);
59
- return summary2;
60
- }, {
61
- results: [],
62
- failures: 0
63
- });
64
- const { results, failures } = summary;
65
- if (failures)
66
- throw import_failure.BuildFailure.fail();
67
- const report = context.log.report("ESLint Report");
68
- for (const result of results) {
69
- const { filePath, source, messages } = result;
70
- const file = (0, import_paths.resolveAbsolutePath)((0, import_paths.getCurrentWorkingDirectory)(), filePath);
71
- for (const record of messages) {
72
- const {
73
- severity,
74
- message,
75
- ruleId: tags,
76
- line,
77
- column,
78
- endLine = line,
79
- endColumn = column + 1
80
- } = record;
81
- const level = severity === 0 ? import_log.NOTICE : severity === 1 ? import_log.WARN : import_log.ERROR;
82
- const length = endLine === line ? endColumn - column : endLine > line ? -1 : 1;
83
- report.add({ level, message, tags, line, column, length, file, source });
84
- }
85
- }
86
- report.done(this._options.showSources);
87
- }
88
- };
89
- // Annotate the CommonJS export names for ESM import in node:
90
- 0 && (module.exports = {});
91
- //# sourceMappingURL=runner.cjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/plugs/eslint/runner.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAqC;AAErC,oBAAuB;AACvB,qBAA6B;AAC7B,iBAAwC;AACxC,mBAA+F;AAC/F,qBAAyB;AAOzB,IAAqB,SAArB,MAAkD;AAAA,EAC/B;AAAA,EAGjB,YAAY,MAA8B,CAAC,GAAG;AAC5C,SAAK,WAAW,OAAO,QAAQ,WAAW,EAAE,YAAY,IAAI,IAAI;AAAA,EAClE;AAAA,EAEA,MAAM,KAAK,OAAc,SAAiC;AACxD,UAAM,EAAE,WAAW,WAAW,IAAI,KAAK;AAEvC,UAAM,MAAM,YAAY,QAAQ,QAAQ,SAAS,QAAI,yCAA2B;AAChF,kCAAO,+BAAiB,GAAG,GAAG,wBAAoB,eAAG,GAAG,kBAAkB;AAE1E,UAAM,qBAAqB,aAAa,QAAQ,QAAQ,UAAU,IAAI;AACtE,QAAI,oBAAoB;AACtB,oCAAO,0BAAY,kBAAkB,GAAG,4BAAwB,eAAG,kBAAkB,kBAAkB;AAAA,IACzG;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,gBAAQ,IAAI,MAAM,qBAAiB,eAAG,MAAM,EAAE,GAAG,WAAW,MAAM;AAClE,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,YAAM,4BAAa,KAAK;AAGtC,UAAM,SAAS,QAAQ,IAAI,OAAO,eAAe;AAGjD,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;AAAA,EACvC;AACF;",
5
- "names": ["RealESLint", "summary"]
6
- }
@@ -1,8 +0,0 @@
1
- import type { Files } from '../../files';
2
- import type { Context, PipeParameters, Plug } from '../../pipe';
3
- /** Runner implementation for the `ESLint` plug. */
4
- export default class ESLint implements Plug<void> {
5
- private readonly _options;
6
- constructor(...arg: PipeParameters<'eslint'>);
7
- pipe(files: Files, context: Context): Promise<void>;
8
- }
@@ -1,68 +0,0 @@
1
- // plugs/eslint/runner.ts
2
- import { ESLint as RealESLint } from "eslint";
3
- import { assert } from "../../assert.mjs";
4
- import { BuildFailure } from "../../failure.mjs";
5
- import { $p, ERROR, NOTICE, WARN } from "../../log.mjs";
6
- import { getCurrentWorkingDirectory, resolveAbsolutePath, resolveDirectory, resolveFile } from "../../paths.mjs";
7
- import { readFile } from "../../utils/asyncfs.mjs";
8
- var ESLint = class {
9
- _options;
10
- constructor(arg = {}) {
11
- this._options = typeof arg === "string" ? { configFile: arg } : arg;
12
- }
13
- async pipe(files, context) {
14
- const { directory, configFile } = this._options;
15
- const cwd = directory ? context.resolve(directory) : getCurrentWorkingDirectory();
16
- assert(resolveDirectory(cwd), `ESLint directory ${$p(cwd)} does not exist`);
17
- const overrideConfigFile = configFile ? context.resolve(configFile) : void 0;
18
- if (overrideConfigFile) {
19
- assert(resolveFile(overrideConfigFile), `ESLint configuration ${$p(overrideConfigFile)} does not exist`);
20
- }
21
- const eslint = new RealESLint({ overrideConfigFile, cwd });
22
- const paths = [...files.absolutePaths()];
23
- const promises = paths.map(async (filePath) => {
24
- const code = await readFile(filePath, "utf-8");
25
- return eslint.lintText(code, { filePath });
26
- });
27
- const settlements = await Promise.allSettled(promises);
28
- const summary = settlements.reduce((summary2, settlement, i) => {
29
- if (settlement.status === "rejected") {
30
- context.log.error("Error linting", $p(paths[i]), settlement.reason);
31
- summary2.failures++;
32
- return summary2;
33
- }
34
- summary2.results.push(...settlement.value);
35
- return summary2;
36
- }, {
37
- results: [],
38
- failures: 0
39
- });
40
- const { results, failures } = summary;
41
- if (failures)
42
- throw BuildFailure.fail();
43
- const report = context.log.report("ESLint Report");
44
- for (const result of results) {
45
- const { filePath, source, messages } = result;
46
- const file = resolveAbsolutePath(getCurrentWorkingDirectory(), filePath);
47
- for (const record of messages) {
48
- const {
49
- severity,
50
- message,
51
- ruleId: tags,
52
- line,
53
- column,
54
- endLine = line,
55
- endColumn = column + 1
56
- } = record;
57
- const level = severity === 0 ? NOTICE : severity === 1 ? WARN : ERROR;
58
- const length = endLine === line ? endColumn - column : endLine > line ? -1 : 1;
59
- report.add({ level, message, tags, line, column, length, file, source });
60
- }
61
- }
62
- report.done(this._options.showSources);
63
- }
64
- };
65
- export {
66
- ESLint as default
67
- };
68
- //# sourceMappingURL=runner.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/plugs/eslint/runner.ts"],
4
- "mappings": ";AAAA,SAAS,UAAU,kBAAkB;AAErC,SAAS,cAAc;AACvB,SAAS,oBAAoB;AAC7B,SAAS,IAAI,OAAO,QAAQ,YAAY;AACxC,SAAS,4BAA4B,qBAAqB,kBAAkB,mBAAmB;AAC/F,SAAS,gBAAgB;AAOzB,IAAqB,SAArB,MAAkD;AAAA,EAC/B;AAAA,EAGjB,YAAY,MAA8B,CAAC,GAAG;AAC5C,SAAK,WAAW,OAAO,QAAQ,WAAW,EAAE,YAAY,IAAI,IAAI;AAAA,EAClE;AAAA,EAEA,MAAM,KAAK,OAAc,SAAiC;AACxD,UAAM,EAAE,WAAW,WAAW,IAAI,KAAK;AAEvC,UAAM,MAAM,YAAY,QAAQ,QAAQ,SAAS,IAAI,2BAA2B;AAChF,WAAO,iBAAiB,GAAG,GAAG,oBAAoB,GAAG,GAAG,kBAAkB;AAE1E,UAAM,qBAAqB,aAAa,QAAQ,QAAQ,UAAU,IAAI;AACtE,QAAI,oBAAoB;AACtB,aAAO,YAAY,kBAAkB,GAAG,wBAAwB,GAAG,kBAAkB,kBAAkB;AAAA,IACzG;AAGA,UAAM,SAAS,IAAI,WAAW,EAAE,oBAAoB,IAAI,CAAC;AAGzD,UAAM,QAAQ,CAAE,GAAG,MAAM,cAAc,CAAE;AACzC,UAAM,WAAW,MAAM,IAAI,OAAO,aAAa;AAC7C,YAAM,OAAO,MAAM,SAAS,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,CAACA,UAAS,YAAY,MAAM;AAE7D,UAAI,WAAW,WAAW,YAAY;AACpC,gBAAQ,IAAI,MAAM,iBAAiB,GAAG,MAAM,EAAE,GAAG,WAAW,MAAM;AAClE,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,YAAM,aAAa,KAAK;AAGtC,UAAM,SAAS,QAAQ,IAAI,OAAO,eAAe;AAGjD,eAAW,UAAU,SAAS;AAC5B,YAAM,EAAE,UAAU,QAAQ,SAAS,IAAI;AACvC,YAAM,OAAO,oBAAoB,2BAA2B,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,SAAS,aAAa,IAAI,OAAO;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;AAAA,EACvC;AACF;",
5
- "names": ["summary"]
6
- }
@@ -1,22 +0,0 @@
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 __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
-
16
- // plugs/eslint.ts
17
- var eslint_exports = {};
18
- module.exports = __toCommonJS(eslint_exports);
19
- var import_fork = require("../fork.cjs");
20
- var import_paths = require("../paths.cjs");
21
- (0, import_fork.installForking)("eslint", (0, import_paths.requireResolve)(__filename, "./eslint/runner"));
22
- //# sourceMappingURL=eslint.cjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugs/eslint.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,kBAA+B;AAC/B,mBAA+B;AAAA,IAwC/B,4BAAe,cAAU,6BAAe,YAAW,iBAAiB,CAAC;",
5
- "names": []
6
- }
@@ -1,34 +0,0 @@
1
- export interface ESLintOptions {
2
- /** ESLint's own _current working directory_, where config files are. */
3
- directory?: string;
4
- /** Show sources in report? */
5
- showSources?: boolean;
6
- /**
7
- * ESLint's _override_ configuration file: configurations specified in this
8
- * file will override any other configuration specified elsewhere.
9
- */
10
- configFile?: string;
11
- }
12
- declare module '../pipe' {
13
- interface Pipe {
14
- /**
15
- * Run {@link https://eslint.org/ _ESlint_} over the input source files,
16
- * using the configuration from the local `.eslintrc.*` file.
17
- */
18
- eslint(): Promise<undefined>;
19
- /**
20
- * Run {@link https://eslint.org/ _ESlint_} over the input source files,
21
- * using the configuration from the specified `configFile` (this wil
22
- * override any `.eslintrc.*` file).
23
- *
24
- * @param configFile The configuration file to use
25
- */
26
- eslint(configFile: string): Promise<undefined>;
27
- /**
28
- * Run {@link https://eslint.org/ _ESlint_} over the input source files..
29
- *
30
- * @param options {@link ESLintOptions | Options} to pass to _ESLint_
31
- */
32
- eslint(options: ESLintOptions): Promise<undefined>;
33
- }
34
- }
@@ -1,5 +0,0 @@
1
- // plugs/eslint.ts
2
- import { installForking } from "../fork.mjs";
3
- import { requireResolve } from "../paths.mjs";
4
- installForking("eslint", requireResolve(import.meta.url, "./eslint/runner"));
5
- //# sourceMappingURL=eslint.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugs/eslint.ts"],
4
- "mappings": ";AAAA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAwC/B,eAAe,UAAU,eAAe,iBAAW,iBAAiB,CAAC;",
5
- "names": []
6
- }
@@ -1,159 +0,0 @@
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/mocha/reporter.ts
27
- var reporter_exports = {};
28
- __export(reporter_exports, {
29
- PlugReporter: () => PlugReporter,
30
- logSymbol: () => logSymbol
31
- });
32
- module.exports = __toCommonJS(reporter_exports);
33
- var import_diff = require("diff");
34
- var import_mocha = __toESM(require("mocha"));
35
- var import_log = require("../../log.cjs");
36
- var _pending = "\u22EF";
37
- var _success = "\u2714";
38
- var _failure = "\u2718";
39
- var _details = "\u21B3";
40
- var logSymbol = Symbol();
41
- var PlugReporter = class extends import_mocha.default.reporters.Base {
42
- constructor(runner, options) {
43
- super(runner, options);
44
- const showDiff = !!options.diff;
45
- const log = options.reporterOptions[logSymbol];
46
- const failures = [];
47
- const rootSuite = runner.suite;
48
- let slow = 0;
49
- runner.on("suite", (suite) => {
50
- if (suite === rootSuite)
51
- return;
52
- log.notice("");
53
- log.enter(import_log.NOTICE, `${(0, import_log.$wht)(suite.title)}`);
54
- });
55
- runner.on("suite end", () => {
56
- log.leave();
57
- });
58
- runner.on("fail", (test) => {
59
- if (test.type === "hook") {
60
- const number = failures.push(test);
61
- const tag = (0, import_log.$gry)("[") + (0, import_log.$red)("failed") + (0, import_log.$gry)("] [") + (0, import_log.$red)(number) + (0, import_log.$gry)("]");
62
- log.error(`${(0, import_log.$red)(_failure)} ${test.title} ${tag}`);
63
- }
64
- });
65
- runner.on("test", (test) => {
66
- test.__plugjs__entered = true;
67
- log.enter(import_log.NOTICE, `${(0, import_log.$blu)(_pending)} ${test.title}`);
68
- });
69
- runner.on("pending", (test) => {
70
- if (test.__plugjs__entered === true)
71
- return;
72
- log.enter(import_log.NOTICE, `${(0, import_log.$blu)(_pending)} ${test.title}`);
73
- });
74
- runner.on("test end", (test) => {
75
- if (test.isPassed()) {
76
- const duration = test.duration || 0;
77
- if (duration < test.slow()) {
78
- log.leave(import_log.NOTICE, `${(0, import_log.$grn)(_success)} ${test.title}`);
79
- } else {
80
- log.leave(import_log.WARN, `${(0, import_log.$ylw)(_success)} ${test.title} ${(0, import_log.$ms)(duration, "slow")}`);
81
- slow++;
82
- }
83
- } else if (test.isPending()) {
84
- const tag = (0, import_log.$gry)("[") + (0, import_log.$ylw)("skipped") + (0, import_log.$gry)("]");
85
- log.leave(import_log.WARN, `${(0, import_log.$ylw)(_pending)} ${test.title} ${tag}`);
86
- } else if (test.isFailed()) {
87
- const number = failures.push(test);
88
- const tag = (0, import_log.$gry)("[") + (0, import_log.$red)("failed") + (0, import_log.$gry)("] [") + (0, import_log.$red)(number) + (0, import_log.$gry)("]");
89
- log.leave(import_log.ERROR, `${(0, import_log.$red)(_failure)} ${test.title} ${tag}`);
90
- }
91
- });
92
- runner.once("end", () => {
93
- try {
94
- for (let i = 0; i < failures.length; i++) {
95
- log.notice("");
96
- const failure = failures[i];
97
- const titles = [failure.title];
98
- for (let parent = failure.parent; parent; parent = parent == null ? void 0 : parent.parent) {
99
- if (parent.parent)
100
- titles.unshift(parent.title);
101
- }
102
- log.error(`${(0, import_log.$gry)("Failure [")}${(0, import_log.$red)(i + 1)}${(0, import_log.$gry)("]")}`);
103
- titles.forEach((title, indent) => {
104
- log.error(` ${"".padStart(indent * 4)}${(0, import_log.$gry)(_details)} ${(0, import_log.$wht)(title)}`);
105
- });
106
- if (failure.err) {
107
- const message = `${failure.err}`;
108
- const messageOrStack = failure.err.stack || `${failure.err}`;
109
- const messageIndex = messageOrStack.indexOf(message);
110
- const stack = messageOrStack === message ? "" : messageIndex < 0 ? messageOrStack : messageOrStack.substring(messageIndex + message.length);
111
- const stackLines = stack.split("\n").map((line) => line.trim()).filter((line) => !!line);
112
- log.enter(import_log.ERROR, "");
113
- log.error((0, import_log.$red)(message));
114
- if (showDiff && "actual" in failure.err && "expected" in failure.err) {
115
- const err = failure.err;
116
- const actual = err.actual === void 0 ? "[undefined]" : err.actual === null ? "[null]" : err.actual;
117
- const expected = err.expected === void 0 ? "[undefined]" : err.expected === null ? "[null]" : err.expected;
118
- const changes = (0, import_diff.diffJson)(actual, expected);
119
- const diff = changes.map((change) => {
120
- if (change.removed)
121
- return (0, import_log.$red)(change.value);
122
- if (change.added)
123
- return (0, import_log.$grn)(change.value);
124
- return (0, import_log.$gry)(change.value);
125
- }).join("");
126
- log.enter(import_log.ERROR, `${(0, import_log.$gry)("diff")} ${(0, import_log.$grn)("expected")} ${(0, import_log.$gry)("/")} ${(0, import_log.$red)("actual")}`);
127
- log.error(diff);
128
- log.leave();
129
- }
130
- stackLines.forEach((line) => log.error(line));
131
- log.leave();
132
- }
133
- }
134
- if (runner.stats) {
135
- log.notice("");
136
- const { passes, pending, failures: failures2, duration = 0 } = runner.stats;
137
- const fmt = (n) => n === 1 ? `${n} test` : `${n} tests`;
138
- if (passes)
139
- log.notice((0, import_log.$grn)(fmt(passes)), "passing", (0, import_log.$ms)(duration));
140
- if (slow)
141
- log.warn((0, import_log.$ylw)(fmt(slow)), "slow");
142
- if (pending)
143
- log.warn((0, import_log.$ylw)(fmt(pending)), "pending");
144
- if (failures2)
145
- log.error((0, import_log.$red)(fmt(failures2)), "failed");
146
- }
147
- log.notice("");
148
- } catch (error) {
149
- log.error("Error rendering Mocha report", error);
150
- }
151
- });
152
- }
153
- };
154
- // Annotate the CommonJS export names for ESM import in node:
155
- 0 && (module.exports = {
156
- PlugReporter,
157
- logSymbol
158
- });
159
- //# sourceMappingURL=reporter.cjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/plugs/mocha/reporter.ts"],
4
- "mappings": "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",
5
- "names": ["RealMocha", "failures"]
6
- }
@@ -1,6 +0,0 @@
1
- import RealMocha from 'mocha';
2
- /** Symbol to inject `Logger` in reporter options */
3
- export declare const logSymbol: unique symbol;
4
- export declare class PlugReporter extends RealMocha.reporters.Base {
5
- constructor(runner: RealMocha.Runner, options: RealMocha.MochaOptions);
6
- }