@agilebot/eslint-config 0.4.1 → 0.4.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/cli.js +1 -1
- package/dist/index.js +25 -16
- package/package.json +3 -3
package/dist/cli.js
CHANGED
package/dist/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license @agilebot/eslint-config v0.4.
|
2
|
+
* @license @agilebot/eslint-config v0.4.2
|
3
3
|
*
|
4
4
|
* Copyright (c) Agilebot, Inc. and its affiliates.
|
5
5
|
*
|
@@ -335,7 +335,7 @@ function imports(opts) {
|
|
335
335
|
noUselessIndex: true
|
336
336
|
}
|
337
337
|
],
|
338
|
-
"import-x/no-cycle": "error",
|
338
|
+
"import-x/no-cycle": (0, import_eslint_utils2.isInEditor)() ? "off" : "error",
|
339
339
|
"import-x/newline-after-import": "error",
|
340
340
|
"import-x/first": "error",
|
341
341
|
"import-x/no-import-module-exports": "error",
|
@@ -460,15 +460,7 @@ function react(opts) {
|
|
460
460
|
extends: ["plugin:jsx-a11y/recommended"],
|
461
461
|
rules: {
|
462
462
|
// recommended rules from eslint-plugin-react
|
463
|
-
"react/jsx-no-duplicate-props": "error",
|
464
|
-
"react/jsx-no-undef": "error",
|
465
|
-
"react/jsx-uses-react": "error",
|
466
|
-
"react/jsx-uses-vars": "error",
|
467
463
|
"react/no-is-mounted": "error",
|
468
|
-
"react/no-unescaped-entities": "error",
|
469
|
-
"react/no-unknown-property": "error",
|
470
|
-
"react/react-in-jsx-scope": "error",
|
471
|
-
"react/require-render-return": "error",
|
472
464
|
// recommended rules from @eslint-react
|
473
465
|
"@eslint-react/no-direct-mutation-state": "error",
|
474
466
|
// Children API
|
@@ -504,6 +496,8 @@ function react(opts) {
|
|
504
496
|
"@eslint-react/no-access-state-in-setstate": "error",
|
505
497
|
"@eslint-react/prefer-shorthand-fragment": "error",
|
506
498
|
"@eslint-react/no-missing-component-display-name": "error",
|
499
|
+
"@eslint-react/no-prop-types": "error",
|
500
|
+
"@eslint-react/no-useless-fragment": "error",
|
507
501
|
// recommended rules from @eslint-react/dom
|
508
502
|
"@eslint-react/dom/no-children-in-void-dom-elements": "error",
|
509
503
|
"@eslint-react/dom/no-unsafe-target-blank": "error",
|
@@ -531,8 +525,11 @@ function react(opts) {
|
|
531
525
|
checkLocalVariables: true
|
532
526
|
}
|
533
527
|
],
|
528
|
+
"react/no-unused-prop-types": "error",
|
529
|
+
// Stylistic rules are not supported by @eslint-react. Use dprint or @stylistic instead.
|
530
|
+
"@stylistic/jsx-self-closing-comp": "error",
|
534
531
|
// <App prop={'Hello'} />没必要,使用<App prop="Hello" />
|
535
|
-
"
|
532
|
+
"@stylistic/jsx-curly-brace-presence": [
|
536
533
|
"error",
|
537
534
|
{
|
538
535
|
props: "never",
|
@@ -540,10 +537,6 @@ function react(opts) {
|
|
540
537
|
propElementValues: "always"
|
541
538
|
}
|
542
539
|
],
|
543
|
-
// 禁止声明未使用的props
|
544
|
-
"react/no-unused-prop-types": "error",
|
545
|
-
"@eslint-react/no-useless-fragment": "error",
|
546
|
-
"@stylistic/jsx-self-closing-comp": "error",
|
547
540
|
"jsx-a11y/click-events-have-key-events": "off",
|
548
541
|
"jsx-a11y/no-static-element-interactions": "off",
|
549
542
|
"jsx-a11y/alt-text": "off"
|
@@ -555,6 +548,21 @@ function react(opts) {
|
|
555
548
|
}
|
556
549
|
};
|
557
550
|
}
|
551
|
+
function reactJsOnly() {
|
552
|
+
return {
|
553
|
+
rules: {
|
554
|
+
// The following can be enforced by TypeScript, no need to implement them
|
555
|
+
"react/jsx-no-duplicate-props": "error",
|
556
|
+
"react/jsx-no-undef": "error",
|
557
|
+
"react/jsx-uses-react": "error",
|
558
|
+
"react/jsx-uses-vars": "error",
|
559
|
+
"react/no-unescaped-entities": "error",
|
560
|
+
"react/no-unknown-property": "error",
|
561
|
+
"react/react-in-jsx-scope": "error",
|
562
|
+
"react/require-render-return": "error"
|
563
|
+
}
|
564
|
+
};
|
565
|
+
}
|
558
566
|
|
559
567
|
// src/configs/vue.ts
|
560
568
|
function vue(opts) {
|
@@ -843,7 +851,8 @@ function factory(root, options) {
|
|
843
851
|
jsOnly(),
|
844
852
|
(options == null ? void 0 : options.jsdoc) ? jsdoc({
|
845
853
|
ts: false
|
846
|
-
}) : {}
|
854
|
+
}) : {},
|
855
|
+
(options == null ? void 0 : options.react) ? reactJsOnly() : {}
|
847
856
|
)),
|
848
857
|
__spreadValues({
|
849
858
|
files: TS_EXTS.map((ext) => `*${ext}`)
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@agilebot/eslint-config",
|
3
|
-
"version": "0.4.
|
3
|
+
"version": "0.4.2",
|
4
4
|
"description": "Agilebot's ESLint config",
|
5
5
|
"bin": {
|
6
6
|
"eslint-agilebot": "bin/eslint-agilebot"
|
@@ -44,14 +44,14 @@
|
|
44
44
|
"eslint-plugin-vue": "^9.27.0",
|
45
45
|
"eslint-plugin-you-dont-need-lodash-underscore": "^6.13.0",
|
46
46
|
"vue-eslint-parser": "^9.4.3",
|
47
|
-
"@agilebot/eslint-utils": "0.4.
|
47
|
+
"@agilebot/eslint-utils": "0.4.2"
|
48
48
|
},
|
49
49
|
"devDependencies": {
|
50
50
|
"eslint-config-love": "^63.0.0"
|
51
51
|
},
|
52
52
|
"peerDependencies": {
|
53
53
|
"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
|
54
|
-
"@agilebot/eslint-plugin": "0.4.
|
54
|
+
"@agilebot/eslint-plugin": "0.4.2"
|
55
55
|
},
|
56
56
|
"files": [
|
57
57
|
"bin",
|