eslint-interactive 11.0.0 → 11.0.2
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.
- package/dist/action/apply-suggestions.d.ts +6 -0
- package/dist/action/apply-suggestions.d.ts.map +1 -0
- package/dist/action/apply-suggestions.js +28 -0
- package/dist/action/apply-suggestions.js.map +1 -0
- package/dist/action/convert-error-to-warning-per-file.d.ts +6 -0
- package/dist/action/convert-error-to-warning-per-file.d.ts.map +1 -0
- package/dist/action/convert-error-to-warning-per-file.js +8 -0
- package/dist/action/convert-error-to-warning-per-file.js.map +1 -0
- package/dist/action/disable-per-file.d.ts +6 -0
- package/dist/action/disable-per-file.d.ts.map +1 -0
- package/dist/action/disable-per-file.js +12 -0
- package/dist/action/disable-per-file.js.map +1 -0
- package/dist/action/disable-per-line.d.ts +6 -0
- package/dist/action/disable-per-line.d.ts.map +1 -0
- package/dist/action/disable-per-line.js +12 -0
- package/dist/action/disable-per-line.js.map +1 -0
- package/dist/action/fix.d.ts +6 -0
- package/dist/action/fix.d.ts.map +1 -0
- package/dist/action/fix.js +6 -0
- package/dist/action/fix.js.map +1 -0
- package/dist/action/index.d.ts +8 -0
- package/dist/action/index.d.ts.map +1 -0
- package/dist/action/index.js +8 -0
- package/dist/action/index.js.map +1 -0
- package/dist/action/make-fixable-and-fix.d.ts +6 -0
- package/dist/action/make-fixable-and-fix.d.ts.map +1 -0
- package/dist/action/make-fixable-and-fix.js +28 -0
- package/dist/action/make-fixable-and-fix.js.map +1 -0
- package/dist/action/print-result-details.d.ts +5 -0
- package/dist/action/print-result-details.d.ts.map +1 -0
- package/dist/action/print-result-details.js +28 -0
- package/dist/action/print-result-details.js.map +1 -0
- package/dist/cli/log.d.ts +6 -0
- package/dist/cli/log.d.ts.map +1 -0
- package/dist/cli/log.js +9 -0
- package/dist/cli/log.js.map +1 -0
- package/dist/cli/ora.d.ts +4 -0
- package/dist/cli/ora.d.ts.map +1 -0
- package/dist/cli/ora.js +23 -0
- package/dist/cli/ora.js.map +1 -0
- package/dist/cli/package.d.ts +2 -0
- package/dist/cli/package.d.ts.map +1 -0
- package/dist/cli/package.js +6 -0
- package/dist/cli/package.js.map +1 -0
- package/dist/cli/pager.d.ts +2 -0
- package/dist/cli/pager.d.ts.map +1 -0
- package/dist/cli/pager.js +34 -0
- package/dist/cli/pager.js.map +1 -0
- package/dist/cli/parse-argv.d.ts +24 -0
- package/dist/cli/parse-argv.d.ts.map +1 -0
- package/dist/cli/parse-argv.js +102 -0
- package/dist/cli/parse-argv.js.map +1 -0
- package/dist/cli/prompt.d.ts +61 -0
- package/dist/cli/prompt.d.ts.map +1 -0
- package/dist/cli/prompt.js +176 -0
- package/dist/cli/prompt.js.map +1 -0
- package/dist/cli/run.d.ts +8 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +66 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/config.d.ts +46 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +91 -0
- package/dist/config.js.map +1 -0
- package/dist/core-worker.d.ts +23 -0
- package/dist/core-worker.d.ts.map +1 -0
- package/dist/core-worker.js +55 -0
- package/dist/core-worker.js.map +1 -0
- package/dist/core.d.ts +79 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +159 -0
- package/dist/core.js.map +1 -0
- package/dist/eslint/linter.d.ts +18 -0
- package/dist/eslint/linter.d.ts.map +1 -0
- package/dist/eslint/linter.js +67 -0
- package/dist/eslint/linter.js.map +1 -0
- package/dist/eslint/report-translator.d.ts +9 -0
- package/dist/eslint/report-translator.d.ts.map +1 -0
- package/dist/eslint/report-translator.js +77 -0
- package/dist/eslint/report-translator.js.map +1 -0
- package/dist/eslint/rule-fixer.d.ts +80 -0
- package/dist/eslint/rule-fixer.d.ts.map +1 -0
- package/dist/eslint/rule-fixer.js +118 -0
- package/dist/eslint/rule-fixer.js.map +1 -0
- package/dist/eslint/source-code-fixer.d.ts +19 -0
- package/dist/eslint/source-code-fixer.d.ts.map +1 -0
- package/dist/eslint/source-code-fixer.js +131 -0
- package/dist/eslint/source-code-fixer.js.map +1 -0
- package/dist/fix/apply-auto-fixes.d.ts +8 -0
- package/dist/fix/apply-auto-fixes.d.ts.map +1 -0
- package/dist/fix/apply-auto-fixes.js +8 -0
- package/dist/fix/apply-auto-fixes.js.map +1 -0
- package/dist/fix/apply-suggestions.d.ts +11 -0
- package/dist/fix/apply-suggestions.d.ts.map +1 -0
- package/dist/fix/apply-suggestions.js +25 -0
- package/dist/fix/apply-suggestions.js.map +1 -0
- package/dist/fix/convert-error-to-warning-per-file.d.ts +10 -0
- package/dist/fix/convert-error-to-warning-per-file.d.ts.map +1 -0
- package/dist/fix/convert-error-to-warning-per-file.js +28 -0
- package/dist/fix/convert-error-to-warning-per-file.js.map +1 -0
- package/dist/fix/disable-per-file.d.ts +12 -0
- package/dist/fix/disable-per-file.d.ts.map +1 -0
- package/dist/fix/disable-per-file.js +63 -0
- package/dist/fix/disable-per-file.js.map +1 -0
- package/dist/fix/disable-per-line.d.ts +12 -0
- package/dist/fix/disable-per-line.d.ts.map +1 -0
- package/dist/fix/disable-per-line.js +61 -0
- package/dist/fix/disable-per-line.js.map +1 -0
- package/dist/fix/index.d.ts +19 -0
- package/dist/fix/index.d.ts.map +1 -0
- package/dist/fix/index.js +8 -0
- package/dist/fix/index.js.map +1 -0
- package/dist/fix/make-fixable-and-fix.d.ts +12 -0
- package/dist/fix/make-fixable-and-fix.d.ts.map +1 -0
- package/dist/fix/make-fixable-and-fix.js +60 -0
- package/dist/fix/make-fixable-and-fix.js.map +1 -0
- package/dist/formatter/colors.d.ts +4 -0
- package/dist/formatter/colors.d.ts.map +1 -0
- package/dist/formatter/colors.js +5 -0
- package/dist/formatter/colors.js.map +1 -0
- package/dist/formatter/format-by-files.d.ts +3 -0
- package/dist/formatter/format-by-files.d.ts.map +1 -0
- package/dist/formatter/format-by-files.js +41 -0
- package/dist/formatter/format-by-files.js.map +1 -0
- package/dist/formatter/format-by-rules.d.ts +3 -0
- package/dist/formatter/format-by-rules.d.ts.map +1 -0
- package/dist/formatter/format-by-rules.js +39 -0
- package/dist/formatter/format-by-rules.js.map +1 -0
- package/dist/formatter/index.d.ts +4 -0
- package/dist/formatter/index.d.ts.map +1 -0
- package/dist/formatter/index.js +7 -0
- package/dist/formatter/index.js.map +1 -0
- package/dist/formatter/take-rule-statistics.d.ts +18 -0
- package/dist/formatter/take-rule-statistics.d.ts.map +1 -0
- package/dist/formatter/take-rule-statistics.js +51 -0
- package/dist/formatter/take-rule-statistics.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/scene/check-results.d.ts +21 -0
- package/dist/scene/check-results.d.ts.map +1 -0
- package/dist/scene/check-results.js +22 -0
- package/dist/scene/check-results.js.map +1 -0
- package/dist/scene/index.d.ts +25 -0
- package/dist/scene/index.d.ts.map +1 -0
- package/dist/scene/index.js +6 -0
- package/dist/scene/index.js.map +1 -0
- package/dist/scene/lint.d.ts +8 -0
- package/dist/scene/lint.d.ts.map +1 -0
- package/dist/scene/lint.js +31 -0
- package/dist/scene/lint.js.map +1 -0
- package/dist/scene/select-action.d.ts +20 -0
- package/dist/scene/select-action.d.ts.map +1 -0
- package/dist/scene/select-action.js +50 -0
- package/dist/scene/select-action.js.map +1 -0
- package/dist/scene/select-rule-ids.d.ts +15 -0
- package/dist/scene/select-rule-ids.d.ts.map +1 -0
- package/dist/scene/select-rule-ids.js +10 -0
- package/dist/scene/select-rule-ids.js.map +1 -0
- package/dist/util/array.d.ts +3 -0
- package/dist/util/array.d.ts.map +1 -0
- package/dist/util/array.js +14 -0
- package/dist/util/array.js.map +1 -0
- package/dist/util/cache.d.ts +5 -0
- package/dist/util/cache.d.ts.map +1 -0
- package/dist/util/cache.js +15 -0
- package/dist/util/cache.js.map +1 -0
- package/dist/util/eslint.d.ts +99 -0
- package/dist/util/eslint.d.ts.map +1 -0
- package/dist/util/eslint.js +201 -0
- package/dist/util/eslint.js.map +1 -0
- package/dist/util/filter-script.d.ts +6 -0
- package/dist/util/filter-script.d.ts.map +1 -0
- package/dist/util/filter-script.js +38 -0
- package/dist/util/filter-script.js.map +1 -0
- package/dist/util/type-check.d.ts +6 -0
- package/dist/util/type-check.d.ts.map +1 -0
- package/dist/util/type-check.js +8 -0
- package/dist/util/type-check.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-by-files.js","sourceRoot":"","sources":["../../src/formatter/format-by-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvE,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA4B;IACxD,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,SAAS,EAAE,CAAC;SACb;aAAM;YACL,YAAY,EAAE,CAAC;YACf,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;YACpC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;SACjC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;IAC3C,MAAM,YAAY,GAAG,UAAU,GAAG,YAAY,CAAC;IAE/C,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,OAAO,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;IAC5D,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,IAAI,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC;IACjE,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,IAAI,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5F,OAAO,IAAI,cAAc,CAAC;IAE1B,IAAI,YAAY,GAAG,CAAC,EAAE;QACpB,OAAO,IAAI,KAAK,YAAY,IAAI,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,IAAI,CAAC;QAChB,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,IAAI,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO,IAAI,IAAI,CAAC;QAChB,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,YAAY,IAAI,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,UAAU,CAAC;KACvB;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-by-rules.d.ts","sourceRoot":"","sources":["../../src/formatter/format-by-rules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAkBhC,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAkChG"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import table from 'table';
|
|
3
|
+
import terminalLink from 'terminal-link';
|
|
4
|
+
import { ERROR_COLOR } from './colors.js';
|
|
5
|
+
import { takeRuleStatistics } from './take-rule-statistics.js';
|
|
6
|
+
function numCell(num) {
|
|
7
|
+
return num > 0 ? chalk[ERROR_COLOR].bold(num) : num.toString();
|
|
8
|
+
}
|
|
9
|
+
export function formatByRules(results, data) {
|
|
10
|
+
const ruleStatistics = takeRuleStatistics(results);
|
|
11
|
+
const rows = [];
|
|
12
|
+
// header
|
|
13
|
+
rows.push(['Rule', 'Error', 'Warning', 'is fixable', 'has suggestions']);
|
|
14
|
+
ruleStatistics.forEach((ruleStatistic) => {
|
|
15
|
+
const { ruleId, errorCount, warningCount, isFixableCount, hasSuggestionsCount } = ruleStatistic;
|
|
16
|
+
rows.push([
|
|
17
|
+
ruleId,
|
|
18
|
+
numCell(errorCount),
|
|
19
|
+
numCell(warningCount),
|
|
20
|
+
numCell(isFixableCount),
|
|
21
|
+
numCell(hasSuggestionsCount),
|
|
22
|
+
]);
|
|
23
|
+
});
|
|
24
|
+
// The `table` package does not print the terminal link correctly. So eslint-interactive avoids
|
|
25
|
+
// this by first printing the table in the `table` package without the link,
|
|
26
|
+
// then converting it to a link by replacement.
|
|
27
|
+
// ref: https://github.com/gajus/table/issues/113
|
|
28
|
+
let result = table.table(rows);
|
|
29
|
+
ruleStatistics.forEach((ruleStatistic) => {
|
|
30
|
+
const { ruleId } = ruleStatistic;
|
|
31
|
+
const ruleMetaData = data?.rulesMeta[ruleId];
|
|
32
|
+
const ruleCell = ruleMetaData?.docs?.url
|
|
33
|
+
? terminalLink(ruleId, ruleMetaData?.docs.url, { fallback: false })
|
|
34
|
+
: ruleId;
|
|
35
|
+
result = result.replace(` ${ruleId} `, ` ${ruleCell} `);
|
|
36
|
+
});
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=format-by-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-by-rules.js","sourceRoot":"","sources":["../../src/formatter/format-by-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAU/D,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA4B,EAAE,IAA4B;IACtF,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAU,EAAE,CAAC;IAEvB,SAAS;IACT,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEzE,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,IAAI,CAAC,IAAI,CAAC;YACR,MAAM;YACN,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;IAEH,+FAA+F;IAC/F,4EAA4E;IAC5E,+CAA+C;IAC/C,iDAAiD;IACjD,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QACjC,MAAM,YAAY,GAAG,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,YAAY,EAAE,IAAI,EAAE,GAAG;YACtC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACnE,CAAC,CAAC,MAAM,CAAC;QACX,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,GAAG,EAAE,IAAI,QAAQ,GAAG,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/formatter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEnF,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAEzF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { formatByFiles } from './format-by-files.js';
|
|
2
|
+
import { formatByRules } from './format-by-rules.js';
|
|
3
|
+
export { takeRuleStatistics } from './take-rule-statistics.js';
|
|
4
|
+
export function format(results, data) {
|
|
5
|
+
return `${formatByFiles(results)}\n${formatByRules(results, data)}`;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,2BAA2B,CAAC;AAEnF,MAAM,UAAU,MAAM,CAAC,OAA4B,EAAE,IAA4B;IAC/E,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ESLint } from 'eslint';
|
|
2
|
+
/**
|
|
3
|
+
* The type representing the lint results of a rule unit.
|
|
4
|
+
*/
|
|
5
|
+
export type RuleStatistic = {
|
|
6
|
+
ruleId: string;
|
|
7
|
+
errorCount: number;
|
|
8
|
+
warningCount: number;
|
|
9
|
+
isFixableCount: number;
|
|
10
|
+
isFixableErrorCount: number;
|
|
11
|
+
isFixableWarningCount: number;
|
|
12
|
+
hasSuggestionsCount: number;
|
|
13
|
+
hasSuggestionsErrorCount: number;
|
|
14
|
+
hasSuggestionsWarningCount: number;
|
|
15
|
+
};
|
|
16
|
+
/** ルールごとのエラー/警告の件数などの統計を取る */
|
|
17
|
+
export declare function takeRuleStatistics(results: ESLint.LintResult[]): RuleStatistic[];
|
|
18
|
+
//# sourceMappingURL=take-rule-statistics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"take-rule-statistics.d.ts","sourceRoot":"","sources":["../../src/formatter/take-rule-statistics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAGxC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;IACjC,0BAA0B,EAAE,MAAM,CAAC;CACpC,CAAC;AAoCF,8BAA8B;AAC9B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,aAAa,EAAE,CAYhF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { groupBy } from '../util/array.js';
|
|
2
|
+
/** 指定されたルールのエラー/警告の件数などの統計を取る */
|
|
3
|
+
function takeRuleStatistic(ruleId, messages) {
|
|
4
|
+
let errorCount = 0;
|
|
5
|
+
let warningCount = 0;
|
|
6
|
+
let isFixableErrorCount = 0;
|
|
7
|
+
let isFixableWarningCount = 0;
|
|
8
|
+
let hasSuggestionsErrorCount = 0;
|
|
9
|
+
let hasSuggestionsWarningCount = 0;
|
|
10
|
+
for (const message of messages) {
|
|
11
|
+
if (message.severity === 2) {
|
|
12
|
+
errorCount++;
|
|
13
|
+
if (message.fix)
|
|
14
|
+
isFixableErrorCount++;
|
|
15
|
+
if (message.suggestions && message.suggestions.length > 0)
|
|
16
|
+
hasSuggestionsErrorCount++;
|
|
17
|
+
}
|
|
18
|
+
else if (message.severity === 1) {
|
|
19
|
+
warningCount++;
|
|
20
|
+
if (message.fix)
|
|
21
|
+
isFixableWarningCount++;
|
|
22
|
+
if (message.suggestions && message.suggestions.length > 0)
|
|
23
|
+
hasSuggestionsWarningCount++;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
ruleId,
|
|
28
|
+
errorCount,
|
|
29
|
+
warningCount,
|
|
30
|
+
isFixableCount: isFixableErrorCount + isFixableWarningCount,
|
|
31
|
+
isFixableErrorCount,
|
|
32
|
+
isFixableWarningCount,
|
|
33
|
+
hasSuggestionsCount: hasSuggestionsErrorCount + hasSuggestionsWarningCount,
|
|
34
|
+
hasSuggestionsErrorCount,
|
|
35
|
+
hasSuggestionsWarningCount,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** ルールごとのエラー/警告の件数などの統計を取る */
|
|
39
|
+
export function takeRuleStatistics(results) {
|
|
40
|
+
const messages = results.flatMap((result) => result.messages).filter((message) => message.ruleId !== null);
|
|
41
|
+
const ruleIdToMessages = groupBy(messages, (message) => message.ruleId);
|
|
42
|
+
const ruleStatistics = [];
|
|
43
|
+
for (const [ruleId, messages] of ruleIdToMessages) {
|
|
44
|
+
// NOTE: Exclude problems with a null `ruleId`.
|
|
45
|
+
// ref: ref: https://github.com/eslint/eslint/blob/f1b7499a5162d3be918328ce496eb80692353a5a/docs/developer-guide/nodejs-api.md?plain=1#L372
|
|
46
|
+
if (ruleId !== null)
|
|
47
|
+
ruleStatistics.push(takeRuleStatistic(ruleId, messages));
|
|
48
|
+
}
|
|
49
|
+
return ruleStatistics;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=take-rule-statistics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"take-rule-statistics.js","sourceRoot":"","sources":["../../src/formatter/take-rule-statistics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAiB3C,iCAAiC;AACjC,SAAS,iBAAiB,CAAC,MAAc,EAAE,QAA8B;IACvE,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,IAAI,0BAA0B,GAAG,CAAC,CAAC;IAEnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;YAC1B,UAAU,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,GAAG;gBAAE,mBAAmB,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,wBAAwB,EAAE,CAAC;SACvF;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;YACjC,YAAY,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,GAAG;gBAAE,qBAAqB,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,0BAA0B,EAAE,CAAC;SACzF;KACF;IAED,OAAO;QACL,MAAM;QACN,UAAU;QACV,YAAY;QACZ,cAAc,EAAE,mBAAmB,GAAG,qBAAqB;QAC3D,mBAAmB;QACnB,qBAAqB;QACrB,mBAAmB,EAAE,wBAAwB,GAAG,0BAA0B;QAC1E,wBAAwB;QACxB,0BAA0B;KAC3B,CAAC;AACJ,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAE3G,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExE,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,gBAAgB,EAAE;QACjD,+CAA+C;QAC/C,2IAA2I;QAC3I,IAAI,MAAM,KAAK,IAAI;YAAE,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC/E;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { run, type Options } from './cli/run.js';
|
|
2
|
+
export { Core } from './core.js';
|
|
3
|
+
export { type Config, type ESLintOptions, configDefaults } from './config.js';
|
|
4
|
+
export { takeRuleStatistics, type RuleStatistic } from './formatter/index.js';
|
|
5
|
+
export { type FixableMaker, type SuggestionFilter, type FixContext } from './fix/index.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,MAAM,EAAE,KAAK,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +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,EAAmC,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAsB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ESLint } from 'eslint';
|
|
2
|
+
import { Action } from '../cli/prompt.js';
|
|
3
|
+
import { Undo } from '../core.js';
|
|
4
|
+
import { NextScene } from './index.js';
|
|
5
|
+
export type CheckResultsArgs = {
|
|
6
|
+
/** The lint results of the project */
|
|
7
|
+
results: ESLint.LintResult[];
|
|
8
|
+
/** The rule ids that are in the `results`. */
|
|
9
|
+
ruleIdsInResults: string[];
|
|
10
|
+
/** The rule ids to perform the action. */
|
|
11
|
+
selectedRuleIds: string[];
|
|
12
|
+
/** The function to execute undo. */
|
|
13
|
+
undo: Undo;
|
|
14
|
+
/** The selected actions. */
|
|
15
|
+
selectedAction: Action;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Run the scene where a user check the fix results.
|
|
19
|
+
*/
|
|
20
|
+
export declare function checkResults({ results, ruleIdsInResults, selectedRuleIds, undo, selectedAction, }: CheckResultsArgs): Promise<NextScene>;
|
|
21
|
+
//# sourceMappingURL=check-results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-results.d.ts","sourceRoot":"","sources":["../../src/scene/check-results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,MAAM,EAA6B,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { undoingSpinner } from '../cli/ora.js';
|
|
2
|
+
import { promptToInputWhatToDoNext } from '../cli/prompt.js';
|
|
3
|
+
/**
|
|
4
|
+
* Run the scene where a user check the fix results.
|
|
5
|
+
*/
|
|
6
|
+
export async function checkResults({ results, ruleIdsInResults, selectedRuleIds, undo, selectedAction, }) {
|
|
7
|
+
const nextStep = await promptToInputWhatToDoNext();
|
|
8
|
+
if (nextStep === 'exit')
|
|
9
|
+
return { name: 'exit' };
|
|
10
|
+
if (nextStep === 'undoTheFix') {
|
|
11
|
+
await undoingSpinner(async () => undo());
|
|
12
|
+
return {
|
|
13
|
+
name: 'selectAction',
|
|
14
|
+
args: { results, ruleIdsInResults, selectedRuleIds, initialAction: selectedAction },
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
console.log();
|
|
18
|
+
console.log('─'.repeat(process.stdout.columns));
|
|
19
|
+
console.log();
|
|
20
|
+
return { name: 'lint' };
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=check-results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-results.js","sourceRoot":"","sources":["../../src/scene/check-results.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAU,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAiBrE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,IAAI,EACJ,cAAc,GACG;IACjB,MAAM,QAAQ,GAAG,MAAM,yBAAyB,EAAE,CAAC;IACnD,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACjD,IAAI,QAAQ,KAAK,YAAY,EAAE;QAC7B,MAAM,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE;SACpF,CAAC;KACH;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CheckResultsArgs } from './check-results.js';
|
|
2
|
+
import { selectAction, type SelectActionArgs } from './select-action.js';
|
|
3
|
+
import { selectRuleIds, type SelectRuleIdsArgs } from './select-rule-ids.js';
|
|
4
|
+
export { selectAction, type SelectActionArgs, selectRuleIds, type SelectRuleIdsArgs };
|
|
5
|
+
export { lint } from './lint.js';
|
|
6
|
+
export { checkResults } from './check-results.js';
|
|
7
|
+
/**
|
|
8
|
+
* The return type when calling a scene function.
|
|
9
|
+
* Indicates which scene to jump to next.
|
|
10
|
+
*/
|
|
11
|
+
export type NextScene = {
|
|
12
|
+
name: 'lint';
|
|
13
|
+
} | {
|
|
14
|
+
name: 'selectRuleIds';
|
|
15
|
+
args: SelectRuleIdsArgs;
|
|
16
|
+
} | {
|
|
17
|
+
name: 'selectAction';
|
|
18
|
+
args: SelectActionArgs;
|
|
19
|
+
} | {
|
|
20
|
+
name: 'checkResults';
|
|
21
|
+
args: CheckResultsArgs;
|
|
22
|
+
} | {
|
|
23
|
+
name: 'exit';
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scene/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { selectAction } from './select-action.js';
|
|
2
|
+
import { selectRuleIds } from './select-rule-ids.js';
|
|
3
|
+
export { selectAction, selectRuleIds };
|
|
4
|
+
export { lint } from './lint.js';
|
|
5
|
+
export { checkResults } from './check-results.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scene/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,aAAa,EAA0B,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAyB,aAAa,EAA0B,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Remote } from 'comlink';
|
|
2
|
+
import { SerializableCore } from '../core-worker.js';
|
|
3
|
+
import { NextScene } from './index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Run the scene to lint.
|
|
6
|
+
*/
|
|
7
|
+
export declare function lint(core: Remote<SerializableCore>): Promise<NextScene>;
|
|
8
|
+
//# sourceMappingURL=lint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/scene/lint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;GAEG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CA6B7E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { warn } from '../cli/log.js';
|
|
2
|
+
import { lintingSpinner } from '../cli/ora.js';
|
|
3
|
+
import { unique } from '../util/array.js';
|
|
4
|
+
import { notEmpty } from '../util/type-check.js';
|
|
5
|
+
/**
|
|
6
|
+
* Run the scene to lint.
|
|
7
|
+
*/
|
|
8
|
+
export async function lint(core) {
|
|
9
|
+
const results = await lintingSpinner(async () => core.lint());
|
|
10
|
+
console.log();
|
|
11
|
+
const ruleIdsInResults = unique(results
|
|
12
|
+
.flatMap((result) => result.messages)
|
|
13
|
+
.flatMap((message) => message.ruleId)
|
|
14
|
+
.filter(notEmpty));
|
|
15
|
+
if (ruleIdsInResults.length === 0) {
|
|
16
|
+
console.log('💚 No error found.');
|
|
17
|
+
return { name: 'exit' };
|
|
18
|
+
}
|
|
19
|
+
console.log(await core.formatResultSummary(results));
|
|
20
|
+
const hasESLintCoreProblems = results.flatMap((result) => result.messages).some((message) => message.ruleId === null);
|
|
21
|
+
if (hasESLintCoreProblems) {
|
|
22
|
+
warn('ESLint Core Problems are found. ' +
|
|
23
|
+
'The problems cannot be fixed by eslint-interactive. ' +
|
|
24
|
+
'Check the details of the problem and fix it. ' +
|
|
25
|
+
'This is usually caused by the invalid eslintrc or the invalid syntax of the linted code.');
|
|
26
|
+
console.log(await core.formatResultDetails(results, [null]));
|
|
27
|
+
}
|
|
28
|
+
console.log();
|
|
29
|
+
return { name: 'selectRuleIds', args: { results, ruleIdsInResults } };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=lint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/scene/lint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAA8B;IACvD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,gBAAgB,GAAG,MAAM,CAC7B,OAAO;SACJ,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;SACpC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,MAAM,CAAC,QAAQ,CAAC,CACpB,CAAC;IAEF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACzB;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAErD,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IACtH,IAAI,qBAAqB,EAAE;QACzB,IAAI,CACF,kCAAkC;YAChC,sDAAsD;YACtD,+CAA+C;YAC/C,0FAA0F,CAC7F,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC9D;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Remote } from 'comlink';
|
|
2
|
+
import { ESLint } from 'eslint';
|
|
3
|
+
import { Action } from '../cli/prompt.js';
|
|
4
|
+
import { SerializableCore } from '../core-worker.js';
|
|
5
|
+
import { NextScene } from './index.js';
|
|
6
|
+
export type SelectActionArgs = {
|
|
7
|
+
/** The lint results of the project */
|
|
8
|
+
results: ESLint.LintResult[];
|
|
9
|
+
/** The rule ids that are in the `results`. */
|
|
10
|
+
ruleIdsInResults: string[];
|
|
11
|
+
/** The rule ids to perform the action. */
|
|
12
|
+
selectedRuleIds: string[];
|
|
13
|
+
/** The action to be initially selected. */
|
|
14
|
+
initialAction?: Action;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Run the scene where a user select the action to be performed for the problems of selected rules.
|
|
18
|
+
*/
|
|
19
|
+
export declare function selectAction(core: Remote<SerializableCore>, { results, ruleIdsInResults, selectedRuleIds, initialAction }: SelectActionArgs): Promise<NextScene>;
|
|
20
|
+
//# sourceMappingURL=select-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-action.d.ts","sourceRoot":"","sources":["../../src/scene/select-action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAUhC,OAAO,EAAE,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,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,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,gBAAgB,GAC9E,OAAO,CAAC,SAAS,CAAC,CAuCpB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { doApplySuggestionsAction, doConvertErrorToWarningPerFileAction, doDisablePerFileAction, doDisablePerLineAction, doFixAction, doMakeFixableAndFixAction, doPrintResultDetailsAction, } from '../action/index.js';
|
|
2
|
+
import { promptToInputAction } from '../cli/prompt.js';
|
|
3
|
+
import { unreachable } from '../util/type-check.js';
|
|
4
|
+
/**
|
|
5
|
+
* Run the scene where a user select the action to be performed for the problems of selected rules.
|
|
6
|
+
*/
|
|
7
|
+
export async function selectAction(core, { results, ruleIdsInResults, selectedRuleIds, initialAction }) {
|
|
8
|
+
const selectedAction = await promptToInputAction(results, selectedRuleIds, initialAction);
|
|
9
|
+
const selectRuleIdsScene = { name: 'selectRuleIds', args: { results, ruleIdsInResults } };
|
|
10
|
+
const selectActionScene = { name: 'selectAction', args: { results, ruleIdsInResults, selectedRuleIds } };
|
|
11
|
+
function createCheckResultsScene(undo) {
|
|
12
|
+
return {
|
|
13
|
+
name: 'checkResults',
|
|
14
|
+
args: { results, ruleIdsInResults, selectedRuleIds, undo, selectedAction },
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
if (selectedAction === 'reselectRules')
|
|
18
|
+
return selectRuleIdsScene;
|
|
19
|
+
if (selectedAction === 'printResultDetails') {
|
|
20
|
+
await doPrintResultDetailsAction(core, results, selectedRuleIds);
|
|
21
|
+
return selectActionScene;
|
|
22
|
+
}
|
|
23
|
+
else if (selectedAction === 'applyAutoFixes') {
|
|
24
|
+
const undo = await doFixAction(core, results, selectedRuleIds);
|
|
25
|
+
return createCheckResultsScene(undo);
|
|
26
|
+
}
|
|
27
|
+
else if (selectedAction === 'disablePerLine') {
|
|
28
|
+
const undo = await doDisablePerLineAction(core, results, selectedRuleIds);
|
|
29
|
+
return createCheckResultsScene(undo);
|
|
30
|
+
}
|
|
31
|
+
else if (selectedAction === 'disablePerFile') {
|
|
32
|
+
const undo = await doDisablePerFileAction(core, results, selectedRuleIds);
|
|
33
|
+
return createCheckResultsScene(undo);
|
|
34
|
+
}
|
|
35
|
+
else if (selectedAction === 'convertErrorToWarningPerFile') {
|
|
36
|
+
const undo = await doConvertErrorToWarningPerFileAction(core, results, selectedRuleIds);
|
|
37
|
+
return createCheckResultsScene(undo);
|
|
38
|
+
}
|
|
39
|
+
else if (selectedAction === 'applySuggestions') {
|
|
40
|
+
const undo = await doApplySuggestionsAction(core, results, selectedRuleIds);
|
|
41
|
+
return createCheckResultsScene(undo);
|
|
42
|
+
}
|
|
43
|
+
else if (selectedAction === 'makeFixableAndFix') {
|
|
44
|
+
const undo = await doMakeFixableAndFixAction(core, results, selectedRuleIds);
|
|
45
|
+
return createCheckResultsScene(undo);
|
|
46
|
+
}
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
48
|
+
return unreachable(`unknown action: ${selectedAction}`);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=select-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-action.js","sourceRoot":"","sources":["../../src/scene/select-action.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EACxB,oCAAoC,EACpC,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAU,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAcpD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAA8B,EAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAoB;IAE/E,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IAE1F,MAAM,kBAAkB,GAAc,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC;IACrG,MAAM,iBAAiB,GAAc,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,EAAE,CAAC;IAEpH,SAAS,uBAAuB,CAAC,IAAU;QACzC,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3E,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,KAAK,eAAe;QAAE,OAAO,kBAAkB,CAAC;IAElE,IAAI,cAAc,KAAK,oBAAoB,EAAE;QAC3C,MAAM,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACjE,OAAO,iBAAiB,CAAC;KAC1B;SAAM,IAAI,cAAc,KAAK,gBAAgB,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAC/D,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACtC;SAAM,IAAI,cAAc,KAAK,gBAAgB,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAC1E,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACtC;SAAM,IAAI,cAAc,KAAK,gBAAgB,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAC1E,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACtC;SAAM,IAAI,cAAc,KAAK,8BAA8B,EAAE;QAC5D,MAAM,IAAI,GAAG,MAAM,oCAAoC,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACxF,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACtC;SAAM,IAAI,cAAc,KAAK,kBAAkB,EAAE;QAChD,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAC5E,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACtC;SAAM,IAAI,cAAc,KAAK,mBAAmB,EAAE;QACjD,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAC7E,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACtC;IACD,4EAA4E;IAC5E,OAAO,WAAW,CAAC,mBAAmB,cAAc,EAAE,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Remote } from 'comlink';
|
|
2
|
+
import { ESLint } from 'eslint';
|
|
3
|
+
import { SerializableCore } from '../core-worker.js';
|
|
4
|
+
import { NextScene } from './index.js';
|
|
5
|
+
export type SelectRuleIdsArgs = {
|
|
6
|
+
/** The lint results of the project */
|
|
7
|
+
results: ESLint.LintResult[];
|
|
8
|
+
/** The rule ids that are in the `results`. */
|
|
9
|
+
ruleIdsInResults: string[];
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Run the scene where a user select rule ids.
|
|
13
|
+
*/
|
|
14
|
+
export declare function selectRuleIds(core: Remote<SerializableCore>, { results, ruleIdsInResults }: SelectRuleIdsArgs): Promise<NextScene>;
|
|
15
|
+
//# sourceMappingURL=select-rule-ids.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-rule-ids.d.ts","sourceRoot":"","sources":["../../src/scene/select-rule-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,GAC/C,OAAO,CAAC,SAAS,CAAC,CAGpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { promptToInputRuleIds } from '../cli/prompt.js';
|
|
2
|
+
import { selectAction } from './select-action.js';
|
|
3
|
+
/**
|
|
4
|
+
* Run the scene where a user select rule ids.
|
|
5
|
+
*/
|
|
6
|
+
export async function selectRuleIds(core, { results, ruleIdsInResults }) {
|
|
7
|
+
const selectedRuleIds = await promptToInputRuleIds(ruleIdsInResults);
|
|
8
|
+
return selectAction(core, { results, ruleIdsInResults, selectedRuleIds });
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=select-rule-ids.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-rule-ids.js","sourceRoot":"","sources":["../../src/scene/select-rule-ids.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUlD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAA8B,EAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAqB;IAEhD,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACrE,OAAO,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/util/array.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAEzC;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAW5E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function unique(array) {
|
|
2
|
+
return [...new Set(array)];
|
|
3
|
+
}
|
|
4
|
+
export function groupBy(array, toKey) {
|
|
5
|
+
const map = new Map();
|
|
6
|
+
for (const item of array) {
|
|
7
|
+
const key = toKey(item);
|
|
8
|
+
const oldValue = map.get(key);
|
|
9
|
+
const newValue = oldValue ? [...oldValue, item] : [item];
|
|
10
|
+
map.set(key, newValue);
|
|
11
|
+
}
|
|
12
|
+
return map;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/util/array.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAI,KAAU;IAClC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,OAAO,CAAO,KAAU,EAAE,KAAqB;IAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;KACxB;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/util/cache.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAMpC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { tmpdir } from 'node:os';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import findCacheDirectory from 'find-cache-dir';
|
|
4
|
+
import { VERSION } from '../cli/package.js';
|
|
5
|
+
/**
|
|
6
|
+
* Get the path of cache directory for eslint-interactive.
|
|
7
|
+
*/
|
|
8
|
+
export function getCacheDir() {
|
|
9
|
+
// If package.json exists in the parent directory of cwd,then node_modules/.cache/eslint-interactive
|
|
10
|
+
// under that directory is set as the cache directory.
|
|
11
|
+
// If it does not exist, the OS's temporary directory is used.
|
|
12
|
+
const packageCacheDir = findCacheDirectory({ name: 'eslint-interactive' }) ?? join(tmpdir(), 'eslint-interactive');
|
|
13
|
+
return join(packageCacheDir, VERSION);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/util/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,kBAAkB,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,oGAAoG;IACpG,sDAAsD;IACtD,8DAA8D;IAC9D,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC;IACnH,OAAO,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { AST, ESLint, Linter, Rule, SourceCode } from 'eslint';
|
|
2
|
+
import type { Comment, SourceLocation } from 'estree';
|
|
3
|
+
export type DisableComment = {
|
|
4
|
+
type: 'Block' | 'Line';
|
|
5
|
+
scope: 'next-line' | 'file';
|
|
6
|
+
ruleIds: string[];
|
|
7
|
+
description?: string | undefined;
|
|
8
|
+
range: [number, number];
|
|
9
|
+
loc: SourceLocation;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Parses the comment as an ESLint disable comment.
|
|
13
|
+
* Returns undefined if the comment cannot be parsed as a disable comment.
|
|
14
|
+
*
|
|
15
|
+
* ## Reference: Structure of a disable comment
|
|
16
|
+
* /* eslint-disable-next-line rule-a, rule-b, rule-c, rule-d -- I'm the rules.
|
|
17
|
+
* ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^
|
|
18
|
+
* | | | |
|
|
19
|
+
* header | | |
|
|
20
|
+
* ruleList | |
|
|
21
|
+
* descriptionHeader |
|
|
22
|
+
* description
|
|
23
|
+
*/
|
|
24
|
+
export declare function parseDisableComment(comment: Comment): DisableComment | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Convert text to comment text.
|
|
27
|
+
*/
|
|
28
|
+
export declare function toCommentText(args: {
|
|
29
|
+
type: 'Line' | 'Block';
|
|
30
|
+
text: string;
|
|
31
|
+
}): string;
|
|
32
|
+
/**
|
|
33
|
+
* Convert `DisableComment` to comment text.
|
|
34
|
+
*/
|
|
35
|
+
export declare function toDisableCommentText({ type, scope, ruleIds, description, }: Omit<DisableComment, 'range' | 'loc'>): string;
|
|
36
|
+
/**
|
|
37
|
+
* Merge the ruleIds of the disable comments.
|
|
38
|
+
* @param a The ruleIds of first disable comment
|
|
39
|
+
* @param b The ruleIds of second disable comment
|
|
40
|
+
* @returns The ruleIds of merged disable comment
|
|
41
|
+
*/
|
|
42
|
+
export declare function mergeRuleIds(a: string[], b: string[]): string[];
|
|
43
|
+
/**
|
|
44
|
+
* Merge the description of the disable comments.
|
|
45
|
+
* @param a The description of first disable comment
|
|
46
|
+
* @param b The description of second disable comment
|
|
47
|
+
* @returns The description of merged disable comment
|
|
48
|
+
*/
|
|
49
|
+
export declare function mergeDescription(a: string | undefined, b: string | undefined): string | undefined;
|
|
50
|
+
export declare function insertDescriptionCommentStatementBeforeLine(args: {
|
|
51
|
+
fixer: Rule.RuleFixer;
|
|
52
|
+
sourceCode: SourceCode;
|
|
53
|
+
line: number;
|
|
54
|
+
description: string;
|
|
55
|
+
}): Rule.Fix;
|
|
56
|
+
/**
|
|
57
|
+
* Update existing disable comment.
|
|
58
|
+
* @returns The eslint's fix object
|
|
59
|
+
*/
|
|
60
|
+
export declare function updateDisableComment(args: {
|
|
61
|
+
fixer: Rule.RuleFixer;
|
|
62
|
+
disableComment: DisableComment;
|
|
63
|
+
newRules: string[];
|
|
64
|
+
newDescription: string | undefined;
|
|
65
|
+
}): Rule.Fix;
|
|
66
|
+
export declare function insertDisableCommentStatementBeforeLine(args: {
|
|
67
|
+
fixer: Rule.RuleFixer;
|
|
68
|
+
sourceCode: SourceCode;
|
|
69
|
+
line: number;
|
|
70
|
+
scope: 'file' | 'next-line';
|
|
71
|
+
ruleIds: string[];
|
|
72
|
+
description: string | undefined;
|
|
73
|
+
}): Rule.Fix;
|
|
74
|
+
type InlineConfigComment = {
|
|
75
|
+
description?: string | undefined;
|
|
76
|
+
rulesRecord: Partial<Linter.RulesRecord>;
|
|
77
|
+
range: [number, number];
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Convert `InlineConfigComment` to comment text.
|
|
81
|
+
*/
|
|
82
|
+
export declare function toInlineConfigCommentText({ rulesRecord, description }: Omit<InlineConfigComment, 'range'>): string;
|
|
83
|
+
/**
|
|
84
|
+
* Create the results with only messages with the specified rule ids.
|
|
85
|
+
* @param results The lint results.
|
|
86
|
+
* @param ruleIds The rule ids.
|
|
87
|
+
* @returns The results with only messages with the specified rule ids
|
|
88
|
+
*/
|
|
89
|
+
export declare function filterResultsByRuleId(results: ESLint.LintResult[], ruleIds: (string | null)[]): ESLint.LintResult[];
|
|
90
|
+
/**
|
|
91
|
+
* Find shebang from the first line of the file.
|
|
92
|
+
* @param sourceCodeText The source code text of the file.
|
|
93
|
+
* @returns The information of shebang. If the file does not have shebang, return null.
|
|
94
|
+
*/
|
|
95
|
+
export declare function findShebang(sourceCodeText: string): {
|
|
96
|
+
range: AST.Range;
|
|
97
|
+
} | null;
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=eslint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../../src/util/eslint.ts"],"names":[],"mappings":"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"}
|