eslint-interactive 13.0.1 → 14.0.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 (111) hide show
  1. package/README.md +19 -10
  2. package/dist/action/convert-error-to-warning-per-file.d.ts +2 -4
  3. package/dist/action/convert-error-to-warning-per-file.d.ts.map +1 -1
  4. package/dist/action/convert-error-to-warning-per-file.js +2 -2
  5. package/dist/action/convert-error-to-warning-per-file.js.map +1 -1
  6. package/dist/action/disable-per-file.d.ts +2 -4
  7. package/dist/action/disable-per-file.d.ts.map +1 -1
  8. package/dist/action/disable-per-file.js +2 -2
  9. package/dist/action/disable-per-file.js.map +1 -1
  10. package/dist/action/disable-per-line.d.ts +2 -4
  11. package/dist/action/disable-per-line.d.ts.map +1 -1
  12. package/dist/action/disable-per-line.js +2 -2
  13. package/dist/action/disable-per-line.js.map +1 -1
  14. package/dist/action/fix.d.ts +2 -4
  15. package/dist/action/fix.d.ts.map +1 -1
  16. package/dist/action/fix.js +2 -2
  17. package/dist/action/fix.js.map +1 -1
  18. package/dist/action/print-result-details.d.ts +2 -3
  19. package/dist/action/print-result-details.d.ts.map +1 -1
  20. package/dist/action/print-result-details.js +3 -2
  21. package/dist/action/print-result-details.js.map +1 -1
  22. package/dist/cli/log.d.ts +1 -0
  23. package/dist/cli/log.d.ts.map +1 -1
  24. package/dist/cli/log.js +25 -0
  25. package/dist/cli/log.js.map +1 -1
  26. package/dist/cli/parse-argv.d.ts.map +1 -1
  27. package/dist/cli/parse-argv.js +31 -10
  28. package/dist/cli/parse-argv.js.map +1 -1
  29. package/dist/cli/prompt.d.ts.map +1 -1
  30. package/dist/cli/prompt.js +53 -91
  31. package/dist/cli/prompt.js.map +1 -1
  32. package/dist/cli/run.d.ts +1 -3
  33. package/dist/cli/run.d.ts.map +1 -1
  34. package/dist/cli/run.js +3 -27
  35. package/dist/cli/run.js.map +1 -1
  36. package/dist/core.d.ts +2 -2
  37. package/dist/core.d.ts.map +1 -1
  38. package/dist/core.js +10 -7
  39. package/dist/core.js.map +1 -1
  40. package/dist/fix/disable-per-file.d.ts +1 -1
  41. package/dist/fix/disable-per-file.d.ts.map +1 -1
  42. package/dist/fix/disable-per-line.d.ts +1 -1
  43. package/dist/fix/disable-per-line.d.ts.map +1 -1
  44. package/dist/formatter/filter-rule-statistics.d.ts +9 -0
  45. package/dist/formatter/filter-rule-statistics.d.ts.map +1 -0
  46. package/dist/formatter/filter-rule-statistics.js +22 -0
  47. package/dist/formatter/filter-rule-statistics.js.map +1 -0
  48. package/dist/formatter/format-by-rules.d.ts +4 -3
  49. package/dist/formatter/format-by-rules.d.ts.map +1 -1
  50. package/dist/formatter/format-by-rules.js +7 -5
  51. package/dist/formatter/format-by-rules.js.map +1 -1
  52. package/dist/formatter/index.d.ts +3 -2
  53. package/dist/formatter/index.d.ts.map +1 -1
  54. package/dist/formatter/index.js +3 -2
  55. package/dist/formatter/index.js.map +1 -1
  56. package/dist/index.d.ts +1 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/scene/check-results.d.ts.map +1 -1
  60. package/dist/scene/check-results.js +2 -5
  61. package/dist/scene/check-results.js.map +1 -1
  62. package/dist/scene/lint.d.ts +2 -3
  63. package/dist/scene/lint.d.ts.map +1 -1
  64. package/dist/scene/lint.js +13 -9
  65. package/dist/scene/lint.js.map +1 -1
  66. package/dist/scene/select-action.d.ts +2 -3
  67. package/dist/scene/select-action.d.ts.map +1 -1
  68. package/dist/scene/select-action.js.map +1 -1
  69. package/dist/scene/select-rule-ids.d.ts +2 -3
  70. package/dist/scene/select-rule-ids.d.ts.map +1 -1
  71. package/dist/scene/select-rule-ids.js.map +1 -1
  72. package/dist/type.d.ts +2 -0
  73. package/dist/type.d.ts.map +1 -1
  74. package/dist/util/terminal-link.d.ts +2 -0
  75. package/dist/util/terminal-link.d.ts.map +1 -0
  76. package/dist/util/terminal-link.js +16 -0
  77. package/dist/util/terminal-link.js.map +1 -0
  78. package/package.json +5 -6
  79. package/src/action/convert-error-to-warning-per-file.ts +4 -6
  80. package/src/action/disable-per-file.ts +4 -6
  81. package/src/action/disable-per-line.ts +4 -6
  82. package/src/action/fix.ts +4 -10
  83. package/src/action/print-result-details.ts +5 -9
  84. package/src/cli/log.ts +25 -0
  85. package/src/cli/parse-argv.ts +32 -11
  86. package/src/cli/prompt.ts +56 -92
  87. package/src/cli/run.ts +3 -29
  88. package/src/core.ts +13 -6
  89. package/src/fix/disable-per-file.ts +1 -1
  90. package/src/fix/disable-per-line.ts +1 -1
  91. package/src/formatter/filter-rule-statistics.ts +27 -0
  92. package/src/formatter/format-by-rules.ts +10 -7
  93. package/src/formatter/index.ts +4 -3
  94. package/src/index.ts +1 -1
  95. package/src/scene/check-results.ts +2 -5
  96. package/src/scene/lint.ts +14 -12
  97. package/src/scene/select-action.ts +2 -4
  98. package/src/scene/select-rule-ids.ts +2 -6
  99. package/src/type.ts +2 -0
  100. package/src/util/terminal-link.ts +16 -0
  101. package/dist/cli/spinner.d.ts +0 -4
  102. package/dist/cli/spinner.d.ts.map +0 -1
  103. package/dist/cli/spinner.js +0 -20
  104. package/dist/cli/spinner.js.map +0 -1
  105. package/dist/core-worker.d.ts +0 -21
  106. package/dist/core-worker.d.ts.map +0 -1
  107. package/dist/core-worker.js +0 -47
  108. package/dist/core-worker.js.map +0 -1
  109. package/src/cli/spinner.ts +0 -22
  110. package/src/core-worker.ts +0 -55
  111. package/src/typings/enquirer.d.ts +0 -7
