@agilebot/eslint-config 0.2.4 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @agilebot/eslint-config v0.2.4
2
+ * @license @agilebot/eslint-config v0.2.6
3
3
  *
4
4
  * Copyright (c) Agilebot, Inc. and its affiliates.
5
5
  *
@@ -42,32 +42,63 @@ __export(cli_exports, {
42
42
  cli: () => cli
43
43
  });
44
44
  module.exports = __toCommonJS(cli_exports);
45
+
46
+ // src/cli/index.ts
45
47
  var import_node_fs = __toESM(require("fs"));
46
48
  var import_node_path = __toESM(require("path"));
49
+ var import_eslint_utils = require("@agilebot/eslint-utils");
50
+
51
+ // src/cli/constants.ts
52
+ var defaultExtensions = [
53
+ ".js",
54
+ ".jsx",
55
+ ".ts",
56
+ ".tsx",
57
+ ".cjs",
58
+ ".mjs",
59
+ ".cts",
60
+ ".mts",
61
+ ".vue"
62
+ ];
63
+ var isEslint = /^\.eslint.*/;
64
+
65
+ // src/cli/index.ts
47
66
  function cli() {
48
- const isEslint = /^\.eslint.*/;
49
67
  const cwd = process.cwd();
50
68
  const has = {
51
69
  ext: false,
52
70
  fix: false,
53
- config: false
71
+ config: false,
72
+ checkIntl: false
54
73
  };
74
+ const pkg = require.resolve("eslint/package.json");
75
+ const bin = import_node_path.default.join(pkg, "..", "bin", "eslint.js");
55
76
  process.argv.forEach((arg) => {
56
77
  has.ext = has.ext || arg === "--ext";
57
78
  has.fix = has.fix || arg === "--fix";
58
79
  has.config = has.config || arg === "-c" || arg === "--config";
80
+ has.checkIntl = has.checkIntl || arg === "--check-intl";
59
81
  });
60
82
  if (!has.fix) {
61
83
  process.argv.splice(2, 0, "--fix");
62
84
  }
63
85
  if (!has.ext) {
86
+ process.argv.splice(2, 0, "--ext", defaultExtensions.join(","));
87
+ }
88
+ if (!(0, import_eslint_utils.isCI)()) {
64
89
  process.argv.splice(
65
90
  2,
66
91
  0,
67
- "--ext",
68
- ".js,.jsx,.ts,.tsx,.cjs,.mjs,.cts,.mts,.vue"
92
+ "--plugin",
93
+ "file-progress",
94
+ "--rule",
95
+ "file-progress/activate: 1"
69
96
  );
70
97
  }
98
+ if (has.checkIntl) {
99
+ process.argv.splice(process.argv.indexOf("--check-intl"), 1);
100
+ process.argv.splice(2, 0, "--rule", "@agilebot/intl-id-unused: 1");
101
+ }
71
102
  import_node_fs.default.readdir(cwd, (err, files) => {
72
103
  if (err) {
73
104
  throw err;
@@ -78,8 +109,6 @@ function cli() {
78
109
  if (!has.config) {
79
110
  throw new Error("No ESLint configuration file found");
80
111
  }
81
- const pkg = require.resolve("eslint/package.json");
82
- const bin = import_node_path.default.join(pkg, "..", "bin", "eslint.js");
83
112
  require(bin);
84
113
  });
85
114
  }
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @agilebot/eslint-config v0.2.4
2
+ * @license @agilebot/eslint-config v0.2.6
3
3
  *
4
4
  * Copyright (c) Agilebot, Inc. and its affiliates.
5
5
  *
@@ -59,7 +59,7 @@ module.exports = __toCommonJS(src_exports);
59
59
 
60
60
  // src/factory.ts
61
61
  var import_node_assert = __toESM(require("assert"));
62
- var import_eslint_utils3 = require("@agilebot/eslint-utils");
62
+ var import_eslint_utils2 = require("@agilebot/eslint-utils");
63
63
  var import_fast_glob = require("fast-glob");
64
64
 
65
65
  // src/configs/env.ts
@@ -104,11 +104,21 @@ function standard() {
104
104
  // src/configs/ts.ts
105
105
  function ts() {
106
106
  return {
107
- plugins: ["@typescript-eslint", "@stylistic"],
107
+ plugins: ["@typescript-eslint", "@stylistic", "prefer-arrow-functions"],
108
108
  rules: {
109
- "@typescript-eslint/no-unused-vars": "warn",
110
109
  // 如果没用模板字符串,避免使用反引号
111
110
  "@stylistic/quotes": ["error", "single", { avoidEscape: true }],
111
+ "prefer-arrow-functions/prefer-arrow-functions": [
112
+ "warn",
113
+ {
114
+ allowNamedFunctions: true,
115
+ classPropertiesAllowed: false,
116
+ disallowPrototype: false,
117
+ returnStyle: "unchanged",
118
+ singleReturnOnly: false
119
+ }
120
+ ],
121
+ "@typescript-eslint/no-unused-vars": "warn",
112
122
  // 优先使用interface而不是type
113
123
  "@typescript-eslint/consistent-type-definitions": "error",
114
124
  // The `@typescript-eslint/naming-convention` rule allows `leadingUnderscore` and `trailingUnderscore` settings.
@@ -448,10 +458,9 @@ function lodash() {
448
458
  }
449
459
 
450
460
  // src/configs/eslint.ts
451
- var import_eslint_utils2 = require("@agilebot/eslint-utils");
452
461
  function eslint() {
453
462
  return {
454
- plugins: ["eslint-comments", "file-progress"],
463
+ plugins: ["eslint-comments"],
455
464
  rules: {
456
465
  // 禁止未使用的eslint-disable注释
457
466
  "eslint-comments/no-unused-disable": "error",
@@ -467,8 +476,7 @@ function eslint() {
467
476
  {
468
477
  ignore: ["eslint-env", "exported", "global", "globals"]
469
478
  }
470
- ],
471
- "file-progress/activate": (0, import_eslint_utils2.isCI)() ? "off" : "warn"
479
+ ]
472
480
  }
473
481
  };
474
482
  }
@@ -584,7 +592,7 @@ function godaddy() {
584
592
 
585
593
  // src/factory.ts
586
594
  function factory(root, options) {
587
- var _a, _b, _c, _d;
595
+ var _a, _b, _c, _d, _e;
588
596
  import_node_assert.default.ok(root, "root option is required");
589
597
  const commonConfigs = [
590
598
  unicorn({
@@ -599,12 +607,15 @@ function factory(root, options) {
599
607
  prettier()
600
608
  ];
601
609
  if (options == null ? void 0 : options.godaddy) {
602
- return (0, import_eslint_utils3.mergeESLintConfig)(
610
+ return (0, import_eslint_utils2.mergeESLintConfig)(
603
611
  godaddy(),
604
612
  ...commonConfigs,
605
613
  (_b = options == null ? void 0 : options.config) != null ? _b : {}
606
614
  );
607
615
  }
616
+ const tsconfigFiles = (0, import_fast_glob.globSync)("tsconfig*.json", {
617
+ cwd: root
618
+ });
608
619
  const config = {
609
620
  overrides: [
610
621
  __spreadValues({
@@ -625,7 +636,7 @@ function factory(root, options) {
625
636
  tsconfigRootDir: root,
626
637
  extraFileExtensions: !(options == null ? void 0 : options.vue) ? void 0 : [".vue"]
627
638
  }
628
- }, (0, import_eslint_utils3.mergeESLintConfig)(
639
+ }, (0, import_eslint_utils2.mergeESLintConfig)(
629
640
  env(),
630
641
  standard(),
631
642
  ts(),
@@ -672,15 +683,8 @@ function factory(root, options) {
672
683
  }
673
684
  ]
674
685
  };
675
- const tsconfigFiles = (0, import_fast_glob.globSync)("tsconfig*.json", {
676
- cwd: root
677
- });
678
- if (config.parserOptions) {
679
- if (tsconfigFiles.length > 0) {
680
- config.parserOptions.project = tsconfigFiles;
681
- } else {
682
- config.parserOptions.project = true;
683
- }
686
+ if ((_e = config.overrides) == null ? void 0 : _e[0].parserOptions) {
687
+ config.overrides[0].parserOptions.project = tsconfigFiles.length > 0 ? tsconfigFiles : true;
684
688
  }
685
689
  return config;
686
690
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agilebot/eslint-config",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "Agilebot's ESLint config",
5
5
  "bin": {
6
6
  "eslint-agilebot": "bin/eslint-agilebot"
@@ -34,6 +34,7 @@
34
34
  "eslint-plugin-jsx-a11y": "^6.8.0",
35
35
  "eslint-plugin-n": "^17.2.0",
36
36
  "eslint-plugin-no-relative-import-paths": "^1.5.4",
37
+ "eslint-plugin-prefer-arrow-functions": "^3.3.2",
37
38
  "eslint-plugin-prettier": "^5.1.3",
38
39
  "eslint-plugin-promise": "^6.0.0",
39
40
  "eslint-plugin-react": "^7.34.1",
@@ -43,11 +44,11 @@
43
44
  "eslint-plugin-vue": "^9.25.0",
44
45
  "eslint-plugin-you-dont-need-lodash-underscore": "^6.13.0",
45
46
  "fast-glob": "^3.3.2",
46
- "@agilebot/eslint-utils": "0.2.4"
47
+ "@agilebot/eslint-utils": "0.2.6"
47
48
  },
48
49
  "peerDependencies": {
49
- "@agilebot/eslint-plugin": "*",
50
- "eslint": "^7.0.0 || ^8.0.0"
50
+ "eslint": "^7.0.0 || ^8.0.0",
51
+ "@agilebot/eslint-plugin": "0.2.6"
51
52
  },
52
53
  "files": [
53
54
  "bin",