@huangjunsen/encode-fe-lint 1.0.5 → 1.0.7

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 (76) hide show
  1. package/lib/actions/init.d.ts +3 -3
  2. package/lib/actions/init.js +151 -223
  3. package/lib/actions/scan.d.ts +3 -3
  4. package/lib/actions/scan.js +60 -137
  5. package/lib/actions/update.d.ts +2 -2
  6. package/lib/actions/update.js +51 -112
  7. package/lib/cli.d.ts +2 -2
  8. package/lib/cli.js +145 -230
  9. package/lib/config/_editorconfig.ejs +13 -13
  10. package/lib/config/_eslintignore.ejs +9 -9
  11. package/lib/config/_eslintrc.js.ejs +21 -3
  12. package/lib/config/_markdownlint.json.ejs +1 -1
  13. package/lib/config/_markdownlintignore.ejs +5 -5
  14. package/lib/config/_prettierrc.js.ejs +3 -8
  15. package/lib/config/_stylelintignore.ejs +5 -5
  16. package/lib/config/_stylelintrc.js.ejs +5 -5
  17. package/lib/config/_vscode/extensions.json.ejs +7 -7
  18. package/lib/config/_vscode/settings.json.ejs +55 -54
  19. package/lib/config/commitlint.config.js.ejs +3 -3
  20. package/lib/config/encode-fe-lint.config.js.ejs +6 -6
  21. package/lib/config/eslint.config.mjs.ejs +5 -0
  22. package/lib/index.d.ts +5 -5
  23. package/lib/index.js +36 -93
  24. package/lib/lints/eslint/doEslint.d.ts +6 -6
  25. package/lib/lints/eslint/doEslint.js +44 -80
  26. package/lib/lints/eslint/formatESLintResults.d.ts +3 -3
  27. package/lib/lints/eslint/formatESLintResults.js +28 -39
  28. package/lib/lints/eslint/getESLintConfig.d.ts +3 -3
  29. package/lib/lints/eslint/getESLintConfig.js +43 -67
  30. package/lib/lints/eslint/getESLintConfigType.d.ts +2 -2
  31. package/lib/lints/eslint/getESLintConfigType.js +23 -26
  32. package/lib/lints/eslint/index.d.ts +3 -3
  33. package/lib/lints/eslint/index.js +19 -19
  34. package/lib/lints/index.d.ts +4 -4
  35. package/lib/lints/index.js +20 -20
  36. package/lib/lints/markdownlint/doMarkdownlint.d.ts +6 -6
  37. package/lib/lints/markdownlint/doMarkdownlint.js +52 -119
  38. package/lib/lints/markdownlint/formatMarkdownlintResults.d.ts +3 -3
  39. package/lib/lints/markdownlint/formatMarkdownlintResults.js +35 -39
  40. package/lib/lints/markdownlint/getMarkdownlintConfig.d.ts +7 -7
  41. package/lib/lints/markdownlint/getMarkdownlintConfig.js +31 -31
  42. package/lib/lints/markdownlint/index.d.ts +3 -3
  43. package/lib/lints/markdownlint/index.js +19 -19
  44. package/lib/lints/prettier/doPrettier.d.ts +4 -4
  45. package/lib/lints/prettier/doPrettier.js +32 -106
  46. package/lib/lints/prettier/index.d.ts +1 -1
  47. package/lib/lints/prettier/index.js +17 -17
  48. package/lib/lints/stylelint/doStylelint.d.ts +5 -5
  49. package/lib/lints/stylelint/doStylelint.js +31 -86
  50. package/lib/lints/stylelint/formatStylelintResults.d.ts +3 -3
  51. package/lib/lints/stylelint/formatStylelintResults.js +38 -39
  52. package/lib/lints/stylelint/getStylelintConfig.d.ts +3 -3
  53. package/lib/lints/stylelint/getStylelintConfig.js +36 -36
  54. package/lib/lints/stylelint/getStylelintDocUrl.d.ts +1 -1
  55. package/lib/lints/stylelint/getStylelintDocUrl.js +13 -13
  56. package/lib/lints/stylelint/index.d.ts +3 -3
  57. package/lib/lints/stylelint/index.js +19 -19
  58. package/lib/types/index.d.ts +73 -73
  59. package/lib/types/index.js +2 -2
  60. package/lib/utils/conflict-resolve.d.ts +3 -3
  61. package/lib/utils/conflict-resolve.js +95 -175
  62. package/lib/utils/constants.d.ts +18 -18
  63. package/lib/utils/constants.js +104 -133
  64. package/lib/utils/generate-template.d.ts +2 -2
  65. package/lib/utils/generate-template.js +53 -99
  66. package/lib/utils/git.d.ts +3 -3
  67. package/lib/utils/git.js +44 -105
  68. package/lib/utils/log.d.ts +8 -8
  69. package/lib/utils/log.js +25 -25
  70. package/lib/utils/npm-type.d.ts +2 -2
  71. package/lib/utils/npm-type.js +10 -10
  72. package/lib/utils/print-report.d.ts +3 -3
  73. package/lib/utils/print-report.js +86 -109
  74. package/package.json +13 -8
  75. package/lib/utils/update.d.ts +0 -2
  76. package/lib/utils/update.js +0 -112