@@ -1,32 +1,24 @@
1
1
  /* istanbul ignore file */
2
- import enquirer from 'enquirer';
2
+ import { isCancel, multiselect, select, text } from '@clack/prompts';
3
3
  import { takeRuleStatistics } from '../formatter/index.js';
4
- const { prompt } = enquirer;
5
- // When combined with worker, for some reason the enquirer grabs the SIGINT and the process continues to survive.
6
- // Therefore, the process is explicitly terminated.
7
- // eslint-disable-next-line n/no-process-exit
8
- const onCancel = () => process.exit();
4
+ function exitIfCancel(value) {
5
+ if (isCancel(value)) {
6
+ // eslint-disable-next-line n/no-process-exit
7
+ process.exit();
8
+ }
9
+ return value;
10
+ }
9
11
  /**
10
12
  * Ask the user for the rule ids to which they want to apply the action.
11
13
  * @param ruleIdsInResults The rule ids that are in the lint results.
12
14
  * @returns The rule ids
13
15
  */
14
16
  export async function promptToInputRuleIds(ruleIdsInResults) {
15
- const { ruleIds } = await prompt([
16
- {
17
- name: 'ruleIds',
18
- type: 'multiselect',
19
- message: 'Which rules would you like to apply action?',
20
- // @ts-expect-error
21
- hint: 'Select all you want with <space> key.',
22
- choices: ruleIdsInResults,
23
- validate(value) {
24
- return value.length === 0 ? `Select at least one rule with <space> key.` : true;
25
- },
26
- onCancel,
27
- },
28
- ]);
29
- return ruleIds;
17
+ return exitIfCancel(await multiselect({
18
+ message: 'Which rules would you like to apply action?',
19
+ options: ruleIdsInResults.map((ruleId) => ({ value: ruleId })),
20
+ required: true,
21
+ }));
30
22
  }
