@rebeccastevens/eslint-config 3.6.3 → 3.7.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/CHANGELOG.md +7 -0
- package/dist/index.cjs +17 -16
- package/dist/index.d.cts +61 -73
- package/dist/index.d.ts +61 -73
- package/dist/index.js +17 -16
- package/package.json +28 -28
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
|
3
3
|
|
|
4
|
+
# [3.7.0](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/compare/v3.6.3...v3.7.0) (2025-03-08)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* update ([c5821e8](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/commit/c5821e827ccec22a40edc6492e221ac001cae070))
|
|
10
|
+
|
|
4
11
|
## [3.6.3](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/compare/v3.6.2...v3.6.3) (2025-02-24)
|
|
5
12
|
|
|
6
13
|
|
package/dist/index.cjs
CHANGED
|
@@ -58,7 +58,7 @@ async function loadPackages(packageIds) {
|
|
|
58
58
|
await installPackages(missing);
|
|
59
59
|
}
|
|
60
60
|
// eslint-disable-next-line ts/no-explicit-any, ts/no-unsafe-return
|
|
61
|
-
return Promise.all(packageIds.map((id) => interopDefault(import(id))));
|
|
61
|
+
return Promise.all(packageIds.map((id) => interopDefault(import(__rewriteRelativeImportExtension(id)))));
|
|
62
62
|
}
|
|
63
63
|
const mut_installPackagesToLoad = new Set();
|
|
64
64
|
let mut_installPackagesAction = null;
|
|
@@ -1915,7 +1915,7 @@ async function promise() {
|
|
|
1915
1915
|
promise: pluginPromise,
|
|
1916
1916
|
},
|
|
1917
1917
|
rules: {
|
|
1918
|
-
"promise/avoid-new": "warn",
|
|
1918
|
+
// "promise/avoid-new": "warn",
|
|
1919
1919
|
"promise/no-callback-in-promise": "error",
|
|
1920
1920
|
"promise/no-nesting": "error",
|
|
1921
1921
|
"promise/no-new-statics": "error",
|
|
@@ -2900,7 +2900,14 @@ async function typescript(options) {
|
|
|
2900
2900
|
"ts/explicit-member-accessibility": ["error", { accessibility: "explicit" }],
|
|
2901
2901
|
"ts/no-array-delete": "error",
|
|
2902
2902
|
"ts/no-base-to-string": "error",
|
|
2903
|
-
"ts/no-confusing-void-expression": [
|
|
2903
|
+
"ts/no-confusing-void-expression": [
|
|
2904
|
+
"error",
|
|
2905
|
+
{
|
|
2906
|
+
ignoreArrowShorthand: false,
|
|
2907
|
+
ignoreVoidOperator: true,
|
|
2908
|
+
ignoreVoidReturningFunctions: true,
|
|
2909
|
+
},
|
|
2910
|
+
],
|
|
2904
2911
|
"ts/no-duplicate-enum-values": "error",
|
|
2905
2912
|
"ts/no-duplicate-type-constituents": "error",
|
|
2906
2913
|
"ts/no-dynamic-delete": "error",
|
|
@@ -3369,7 +3376,6 @@ async function unocss(options) {
|
|
|
3369
3376
|
];
|
|
3370
3377
|
}
|
|
3371
3378
|
|
|
3372
|
-
/* eslint-enable ts/naming-convention */
|
|
3373
3379
|
const NuxtPackages = ["nuxt"];
|
|
3374
3380
|
async function vue(options) {
|
|
3375
3381
|
const { files, i18n, overrides, parserOptions, stylistic, typescript, vueVersion } = options;
|
|
@@ -3449,17 +3455,9 @@ async function vue(options) {
|
|
|
3449
3455
|
},
|
|
3450
3456
|
rules: {
|
|
3451
3457
|
...pluginVue.configs.base.rules,
|
|
3452
|
-
...
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
...pluginVue.configs["strongly-recommended"].rules,
|
|
3456
|
-
...pluginVue.configs.recommended.rules,
|
|
3457
|
-
}
|
|
3458
|
-
: {
|
|
3459
|
-
...pluginVue.configs["vue3-essential"].rules,
|
|
3460
|
-
...pluginVue.configs["vue3-strongly-recommended"].rules,
|
|
3461
|
-
...pluginVue.configs["vue3-recommended"].rules,
|
|
3462
|
-
}),
|
|
3458
|
+
...pluginVue.configs[vueVersion === 2 ? "flat/vue2-recommended" : "flat/recommended"]
|
|
3459
|
+
.map((config) => config.rules ?? {})
|
|
3460
|
+
.reduce((acc, rules) => Object.assign(acc, rules), {}),
|
|
3463
3461
|
"node/prefer-global/process": "off",
|
|
3464
3462
|
"vue/block-order": [
|
|
3465
3463
|
"error",
|
|
@@ -3527,7 +3525,10 @@ async function vue(options) {
|
|
|
3527
3525
|
"vue-i18n/no-dynamic-keys": i18n === false ? "off" : "error",
|
|
3528
3526
|
"vue-i18n/no-unknown-locale": i18n === false ? "off" : "error",
|
|
3529
3527
|
// "vue-i18n/no-missing-keys-in-other-locales": i18n === false ? "off" : "error",
|
|
3530
|
-
// "
|
|
3528
|
+
// "vue-i18n/no-unused-keys": i18n === false ? "off" : "error",
|
|
3529
|
+
// "vue-i18n/prefer-sfc-lang-attr": i18n === false ? "off" : "error",
|
|
3530
|
+
// "vue-i18n/no-duplicate-keys-in-locale": i18n === false ? "off" : "error",
|
|
3531
|
+
// "vue-i18n/sfc-locale-attr": i18n === false ? "off" : "error",
|
|
3531
3532
|
"vue/array-bracket-spacing": [stylisticEnforcement, "never"],
|
|
3532
3533
|
"vue/arrow-spacing": [stylisticEnforcement, { after: true, before: true }],
|
|
3533
3534
|
"vue/block-spacing": [stylisticEnforcement, "always"],
|
package/dist/index.d.cts
CHANGED
|
@@ -1514,6 +1514,12 @@ interface RuleOptions {
|
|
|
1514
1514
|
*/
|
|
1515
1515
|
"react-dom/no-find-dom-node"?: Linter.RuleEntry<[
|
|
1516
1516
|
]>;
|
|
1517
|
+
/**
|
|
1518
|
+
* warns against using `flushSync`
|
|
1519
|
+
* @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
|
|
1520
|
+
*/
|
|
1521
|
+
"react-dom/no-flush-sync"?: Linter.RuleEntry<[
|
|
1522
|
+
]>;
|
|
1517
1523
|
/**
|
|
1518
1524
|
* enforce that button component have an explicit 'type' attribute
|
|
1519
1525
|
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
|
|
@@ -1639,10 +1645,16 @@ interface RuleOptions {
|
|
|
1639
1645
|
"react-hooks/rules-of-hooks"?: Linter.RuleEntry<[
|
|
1640
1646
|
]>;
|
|
1641
1647
|
/**
|
|
1642
|
-
* enforce
|
|
1648
|
+
* enforce naming convention for components
|
|
1643
1649
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
|
|
1644
1650
|
*/
|
|
1645
1651
|
"react-naming-convention/component-name"?: Linter.RuleEntry<ReactNamingConventionComponentName>;
|
|
1652
|
+
/**
|
|
1653
|
+
* enforce context name to be a valid component name with the suffix 'Context'
|
|
1654
|
+
* @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
|
|
1655
|
+
*/
|
|
1656
|
+
"react-naming-convention/context-name"?: Linter.RuleEntry<[
|
|
1657
|
+
]>;
|
|
1646
1658
|
/**
|
|
1647
1659
|
* enforce naming convention for JSX filenames
|
|
1648
1660
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename
|
|
@@ -1697,7 +1709,7 @@ interface RuleOptions {
|
|
|
1697
1709
|
"react/no-access-state-in-setstate"?: Linter.RuleEntry<[
|
|
1698
1710
|
]>;
|
|
1699
1711
|
/**
|
|
1700
|
-
* disallow using
|
|
1712
|
+
* disallow using an item's index in the array as its key
|
|
1701
1713
|
* @see https://eslint-react.xyz/docs/rules/no-array-index-key
|
|
1702
1714
|
*/
|
|
1703
1715
|
"react/no-array-index-key"?: Linter.RuleEntry<[
|
|
@@ -1769,25 +1781,25 @@ interface RuleOptions {
|
|
|
1769
1781
|
"react/no-complicated-conditional-rendering"?: Linter.RuleEntry<[
|
|
1770
1782
|
]>;
|
|
1771
1783
|
/**
|
|
1772
|
-
*
|
|
1784
|
+
* replace 'componentWillMount' with 'UNSAFE_componentWillMount'
|
|
1773
1785
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-mount
|
|
1774
1786
|
*/
|
|
1775
1787
|
"react/no-component-will-mount"?: Linter.RuleEntry<[
|
|
1776
1788
|
]>;
|
|
1777
1789
|
/**
|
|
1778
|
-
*
|
|
1790
|
+
* replace 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'
|
|
1779
1791
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
|
|
1780
1792
|
*/
|
|
1781
1793
|
"react/no-component-will-receive-props"?: Linter.RuleEntry<[
|
|
1782
1794
|
]>;
|
|
1783
1795
|
/**
|
|
1784
|
-
*
|
|
1796
|
+
* replace 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'
|
|
1785
1797
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-update
|
|
1786
1798
|
*/
|
|
1787
1799
|
"react/no-component-will-update"?: Linter.RuleEntry<[
|
|
1788
1800
|
]>;
|
|
1789
1801
|
/**
|
|
1790
|
-
*
|
|
1802
|
+
* replace '<Context.Provider>' with '<Context>'
|
|
1791
1803
|
* @see https://eslint-react.xyz/docs/rules/no-context-provider
|
|
1792
1804
|
*/
|
|
1793
1805
|
"react/no-context-provider"?: Linter.RuleEntry<[
|
|
@@ -1823,7 +1835,7 @@ interface RuleOptions {
|
|
|
1823
1835
|
"react/no-duplicate-key"?: Linter.RuleEntry<[
|
|
1824
1836
|
]>;
|
|
1825
1837
|
/**
|
|
1826
|
-
*
|
|
1838
|
+
* replace 'forwardRef' with passing 'ref' as a prop
|
|
1827
1839
|
* @see https://eslint-react.xyz/docs/rules/no-forward-ref
|
|
1828
1840
|
*/
|
|
1829
1841
|
"react/no-forward-ref"?: Linter.RuleEntry<[
|
|
@@ -1943,7 +1955,7 @@ interface RuleOptions {
|
|
|
1943
1955
|
"react/no-unused-state"?: Linter.RuleEntry<[
|
|
1944
1956
|
]>;
|
|
1945
1957
|
/**
|
|
1946
|
-
*
|
|
1958
|
+
* replace 'useContext' with 'use'
|
|
1947
1959
|
* @see https://eslint-react.xyz/docs/rules/no-use-context
|
|
1948
1960
|
*/
|
|
1949
1961
|
"react/no-use-context"?: Linter.RuleEntry<[
|
|
@@ -1972,13 +1984,13 @@ interface RuleOptions {
|
|
|
1972
1984
|
"react/prefer-read-only-props"?: Linter.RuleEntry<[
|
|
1973
1985
|
]>;
|
|
1974
1986
|
/**
|
|
1975
|
-
* enforce
|
|
1987
|
+
* enforce the use of shorthand syntax for boolean attributes
|
|
1976
1988
|
* @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
|
|
1977
1989
|
*/
|
|
1978
1990
|
"react/prefer-shorthand-boolean"?: Linter.RuleEntry<[
|
|
1979
1991
|
]>;
|
|
1980
1992
|
/**
|
|
1981
|
-
* enforce
|
|
1993
|
+
* enforce the use of shorthand syntax for fragments
|
|
1982
1994
|
* @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
|
|
1983
1995
|
*/
|
|
1984
1996
|
"react/prefer-shorthand-fragment"?: Linter.RuleEntry<[
|
|
@@ -6559,12 +6571,6 @@ interface RuleOptions {
|
|
|
6559
6571
|
* @see https://eslint.vuejs.org/rules/component-options-name-casing.html
|
|
6560
6572
|
*/
|
|
6561
6573
|
"vue/component-options-name-casing"?: Linter.RuleEntry<VueComponentOptionsNameCasing>;
|
|
6562
|
-
/**
|
|
6563
|
-
* enforce order of component top-level elements
|
|
6564
|
-
* @see https://eslint.vuejs.org/rules/component-tags-order.html
|
|
6565
|
-
* @deprecated
|
|
6566
|
-
*/
|
|
6567
|
-
"vue/component-tags-order"?: Linter.RuleEntry<VueComponentTagsOrder>;
|
|
6568
6574
|
/**
|
|
6569
6575
|
* enforce specific casing for custom event name
|
|
6570
6576
|
* @see https://eslint.vuejs.org/rules/custom-event-name-casing.html
|
|
@@ -6631,7 +6637,7 @@ interface RuleOptions {
|
|
|
6631
6637
|
*/
|
|
6632
6638
|
"vue/html-closing-bracket-spacing"?: Linter.RuleEntry<VueHtmlClosingBracketSpacing>;
|
|
6633
6639
|
/**
|
|
6634
|
-
* enforce unified line
|
|
6640
|
+
* enforce unified line break in HTML comments
|
|
6635
6641
|
* @see https://eslint.vuejs.org/rules/html-comment-content-newline.html
|
|
6636
6642
|
*/
|
|
6637
6643
|
"vue/html-comment-content-newline"?: Linter.RuleEntry<VueHtmlCommentContentNewline>;
|
|
@@ -6970,11 +6976,15 @@ interface RuleOptions {
|
|
|
6970
6976
|
*/
|
|
6971
6977
|
"vue/no-extra-parens"?: Linter.RuleEntry<VueNoExtraParens>;
|
|
6972
6978
|
/**
|
|
6973
|
-
*
|
|
6974
|
-
* @see https://eslint.vuejs.org/rules/no-
|
|
6975
|
-
|
|
6979
|
+
* Disallow shorthand type conversions in `<template>`
|
|
6980
|
+
* @see https://eslint.vuejs.org/rules/no-implicit-coercion.html
|
|
6981
|
+
*/
|
|
6982
|
+
"vue/no-implicit-coercion"?: Linter.RuleEntry<VueNoImplicitCoercion>;
|
|
6983
|
+
/**
|
|
6984
|
+
* disallow importing Vue compiler macros
|
|
6985
|
+
* @see https://eslint.vuejs.org/rules/no-import-compiler-macros.html
|
|
6976
6986
|
*/
|
|
6977
|
-
"vue/no-
|
|
6987
|
+
"vue/no-import-compiler-macros"?: Linter.RuleEntry<[
|
|
6978
6988
|
]>;
|
|
6979
6989
|
/**
|
|
6980
6990
|
* disallow irregular whitespace in `.vue` files
|
|
@@ -7004,13 +7014,13 @@ interface RuleOptions {
|
|
|
7004
7014
|
*/
|
|
7005
7015
|
"vue/no-multi-spaces"?: Linter.RuleEntry<VueNoMultiSpaces>;
|
|
7006
7016
|
/**
|
|
7007
|
-
* disallow
|
|
7017
|
+
* disallow passing multiple objects in an array to class
|
|
7008
7018
|
* @see https://eslint.vuejs.org/rules/no-multiple-objects-in-class.html
|
|
7009
7019
|
*/
|
|
7010
7020
|
"vue/no-multiple-objects-in-class"?: Linter.RuleEntry<[
|
|
7011
7021
|
]>;
|
|
7012
7022
|
/**
|
|
7013
|
-
* disallow
|
|
7023
|
+
* disallow passing multiple arguments to scoped slots
|
|
7014
7024
|
* @see https://eslint.vuejs.org/rules/no-multiple-slot-args.html
|
|
7015
7025
|
*/
|
|
7016
7026
|
"vue/no-multiple-slot-args"?: Linter.RuleEntry<[
|
|
@@ -7042,13 +7052,6 @@ interface RuleOptions {
|
|
|
7042
7052
|
*/
|
|
7043
7053
|
"vue/no-ref-as-operand"?: Linter.RuleEntry<[
|
|
7044
7054
|
]>;
|
|
7045
|
-
/**
|
|
7046
|
-
* disallow usages of ref objects that can lead to loss of reactivity
|
|
7047
|
-
* @see https://eslint.vuejs.org/rules/no-ref-object-destructure.html
|
|
7048
|
-
* @deprecated
|
|
7049
|
-
*/
|
|
7050
|
-
"vue/no-ref-object-destructure"?: Linter.RuleEntry<[
|
|
7051
|
-
]>;
|
|
7052
7055
|
/**
|
|
7053
7056
|
* disallow usages of ref objects that can lead to loss of reactivity
|
|
7054
7057
|
* @see https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html
|
|
@@ -7141,13 +7144,6 @@ interface RuleOptions {
|
|
|
7141
7144
|
*/
|
|
7142
7145
|
"vue/no-root-v-if"?: Linter.RuleEntry<[
|
|
7143
7146
|
]>;
|
|
7144
|
-
/**
|
|
7145
|
-
* disallow usages that lose the reactivity of `props` passed to `setup`
|
|
7146
|
-
* @see https://eslint.vuejs.org/rules/no-setup-props-destructure.html
|
|
7147
|
-
* @deprecated
|
|
7148
|
-
*/
|
|
7149
|
-
"vue/no-setup-props-destructure"?: Linter.RuleEntry<[
|
|
7150
|
-
]>;
|
|
7151
7147
|
/**
|
|
7152
7148
|
* disallow usages that lose the reactivity of `props` passed to `setup`
|
|
7153
7149
|
* @see https://eslint.vuejs.org/rules/no-setup-props-reactivity-loss.html
|
|
@@ -7295,6 +7291,7 @@ interface RuleOptions {
|
|
|
7295
7291
|
/**
|
|
7296
7292
|
* disallow `key` attribute on `<template v-for>`
|
|
7297
7293
|
* @see https://eslint.vuejs.org/rules/no-v-for-template-key.html
|
|
7294
|
+
* @deprecated
|
|
7298
7295
|
*/
|
|
7299
7296
|
"vue/no-v-for-template-key"?: Linter.RuleEntry<[
|
|
7300
7297
|
]>;
|
|
@@ -7313,6 +7310,7 @@ interface RuleOptions {
|
|
|
7313
7310
|
/**
|
|
7314
7311
|
* disallow adding an argument to `v-model` used in custom component
|
|
7315
7312
|
* @see https://eslint.vuejs.org/rules/no-v-model-argument.html
|
|
7313
|
+
* @deprecated
|
|
7316
7314
|
*/
|
|
7317
7315
|
"vue/no-v-model-argument"?: Linter.RuleEntry<[
|
|
7318
7316
|
]>;
|
|
@@ -7571,13 +7569,6 @@ interface RuleOptions {
|
|
|
7571
7569
|
* @see https://eslint.vuejs.org/rules/script-indent.html
|
|
7572
7570
|
*/
|
|
7573
7571
|
"vue/script-indent"?: Linter.RuleEntry<VueScriptIndent>;
|
|
7574
|
-
/**
|
|
7575
|
-
* prevent `<script setup>` variables used in `<template>` to be marked as unused
|
|
7576
|
-
* @see https://eslint.vuejs.org/rules/script-setup-uses-vars.html
|
|
7577
|
-
* @deprecated
|
|
7578
|
-
*/
|
|
7579
|
-
"vue/script-setup-uses-vars"?: Linter.RuleEntry<[
|
|
7580
|
-
]>;
|
|
7581
7572
|
/**
|
|
7582
7573
|
* require a line break before and after the contents of a singleline element
|
|
7583
7574
|
* @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
|
|
@@ -7651,12 +7642,6 @@ interface RuleOptions {
|
|
|
7651
7642
|
* @see https://eslint.vuejs.org/rules/v-on-event-hyphenation.html
|
|
7652
7643
|
*/
|
|
7653
7644
|
"vue/v-on-event-hyphenation"?: Linter.RuleEntry<VueVOnEventHyphenation>;
|
|
7654
|
-
/**
|
|
7655
|
-
* enforce or forbid parentheses after method calls without arguments in `v-on` directives
|
|
7656
|
-
* @see https://eslint.vuejs.org/rules/v-on-function-call.html
|
|
7657
|
-
* @deprecated
|
|
7658
|
-
*/
|
|
7659
|
-
"vue/v-on-function-call"?: Linter.RuleEntry<VueVOnFunctionCall>;
|
|
7660
7645
|
/**
|
|
7661
7646
|
* enforce writing style for handlers in `v-on` directives
|
|
7662
7647
|
* @see https://eslint.vuejs.org/rules/v-on-handler-style.html
|
|
@@ -7699,6 +7684,7 @@ interface RuleOptions {
|
|
|
7699
7684
|
/**
|
|
7700
7685
|
* require valid keys in model option
|
|
7701
7686
|
* @see https://eslint.vuejs.org/rules/valid-model-definition.html
|
|
7687
|
+
* @deprecated
|
|
7702
7688
|
*/
|
|
7703
7689
|
"vue/valid-model-definition"?: Linter.RuleEntry<[
|
|
7704
7690
|
]>;
|
|
@@ -7723,6 +7709,7 @@ interface RuleOptions {
|
|
|
7723
7709
|
/**
|
|
7724
7710
|
* enforce valid `.sync` modifier on `v-bind` directives
|
|
7725
7711
|
* @see https://eslint.vuejs.org/rules/valid-v-bind-sync.html
|
|
7712
|
+
* @deprecated
|
|
7726
7713
|
*/
|
|
7727
7714
|
"vue/valid-v-bind-sync"?: Linter.RuleEntry<[
|
|
7728
7715
|
]>;
|
|
@@ -13440,6 +13427,7 @@ type TsExplicitModuleBoundaryTypes = [
|
|
|
13440
13427
|
allowDirectConstAssertionInArrowFunctions?: boolean;
|
|
13441
13428
|
allowedNames?: string[];
|
|
13442
13429
|
allowHigherOrderFunctions?: boolean;
|
|
13430
|
+
allowOverloadFunctions?: boolean;
|
|
13443
13431
|
allowTypedFunctionExpressions?: boolean;
|
|
13444
13432
|
}
|
|
13445
13433
|
];
|
|
@@ -14482,6 +14470,7 @@ type TsUnifiedSignatures = [
|
|
|
14482
14470
|
] | [
|
|
14483
14471
|
{
|
|
14484
14472
|
ignoreDifferentlyNamedParameters?: boolean;
|
|
14473
|
+
ignoreOverloadsWithDifferentJSDoc?: boolean;
|
|
14485
14474
|
}
|
|
14486
14475
|
];
|
|
14487
14476
|
type UnicornBetterRegex = [
|
|
@@ -14932,13 +14921,7 @@ type VueComponentOptionsNameCasing = [
|
|
|
14932
14921
|
] | [
|
|
14933
14922
|
("camelCase" | "kebab-case" | "PascalCase")
|
|
14934
14923
|
];
|
|
14935
|
-
type
|
|
14936
|
-
] | [
|
|
14937
|
-
{
|
|
14938
|
-
order?: (string | string[])[];
|
|
14939
|
-
}
|
|
14940
|
-
];
|
|
14941
|
-
type VueCustomEventNameCasing = ([
|
|
14924
|
+
type VueCustomEventNameCasing = [
|
|
14942
14925
|
] | [
|
|
14943
14926
|
("kebab-case" | "camelCase")
|
|
14944
14927
|
] | [
|
|
@@ -14946,12 +14929,7 @@ type VueCustomEventNameCasing = ([
|
|
|
14946
14929
|
{
|
|
14947
14930
|
ignores?: string[];
|
|
14948
14931
|
}
|
|
14949
|
-
]
|
|
14950
|
-
] | [
|
|
14951
|
-
{
|
|
14952
|
-
ignores?: string[];
|
|
14953
|
-
}
|
|
14954
|
-
]);
|
|
14932
|
+
];
|
|
14955
14933
|
type VueDefineEmitsDeclaration = [
|
|
14956
14934
|
] | [
|
|
14957
14935
|
("type-based" | "type-literal" | "runtime")
|
|
@@ -15717,6 +15695,16 @@ type VueNoExtraParens = ([
|
|
|
15717
15695
|
allowParensAfterCommentPattern?: string;
|
|
15718
15696
|
}
|
|
15719
15697
|
]);
|
|
15698
|
+
type VueNoImplicitCoercion = [
|
|
15699
|
+
] | [
|
|
15700
|
+
{
|
|
15701
|
+
boolean?: boolean;
|
|
15702
|
+
number?: boolean;
|
|
15703
|
+
string?: boolean;
|
|
15704
|
+
disallowTemplateShorthand?: boolean;
|
|
15705
|
+
allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[];
|
|
15706
|
+
}
|
|
15707
|
+
];
|
|
15720
15708
|
type VueNoIrregularWhitespace = [
|
|
15721
15709
|
] | [
|
|
15722
15710
|
{
|
|
@@ -16080,10 +16068,20 @@ type VuePaddingLinesInComponentDefinition = [
|
|
|
16080
16068
|
type VuePreferTrueAttributeShorthand = [
|
|
16081
16069
|
] | [
|
|
16082
16070
|
("always" | "never")
|
|
16071
|
+
] | [
|
|
16072
|
+
("always" | "never"),
|
|
16073
|
+
{
|
|
16074
|
+
except?: string[];
|
|
16075
|
+
}
|
|
16083
16076
|
];
|
|
16084
16077
|
type VuePropNameCasing = [
|
|
16085
16078
|
] | [
|
|
16086
16079
|
("camelCase" | "snake_case")
|
|
16080
|
+
] | [
|
|
16081
|
+
("camelCase" | "snake_case"),
|
|
16082
|
+
{
|
|
16083
|
+
ignoreProps?: string[];
|
|
16084
|
+
}
|
|
16087
16085
|
];
|
|
16088
16086
|
type VueQuoteProps = ([
|
|
16089
16087
|
] | [
|
|
@@ -16184,7 +16182,6 @@ type VueSortKeys = [
|
|
|
16184
16182
|
ignoreGrandchildrenOf?: unknown[];
|
|
16185
16183
|
minKeys?: number;
|
|
16186
16184
|
natural?: boolean;
|
|
16187
|
-
runOutsideVue?: boolean;
|
|
16188
16185
|
}
|
|
16189
16186
|
];
|
|
16190
16187
|
type VueSpaceInParens = [
|
|
@@ -16248,15 +16245,6 @@ type VueVOnEventHyphenation = [
|
|
|
16248
16245
|
ignoreTags?: string[];
|
|
16249
16246
|
}
|
|
16250
16247
|
];
|
|
16251
|
-
type VueVOnFunctionCall = [
|
|
16252
|
-
] | [
|
|
16253
|
-
("always" | "never")
|
|
16254
|
-
] | [
|
|
16255
|
-
("always" | "never"),
|
|
16256
|
-
{
|
|
16257
|
-
ignoreIncludesComment?: boolean;
|
|
16258
|
-
}
|
|
16259
|
-
];
|
|
16260
16248
|
type VueVOnHandlerStyle = [
|
|
16261
16249
|
] | [
|
|
16262
16250
|
(("inline" | "inline-function") | [
|
package/dist/index.d.ts
CHANGED
|
@@ -1514,6 +1514,12 @@ interface RuleOptions {
|
|
|
1514
1514
|
*/
|
|
1515
1515
|
"react-dom/no-find-dom-node"?: Linter.RuleEntry<[
|
|
1516
1516
|
]>;
|
|
1517
|
+
/**
|
|
1518
|
+
* warns against using `flushSync`
|
|
1519
|
+
* @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
|
|
1520
|
+
*/
|
|
1521
|
+
"react-dom/no-flush-sync"?: Linter.RuleEntry<[
|
|
1522
|
+
]>;
|
|
1517
1523
|
/**
|
|
1518
1524
|
* enforce that button component have an explicit 'type' attribute
|
|
1519
1525
|
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
|
|
@@ -1639,10 +1645,16 @@ interface RuleOptions {
|
|
|
1639
1645
|
"react-hooks/rules-of-hooks"?: Linter.RuleEntry<[
|
|
1640
1646
|
]>;
|
|
1641
1647
|
/**
|
|
1642
|
-
* enforce
|
|
1648
|
+
* enforce naming convention for components
|
|
1643
1649
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
|
|
1644
1650
|
*/
|
|
1645
1651
|
"react-naming-convention/component-name"?: Linter.RuleEntry<ReactNamingConventionComponentName>;
|
|
1652
|
+
/**
|
|
1653
|
+
* enforce context name to be a valid component name with the suffix 'Context'
|
|
1654
|
+
* @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
|
|
1655
|
+
*/
|
|
1656
|
+
"react-naming-convention/context-name"?: Linter.RuleEntry<[
|
|
1657
|
+
]>;
|
|
1646
1658
|
/**
|
|
1647
1659
|
* enforce naming convention for JSX filenames
|
|
1648
1660
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename
|
|
@@ -1697,7 +1709,7 @@ interface RuleOptions {
|
|
|
1697
1709
|
"react/no-access-state-in-setstate"?: Linter.RuleEntry<[
|
|
1698
1710
|
]>;
|
|
1699
1711
|
/**
|
|
1700
|
-
* disallow using
|
|
1712
|
+
* disallow using an item's index in the array as its key
|
|
1701
1713
|
* @see https://eslint-react.xyz/docs/rules/no-array-index-key
|
|
1702
1714
|
*/
|
|
1703
1715
|
"react/no-array-index-key"?: Linter.RuleEntry<[
|
|
@@ -1769,25 +1781,25 @@ interface RuleOptions {
|
|
|
1769
1781
|
"react/no-complicated-conditional-rendering"?: Linter.RuleEntry<[
|
|
1770
1782
|
]>;
|
|
1771
1783
|
/**
|
|
1772
|
-
*
|
|
1784
|
+
* replace 'componentWillMount' with 'UNSAFE_componentWillMount'
|
|
1773
1785
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-mount
|
|
1774
1786
|
*/
|
|
1775
1787
|
"react/no-component-will-mount"?: Linter.RuleEntry<[
|
|
1776
1788
|
]>;
|
|
1777
1789
|
/**
|
|
1778
|
-
*
|
|
1790
|
+
* replace 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'
|
|
1779
1791
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
|
|
1780
1792
|
*/
|
|
1781
1793
|
"react/no-component-will-receive-props"?: Linter.RuleEntry<[
|
|
1782
1794
|
]>;
|
|
1783
1795
|
/**
|
|
1784
|
-
*
|
|
1796
|
+
* replace 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'
|
|
1785
1797
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-update
|
|
1786
1798
|
*/
|
|
1787
1799
|
"react/no-component-will-update"?: Linter.RuleEntry<[
|
|
1788
1800
|
]>;
|
|
1789
1801
|
/**
|
|
1790
|
-
*
|
|
1802
|
+
* replace '<Context.Provider>' with '<Context>'
|
|
1791
1803
|
* @see https://eslint-react.xyz/docs/rules/no-context-provider
|
|
1792
1804
|
*/
|
|
1793
1805
|
"react/no-context-provider"?: Linter.RuleEntry<[
|
|
@@ -1823,7 +1835,7 @@ interface RuleOptions {
|
|
|
1823
1835
|
"react/no-duplicate-key"?: Linter.RuleEntry<[
|
|
1824
1836
|
]>;
|
|
1825
1837
|
/**
|
|
1826
|
-
*
|
|
1838
|
+
* replace 'forwardRef' with passing 'ref' as a prop
|
|
1827
1839
|
* @see https://eslint-react.xyz/docs/rules/no-forward-ref
|
|
1828
1840
|
*/
|
|
1829
1841
|
"react/no-forward-ref"?: Linter.RuleEntry<[
|
|
@@ -1943,7 +1955,7 @@ interface RuleOptions {
|
|
|
1943
1955
|
"react/no-unused-state"?: Linter.RuleEntry<[
|
|
1944
1956
|
]>;
|
|
1945
1957
|
/**
|
|
1946
|
-
*
|
|
1958
|
+
* replace 'useContext' with 'use'
|
|
1947
1959
|
* @see https://eslint-react.xyz/docs/rules/no-use-context
|
|
1948
1960
|
*/
|
|
1949
1961
|
"react/no-use-context"?: Linter.RuleEntry<[
|
|
@@ -1972,13 +1984,13 @@ interface RuleOptions {
|
|
|
1972
1984
|
"react/prefer-read-only-props"?: Linter.RuleEntry<[
|
|
1973
1985
|
]>;
|
|
1974
1986
|
/**
|
|
1975
|
-
* enforce
|
|
1987
|
+
* enforce the use of shorthand syntax for boolean attributes
|
|
1976
1988
|
* @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
|
|
1977
1989
|
*/
|
|
1978
1990
|
"react/prefer-shorthand-boolean"?: Linter.RuleEntry<[
|
|
1979
1991
|
]>;
|
|
1980
1992
|
/**
|
|
1981
|
-
* enforce
|
|
1993
|
+
* enforce the use of shorthand syntax for fragments
|
|
1982
1994
|
* @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
|
|
1983
1995
|
*/
|
|
1984
1996
|
"react/prefer-shorthand-fragment"?: Linter.RuleEntry<[
|
|
@@ -6559,12 +6571,6 @@ interface RuleOptions {
|
|
|
6559
6571
|
* @see https://eslint.vuejs.org/rules/component-options-name-casing.html
|
|
6560
6572
|
*/
|
|
6561
6573
|
"vue/component-options-name-casing"?: Linter.RuleEntry<VueComponentOptionsNameCasing>;
|
|
6562
|
-
/**
|
|
6563
|
-
* enforce order of component top-level elements
|
|
6564
|
-
* @see https://eslint.vuejs.org/rules/component-tags-order.html
|
|
6565
|
-
* @deprecated
|
|
6566
|
-
*/
|
|
6567
|
-
"vue/component-tags-order"?: Linter.RuleEntry<VueComponentTagsOrder>;
|
|
6568
6574
|
/**
|
|
6569
6575
|
* enforce specific casing for custom event name
|
|
6570
6576
|
* @see https://eslint.vuejs.org/rules/custom-event-name-casing.html
|
|
@@ -6631,7 +6637,7 @@ interface RuleOptions {
|
|
|
6631
6637
|
*/
|
|
6632
6638
|
"vue/html-closing-bracket-spacing"?: Linter.RuleEntry<VueHtmlClosingBracketSpacing>;
|
|
6633
6639
|
/**
|
|
6634
|
-
* enforce unified line
|
|
6640
|
+
* enforce unified line break in HTML comments
|
|
6635
6641
|
* @see https://eslint.vuejs.org/rules/html-comment-content-newline.html
|
|
6636
6642
|
*/
|
|
6637
6643
|
"vue/html-comment-content-newline"?: Linter.RuleEntry<VueHtmlCommentContentNewline>;
|
|
@@ -6970,11 +6976,15 @@ interface RuleOptions {
|
|
|
6970
6976
|
*/
|
|
6971
6977
|
"vue/no-extra-parens"?: Linter.RuleEntry<VueNoExtraParens>;
|
|
6972
6978
|
/**
|
|
6973
|
-
*
|
|
6974
|
-
* @see https://eslint.vuejs.org/rules/no-
|
|
6975
|
-
|
|
6979
|
+
* Disallow shorthand type conversions in `<template>`
|
|
6980
|
+
* @see https://eslint.vuejs.org/rules/no-implicit-coercion.html
|
|
6981
|
+
*/
|
|
6982
|
+
"vue/no-implicit-coercion"?: Linter.RuleEntry<VueNoImplicitCoercion>;
|
|
6983
|
+
/**
|
|
6984
|
+
* disallow importing Vue compiler macros
|
|
6985
|
+
* @see https://eslint.vuejs.org/rules/no-import-compiler-macros.html
|
|
6976
6986
|
*/
|
|
6977
|
-
"vue/no-
|
|
6987
|
+
"vue/no-import-compiler-macros"?: Linter.RuleEntry<[
|
|
6978
6988
|
]>;
|
|
6979
6989
|
/**
|
|
6980
6990
|
* disallow irregular whitespace in `.vue` files
|
|
@@ -7004,13 +7014,13 @@ interface RuleOptions {
|
|
|
7004
7014
|
*/
|
|
7005
7015
|
"vue/no-multi-spaces"?: Linter.RuleEntry<VueNoMultiSpaces>;
|
|
7006
7016
|
/**
|
|
7007
|
-
* disallow
|
|
7017
|
+
* disallow passing multiple objects in an array to class
|
|
7008
7018
|
* @see https://eslint.vuejs.org/rules/no-multiple-objects-in-class.html
|
|
7009
7019
|
*/
|
|
7010
7020
|
"vue/no-multiple-objects-in-class"?: Linter.RuleEntry<[
|
|
7011
7021
|
]>;
|
|
7012
7022
|
/**
|
|
7013
|
-
* disallow
|
|
7023
|
+
* disallow passing multiple arguments to scoped slots
|
|
7014
7024
|
* @see https://eslint.vuejs.org/rules/no-multiple-slot-args.html
|
|
7015
7025
|
*/
|
|
7016
7026
|
"vue/no-multiple-slot-args"?: Linter.RuleEntry<[
|
|
@@ -7042,13 +7052,6 @@ interface RuleOptions {
|
|
|
7042
7052
|
*/
|
|
7043
7053
|
"vue/no-ref-as-operand"?: Linter.RuleEntry<[
|
|
7044
7054
|
]>;
|
|
7045
|
-
/**
|
|
7046
|
-
* disallow usages of ref objects that can lead to loss of reactivity
|
|
7047
|
-
* @see https://eslint.vuejs.org/rules/no-ref-object-destructure.html
|
|
7048
|
-
* @deprecated
|
|
7049
|
-
*/
|
|
7050
|
-
"vue/no-ref-object-destructure"?: Linter.RuleEntry<[
|
|
7051
|
-
]>;
|
|
7052
7055
|
/**
|
|
7053
7056
|
* disallow usages of ref objects that can lead to loss of reactivity
|
|
7054
7057
|
* @see https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html
|
|
@@ -7141,13 +7144,6 @@ interface RuleOptions {
|
|
|
7141
7144
|
*/
|
|
7142
7145
|
"vue/no-root-v-if"?: Linter.RuleEntry<[
|
|
7143
7146
|
]>;
|
|
7144
|
-
/**
|
|
7145
|
-
* disallow usages that lose the reactivity of `props` passed to `setup`
|
|
7146
|
-
* @see https://eslint.vuejs.org/rules/no-setup-props-destructure.html
|
|
7147
|
-
* @deprecated
|
|
7148
|
-
*/
|
|
7149
|
-
"vue/no-setup-props-destructure"?: Linter.RuleEntry<[
|
|
7150
|
-
]>;
|
|
7151
7147
|
/**
|
|
7152
7148
|
* disallow usages that lose the reactivity of `props` passed to `setup`
|
|
7153
7149
|
* @see https://eslint.vuejs.org/rules/no-setup-props-reactivity-loss.html
|
|
@@ -7295,6 +7291,7 @@ interface RuleOptions {
|
|
|
7295
7291
|
/**
|
|
7296
7292
|
* disallow `key` attribute on `<template v-for>`
|
|
7297
7293
|
* @see https://eslint.vuejs.org/rules/no-v-for-template-key.html
|
|
7294
|
+
* @deprecated
|
|
7298
7295
|
*/
|
|
7299
7296
|
"vue/no-v-for-template-key"?: Linter.RuleEntry<[
|
|
7300
7297
|
]>;
|
|
@@ -7313,6 +7310,7 @@ interface RuleOptions {
|
|
|
7313
7310
|
/**
|
|
7314
7311
|
* disallow adding an argument to `v-model` used in custom component
|
|
7315
7312
|
* @see https://eslint.vuejs.org/rules/no-v-model-argument.html
|
|
7313
|
+
* @deprecated
|
|
7316
7314
|
*/
|
|
7317
7315
|
"vue/no-v-model-argument"?: Linter.RuleEntry<[
|
|
7318
7316
|
]>;
|
|
@@ -7571,13 +7569,6 @@ interface RuleOptions {
|
|
|
7571
7569
|
* @see https://eslint.vuejs.org/rules/script-indent.html
|
|
7572
7570
|
*/
|
|
7573
7571
|
"vue/script-indent"?: Linter.RuleEntry<VueScriptIndent>;
|
|
7574
|
-
/**
|
|
7575
|
-
* prevent `<script setup>` variables used in `<template>` to be marked as unused
|
|
7576
|
-
* @see https://eslint.vuejs.org/rules/script-setup-uses-vars.html
|
|
7577
|
-
* @deprecated
|
|
7578
|
-
*/
|
|
7579
|
-
"vue/script-setup-uses-vars"?: Linter.RuleEntry<[
|
|
7580
|
-
]>;
|
|
7581
7572
|
/**
|
|
7582
7573
|
* require a line break before and after the contents of a singleline element
|
|
7583
7574
|
* @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
|
|
@@ -7651,12 +7642,6 @@ interface RuleOptions {
|
|
|
7651
7642
|
* @see https://eslint.vuejs.org/rules/v-on-event-hyphenation.html
|
|
7652
7643
|
*/
|
|
7653
7644
|
"vue/v-on-event-hyphenation"?: Linter.RuleEntry<VueVOnEventHyphenation>;
|
|
7654
|
-
/**
|
|
7655
|
-
* enforce or forbid parentheses after method calls without arguments in `v-on` directives
|
|
7656
|
-
* @see https://eslint.vuejs.org/rules/v-on-function-call.html
|
|
7657
|
-
* @deprecated
|
|
7658
|
-
*/
|
|
7659
|
-
"vue/v-on-function-call"?: Linter.RuleEntry<VueVOnFunctionCall>;
|
|
7660
7645
|
/**
|
|
7661
7646
|
* enforce writing style for handlers in `v-on` directives
|
|
7662
7647
|
* @see https://eslint.vuejs.org/rules/v-on-handler-style.html
|
|
@@ -7699,6 +7684,7 @@ interface RuleOptions {
|
|
|
7699
7684
|
/**
|
|
7700
7685
|
* require valid keys in model option
|
|
7701
7686
|
* @see https://eslint.vuejs.org/rules/valid-model-definition.html
|
|
7687
|
+
* @deprecated
|
|
7702
7688
|
*/
|
|
7703
7689
|
"vue/valid-model-definition"?: Linter.RuleEntry<[
|
|
7704
7690
|
]>;
|
|
@@ -7723,6 +7709,7 @@ interface RuleOptions {
|
|
|
7723
7709
|
/**
|
|
7724
7710
|
* enforce valid `.sync` modifier on `v-bind` directives
|
|
7725
7711
|
* @see https://eslint.vuejs.org/rules/valid-v-bind-sync.html
|
|
7712
|
+
* @deprecated
|
|
7726
7713
|
*/
|
|
7727
7714
|
"vue/valid-v-bind-sync"?: Linter.RuleEntry<[
|
|
7728
7715
|
]>;
|
|
@@ -13440,6 +13427,7 @@ type TsExplicitModuleBoundaryTypes = [
|
|
|
13440
13427
|
allowDirectConstAssertionInArrowFunctions?: boolean;
|
|
13441
13428
|
allowedNames?: string[];
|
|
13442
13429
|
allowHigherOrderFunctions?: boolean;
|
|
13430
|
+
allowOverloadFunctions?: boolean;
|
|
13443
13431
|
allowTypedFunctionExpressions?: boolean;
|
|
13444
13432
|
}
|
|
13445
13433
|
];
|
|
@@ -14482,6 +14470,7 @@ type TsUnifiedSignatures = [
|
|
|
14482
14470
|
] | [
|
|
14483
14471
|
{
|
|
14484
14472
|
ignoreDifferentlyNamedParameters?: boolean;
|
|
14473
|
+
ignoreOverloadsWithDifferentJSDoc?: boolean;
|
|
14485
14474
|
}
|
|
14486
14475
|
];
|
|
14487
14476
|
type UnicornBetterRegex = [
|
|
@@ -14932,13 +14921,7 @@ type VueComponentOptionsNameCasing = [
|
|
|
14932
14921
|
] | [
|
|
14933
14922
|
("camelCase" | "kebab-case" | "PascalCase")
|
|
14934
14923
|
];
|
|
14935
|
-
type
|
|
14936
|
-
] | [
|
|
14937
|
-
{
|
|
14938
|
-
order?: (string | string[])[];
|
|
14939
|
-
}
|
|
14940
|
-
];
|
|
14941
|
-
type VueCustomEventNameCasing = ([
|
|
14924
|
+
type VueCustomEventNameCasing = [
|
|
14942
14925
|
] | [
|
|
14943
14926
|
("kebab-case" | "camelCase")
|
|
14944
14927
|
] | [
|
|
@@ -14946,12 +14929,7 @@ type VueCustomEventNameCasing = ([
|
|
|
14946
14929
|
{
|
|
14947
14930
|
ignores?: string[];
|
|
14948
14931
|
}
|
|
14949
|
-
]
|
|
14950
|
-
] | [
|
|
14951
|
-
{
|
|
14952
|
-
ignores?: string[];
|
|
14953
|
-
}
|
|
14954
|
-
]);
|
|
14932
|
+
];
|
|
14955
14933
|
type VueDefineEmitsDeclaration = [
|
|
14956
14934
|
] | [
|
|
14957
14935
|
("type-based" | "type-literal" | "runtime")
|
|
@@ -15717,6 +15695,16 @@ type VueNoExtraParens = ([
|
|
|
15717
15695
|
allowParensAfterCommentPattern?: string;
|
|
15718
15696
|
}
|
|
15719
15697
|
]);
|
|
15698
|
+
type VueNoImplicitCoercion = [
|
|
15699
|
+
] | [
|
|
15700
|
+
{
|
|
15701
|
+
boolean?: boolean;
|
|
15702
|
+
number?: boolean;
|
|
15703
|
+
string?: boolean;
|
|
15704
|
+
disallowTemplateShorthand?: boolean;
|
|
15705
|
+
allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[];
|
|
15706
|
+
}
|
|
15707
|
+
];
|
|
15720
15708
|
type VueNoIrregularWhitespace = [
|
|
15721
15709
|
] | [
|
|
15722
15710
|
{
|
|
@@ -16080,10 +16068,20 @@ type VuePaddingLinesInComponentDefinition = [
|
|
|
16080
16068
|
type VuePreferTrueAttributeShorthand = [
|
|
16081
16069
|
] | [
|
|
16082
16070
|
("always" | "never")
|
|
16071
|
+
] | [
|
|
16072
|
+
("always" | "never"),
|
|
16073
|
+
{
|
|
16074
|
+
except?: string[];
|
|
16075
|
+
}
|
|
16083
16076
|
];
|
|
16084
16077
|
type VuePropNameCasing = [
|
|
16085
16078
|
] | [
|
|
16086
16079
|
("camelCase" | "snake_case")
|
|
16080
|
+
] | [
|
|
16081
|
+
("camelCase" | "snake_case"),
|
|
16082
|
+
{
|
|
16083
|
+
ignoreProps?: string[];
|
|
16084
|
+
}
|
|
16087
16085
|
];
|
|
16088
16086
|
type VueQuoteProps = ([
|
|
16089
16087
|
] | [
|
|
@@ -16184,7 +16182,6 @@ type VueSortKeys = [
|
|
|
16184
16182
|
ignoreGrandchildrenOf?: unknown[];
|
|
16185
16183
|
minKeys?: number;
|
|
16186
16184
|
natural?: boolean;
|
|
16187
|
-
runOutsideVue?: boolean;
|
|
16188
16185
|
}
|
|
16189
16186
|
];
|
|
16190
16187
|
type VueSpaceInParens = [
|
|
@@ -16248,15 +16245,6 @@ type VueVOnEventHyphenation = [
|
|
|
16248
16245
|
ignoreTags?: string[];
|
|
16249
16246
|
}
|
|
16250
16247
|
];
|
|
16251
|
-
type VueVOnFunctionCall = [
|
|
16252
|
-
] | [
|
|
16253
|
-
("always" | "never")
|
|
16254
|
-
] | [
|
|
16255
|
-
("always" | "never"),
|
|
16256
|
-
{
|
|
16257
|
-
ignoreIncludesComment?: boolean;
|
|
16258
|
-
}
|
|
16259
|
-
];
|
|
16260
16248
|
type VueVOnHandlerStyle = [
|
|
16261
16249
|
] | [
|
|
16262
16250
|
(("inline" | "inline-function") | [
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ async function loadPackages(packageIds) {
|
|
|
36
36
|
await installPackages(missing);
|
|
37
37
|
}
|
|
38
38
|
// eslint-disable-next-line ts/no-explicit-any, ts/no-unsafe-return
|
|
39
|
-
return Promise.all(packageIds.map((id) => interopDefault(import(id))));
|
|
39
|
+
return Promise.all(packageIds.map((id) => interopDefault(import(__rewriteRelativeImportExtension(id)))));
|
|
40
40
|
}
|
|
41
41
|
const mut_installPackagesToLoad = new Set();
|
|
42
42
|
let mut_installPackagesAction = null;
|
|
@@ -1893,7 +1893,7 @@ async function promise() {
|
|
|
1893
1893
|
promise: pluginPromise,
|
|
1894
1894
|
},
|
|
1895
1895
|
rules: {
|
|
1896
|
-
"promise/avoid-new": "warn",
|
|
1896
|
+
// "promise/avoid-new": "warn",
|
|
1897
1897
|
"promise/no-callback-in-promise": "error",
|
|
1898
1898
|
"promise/no-nesting": "error",
|
|
1899
1899
|
"promise/no-new-statics": "error",
|
|
@@ -2878,7 +2878,14 @@ async function typescript(options) {
|
|
|
2878
2878
|
"ts/explicit-member-accessibility": ["error", { accessibility: "explicit" }],
|
|
2879
2879
|
"ts/no-array-delete": "error",
|
|
2880
2880
|
"ts/no-base-to-string": "error",
|
|
2881
|
-
"ts/no-confusing-void-expression": [
|
|
2881
|
+
"ts/no-confusing-void-expression": [
|
|
2882
|
+
"error",
|
|
2883
|
+
{
|
|
2884
|
+
ignoreArrowShorthand: false,
|
|
2885
|
+
ignoreVoidOperator: true,
|
|
2886
|
+
ignoreVoidReturningFunctions: true,
|
|
2887
|
+
},
|
|
2888
|
+
],
|
|
2882
2889
|
"ts/no-duplicate-enum-values": "error",
|
|
2883
2890
|
"ts/no-duplicate-type-constituents": "error",
|
|
2884
2891
|
"ts/no-dynamic-delete": "error",
|
|
@@ -3347,7 +3354,6 @@ async function unocss(options) {
|
|
|
3347
3354
|
];
|
|
3348
3355
|
}
|
|
3349
3356
|
|
|
3350
|
-
/* eslint-enable ts/naming-convention */
|
|
3351
3357
|
const NuxtPackages = ["nuxt"];
|
|
3352
3358
|
async function vue(options) {
|
|
3353
3359
|
const { files, i18n, overrides, parserOptions, stylistic, typescript, vueVersion } = options;
|
|
@@ -3427,17 +3433,9 @@ async function vue(options) {
|
|
|
3427
3433
|
},
|
|
3428
3434
|
rules: {
|
|
3429
3435
|
...pluginVue.configs.base.rules,
|
|
3430
|
-
...
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
...pluginVue.configs["strongly-recommended"].rules,
|
|
3434
|
-
...pluginVue.configs.recommended.rules,
|
|
3435
|
-
}
|
|
3436
|
-
: {
|
|
3437
|
-
...pluginVue.configs["vue3-essential"].rules,
|
|
3438
|
-
...pluginVue.configs["vue3-strongly-recommended"].rules,
|
|
3439
|
-
...pluginVue.configs["vue3-recommended"].rules,
|
|
3440
|
-
}),
|
|
3436
|
+
...pluginVue.configs[vueVersion === 2 ? "flat/vue2-recommended" : "flat/recommended"]
|
|
3437
|
+
.map((config) => config.rules ?? {})
|
|
3438
|
+
.reduce((acc, rules) => Object.assign(acc, rules), {}),
|
|
3441
3439
|
"node/prefer-global/process": "off",
|
|
3442
3440
|
"vue/block-order": [
|
|
3443
3441
|
"error",
|
|
@@ -3505,7 +3503,10 @@ async function vue(options) {
|
|
|
3505
3503
|
"vue-i18n/no-dynamic-keys": i18n === false ? "off" : "error",
|
|
3506
3504
|
"vue-i18n/no-unknown-locale": i18n === false ? "off" : "error",
|
|
3507
3505
|
// "vue-i18n/no-missing-keys-in-other-locales": i18n === false ? "off" : "error",
|
|
3508
|
-
// "
|
|
3506
|
+
// "vue-i18n/no-unused-keys": i18n === false ? "off" : "error",
|
|
3507
|
+
// "vue-i18n/prefer-sfc-lang-attr": i18n === false ? "off" : "error",
|
|
3508
|
+
// "vue-i18n/no-duplicate-keys-in-locale": i18n === false ? "off" : "error",
|
|
3509
|
+
// "vue-i18n/sfc-locale-attr": i18n === false ? "off" : "error",
|
|
3509
3510
|
"vue/array-bracket-spacing": [stylisticEnforcement, "never"],
|
|
3510
3511
|
"vue/arrow-spacing": [stylisticEnforcement, { after: true, before: true }],
|
|
3511
3512
|
"vue/block-spacing": [stylisticEnforcement, "always"],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rebeccastevens/eslint-config",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"description": "My ESLint shareable config.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint config"
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"build": "rimraf dist && pnpm run typegen && rollup -c rollup.config.ts --configPlugin @rollup/plugin-typescript --configImportAttributesKey with",
|
|
45
45
|
"cz": "git-cz",
|
|
46
46
|
"lint": "pnpm run typegen && eslint && pnpm run lint:md && pnpm run lint:spelling && pnpm run lint:knip && pnpm run lint:packages",
|
|
47
|
+
"lint-fix": "pnpm run typegen && eslint --fix && pnpm run lint:md-fix && pnpm run lint:packages-fix",
|
|
47
48
|
"lint:js": "eslint \"**/*.?([cm])[jt]s?(x)\"",
|
|
48
49
|
"lint:js-fix": "eslint \"**/*.?([cm])[jt]s?(x)\" --fix",
|
|
49
50
|
"lint:knip": "knip",
|
|
@@ -56,7 +57,6 @@
|
|
|
56
57
|
"lint:spelling": "cspell lint --no-progress --show-suggestions --show-context --dot \"**\" \".github/**/*\"",
|
|
57
58
|
"lint:yaml": "eslint \"**/*.y?(a)ml\"",
|
|
58
59
|
"lint:yaml-fix": "eslint \"**/*.y?(a)ml\" --fix",
|
|
59
|
-
"lint-fix": "pnpm run typegen && eslint --fix && pnpm run lint:md-fix && pnpm run lint:packages-fix",
|
|
60
60
|
"prepare": "husky",
|
|
61
61
|
"release": "semantic-release",
|
|
62
62
|
"typecheck": "pnpm run typegen && pnpm run typecheck:root && pnpm run typecheck:src",
|
|
@@ -68,16 +68,16 @@
|
|
|
68
68
|
"@antfu/install-pkg": "^1.0.0",
|
|
69
69
|
"@clack/prompts": "^0.10.0",
|
|
70
70
|
"globals": "^16.0.0",
|
|
71
|
-
"local-pkg": "^1.
|
|
71
|
+
"local-pkg": "^1.1.1",
|
|
72
72
|
"semver": "^7.7.1"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
-
"@commitlint/cli": "19.
|
|
76
|
-
"@commitlint/config-conventional": "19.
|
|
75
|
+
"@commitlint/cli": "19.8.0",
|
|
76
|
+
"@commitlint/config-conventional": "19.8.0",
|
|
77
77
|
"@cspell/dict-cryptocurrencies": "5.0.4",
|
|
78
|
-
"@eslint-react/eslint-plugin": "1.
|
|
78
|
+
"@eslint-react/eslint-plugin": "1.31.0",
|
|
79
79
|
"@eslint/compat": "1.2.7",
|
|
80
|
-
"@intlify/eslint-plugin-vue-i18n": "
|
|
80
|
+
"@intlify/eslint-plugin-vue-i18n": "4.0.0",
|
|
81
81
|
"@rollup/plugin-typescript": "12.1.2",
|
|
82
82
|
"@semantic-release/changelog": "6.0.3",
|
|
83
83
|
"@semantic-release/commit-analyzer": "13.0.1",
|
|
@@ -85,20 +85,20 @@
|
|
|
85
85
|
"@semantic-release/github": "11.0.1",
|
|
86
86
|
"@semantic-release/npm": "12.0.1",
|
|
87
87
|
"@semantic-release/release-notes-generator": "14.0.3",
|
|
88
|
-
"@stylistic/eslint-plugin": "4.0
|
|
89
|
-
"@stylistic/eslint-plugin-migrate": "4.0
|
|
88
|
+
"@stylistic/eslint-plugin": "4.2.0",
|
|
89
|
+
"@stylistic/eslint-plugin-migrate": "4.2.0",
|
|
90
90
|
"@types/eslint": "9.6.1",
|
|
91
|
-
"@types/node": "22.13.
|
|
92
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
93
|
-
"@typescript-eslint/parser": "8.
|
|
94
|
-
"@typescript-eslint/utils": "8.
|
|
91
|
+
"@types/node": "22.13.9",
|
|
92
|
+
"@typescript-eslint/eslint-plugin": "8.26.0",
|
|
93
|
+
"@typescript-eslint/parser": "8.26.0",
|
|
94
|
+
"@typescript-eslint/utils": "8.26.0",
|
|
95
95
|
"@unocss/eslint-plugin": "66.0.0",
|
|
96
|
-
"@vitest/eslint-plugin": "1.1.
|
|
96
|
+
"@vitest/eslint-plugin": "1.1.36",
|
|
97
97
|
"commitizen": "4.3.1",
|
|
98
98
|
"cspell": "8.17.5",
|
|
99
99
|
"cz-conventional-changelog": "3.3.0",
|
|
100
|
-
"eslint": "9.
|
|
101
|
-
"eslint-config-prettier": "10.
|
|
100
|
+
"eslint": "9.22.0",
|
|
101
|
+
"eslint-config-prettier": "10.1.1",
|
|
102
102
|
"eslint-flat-config-utils": "2.0.1",
|
|
103
103
|
"eslint-formatting-reporter": "0.0.0",
|
|
104
104
|
"eslint-import-resolver-typescript": "3.8.3",
|
|
@@ -112,43 +112,43 @@
|
|
|
112
112
|
"eslint-plugin-jsonc": "2.19.1",
|
|
113
113
|
"eslint-plugin-jsx-a11y": "6.10.2",
|
|
114
114
|
"eslint-plugin-markdown": "5.1.0",
|
|
115
|
-
"eslint-plugin-n": "17.
|
|
115
|
+
"eslint-plugin-n": "17.16.2",
|
|
116
116
|
"eslint-plugin-no-only-tests": "3.3.0",
|
|
117
117
|
"eslint-plugin-optimize-regex": "1.2.1",
|
|
118
118
|
"eslint-plugin-prettier": "5.2.3",
|
|
119
119
|
"eslint-plugin-promise": "7.2.1",
|
|
120
|
-
"eslint-plugin-react-hooks": "5.
|
|
120
|
+
"eslint-plugin-react-hooks": "5.2.0",
|
|
121
121
|
"eslint-plugin-react-refresh": "0.4.19",
|
|
122
|
-
"eslint-plugin-readable-tailwind": "1.9.
|
|
122
|
+
"eslint-plugin-readable-tailwind": "1.9.1",
|
|
123
123
|
"eslint-plugin-regexp": "2.7.0",
|
|
124
124
|
"eslint-plugin-sonarjs": "3.0.2",
|
|
125
125
|
"eslint-plugin-tailwindcss": "3.18.0",
|
|
126
126
|
"eslint-plugin-toml": "0.12.0",
|
|
127
127
|
"eslint-plugin-unicorn": "57.0.0",
|
|
128
|
-
"eslint-plugin-vue": "
|
|
128
|
+
"eslint-plugin-vue": "10.0.0",
|
|
129
129
|
"eslint-plugin-yml": "1.17.0",
|
|
130
130
|
"eslint-processor-vue-blocks": "2.0.0",
|
|
131
131
|
"eslint-typegen": "2.0.0",
|
|
132
132
|
"husky": "9.1.7",
|
|
133
133
|
"jiti": "2.4.2",
|
|
134
134
|
"jsonc-eslint-parser": "2.4.0",
|
|
135
|
-
"knip": "5.
|
|
135
|
+
"knip": "5.45.0",
|
|
136
136
|
"lint-staged": "15.4.3",
|
|
137
137
|
"markdownlint-cli2": "0.17.2",
|
|
138
|
-
"prettier": "3.5.
|
|
138
|
+
"prettier": "3.5.3",
|
|
139
139
|
"prettier-plugin-tailwindcss": "0.6.11",
|
|
140
140
|
"rimraf": "6.0.1",
|
|
141
|
-
"rollup": "4.34.
|
|
141
|
+
"rollup": "4.34.9",
|
|
142
142
|
"rollup-plugin-deassert": "1.3.0",
|
|
143
143
|
"rollup-plugin-dts-bundle-generator-2": "2.0.0",
|
|
144
144
|
"semantic-release": "24.2.3",
|
|
145
|
-
"sort-package-json": "
|
|
145
|
+
"sort-package-json": "3.0.0",
|
|
146
146
|
"toml-eslint-parser": "0.10.0",
|
|
147
147
|
"tsc-files": "1.1.4",
|
|
148
148
|
"tsx": "4.19.3",
|
|
149
|
-
"typescript": "5.
|
|
150
|
-
"vue-eslint-parser": "
|
|
151
|
-
"yaml-eslint-parser": "1.
|
|
149
|
+
"typescript": "5.8.2",
|
|
150
|
+
"vue-eslint-parser": "10.1.1",
|
|
151
|
+
"yaml-eslint-parser": "1.3.0"
|
|
152
152
|
},
|
|
153
153
|
"peerDependencies": {
|
|
154
154
|
"@stylistic/eslint-plugin": "*",
|
|
@@ -327,7 +327,7 @@
|
|
|
327
327
|
"optional": true
|
|
328
328
|
}
|
|
329
329
|
},
|
|
330
|
-
"packageManager": "pnpm@10.
|
|
330
|
+
"packageManager": "pnpm@10.6.1",
|
|
331
331
|
"engines": {
|
|
332
332
|
"node": ">=20.0.0"
|
|
333
333
|
},
|