@meteorlxy/eslint-config 7.4.0 → 7.6.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.
- package/dist/index.cjs +26 -11
- package/dist/index.d.cts +34 -8
- package/dist/index.d.mts +34 -8
- package/dist/index.mjs +25 -10
- package/package.json +12 -12
package/dist/index.cjs
CHANGED
|
@@ -36,8 +36,8 @@ let confusing_browser_globals = require("confusing-browser-globals");
|
|
|
36
36
|
confusing_browser_globals = __toESM(confusing_browser_globals, 1);
|
|
37
37
|
let _typescript_eslint_eslint_plugin = require("@typescript-eslint/eslint-plugin");
|
|
38
38
|
_typescript_eslint_eslint_plugin = __toESM(_typescript_eslint_eslint_plugin, 1);
|
|
39
|
-
let
|
|
40
|
-
|
|
39
|
+
let _eslint_community_eslint_plugin_eslint_comments = require("@eslint-community/eslint-plugin-eslint-comments");
|
|
40
|
+
_eslint_community_eslint_plugin_eslint_comments = __toESM(_eslint_community_eslint_plugin_eslint_comments, 1);
|
|
41
41
|
let globals = require("globals");
|
|
42
42
|
globals = __toESM(globals, 1);
|
|
43
43
|
let eslint_merge_processors = require("eslint-merge-processors");
|
|
@@ -594,10 +594,15 @@ const builtinRules = {
|
|
|
594
594
|
//#endregion
|
|
595
595
|
//#region src/rules/eslint-comments.ts
|
|
596
596
|
const eslintCommentsRules = {
|
|
597
|
-
"eslint-comments/
|
|
598
|
-
"eslint-comments/no-
|
|
599
|
-
"eslint-comments/no-
|
|
600
|
-
"eslint-comments/no-
|
|
597
|
+
"@eslint-community/eslint-comments/disable-enable-pair": ["error", { allowWholeFile: true }],
|
|
598
|
+
"@eslint-community/eslint-comments/no-aggregating-enable": "error",
|
|
599
|
+
"@eslint-community/eslint-comments/no-duplicate-disable": "error",
|
|
600
|
+
"@eslint-community/eslint-comments/no-unlimited-disable": "error",
|
|
601
|
+
"@eslint-community/eslint-comments/no-unused-disable": "error",
|
|
602
|
+
"@eslint-community/eslint-comments/no-unused-enable": "error",
|
|
603
|
+
"@eslint-community/eslint-comments/no-restricted-disable": "off",
|
|
604
|
+
"@eslint-community/eslint-comments/no-use": ["off", { allow: [] }],
|
|
605
|
+
"@eslint-community/eslint-comments/require-description": ["error", { ignore: [] }]
|
|
601
606
|
};
|
|
602
607
|
//#endregion
|
|
603
608
|
//#region src/rules/imports.ts
|
|
@@ -815,6 +820,7 @@ const markdownShimRules = {
|
|
|
815
820
|
//#region src/rules/markdown.ts
|
|
816
821
|
const markdownRules = {
|
|
817
822
|
"markdown/fenced-code-language": "error",
|
|
823
|
+
"markdown/fenced-code-meta": "off",
|
|
818
824
|
"markdown/heading-increment": "error",
|
|
819
825
|
"markdown/no-bare-urls": "off",
|
|
820
826
|
"markdown/no-duplicate-definitions": "error",
|
|
@@ -860,12 +866,12 @@ const reactHooksRules = {
|
|
|
860
866
|
"react-hooks/static-components": "error",
|
|
861
867
|
"react-hooks/unsupported-syntax": "error",
|
|
862
868
|
"react-hooks/use-memo": "error",
|
|
863
|
-
"react-hooks/automatic-effect-dependencies": "off",
|
|
864
869
|
"react-hooks/capitalized-calls": "off",
|
|
870
|
+
"react-hooks/exhaustive-effect-dependencies": "off",
|
|
865
871
|
"react-hooks/fbt": "off",
|
|
866
|
-
"react-hooks/fire": "off",
|
|
867
872
|
"react-hooks/hooks": "off",
|
|
868
873
|
"react-hooks/invariant": "off",
|
|
874
|
+
"react-hooks/memo-dependencies": "off",
|
|
869
875
|
"react-hooks/memoized-effect-dependencies": "off",
|
|
870
876
|
"react-hooks/no-deriving-state-in-effects": "off",
|
|
871
877
|
"react-hooks/rule-suppression": "off",
|
|
@@ -1548,9 +1554,11 @@ const vueRules = {
|
|
|
1548
1554
|
"vue/prefer-define-options": "error",
|
|
1549
1555
|
"vue/prefer-prop-type-boolean-first": "error",
|
|
1550
1556
|
"vue/prefer-separate-static-class": "error",
|
|
1557
|
+
"vue/prefer-single-event-payload": "warn",
|
|
1551
1558
|
"vue/prefer-template": builtinRules["prefer-template"],
|
|
1552
1559
|
"vue/prefer-true-attribute-shorthand": "off",
|
|
1553
1560
|
"vue/prefer-use-template-ref": "error",
|
|
1561
|
+
"vue/prefer-v-model": "warn",
|
|
1554
1562
|
"vue/require-default-export": "warn",
|
|
1555
1563
|
"vue/require-direct-export": ["error", { disallowFunctionalComponentFunction: false }],
|
|
1556
1564
|
"vue/require-explicit-slots": "error",
|
|
@@ -1622,7 +1630,7 @@ const imports = ({ overrides, packageDir } = {}) => [{
|
|
|
1622
1630
|
const javascript = ({ overrides } = {}) => [
|
|
1623
1631
|
{
|
|
1624
1632
|
name: "meteorlxy/javascript/plugins",
|
|
1625
|
-
plugins: { "eslint-comments":
|
|
1633
|
+
plugins: { "@eslint-community/eslint-comments": _eslint_community_eslint_plugin_eslint_comments.default }
|
|
1626
1634
|
},
|
|
1627
1635
|
{
|
|
1628
1636
|
name: "meteorlxy/javascript/rules",
|
|
@@ -1736,7 +1744,7 @@ const prettier = () => [{
|
|
|
1736
1744
|
/**
|
|
1737
1745
|
* React configuration for eslint.
|
|
1738
1746
|
*/
|
|
1739
|
-
const react = async ({ files = ["**/*.ts", "**/*.tsx"], overrides } = {}) => {
|
|
1747
|
+
const react = async ({ files = ["**/*.ts", "**/*.tsx"], overrides, settings } = {}) => {
|
|
1740
1748
|
const [reactPlugin, reactHooksPlugin, reactRefreshPlugin] = await Promise.all([
|
|
1741
1749
|
interopDefault(import("eslint-plugin-react")),
|
|
1742
1750
|
interopDefault(import("eslint-plugin-react-hooks")),
|
|
@@ -1749,7 +1757,14 @@ const react = async ({ files = ["**/*.ts", "**/*.tsx"], overrides } = {}) => {
|
|
|
1749
1757
|
"react-hooks": reactHooksPlugin,
|
|
1750
1758
|
"react-refresh": reactRefreshPlugin
|
|
1751
1759
|
},
|
|
1752
|
-
settings: {
|
|
1760
|
+
settings: {
|
|
1761
|
+
...settings,
|
|
1762
|
+
"react": {
|
|
1763
|
+
version: "detect",
|
|
1764
|
+
...settings?.react
|
|
1765
|
+
},
|
|
1766
|
+
"react-hooks": { ...settings?.["react-hooks"] }
|
|
1767
|
+
}
|
|
1753
1768
|
}, {
|
|
1754
1769
|
name: "meteorlxy/react/rules",
|
|
1755
1770
|
files,
|
package/dist/index.d.cts
CHANGED
|
@@ -78,13 +78,25 @@ declare const prettier: () => Config[];
|
|
|
78
78
|
interface EslintReactOptions {
|
|
79
79
|
files?: Config['files'];
|
|
80
80
|
overrides?: Config['rules'];
|
|
81
|
+
settings?: {
|
|
82
|
+
'react'?: {
|
|
83
|
+
version?: string;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/rules-of-hooks#options
|
|
87
|
+
*/
|
|
88
|
+
'react-hooks'?: {
|
|
89
|
+
additionalEffectHooks?: string;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
81
92
|
}
|
|
82
93
|
/**
|
|
83
94
|
* React configuration for eslint.
|
|
84
95
|
*/
|
|
85
96
|
declare const react$1: ({
|
|
86
97
|
files,
|
|
87
|
-
overrides
|
|
98
|
+
overrides,
|
|
99
|
+
settings
|
|
88
100
|
}?: EslintReactOptions) => Promise<Config[]>;
|
|
89
101
|
//#endregion
|
|
90
102
|
//#region src/configs/typescript.d.ts
|
|
@@ -371,7 +383,7 @@ declare const builtinRules: {
|
|
|
371
383
|
name: string;
|
|
372
384
|
message: string;
|
|
373
385
|
}, ...{
|
|
374
|
-
name: "
|
|
386
|
+
name: "name" | "addEventListener" | "blur" | "close" | "closed" | "confirm" | "defaultStatus" | "defaultstatus" | "event" | "external" | "find" | "focus" | "frameElement" | "frames" | "history" | "innerHeight" | "innerWidth" | "length" | "location" | "locationbar" | "menubar" | "moveBy" | "moveTo" | "onblur" | "onerror" | "onfocus" | "onload" | "onresize" | "onunload" | "open" | "opener" | "opera" | "outerHeight" | "outerWidth" | "pageXOffset" | "pageYOffset" | "parent" | "print" | "removeEventListener" | "resizeBy" | "resizeTo" | "screen" | "screenLeft" | "screenTop" | "screenX" | "screenY" | "scroll" | "scrollbars" | "scrollBy" | "scrollTo" | "scrollX" | "scrollY" | "self" | "status" | "statusbar" | "stop" | "toolbar" | "top";
|
|
375
387
|
message: string;
|
|
376
388
|
}[]];
|
|
377
389
|
'no-restricted-imports': ["off", {
|
|
@@ -592,10 +604,21 @@ declare const builtinRules: {
|
|
|
592
604
|
//#endregion
|
|
593
605
|
//#region src/rules/eslint-comments.d.ts
|
|
594
606
|
declare const eslintCommentsRules: {
|
|
595
|
-
'eslint-comments/
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
'eslint-comments/no-
|
|
607
|
+
'@eslint-community/eslint-comments/disable-enable-pair': ["error", {
|
|
608
|
+
allowWholeFile: boolean;
|
|
609
|
+
}];
|
|
610
|
+
'@eslint-community/eslint-comments/no-aggregating-enable': "error";
|
|
611
|
+
'@eslint-community/eslint-comments/no-duplicate-disable': "error";
|
|
612
|
+
'@eslint-community/eslint-comments/no-unlimited-disable': "error";
|
|
613
|
+
'@eslint-community/eslint-comments/no-unused-disable': "error";
|
|
614
|
+
'@eslint-community/eslint-comments/no-unused-enable': "error";
|
|
615
|
+
'@eslint-community/eslint-comments/no-restricted-disable': "off";
|
|
616
|
+
'@eslint-community/eslint-comments/no-use': ["off", {
|
|
617
|
+
allow: never[];
|
|
618
|
+
}];
|
|
619
|
+
'@eslint-community/eslint-comments/require-description': ["error", {
|
|
620
|
+
ignore: never[];
|
|
621
|
+
}];
|
|
599
622
|
};
|
|
600
623
|
//#endregion
|
|
601
624
|
//#region src/rules/imports.d.ts
|
|
@@ -768,6 +791,7 @@ declare const markdownShimRules: {
|
|
|
768
791
|
//#region src/rules/markdown.d.ts
|
|
769
792
|
declare const markdownRules: {
|
|
770
793
|
'markdown/fenced-code-language': "error";
|
|
794
|
+
'markdown/fenced-code-meta': "off";
|
|
771
795
|
'markdown/heading-increment': "error";
|
|
772
796
|
'markdown/no-bare-urls': "off";
|
|
773
797
|
'markdown/no-duplicate-definitions': "error";
|
|
@@ -815,12 +839,12 @@ declare const reactHooksRules: {
|
|
|
815
839
|
'react-hooks/static-components': "error";
|
|
816
840
|
'react-hooks/unsupported-syntax': "error";
|
|
817
841
|
'react-hooks/use-memo': "error";
|
|
818
|
-
'react-hooks/automatic-effect-dependencies': "off";
|
|
819
842
|
'react-hooks/capitalized-calls': "off";
|
|
843
|
+
'react-hooks/exhaustive-effect-dependencies': "off";
|
|
820
844
|
'react-hooks/fbt': "off";
|
|
821
|
-
'react-hooks/fire': "off";
|
|
822
845
|
'react-hooks/hooks': "off";
|
|
823
846
|
'react-hooks/invariant': "off";
|
|
847
|
+
'react-hooks/memo-dependencies': "off";
|
|
824
848
|
'react-hooks/memoized-effect-dependencies': "off";
|
|
825
849
|
'react-hooks/no-deriving-state-in-effects': "off";
|
|
826
850
|
'react-hooks/rule-suppression': "off";
|
|
@@ -1530,9 +1554,11 @@ declare const vueRules: {
|
|
|
1530
1554
|
'vue/prefer-define-options': "error";
|
|
1531
1555
|
'vue/prefer-prop-type-boolean-first': "error";
|
|
1532
1556
|
'vue/prefer-separate-static-class': "error";
|
|
1557
|
+
'vue/prefer-single-event-payload': "warn";
|
|
1533
1558
|
'vue/prefer-template': "error";
|
|
1534
1559
|
'vue/prefer-true-attribute-shorthand': "off";
|
|
1535
1560
|
'vue/prefer-use-template-ref': "error";
|
|
1561
|
+
'vue/prefer-v-model': "warn";
|
|
1536
1562
|
'vue/require-default-export': "warn";
|
|
1537
1563
|
'vue/require-direct-export': ["error", {
|
|
1538
1564
|
disallowFunctionalComponentFunction: boolean;
|
package/dist/index.d.mts
CHANGED
|
@@ -76,13 +76,25 @@ declare const prettier: () => Config[];
|
|
|
76
76
|
interface EslintReactOptions {
|
|
77
77
|
files?: Config['files'];
|
|
78
78
|
overrides?: Config['rules'];
|
|
79
|
+
settings?: {
|
|
80
|
+
'react'?: {
|
|
81
|
+
version?: string;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/rules-of-hooks#options
|
|
85
|
+
*/
|
|
86
|
+
'react-hooks'?: {
|
|
87
|
+
additionalEffectHooks?: string;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
79
90
|
}
|
|
80
91
|
/**
|
|
81
92
|
* React configuration for eslint.
|
|
82
93
|
*/
|
|
83
94
|
declare const react$1: ({
|
|
84
95
|
files,
|
|
85
|
-
overrides
|
|
96
|
+
overrides,
|
|
97
|
+
settings
|
|
86
98
|
}?: EslintReactOptions) => Promise<Config[]>;
|
|
87
99
|
//#endregion
|
|
88
100
|
//#region src/configs/typescript.d.ts
|
|
@@ -369,7 +381,7 @@ declare const builtinRules: {
|
|
|
369
381
|
name: string;
|
|
370
382
|
message: string;
|
|
371
383
|
}, ...{
|
|
372
|
-
name: "
|
|
384
|
+
name: "name" | "addEventListener" | "blur" | "close" | "closed" | "confirm" | "defaultStatus" | "defaultstatus" | "event" | "external" | "find" | "focus" | "frameElement" | "frames" | "history" | "innerHeight" | "innerWidth" | "length" | "location" | "locationbar" | "menubar" | "moveBy" | "moveTo" | "onblur" | "onerror" | "onfocus" | "onload" | "onresize" | "onunload" | "open" | "opener" | "opera" | "outerHeight" | "outerWidth" | "pageXOffset" | "pageYOffset" | "parent" | "print" | "removeEventListener" | "resizeBy" | "resizeTo" | "screen" | "screenLeft" | "screenTop" | "screenX" | "screenY" | "scroll" | "scrollbars" | "scrollBy" | "scrollTo" | "scrollX" | "scrollY" | "self" | "status" | "statusbar" | "stop" | "toolbar" | "top";
|
|
373
385
|
message: string;
|
|
374
386
|
}[]];
|
|
375
387
|
'no-restricted-imports': ["off", {
|
|
@@ -590,10 +602,21 @@ declare const builtinRules: {
|
|
|
590
602
|
//#endregion
|
|
591
603
|
//#region src/rules/eslint-comments.d.ts
|
|
592
604
|
declare const eslintCommentsRules: {
|
|
593
|
-
'eslint-comments/
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
'eslint-comments/no-
|
|
605
|
+
'@eslint-community/eslint-comments/disable-enable-pair': ["error", {
|
|
606
|
+
allowWholeFile: boolean;
|
|
607
|
+
}];
|
|
608
|
+
'@eslint-community/eslint-comments/no-aggregating-enable': "error";
|
|
609
|
+
'@eslint-community/eslint-comments/no-duplicate-disable': "error";
|
|
610
|
+
'@eslint-community/eslint-comments/no-unlimited-disable': "error";
|
|
611
|
+
'@eslint-community/eslint-comments/no-unused-disable': "error";
|
|
612
|
+
'@eslint-community/eslint-comments/no-unused-enable': "error";
|
|
613
|
+
'@eslint-community/eslint-comments/no-restricted-disable': "off";
|
|
614
|
+
'@eslint-community/eslint-comments/no-use': ["off", {
|
|
615
|
+
allow: never[];
|
|
616
|
+
}];
|
|
617
|
+
'@eslint-community/eslint-comments/require-description': ["error", {
|
|
618
|
+
ignore: never[];
|
|
619
|
+
}];
|
|
597
620
|
};
|
|
598
621
|
//#endregion
|
|
599
622
|
//#region src/rules/imports.d.ts
|
|
@@ -766,6 +789,7 @@ declare const markdownShimRules: {
|
|
|
766
789
|
//#region src/rules/markdown.d.ts
|
|
767
790
|
declare const markdownRules: {
|
|
768
791
|
'markdown/fenced-code-language': "error";
|
|
792
|
+
'markdown/fenced-code-meta': "off";
|
|
769
793
|
'markdown/heading-increment': "error";
|
|
770
794
|
'markdown/no-bare-urls': "off";
|
|
771
795
|
'markdown/no-duplicate-definitions': "error";
|
|
@@ -813,12 +837,12 @@ declare const reactHooksRules: {
|
|
|
813
837
|
'react-hooks/static-components': "error";
|
|
814
838
|
'react-hooks/unsupported-syntax': "error";
|
|
815
839
|
'react-hooks/use-memo': "error";
|
|
816
|
-
'react-hooks/automatic-effect-dependencies': "off";
|
|
817
840
|
'react-hooks/capitalized-calls': "off";
|
|
841
|
+
'react-hooks/exhaustive-effect-dependencies': "off";
|
|
818
842
|
'react-hooks/fbt': "off";
|
|
819
|
-
'react-hooks/fire': "off";
|
|
820
843
|
'react-hooks/hooks': "off";
|
|
821
844
|
'react-hooks/invariant': "off";
|
|
845
|
+
'react-hooks/memo-dependencies': "off";
|
|
822
846
|
'react-hooks/memoized-effect-dependencies': "off";
|
|
823
847
|
'react-hooks/no-deriving-state-in-effects': "off";
|
|
824
848
|
'react-hooks/rule-suppression': "off";
|
|
@@ -1528,9 +1552,11 @@ declare const vueRules: {
|
|
|
1528
1552
|
'vue/prefer-define-options': "error";
|
|
1529
1553
|
'vue/prefer-prop-type-boolean-first': "error";
|
|
1530
1554
|
'vue/prefer-separate-static-class': "error";
|
|
1555
|
+
'vue/prefer-single-event-payload': "warn";
|
|
1531
1556
|
'vue/prefer-template': "error";
|
|
1532
1557
|
'vue/prefer-true-attribute-shorthand': "off";
|
|
1533
1558
|
'vue/prefer-use-template-ref': "error";
|
|
1559
|
+
'vue/prefer-v-model': "warn";
|
|
1534
1560
|
'vue/require-default-export': "warn";
|
|
1535
1561
|
'vue/require-direct-export': ["error", {
|
|
1536
1562
|
disallowFunctionalComponentFunction: boolean;
|
package/dist/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./chunk-CfYAbeIz.mjs";
|
|
|
2
2
|
import importPlugin from "eslint-plugin-import-x";
|
|
3
3
|
import confusingBrowserGlobals from "confusing-browser-globals";
|
|
4
4
|
import tsPlugin from "@typescript-eslint/eslint-plugin";
|
|
5
|
-
import eslintCommentsPlugin from "eslint-plugin-eslint-comments";
|
|
5
|
+
import eslintCommentsPlugin from "@eslint-community/eslint-plugin-eslint-comments";
|
|
6
6
|
import globals from "globals";
|
|
7
7
|
import { mergeProcessors, processorPassThrough } from "eslint-merge-processors";
|
|
8
8
|
import prettierConfig from "eslint-config-prettier/flat";
|
|
@@ -556,10 +556,15 @@ const builtinRules = {
|
|
|
556
556
|
//#endregion
|
|
557
557
|
//#region src/rules/eslint-comments.ts
|
|
558
558
|
const eslintCommentsRules = {
|
|
559
|
-
"eslint-comments/
|
|
560
|
-
"eslint-comments/no-
|
|
561
|
-
"eslint-comments/no-
|
|
562
|
-
"eslint-comments/no-
|
|
559
|
+
"@eslint-community/eslint-comments/disable-enable-pair": ["error", { allowWholeFile: true }],
|
|
560
|
+
"@eslint-community/eslint-comments/no-aggregating-enable": "error",
|
|
561
|
+
"@eslint-community/eslint-comments/no-duplicate-disable": "error",
|
|
562
|
+
"@eslint-community/eslint-comments/no-unlimited-disable": "error",
|
|
563
|
+
"@eslint-community/eslint-comments/no-unused-disable": "error",
|
|
564
|
+
"@eslint-community/eslint-comments/no-unused-enable": "error",
|
|
565
|
+
"@eslint-community/eslint-comments/no-restricted-disable": "off",
|
|
566
|
+
"@eslint-community/eslint-comments/no-use": ["off", { allow: [] }],
|
|
567
|
+
"@eslint-community/eslint-comments/require-description": ["error", { ignore: [] }]
|
|
563
568
|
};
|
|
564
569
|
//#endregion
|
|
565
570
|
//#region src/rules/imports.ts
|
|
@@ -777,6 +782,7 @@ const markdownShimRules = {
|
|
|
777
782
|
//#region src/rules/markdown.ts
|
|
778
783
|
const markdownRules = {
|
|
779
784
|
"markdown/fenced-code-language": "error",
|
|
785
|
+
"markdown/fenced-code-meta": "off",
|
|
780
786
|
"markdown/heading-increment": "error",
|
|
781
787
|
"markdown/no-bare-urls": "off",
|
|
782
788
|
"markdown/no-duplicate-definitions": "error",
|
|
@@ -822,12 +828,12 @@ const reactHooksRules = {
|
|
|
822
828
|
"react-hooks/static-components": "error",
|
|
823
829
|
"react-hooks/unsupported-syntax": "error",
|
|
824
830
|
"react-hooks/use-memo": "error",
|
|
825
|
-
"react-hooks/automatic-effect-dependencies": "off",
|
|
826
831
|
"react-hooks/capitalized-calls": "off",
|
|
832
|
+
"react-hooks/exhaustive-effect-dependencies": "off",
|
|
827
833
|
"react-hooks/fbt": "off",
|
|
828
|
-
"react-hooks/fire": "off",
|
|
829
834
|
"react-hooks/hooks": "off",
|
|
830
835
|
"react-hooks/invariant": "off",
|
|
836
|
+
"react-hooks/memo-dependencies": "off",
|
|
831
837
|
"react-hooks/memoized-effect-dependencies": "off",
|
|
832
838
|
"react-hooks/no-deriving-state-in-effects": "off",
|
|
833
839
|
"react-hooks/rule-suppression": "off",
|
|
@@ -1510,9 +1516,11 @@ const vueRules = {
|
|
|
1510
1516
|
"vue/prefer-define-options": "error",
|
|
1511
1517
|
"vue/prefer-prop-type-boolean-first": "error",
|
|
1512
1518
|
"vue/prefer-separate-static-class": "error",
|
|
1519
|
+
"vue/prefer-single-event-payload": "warn",
|
|
1513
1520
|
"vue/prefer-template": builtinRules["prefer-template"],
|
|
1514
1521
|
"vue/prefer-true-attribute-shorthand": "off",
|
|
1515
1522
|
"vue/prefer-use-template-ref": "error",
|
|
1523
|
+
"vue/prefer-v-model": "warn",
|
|
1516
1524
|
"vue/require-default-export": "warn",
|
|
1517
1525
|
"vue/require-direct-export": ["error", { disallowFunctionalComponentFunction: false }],
|
|
1518
1526
|
"vue/require-explicit-slots": "error",
|
|
@@ -1584,7 +1592,7 @@ const imports = ({ overrides, packageDir } = {}) => [{
|
|
|
1584
1592
|
const javascript = ({ overrides } = {}) => [
|
|
1585
1593
|
{
|
|
1586
1594
|
name: "meteorlxy/javascript/plugins",
|
|
1587
|
-
plugins: { "eslint-comments": eslintCommentsPlugin }
|
|
1595
|
+
plugins: { "@eslint-community/eslint-comments": eslintCommentsPlugin }
|
|
1588
1596
|
},
|
|
1589
1597
|
{
|
|
1590
1598
|
name: "meteorlxy/javascript/rules",
|
|
@@ -1698,7 +1706,7 @@ const prettier = () => [{
|
|
|
1698
1706
|
/**
|
|
1699
1707
|
* React configuration for eslint.
|
|
1700
1708
|
*/
|
|
1701
|
-
const react = async ({ files = ["**/*.ts", "**/*.tsx"], overrides } = {}) => {
|
|
1709
|
+
const react = async ({ files = ["**/*.ts", "**/*.tsx"], overrides, settings } = {}) => {
|
|
1702
1710
|
const [reactPlugin, reactHooksPlugin, reactRefreshPlugin] = await Promise.all([
|
|
1703
1711
|
interopDefault(import("eslint-plugin-react")),
|
|
1704
1712
|
interopDefault(import("eslint-plugin-react-hooks")),
|
|
@@ -1711,7 +1719,14 @@ const react = async ({ files = ["**/*.ts", "**/*.tsx"], overrides } = {}) => {
|
|
|
1711
1719
|
"react-hooks": reactHooksPlugin,
|
|
1712
1720
|
"react-refresh": reactRefreshPlugin
|
|
1713
1721
|
},
|
|
1714
|
-
settings: {
|
|
1722
|
+
settings: {
|
|
1723
|
+
...settings,
|
|
1724
|
+
"react": {
|
|
1725
|
+
version: "detect",
|
|
1726
|
+
...settings?.react
|
|
1727
|
+
},
|
|
1728
|
+
"react-hooks": { ...settings?.["react-hooks"] }
|
|
1729
|
+
}
|
|
1715
1730
|
}, {
|
|
1716
1731
|
name: "meteorlxy/react/rules",
|
|
1717
1732
|
files,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meteorlxy/eslint-config",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.6.0",
|
|
4
4
|
"description": "meteorlxy eslint config",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"config",
|
|
@@ -32,36 +32,36 @@
|
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@eslint/
|
|
36
|
-
"@eslint/
|
|
37
|
-
"@
|
|
38
|
-
"@typescript-eslint/
|
|
35
|
+
"@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
|
|
36
|
+
"@eslint/core": "^1.2.1",
|
|
37
|
+
"@eslint/markdown": "^8.0.1",
|
|
38
|
+
"@typescript-eslint/eslint-plugin": "^8.59.2",
|
|
39
|
+
"@typescript-eslint/parser": "^8.59.2",
|
|
39
40
|
"confusing-browser-globals": "^1.0.11",
|
|
40
41
|
"eslint-config-flat-gitignore": "^2.3.0",
|
|
41
42
|
"eslint-config-prettier": "^10.1.8",
|
|
42
43
|
"eslint-merge-processors": "^2.0.0",
|
|
43
|
-
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
44
44
|
"eslint-plugin-import-x": "^4.16.2",
|
|
45
45
|
"eslint-plugin-jsonc": "^3.1.2",
|
|
46
|
-
"globals": "^17.
|
|
46
|
+
"globals": "^17.6.0",
|
|
47
47
|
"jsonc-eslint-parser": "^3.1.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/confusing-browser-globals": "^1.0.3",
|
|
51
|
-
"eslint": "^
|
|
51
|
+
"eslint": "^10.3.0",
|
|
52
52
|
"eslint-plugin-react": "^7.37.5",
|
|
53
53
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
54
54
|
"eslint-plugin-react-refresh": "^0.5.2",
|
|
55
|
-
"eslint-plugin-vue": "^10.9.
|
|
56
|
-
"tsdown": "^0.
|
|
55
|
+
"eslint-plugin-vue": "^10.9.1",
|
|
56
|
+
"tsdown": "^0.22.0",
|
|
57
57
|
"vue-eslint-parser": "^10.4.0"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
|
-
"eslint": "^9.39.4",
|
|
60
|
+
"eslint": "^9.39.4 || ^10.3.0",
|
|
61
61
|
"eslint-plugin-react": "^7.37.5",
|
|
62
62
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
63
63
|
"eslint-plugin-react-refresh": "^0.5.2",
|
|
64
|
-
"eslint-plugin-vue": "^10.9.
|
|
64
|
+
"eslint-plugin-vue": "^10.9.1",
|
|
65
65
|
"vue-eslint-parser": "^10.4.0"
|
|
66
66
|
},
|
|
67
67
|
"peerDependenciesMeta": {
|