31
23
  /**
32
24
  * Ask the user what action they want to perform.
@@ -37,99 +29,69 @@ export async function promptToInputAction(results, selectedRuleIds, initialActio
37
29
  const foldedStatistics = ruleStatistics.reduce((a, b) => ({
38
30
  isFixableCount: a.isFixableCount + b.isFixableCount,
39
31
  }), { isFixableCount: 0 });
40
- const choices = [
41
- { name: 'printResultDetails', message: '🔎 Display details of lint results' },
42
- { name: 'applyAutoFixes', message: '🔧 Run `eslint --fix`', disabled: foldedStatistics.isFixableCount === 0 },
43
- { name: 'disablePerLine', message: '🔧 Disable per line' },
44
- { name: 'disablePerFile', message: '🔧 Disable per file' },
45
- { name: 'convertErrorToWarningPerFile', message: '🔧 Convert error to warning per file' },
46
- { name: 'relintAndReselectRules', message: '↩️ Go back (with re-lint)' },
47
- { name: 'reselectRules', message: '↩️ Go back' },
48
- ];
49
- const { action } = await prompt([
50
- {
51
- name: 'action',
52
- type: 'select',
53
- message: 'Which action do you want to do?',
54
- choices,
55
- initial: choices.findIndex((choice) => choice.name === initialAction) ?? 0,
56
- onCancel,
57
- },
58
- ]);
59
- return action;
32
+ return exitIfCancel(await select({
33
+ message: 'Which action do you want to do?',
34
+ options: [
35
+ { value: 'printResultDetails', label: '🔎 Display details of lint results' },
36
+ { value: 'applyAutoFixes', label: '🔧 Run `eslint --fix`', disabled: foldedStatistics.isFixableCount === 0 },
37
+ { value: 'disablePerLine', label: '🔧 Disable per line' },
38
+ { value: 'disablePerFile', label: '🔧 Disable per file' },
39
+ { value: 'convertErrorToWarningPerFile', label: '🔧 Convert error to warning per file' },
40
+ { value: 'relintAndReselectRules', label: '↩️ Go back (with re-lint)' },
41
+ { value: 'reselectRules', label: '↩️ Go back' },
42
+ ],
43
+ initialValue: initialAction,
44
+ }));
60
45
  }
61
46
  /**
62
47
  * Ask the user how to display the lint results.
63
48
  * @returns How to display
64
49
  */
65
50
  export async function promptToInputDisplayMode() {
66
- const { displayMode } = await prompt([
67
- {
68
- name: 'displayMode',
69
- type: 'select',
70
- message: 'In what way are the details displayed?',
71
- choices: [
72
- { name: 'printInTerminal', message: '🖨 Print in terminal' },
73
- { name: 'printInTerminalWithPager', message: '↕️ Print in terminal with pager' },
74
- { name: 'writeToFile', message: '📝 Write to file' },
75
- ],
76
- onCancel,
77
- },
78
- ]);
79
- return displayMode;
51
+ return exitIfCancel(await select({
52
+ message: 'In what way are the details displayed?',
53
+ options: [
54
+ { value: 'printInTerminal', label: '🖨 Print in terminal' },
55
+ { value: 'printInTerminalWithPager', label: '↕️ Print in terminal with pager' },
56
+ { value: 'writeToFile', label: '📝 Write to file' },
57
+ ],
58
+ }));
80
59
  }
81
60
  /**
82
61
  * Ask the user a description to leave in directive.
83
62
  * @returns The description
84
63
  */
85
64
  export async function promptToInputDescription() {
86
- const { description } = await prompt([
87
- {
88
- name: 'description',
89
- type: 'input',
90
- message: 'Leave a code comment with your reason for fixing (Optional)',
91
- onCancel,
92
- },
93
- ]);
94
- return description === '' ? undefined : description;
65
+ const description = exitIfCancel(await text({
66
+ message: 'Leave a code comment with your reason for fixing (Optional)',
67
+ }));
68
+ return description.trim() === '' ? undefined : description.trim();
95
69
  }
96
70
  /**
97
71
  * Ask the user a position of the description
98
72
  * @returns The description position
99
73
  */
100
74
  export async function promptToInputDescriptionPosition() {
101
- const { descriptionPosition } = await prompt([
102
- {
103
- name: 'descriptionPosition',
104
- type: 'select',
105
- message: 'Where would you like to position the code comment?',
106
- choices: [
107
- { name: 'sameLine', message: "Same Line - Place on the same line as the eslint's disable comment." },
108
- { name: 'previousLine', message: "Previous Line - Place on the line before the eslint's disable comment." },
109
- ],
110
- onCancel,
111
- },
112
- ]);
113
- return descriptionPosition;
75
+ return exitIfCancel(await select({
76
+ message: 'Where would you like to position the code comment?',
77
+ options: [
78
+ { value: 'sameLine', label: "Same Line - Place on the same line as the eslint's disable comment." },
79
+ { value: 'previousLine', label: "Previous Line - Place on the line before the eslint's disable comment." },
80
+ ],
81
+ }));
114
82
  }
115
83
  /**
116
84
  * Ask the user what to do next.
117
85
  * @returns What to do next.
118
86
  */
119
87
  export async function promptToInputWhatToDoNext() {
120
- const { nextStep } = await prompt([
121
- {
122
- name: 'nextStep',
123
- type: 'select',
124
- message: "What's the next step?",
125
- choices: [
126
- { name: 'fixOtherRules', message: '🔧 Fix other rules' },
127
- { name: 'undoTheFix', message: '↩️ Undo the fix' },
128
- { name: 'exit', message: '💚 Exit' },
129
- ],
130
- onCancel,
131
- },
132
- ]);
133
- return nextStep;
88
+ return exitIfCancel(await select({
89
+ message: "What's the next step?",
90
+ options: [
91
+ { value: 'fixOtherRules', label: '🔧 Fix other rules' },
92
+ { value: 'undoTheFix', label: '↩️ Undo the fix' },
93
+ { value: 'exit', label: '💚 Exit' },
94
+ ],
95
+ }));
134
96
  }