@@ -1 +1 @@
1
- <%_ if (enableMarkdownlint) { _%> { "extends": "@huangjunsen/markdownlint-config" } <%_ } _%>
1
+ <%_ if (enableMarkdownlint) { _%> { "extends": "@huangjunsen/markdownlint-config" } <%_ } _%>
@@ -1,5 +1,5 @@
1
- <%_ if (enableMarkdownlint) { _%>
2
- <%_ markdownLintIgnores.forEach((txt) => { _%>
3
- <%= txt %>
4
- <% }) %>
5
- <%_ } _%>
1
+ <%_ if (enableMarkdownlint) { _%>
2
+ <%_ markdownLintIgnores.forEach((txt) => { _%>
3
+ <%= txt %>
4
+ <% }) %>
5
+ <%_ } _%>
@@ -1,8 +1,3 @@
1
- module.exports = {
2
- printWidth: 100,
3
- tabWidth: 2,
4
- semi: true,
5
- singleQuote: true,
6
- trailingComma: 'all',
7
- arrowParens: 'always',
8
- };
1
+ module.exports = {
2
+ ...require('@huangjunsen/prettier-config'),
3
+ };
@@ -1,5 +1,5 @@
1
- <%_ if (enableStylelint) { _%>
2
- <%_ stylelintIgnores.forEach((txt) => { _%>
3
- <%= txt %>
4
- <% }) %>
5
- <%_ } _%>
1
+ <%_ if (enableStylelint) { _%>
2
+ <%_ stylelintIgnores.forEach((txt) => { _%>
3
+ <%= txt %>
4
+ <% }) %>
5
+ <%_ } _%>
@@ -1,5 +1,5 @@
1
- <%_ if (enableStylelint) { _%>
2
- module.exports = {
3
- extends: '@huangjunsen/stylelint-config',
4
- };
5
- <%_ } _%>
1
+ <%_ if (enableStylelint) { _%>
2
+ module.exports = {
3
+ extends: '@huangjunsen/stylelint-config',
4
+ };
5
+ <%_ } _%>
@@ -1,7 +1,7 @@
1
- {
2
- "recommendations": [
3
- "dbaeumer.vscode-eslint",
4
- "stylelint.vscode-stylelint",
5
- "esbenp.prettier-vscode"
6
- ]
7
- }
1
+ {
2
+ "recommendations": [
3
+ "dbaeumer.vscode-eslint",
4
+ "stylelint.vscode-stylelint",
5
+ "esbenp.prettier-vscode"
6
+ ]
7
+ }
@@ -1,54 +1,55 @@
1
- {
2
- <%_ if (enableESLint) { _%>
3
- "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact", "vue"],
4
- <%_ } _%>
5
- <%_ if (enableStylelint) { _%>
6
- "stylelint.validate": [<%- stylelintExt.map((ext) => `"${ext.replace(/^\./, '')}"`).join(',') %>],
7
- <%_ } _%>
8
- "editor.codeActionsOnSave": {
9
- "source.fixAll.eslint": true<%= enableStylelint || enableMarkdownlint ? ',' : ''%>
10
- <%_ if (enableStylelint) { _%>
11
- "source.fixAll.stylelint": true<%= enableMarkdownlint ? ',' : ''%>
12
- <%_ } _%>
13
- <%_ if (enableMarkdownlint) { _%>
14
- "source.fixAll.markdownlint": true
15
- <%_ } _%>
16
- },
17
- <%_ if (enablePrettier) { _%>
18
- "editor.defaultFormatter": "esbenp.prettier-vscode",
19
- "[javascript]": {
20
- "editor.defaultFormatter": "esbenp.prettier-vscode"
21
- },
22
- "[javascriptreact]": {
23
- "editor.defaultFormatter": "esbenp.prettier-vscode"
24
- },
25
- "[typescript]": {
26
- "editor.defaultFormatter": "esbenp.prettier-vscode"
27
- },
28
- "[typescriptreact]": {
29
- "editor.defaultFormatter": "esbenp.prettier-vscode"
30
- },
31
- "[vue]": {
32
- "editor.defaultFormatter": "esbenp.prettier-vscode"
33
- },
34
- "[css]": {
35
- "editor.defaultFormatter": "esbenp.prettier-vscode"
36
- },
37
- "[less]": {
38
- "editor.defaultFormatter": "esbenp.prettier-vscode"
39
- },
40
- "[scss]": {
41
- "editor.defaultFormatter": "esbenp.prettier-vscode"
42
- },
43
- "[html]": {
44
- "editor.defaultFormatter": "esbenp.prettier-vscode"
45
- },
46
- "[json]": {
47
- "editor.defaultFormatter": "esbenp.prettier-vscode"
48
- },
49
- "[jsonc]": {
50
- "editor.defaultFormatter": "esbenp.prettier-vscode"
51
- },
52
- <%_ } _%>
53
- "editor.formatOnSave": <%= enablePrettier ? 'true' : 'false' %>
54
- }
1
+ {
2
+ <%_ if (enableESLint) { _%>
3
+ "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact", "vue"],
4
+ <%_ } _%>
5
+ <%_ if (enableStylelint) { _%>
6
+ "stylelint.validate": [<%- stylelintExt.map((ext) => `"${ext.replace(/^\./, '')}"`).join(',') %>],
7
+ <%_ } _%>
8
+ "editor.formatOnSave": true,
9
+ "editor.codeActionsOnSave": {
10
+ "source.fixAll.eslint": "explicit"<%= enableStylelint || enableMarkdownlint ? ',' : ''%>
11
+ <%_ if (enableStylelint) { _%>
12
+ "source.fixAll.stylelint": "explicit"<%= enableMarkdownlint ? ',' : ''%>
13
+ <%_ } _%>
14
+ <%_ if (enableMarkdownlint) { _%>
15
+ "source.fixAll.markdownlint": "explicit"
16
+ <%_ } _%>
17
+ },
18
+ <%_ if (enablePrettier) { _%>
19
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
20
+ "[javascript]": {
21
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
22
+ },
23
+ "[javascriptreact]": {
24
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
25
+ },
26
+ "[typescript]": {
27
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
28
+ },
29
+ "[typescriptreact]": {
30
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
31
+ },
32
+ "[vue]": {
33
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
34
+ },
35
+ "[css]": {
36
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
37
+ },
38
+ "[less]": {
39
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
40
+ },
41
+ "[scss]": {
42
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
43
+ },
44
+ "[html]": {
45
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
46
+ },
47
+ "[json]": {
48
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
49
+ },
50
+ "[jsonc]": {
51
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
52
+ },
53
+ <%_ } _%>
54
+ "editor.formatOnSave": <%= enablePrettier ? 'true' : 'false' %>
55
+ }
@@ -1,3 +1,3 @@
1
- module.exports = {
2
- extends: ['@huangjunsen/commitlint-config'],
3
- };
1
+ module.exports = {
2
+ extends: ['@huangjunsen/commitlint-config'],
3
+ };
@@ -1,6 +1,6 @@
1
- module.exports = {
2
- enableESLint: <%= enableESLint %>,
3
- enableStylelint: <%= enableStylelint %>,
4
- enableMarkdownlint: <%= enableMarkdownlint %>,
5
- enablePrettier: <%= enablePrettier %>,
6
- };
1
+ module.exports = {
2
+ enableESLint: <%= enableESLint %>,
3
+ enableStylelint: <%= enableStylelint %>,
4
+ enableMarkdownlint: <%= enableMarkdownlint %>,
5
+ enablePrettier: <%= enablePrettier %>,
6
+ };
@@ -0,0 +1,5 @@
1
+ import feSpecConfig from '@huangjunsen/eslint-config/flat';
2
+
3
+ export default [
4
+ ...feSpecConfig,
5
+ ];
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { InitOptions, ScanOptions } from './types';
2
- type IInitOptions = Omit<InitOptions, 'checkVersionUpdate'>;
3
- export declare const init: (options: IInitOptions) => Promise<void>;
4
- export declare const scan: (options: ScanOptions) => Promise<import("./types").ScanReport>;
5
- export {};
1
+ import type { InitOptions, ScanOptions } from './types';
2
+ type IInitOptions = Omit<InitOptions, 'checkVersionUpdate'>;
3
+ export declare const init: (options: IInitOptions) => Promise<void>;
4
+ export declare const scan: (options: ScanOptions) => Promise<import("./types").ScanReport>;
5
+ export {};
package/lib/index.js CHANGED
@@ -1,93 +1,36 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __importDefault = (this && this.__importDefault) || function (mod) {
50
- return (mod && mod.__esModule) ? mod : { "default": mod };
51
- };
52
- Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.scan = exports.init = void 0;
54
- var ora_1 = __importDefault(require("ora"));
55
- var scan_1 = __importDefault(require("./actions/scan"));
56
- var init_1 = __importDefault(require("./actions/init"));
57
- var constants_1 = require("./utils/constants");
58
- var print_report_1 = __importDefault(require("./utils/print-report"));
59
- var init = function (options) { return __awaiter(void 0, void 0, void 0, function () {
60
- return __generator(this, function (_a) {
61
- switch (_a.label) {
62
- case 0: return [4, (0, init_1.default)(__assign(__assign({}, options), { checkVersionUpdate: false }))];
63
- case 1: return [2, _a.sent()];
64
- }
65
- });
66
- }); };
67
- exports.init = init;
68
- var scan = function (options) { return __awaiter(void 0, void 0, void 0, function () {
69
- var checking, report, results, errorCount, warningCount, type;
70
- return __generator(this, function (_a) {
71
- switch (_a.label) {
72
- case 0:
73
- checking = (0, ora_1.default)();
74
- checking.start("\u6267\u884C ".concat(constants_1.PKG_NAME, " \u4EE3\u7801\u68C0\u67E5"));
75
- return [4, (0, scan_1.default)(options)];
76
- case 1:
77
- report = _a.sent();
78
- results = report.results, errorCount = report.errorCount, warningCount = report.warningCount;
79
- type = 'succeed';
80
- if (errorCount > 0) {
81
- type = 'fail';
82
- }
83
- else if (warningCount > 0) {
84
- type = 'warn';
85
- }
86
- checking[type]();
87
- if (results.length > 0)
88
- (0, print_report_1.default)(results, false);
89
- return [2, report];
90
- }
91
- });
92
- }); };
93
- exports.scan = scan;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.scan = exports.init = void 0;
7
+ const ora_1 = __importDefault(require("ora"));
8
+ const scan_1 = __importDefault(require("./actions/scan"));
9
+ const init_1 = __importDefault(require("./actions/init"));
10
+ const constants_1 = require("./utils/constants");
11
+ const print_report_1 = __importDefault(require("./utils/print-report"));
12
+ const init = async (options) => {
13
+ return await (0, init_1.default)({
14
+ ...options,
15
+ checkVersionUpdate: false,
16
+ });
17
+ };
18
+ exports.init = init;
19
+ const scan = async (options) => {
20
+ const checking = (0, ora_1.default)();
21
+ checking.start(`执行 ${constants_1.PKG_NAME} 代码检查`);
22
+ const report = await (0, scan_1.default)(options);
23
+ const { results, errorCount, warningCount } = report;
24
+ let type = 'succeed';
25
+ if (errorCount > 0) {
26
+ type = 'fail';
27
+ }
28
+ else if (warningCount > 0) {
29
+ type = 'warn';
30
+ }
31
+ checking[type]();
32
+ if (results.length > 0)
33
+ (0, print_report_1.default)(results, false);
34
+ return report;
35
+ };
36
+ exports.scan = scan;
@@ -1,6 +1,6 @@
1
- import { Config, PKG, ScanOptions } from '../../types';
2
- export interface DoESLintOptions extends ScanOptions {
3
- pkg: PKG;
4
- config?: Config;
5
- }
6
- export declare function doESLint(options: DoESLintOptions): Promise<import("../../types").ScanResult[]>;
1
+ import { Config, PKG, ScanOptions } from '../../types';
2
+ export interface DoESLintOptions extends ScanOptions {
3
+ pkg: PKG;
4
+ config?: Config;
5
+ }
6
+ export declare function doESLint(options: DoESLintOptions): Promise<import("../../types").ScanResult[]>;
@@ -1,80 +1,44 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.doESLint = void 0;
43
- var eslint_1 = require("eslint");
44
- var fast_glob_1 = __importDefault(require("fast-glob"));
45
- var path_1 = require("path");
46
- var constants_1 = require("../../utils/constants");
47
- var formatESLintResults_1 = require("./formatESLintResults");
48
- var getESLintConfig_1 = require("./getESLintConfig");
49
- function doESLint(options) {
50
- return __awaiter(this, void 0, void 0, function () {
51
- var files, eslint, reports;
52
- return __generator(this, function (_a) {
53
- switch (_a.label) {
54
- case 0:
55
- if (!options.files) return [3, 1];
56
- files = options.files.filter(function (name) { return constants_1.ESLINT_FILE_EXT.includes((0, path_1.extname)(name)); });
57
- return [3, 3];
58
- case 1: return [4, (0, fast_glob_1.default)("**/*.{".concat(constants_1.ESLINT_FILE_EXT.map(function (t) { return t.replace(/^\./, ''); }).join(','), "}"), {
59
- cwd: options.cwd,
60
- ignore: constants_1.ESLINT_IGNORE_PATTERN,
61
- })];
62
- case 2:
63
- files = _a.sent();
64
- _a.label = 3;
65
- case 3:
66
- eslint = new eslint_1.ESLint((0, getESLintConfig_1.getESLintConfig)(options, options.pkg, options.config));
67
- return [4, eslint.lintFiles(files)];
68
- case 4:
69
- reports = _a.sent();
70
- if (!options.fix) return [3, 6];
71
- return [4, eslint_1.ESLint.outputFixes(reports)];
72
- case 5:
73
- _a.sent();
74
- _a.label = 6;
75
- case 6: return [2, (0, formatESLintResults_1.formatESLintResults)(reports, options.quiet, eslint)];
76
- }
77
- });
78
- });
79
- }
80
- exports.doESLint = doESLint;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.doESLint = void 0;
7
+ const eslint_1 = require("eslint");
8
+ const fast_glob_1 = __importDefault(require("fast-glob"));
9
+ const fs_extra_1 = __importDefault(require("fs-extra"));
10
+ const path_1 = require("path");
11
+ const constants_1 = require("../../utils/constants");
12
+ const formatESLintResults_1 = require("./formatESLintResults");
13
+ const getESLintConfig_1 = require("./getESLintConfig");
14
+ async function doESLint(options) {
15
+ let files;
16
+ if (options.files) {
17
+ files = options.files.filter((name) => constants_1.ESLINT_FILE_EXT.includes((0, path_1.extname)(name)));
18
+ }
19
+ else {
20
+ files = await (0, fast_glob_1.default)(`**/*.{${constants_1.ESLINT_FILE_EXT.map((t) => t.replace(/^\./, '')).join(',')}}`, {
21
+ cwd: options.cwd,
22
+ ignore: constants_1.ESLINT_IGNORE_PATTERN,
23
+ });
24
+ }
25
+ const hasFlatConfig = [
26
+ 'eslint.config.js',
27
+ 'eslint.config.mjs',
28
+ 'eslint.config.cjs',
29
+ 'eslint.config.ts',
30
+ ].some((file) => fs_extra_1.default.existsSync((0, path_1.join)(options.cwd, file)));
31
+ const eslintConfig = hasFlatConfig
32
+ ? {
33
+ fix: options.fix,
34
+ cwd: options.cwd,
35
+ }
36
+ : (0, getESLintConfig_1.getESLintConfig)(options, options.pkg, options.config);
37
+ const eslint = new eslint_1.ESLint(eslintConfig);
38
+ const reports = await eslint.lintFiles(files);
39
+ if (options.fix) {
40
+ await eslint_1.ESLint.outputFixes(reports);
41
+ }
42
+ return (0, formatESLintResults_1.formatESLintResults)(reports, options.quiet, eslint);
43
+ }
44
+ exports.doESLint = doESLint;
@@ -1,3 +1,3 @@
1
- import { ESLint } from 'eslint';
2
- import type { ScanResult } from '../../types';
3
- export declare function formatESLintResults(results: ESLint.LintResult[], quiet: boolean, eslint: ESLint): ScanResult[];
1
+ import { ESLint } from 'eslint';
2
+ import type { ScanResult } from '../../types';
3
+ export declare function formatESLintResults(results: ESLint.LintResult[], quiet: boolean, eslint: ESLint): ScanResult[];
@@ -1,39 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatESLintResults = void 0;
4
- function formatESLintResults(results, quiet, eslint) {
5
- var rulesMeta = eslint.getRulesMetaForResults(results);
6
- return results
7
- .filter(function (_a) {
8
- var warningCount = _a.warningCount, errorCount = _a.errorCount;
9
- return errorCount || warningCount;
10
- })
11
- .map(function (_a) {
12
- var filePath = _a.filePath, messages = _a.messages, errorCount = _a.errorCount, warningCount = _a.warningCount, fixableErrorCount = _a.fixableErrorCount, fixableWarningCount = _a.fixableWarningCount;
13
- return ({
14
- filePath: filePath,
15
- errorCount: errorCount,
16
- warningCount: quiet ? 0 : warningCount,
17
- fixableErrorCount: fixableErrorCount,
18
- fixableWarningCount: quiet ? 0 : fixableWarningCount,
19
- messages: messages
20
- .map(function (_a) {
21
- var _b, _c;
22
- var _d = _a.line, line = _d === void 0 ? 0 : _d, _e = _a.column, column = _e === void 0 ? 0 : _e, ruleId = _a.ruleId, message = _a.message, fatal = _a.fatal, severity = _a.severity;
23
- return {
24
- line: line,
25
- column: column,
26
- rule: ruleId,
27
- url: ((_c = (_b = rulesMeta[ruleId]) === null || _b === void 0 ? void 0 : _b.docs) === null || _c === void 0 ? void 0 : _c.url) || '',
28
- message: message.replace(/([^ ])\.$/u, '$1'),
29
- errored: fatal || severity === 2,
30
- };
31
- })
32
- .filter(function (_a) {
33
- var errored = _a.errored;
34
- return (quiet ? errored : true);
35
- }),
36
- });
37
- });
38
- }
39
- exports.formatESLintResults = formatESLintResults;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatESLintResults = void 0;
4
+ function formatESLintResults(results, quiet, eslint) {
5
+ const rulesMeta = eslint.getRulesMetaForResults(results);
6
+ return results
7
+ .filter(({ warningCount, errorCount }) => errorCount || warningCount)
8
+ .map(({ filePath, messages, errorCount, warningCount, fixableErrorCount, fixableWarningCount, }) => ({
9
+ filePath,
10
+ errorCount,
11
+ warningCount: quiet ? 0 : warningCount,
12
+ fixableErrorCount,
13
+ fixableWarningCount: quiet ? 0 : fixableWarningCount,
14
+ messages: messages
15
+ .map(({ line = 0, column = 0, ruleId, message, fatal, severity }) => {
16
+ return {
17
+ line,
18
+ column,
19
+ rule: ruleId,
20
+ url: rulesMeta[ruleId]?.docs?.url || '',
21
+ message: message.replace(/([^ ])\.$/u, '$1'),
22
+ errored: fatal || severity === 2,
23
+ };
24
+ })
25
+ .filter(({ errored }) => (quiet ? errored : true)),
26
+ }));
27
+ }
28
+ exports.formatESLintResults = formatESLintResults;
@@ -1,3 +1,3 @@
1
- import { ESLint } from 'eslint';
2
- import type { Config, PKG, ScanOptions } from '../../types';
3
- export declare function getESLintConfig(opts: ScanOptions, pkg: PKG, config: Config): ESLint.Options;
1
+ import { ESLint } from 'eslint';
2
+ import type { Config, PKG, ScanOptions } from '../../types';
3
+ export declare function getESLintConfig(opts: ScanOptions, pkg: PKG, config: Config): ESLint.Options;