135
97
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/cli/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/cli/prompt.ts"],"names":[],"mappings":"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"}
package/dist/cli/run.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  export type Options = {
2
2
  argv: string[];
3
3
  };
4
- /**
5
- * Run eslint-interactive.
6
- */
4
+ /** Run eslint-interactive. */
7
5
  export declare function run(options: Options): Promise<void>;
8
6
  //# sourceMappingURL=run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE,OAAO,iBAsCzC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,8BAA8B;AAC9B,wBAAsB,GAAG,CAAC,OAAO,EAAE,OAAO,iBAoBzC"}
package/dist/cli/run.js CHANGED
@@ -1,33 +1,10 @@
1
- import { dirname, join } from 'node:path';
2
- import { fileURLToPath } from 'node:url';
3
- import { Worker } from 'node:worker_threads';
4
- import { wrap } from 'comlink';
5
- import nodeEndpoint from 'comlink/dist/esm/node-adapter.mjs';
6
- import terminalLink from 'terminal-link';
7
1
  import { parseArgv } from '../cli/parse-argv.js';
2
+ import { Core } from '../core.js';
8
3
  import { checkResults, lint, selectAction, selectRuleIds } from '../scene/index.js';
9
- /**
10
- * Run eslint-interactive.
11
- */
4
+ /** Run eslint-interactive. */
12
5
  export async function run(options) {
13
6
  const config = parseArgv(options.argv);
14
- // Directly executing the Core API will hog the main thread and halt the spinner.
15
- // So we wrap it with comlink and run it on the Worker.
16
- const worker = new Worker(join(dirname(fileURLToPath(import.meta.url)), '..', 'core-worker.js'), {
17
- env: {
18
- // In worker threads, stdin is recognized as noTTY. Therefore, `util.styleText` and `terminalLink` disable colors and links.
19
- // To work around this, we use environment variables to force colors and links to be enabled.
20
- // ref: https://github.com/nodejs/node/issues/26946
21
- FORCE_COLOR: process.stdin.isTTY ? '1' : '0',
22
- FORCE_HYPERLINK: terminalLink.isSupported ? '1' : '0',
23
- ...process.env,
24
- },
25
- // NOTE: Pass CLI options (--unhandled-rejections=strict, etc.) to the worker
26
- execArgv: process.execArgv,
27
- });
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
- const ProxiedCore = wrap(nodeEndpoint(worker));
30
- const core = await new ProxiedCore(config);
7
+ const core = new Core(config);
31
8
  let nextScene = { name: 'lint' };
32
9
  while (nextScene.name !== 'exit') {
33
10
  if (nextScene.name === 'lint') {
@@ -47,6 +24,5 @@ export async function run(options) {
47
24
  nextScene = await checkResults(nextScene.args);
48
25
  }
49
26
  }
50
- await worker.terminate();
51
27
  }
52
28
  //# sourceMappingURL=run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAC7D,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMpF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAgB;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,iFAAiF;IACjF,uDAAuD;IACvD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE;QAC/F,GAAG,EAAE;YACH,4HAA4H;YAC5H,6FAA6F;YAC7F,mDAAmD;YACnD,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YAC5C,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACrD,GAAG,OAAO,CAAC,GAAG;SACf;QACD,6EAA6E;QAC7E,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,8DAA8D;IAC9D,MAAM,WAAW,GAAG,IAAI,CAA2B,YAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,SAAS,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC5C,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,4CAA4C;YAC5C,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC9C,4CAA4C;YAC5C,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC7C,4CAA4C;YAC5C,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC7C,4CAA4C;YAC5C,SAAS,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMpF,8BAA8B;AAC9B,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAgB;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,IAAI,SAAS,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC5C,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,4CAA4C;YAC5C,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC9C,4CAA4C;YAC5C,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC7C,4CAA4C;YAC5C,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC7C,4CAA4C;YAC5C,SAAS,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC"}
package/dist/core.d.ts CHANGED
@@ -21,10 +21,10 @@ export declare class Core {
21
21
  */
22
22
  formatResultSummary(results: ESLint.LintResult[]): string;
23
23
  /**
24
- * Returns ruleIds from lint results, sorted according to the configured sort options.
24
+ * Returns ruleIds from lint results, filtered and sorted according to the configured options.
25
25
  * @param results The lint results of the project
26
26
  */
27
- getSortedRuleIdsInResults(results: ESLint.LintResult[]): string[];
27
+ getFilteredAndSortedRuleIds(results: ESLint.LintResult[]): string[];
28
28
  /**
29
29
  * Returns details of lint results.
30
30
  * @param results The lint results of the project to print summary
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAc,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAYjF,OAAO,KAAK,EAAE,MAAM,EAAwB,MAAM,WAAW,CAAC;AAe9D,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvC;;;GAGG;AACH,qBAAa,IAAI;;gBASH,MAAM,EAAE,MAAM;IA6B1B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAM1C;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,MAAM;IAKzD;;;OAGG;IACH,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,MAAM,EAAE;IAQjE;;;;OAIG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKpG;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF;;;;;;OAMG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,mBAAmB,GACxC,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;;;OAMG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,mBAAmB,GACxC,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;;OAKG;IACG,4BAA4B,CAChC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhH;;;;;OAKG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAInH;;;OAGG;YACW,GAAG;CA2BlB"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAc,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAYjF,OAAO,KAAK,EAAE,MAAM,EAAyC,MAAM,WAAW,CAAC;AAe/E,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvC;;;GAGG;AACH,qBAAa,IAAI;;gBAUH,MAAM,EAAE,MAAM;IA8B1B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAM1C;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,MAAM;IASzD;;;OAGG;IACH,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,MAAM,EAAE;IASnE;;;;OAIG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKpG;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF;;;;;;OAMG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,mBAAmB,GACxC,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;;;OAMG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,mBAAmB,GACxC,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;;OAKG;IACG,4BAA4B,CAChC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhH;;;;;OAKG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAInH;;;OAGG;YACW,GAAG;CA2BlB"}
package/dist/core.js CHANGED
@@ -9,11 +9,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _Core_cwd, _Core_patterns, _Core_quiet, _Core_formatterName, _Core_sort, _Core_sortOrder, _Core_eslint;
12
+ var _Core_cwd, _Core_patterns, _Core_quiet, _Core_formatterName, _Core_sort, _Core_sortOrder, _Core_filters, _Core_eslint;
13
13
  import { writeFile } from 'node:fs/promises';
14
14
  import { ESLint } from 'eslint';
15
15
  import { createFixToApplyAutoFixes, createFixToApplySuggestions, createFixToConvertErrorToWarningPerFile, createFixToDisablePerFile, createFixToDisablePerLine, createFixToMakeFixableAndFix, verifyAndFix, } from './fix/index.js';
16
- import { format, sortRuleStatistics, takeRuleStatistics } from './formatter/index.js';
16
+ import { filterRuleStatistics, format, sortRuleStatistics, takeRuleStatistics } from './formatter/index.js';
17
17
  import { plugin } from './plugin.js';
18
18
  import { filterResultsByRuleId } from './util/eslint.js';
19
19
  /**
@@ -39,6 +39,7 @@ export class Core {
39
39
  _Core_formatterName.set(this, void 0);
40
40
  _Core_sort.set(this, void 0);
41
41
  _Core_sortOrder.set(this, void 0);
42
+ _Core_filters.set(this, void 0);
42
43
  _Core_eslint.set(this, void 0);
43
44
  __classPrivateFieldSet(this, _Core_cwd, config.cwd ?? process.cwd(), "f");
44
45
  __classPrivateFieldSet(this, _Core_patterns, config.patterns, "f");
@@ -46,9 +47,10 @@ export class Core {
46
47
  __classPrivateFieldSet(this, _Core_formatterName, config.formatterName, "f");
47
48
  __classPrivateFieldSet(this, _Core_sort, config.sort, "f");
48
49
  __classPrivateFieldSet(this, _Core_sortOrder, config.sortOrder, "f");
50
+ __classPrivateFieldSet(this, _Core_filters, config.filters, "f");
49
51
  // NOTE: Passing an option that does not exist to `new ESLint(...)` will throw an error.
50
52
  // Therefore, only options supported by ESLint are extracted into the `eslintOptions` variable.
51
- const { formatterName, patterns, quiet, sort, sortOrder, ...eslintOptions } = config;
53
+ const { formatterName, patterns, quiet, sort, sortOrder, filters, ...eslintOptions } = config;
52
54
  const overrideConfigs = Array.isArray(eslintOptions.overrideConfig) ? eslintOptions.overrideConfig
53
55
  : eslintOptions.overrideConfig ? [eslintOptions.overrideConfig]
54
56
  : [];
@@ -81,14 +83,15 @@ export class Core {
81
83
  */
82
84
  formatResultSummary(results) {
83
85
  const rulesMeta = __classPrivateFieldGet(this, _Core_eslint, "f").getRulesMetaForResults(results);
84
- return format(results, { rulesMeta, cwd: __classPrivateFieldGet(this, _Core_cwd, "f") }, { sort: __classPrivateFieldGet(this, _Core_sort, "f"), sortOrder: __classPrivateFieldGet(this, _Core_sortOrder, "f") });
86
+ return format(results, { rulesMeta, cwd: __classPrivateFieldGet(this, _Core_cwd, "f") }, { sort: __classPrivateFieldGet(this, _Core_sort, "f"), sortOrder: __classPrivateFieldGet(this, _Core_sortOrder, "f"), filters: __classPrivateFieldGet(this, _Core_filters, "f") });
85
87
  }
86
88
  /**
87
- * Returns ruleIds from lint results, sorted according to the configured sort options.
89
+ * Returns ruleIds from lint results, filtered and sorted according to the configured options.
88
90
  * @param results The lint results of the project
89
91
  */
90
- getSortedRuleIdsInResults(results) {
92
+ getFilteredAndSortedRuleIds(results) {
91
93
  let ruleStatistics = takeRuleStatistics(results);
94
+ ruleStatistics = filterRuleStatistics(ruleStatistics, __classPrivateFieldGet(this, _Core_filters, "f"));
92
95
  if (__classPrivateFieldGet(this, _Core_sort, "f")) {
93
96
  ruleStatistics = sortRuleStatistics(ruleStatistics, __classPrivateFieldGet(this, _Core_sort, "f"), __classPrivateFieldGet(this, _Core_sortOrder, "f"));
94
97
  }
@@ -182,5 +185,5 @@ export class Core {
182
185
  };
183
186
  }
184
187
  }
185
- _Core_cwd = new WeakMap(), _Core_patterns = new WeakMap(), _Core_quiet = new WeakMap(), _Core_formatterName = new WeakMap(), _Core_sort = new WeakMap(), _Core_sortOrder = new WeakMap(), _Core_eslint = new WeakMap();
188
+ _Core_cwd = new WeakMap(), _Core_patterns = new WeakMap(), _Core_quiet = new WeakMap(), _Core_formatterName = new WeakMap(), _Core_sort = new WeakMap(), _Core_sortOrder = new WeakMap(), _Core_filters = new WeakMap(), _Core_eslint = new WeakMap();
186
189
  //# sourceMappingURL=core.js.map
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Rule } from 'eslint';
2
- import type { DescriptionPosition } from 'src/cli/prompt.js';
2
+ import type { DescriptionPosition } from '../cli/prompt.js';
3
3
  import type { FixContext } from './index.js';
4
4
  export type FixToDisablePerFileArgs = {
5
5
  description?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"disable-per-file.d.ts","sourceRoot":"","sources":["../../src/fix/disable-per-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAc7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACvD,CAAC;AAqEF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,CAIxG"}
1
+ {"version":3,"file":"disable-per-file.d.ts","sourceRoot":"","sources":["../../src/fix/disable-per-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAc5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACvD,CAAC;AAqEF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,CAIxG"}
@@ -1,5 +1,5 @@
1
1
  import type { Rule } from 'eslint';
2
- import type { DescriptionPosition } from 'src/cli/prompt.js';
2
+ import type { DescriptionPosition } from '../cli/prompt.js';
3
3
  import type { FixContext } from './index.js';
4
4
  export type FixToDisablePerLineArgs = {
5
5
  description?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"disable-per-line.d.ts","sourceRoot":"","sources":["../../src/fix/disable-per-line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,IAAI,EAAc,MAAM,QAAQ,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAe7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACvD,CAAC;AAiEF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,CAgBxG"}
1
+ {"version":3,"file":"disable-per-line.d.ts","sourceRoot":"","sources":["../../src/fix/disable-per-line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,IAAI,EAAc,MAAM,QAAQ,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAe5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACvD,CAAC;AAiEF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,CAgBxG"}
@@ -0,0 +1,9 @@
1
+ import type { FilterCriterion } from '../type.js';
2
+ import type { RuleStatistic } from './take-rule-statistics.js';
3
+ /**
4
+ * Filter rule statistics by the given criteria.
5
+ * Multiple criteria are OR-ed together; a statistic is kept if it matches any of them.
6
+ * When `criteria` is undefined or empty, the input is returned unchanged.
7
+ */
8
+ export declare function filterRuleStatistics(statistics: RuleStatistic[], criteria: readonly FilterCriterion[] | undefined): RuleStatistic[];
9
+ //# sourceMappingURL=filter-rule-statistics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-rule-statistics.d.ts","sourceRoot":"","sources":["../../src/formatter/filter-rule-statistics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAa/D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,aAAa,EAAE,EAC3B,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,GAC/C,aAAa,EAAE,CAGjB"}
@@ -0,0 +1,22 @@
1
+ import { unreachable } from '../util/type-check.js';
2
+ function matchesCriterion(statistic, criterion) {
3
+ switch (criterion) {
4
+ case 'fixable':
5
+ return statistic.isFixableCount > 0;
6
+ case 'has-suggestions':
7
+ return statistic.hasSuggestionsCount > 0;
8
+ default:
9
+ return unreachable(`Invalid filter criterion: ${criterion}`);
10
+ }
11
+ }
12
+ /**
13
+ * Filter rule statistics by the given criteria.
14
+ * Multiple criteria are OR-ed together; a statistic is kept if it matches any of them.
15
+ * When `criteria` is undefined or empty, the input is returned unchanged.
16
+ */
17
+ export function filterRuleStatistics(statistics, criteria) {
18
+ if (!criteria || criteria.length === 0)
19
+ return statistics;
20
+ return statistics.filter((statistic) => criteria.some((criterion) => matchesCriterion(statistic, criterion)));
21
+ }
22
+ //# sourceMappingURL=filter-rule-statistics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-rule-statistics.js","sourceRoot":"","sources":["../../src/formatter/filter-rule-statistics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,SAAS,gBAAgB,CAAC,SAAwB,EAAE,SAA0B;IAC5E,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;QACtC,KAAK,iBAAiB;YACpB,OAAO,SAAS,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC3C;YACE,OAAO,WAAW,CAAC,6BAA6B,SAAmB,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAA2B,EAC3B,QAAgD;IAEhD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1D,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAChH,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import type { ESLint } from 'eslint';
2
- import type { SortField, SortOrder } from '../type.js';
3
- export type FormatByRulesSortOptions = {
2
+ import type { FilterCriterion, SortField, SortOrder } from '../type.js';
3
+ export type FormatByRulesOptions = {
4
4
  sort?: SortField | undefined;
5
5
  sortOrder?: SortOrder | undefined;
6
+ filters?: FilterCriterion[] | undefined;
6
7
  };
7
- export declare function formatByRules(results: ESLint.LintResult[], data?: ESLint.LintResultData, sortOptions?: FormatByRulesSortOptions): string;
8
+ export declare function formatByRules(results: ESLint.LintResult[], data?: ESLint.LintResultData, options?: FormatByRulesOptions): string;
8
9
  //# sourceMappingURL=format-by-rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-by-rules.d.ts","sourceRoot":"","sources":["../../src/formatter/format-by-rules.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAgBvD,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACnC,CAAC;AAMF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,cAAc,EAC5B,WAAW,CAAC,EAAE,wBAAwB,GACrC,MAAM,CAmBR"}
1
+ {"version":3,"file":"format-by-rules.d.ts","sourceRoot":"","sources":["../../src/formatter/format-by-rules.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAkBxE,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;CACzC,CAAC;AAMF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,cAAc,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAoBR"}
@@ -1,7 +1,8 @@
1
1
  // eslint-disable-next-line n/no-unsupported-features/node-builtins
2
2
  import { styleText } from 'node:util';
3
- import terminalLink from 'terminal-link';
3
+ import { terminalLink } from '../util/terminal-link.js';
4
4
  import { ERROR_COLOR } from './colors.js';
5
+ import { filterRuleStatistics } from './filter-rule-statistics.js';
5
6
  import { formatTable } from './format-table.js';
6
7
  import { sortRuleStatistics } from './sort-rule-statistics.js';
7
8
  import { takeRuleStatistics } from './take-rule-statistics.js';
@@ -9,17 +10,18 @@ const headerRow = ['Rule', 'Error', 'Warning', 'is fixable', 'has suggestions'];
9
10
  function numCell(num) {
10
11
  return num > 0 ? styleText([ERROR_COLOR, 'bold'], num.toString()) : num.toString();
11
12
  }
12
- export function formatByRules(results, data, sortOptions) {
13
+ export function formatByRules(results, data, options) {
13
14
  let ruleStatistics = takeRuleStatistics(results);
14
- if (sortOptions?.sort) {
15
- ruleStatistics = sortRuleStatistics(ruleStatistics, sortOptions.sort, sortOptions.sortOrder);
15
+ ruleStatistics = filterRuleStatistics(ruleStatistics, options?.filters);
16
+ if (options?.sort) {
17
+ ruleStatistics = sortRuleStatistics(ruleStatistics, options.sort, options.sortOrder);
16
18
  }
17
19
  const rows = [];
18
20
  ruleStatistics.forEach((ruleStatistic) => {
19
21
  const { ruleId, errorCount, warningCount, isFixableCount, hasSuggestionsCount } = ruleStatistic;
20
22
  const ruleMetaData = data?.rulesMeta[ruleId];
21
23
  rows.push([
22
- ruleMetaData?.docs?.url ? terminalLink(ruleId, ruleMetaData?.docs.url, { fallback: false }) : ruleId,
24
+ ruleMetaData?.docs?.url ? terminalLink(ruleId, ruleMetaData?.docs.url) : ruleId,
23
25
  numCell(errorCount),
24
26
  numCell(warningCount),
25
27
  numCell(isFixableCount),
@@ -1 +1 @@
1
- {"version":3,"file":"format-by-rules.js","sourceRoot":"","sources":["../../src/formatter/format-by-rules.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAehF,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAA4B,EAC5B,IAA4B,EAC5B,WAAsC;IAEtC,IAAI,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,WAAW,EAAE,IAAI,EAAE,CAAC;QACtB,cAAc,GAAG,kBAAkB,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QACvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAG,aAAa,CAAC;QAChG,MAAM,YAAY,GAAG,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC;YACR,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;YACpG,OAAO,CAAC,UAAU,CAAC;YACnB,OAAO,CAAC,YAAY,CAAC;YACrB,OAAO,CAAC,cAAc,CAAC;YACvB,OAAO,CAAC,mBAAmB,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"format-by-rules.js","sourceRoot":"","sources":["../../src/formatter/format-by-rules.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAgBhF,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAA4B,EAC5B,IAA4B,EAC5B,OAA8B;IAE9B,IAAI,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjD,cAAc,GAAG,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,cAAc,GAAG,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QACvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAG,aAAa,CAAC;QAChG,MAAM,YAAY,GAAG,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC;YACR,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM;YAC/E,OAAO,CAAC,UAAU,CAAC;YACnB,OAAO,CAAC,YAAY,CAAC;YACrB,OAAO,CAAC,cAAc,CAAC;YACvB,OAAO,CAAC,mBAAmB,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { ESLint } from 'eslint';
2
- import { type FormatByRulesSortOptions } from './format-by-rules.js';
2
+ import { type FormatByRulesOptions } from './format-by-rules.js';
3
3
  export { takeRuleStatistics, type RuleStatistic } from './take-rule-statistics.js';
4
4
  export { sortRuleStatistics } from './sort-rule-statistics.js';
5
- export declare function format(results: ESLint.LintResult[], data?: ESLint.LintResultData, sortOptions?: FormatByRulesSortOptions): string;
5
+ export { filterRuleStatistics } from './filter-rule-statistics.js';
6
+ export declare function format(results: ESLint.LintResult[], data?: ESLint.LintResultData, options?: FormatByRulesOptions): string;
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/formatter/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAiB,KAAK,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,wBAAgB,MAAM,CACpB,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,cAAc,EAC5B,WAAW,CAAC,EAAE,wBAAwB,GACrC,MAAM,CAER"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/formatter/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,wBAAgB,MAAM,CACpB,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,cAAc,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAER"}
@@ -2,7 +2,8 @@ import { formatByFiles } from './format-by-files.js';
2
2
  import { formatByRules } from './format-by-rules.js';
3
3
  export { takeRuleStatistics } from './take-rule-statistics.js';
4
4
  export { sortRuleStatistics } from './sort-rule-statistics.js';
5
- export function format(results, data, sortOptions) {
6
- return `${formatByFiles(results)}\n${formatByRules(results, data, sortOptions)}`;
5
+ export { filterRuleStatistics } from './filter-rule-statistics.js';
6
+ export function format(results, data, options) {
7
+ return `${formatByFiles(results)}\n${formatByRules(results, data, options)}`;
7
8
  }
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/formatter/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAiC,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,kBAAkB,EAAsB,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,UAAU,MAAM,CACpB,OAA4B,EAC5B,IAA4B,EAC5B,WAAsC;IAEtC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/formatter/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAA6B,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAsB,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,UAAU,MAAM,CACpB,OAA4B,EAC5B,IAA4B,EAC5B,OAA8B;IAE9B,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;AAC/E,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { run, type Options } from './cli/run.js';
2
2
  export { Core } from './core.js';
3
- export { type SortField, type SortOrder, type Config } from './type.js';
3
+ export { type SortField, type SortOrder, type FilterCriterion, type Config } from './type.js';
4
4
  export { takeRuleStatistics, type RuleStatistic, sortRuleStatistics } from './formatter/index.js';
5
5
  export { type FixableMaker, type SuggestionFilter, type FixContext } from './fix/index.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAgB,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAA+C,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAsB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAA6D,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAgB,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAqE,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAsB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAA6D,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-results.d.ts","sourceRoot":"","sources":["../../src/scene/check-results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,0CAA0C;IAC1C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,oCAAoC;IACpC,IAAI,EAAE,IAAI,CAAC;IACX,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,wBAAsB,YAAY,CAAC,EACjC,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,IAAI,EACJ,cAAc,GACf,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAcvC"}
1
+ {"version":3,"file":"check-results.d.ts","sourceRoot":"","sources":["../../src/scene/check-results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,0CAA0C;IAC1C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,oCAAoC;IACpC,IAAI,EAAE,IAAI,CAAC;IACX,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,wBAAsB,YAAY,CAAC,EACjC,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,IAAI,EACJ,cAAc,GACf,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAWvC"}