eslint-config-airbnb-extended 2.3.3 → 3.0.0-beta-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/README.md +3 -3
- package/dist/_virtual/rolldown_runtime.cjs +1 -0
- package/dist/_virtual/rolldown_runtime.js +1 -0
- package/dist/configs/base/config.cjs +1 -0
- package/dist/configs/base/config.js +1 -26
- package/dist/configs/base/configExtended.cjs +1 -0
- package/dist/configs/base/configExtended.js +1 -9
- package/dist/configs/base/index.cjs +1 -0
- package/dist/configs/base/index.js +1 -18
- package/dist/configs/base/recommended.cjs +1 -0
- package/dist/configs/base/recommended.js +1 -12
- package/dist/configs/base/typescript.cjs +1 -0
- package/dist/configs/base/typescript.js +1 -12
- package/dist/configs/index.cjs +1 -0
- package/dist/configs/index.js +1 -21
- package/dist/configs/next/config.cjs +1 -0
- package/dist/configs/next/config.js +1 -12
- package/dist/configs/next/index.cjs +1 -0
- package/dist/configs/next/index.js +1 -18
- package/dist/configs/next/recommended.cjs +1 -0
- package/dist/configs/next/recommended.js +1 -14
- package/dist/configs/next/typescript.cjs +1 -0
- package/dist/configs/next/typescript.js +1 -8
- package/dist/configs/node/config.cjs +1 -0
- package/dist/configs/node/config.js +1 -16
- package/dist/configs/node/index.cjs +1 -0
- package/dist/configs/node/index.js +1 -12
- package/dist/configs/node/recommended.cjs +1 -0
- package/dist/configs/node/recommended.js +1 -12
- package/dist/configs/react/config.cjs +1 -0
- package/dist/configs/react/config.js +1 -16
- package/dist/configs/react/configExtended.cjs +1 -0
- package/dist/configs/react/configExtended.js +1 -9
- package/dist/configs/react/index.cjs +1 -0
- package/dist/configs/react/index.js +1 -18
- package/dist/configs/react/recommended.cjs +1 -0
- package/dist/configs/react/recommended.js +1 -12
- package/dist/configs/react/typescript.cjs +1 -0
- package/dist/configs/react/typescript.js +1 -8
- package/dist/configs/typescript/config.cjs +1 -0
- package/dist/configs/typescript/config.js +1 -18
- package/dist/configs/typescript/configExtended.cjs +1 -0
- package/dist/configs/typescript/configExtended.js +1 -9
- package/dist/extensions/base/index.cjs +1 -0
- package/dist/extensions/base/index.js +1 -15
- package/dist/extensions/base/recommended.cjs +1 -0
- package/dist/extensions/base/recommended.js +1 -31
- package/dist/extensions/base/typescript.cjs +1 -0
- package/dist/extensions/base/typescript.js +1 -19
- package/dist/extensions/index.cjs +1 -0
- package/dist/extensions/index.js +1 -21
- package/dist/extensions/next/index.cjs +1 -0
- package/dist/extensions/next/index.js +1 -12
- package/dist/extensions/next/recommended.cjs +1 -0
- package/dist/extensions/next/recommended.js +1 -21
- package/dist/extensions/node/index.cjs +1 -0
- package/dist/extensions/node/index.js +1 -12
- package/dist/extensions/node/recommended.cjs +1 -0
- package/dist/extensions/node/recommended.js +1 -39
- package/dist/extensions/react/index.cjs +1 -0
- package/dist/extensions/react/index.js +1 -15
- package/dist/extensions/react/recommended.cjs +1 -0
- package/dist/extensions/react/recommended.js +1 -72
- package/dist/extensions/react/typescript.cjs +1 -0
- package/dist/extensions/react/typescript.js +1 -29
- package/dist/helpers/getDevDepsList.cjs +1 -0
- package/dist/helpers/getDevDepsList.js +1 -32
- package/dist/helpers/getImportSettings.cjs +1 -0
- package/dist/helpers/getImportSettings.js +1 -42
- package/dist/helpers/getStylisticLegacyConfig.cjs +1 -0
- package/dist/helpers/getStylisticLegacyConfig.js +1 -29
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +37 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.js +1 -18
- package/dist/legacy/configs/base/config.cjs +1 -0
- package/dist/legacy/configs/base/config.js +1 -24
- package/dist/legacy/configs/base/index.cjs +1 -0
- package/dist/legacy/configs/base/index.js +1 -18
- package/dist/legacy/configs/base/legacy.cjs +1 -0
- package/dist/legacy/configs/base/legacy.js +1 -46
- package/dist/legacy/configs/base/recommended.cjs +1 -0
- package/dist/legacy/configs/base/recommended.js +1 -21
- package/dist/legacy/configs/base/typescript.cjs +1 -0
- package/dist/legacy/configs/base/typescript.js +1 -8
- package/dist/legacy/configs/index.cjs +1 -0
- package/dist/legacy/configs/index.js +1 -15
- package/dist/legacy/configs/react/base.cjs +1 -0
- package/dist/legacy/configs/react/base.js +1 -8
- package/dist/legacy/configs/react/config.cjs +1 -0
- package/dist/legacy/configs/react/config.js +1 -14
- package/dist/legacy/configs/react/hooks.cjs +1 -0
- package/dist/legacy/configs/react/hooks.js +1 -8
- package/dist/legacy/configs/react/index.cjs +1 -0
- package/dist/legacy/configs/react/index.js +1 -24
- package/dist/legacy/configs/react/legacy.cjs +1 -0
- package/dist/legacy/configs/react/legacy.js +1 -8
- package/dist/legacy/configs/react/recommended.cjs +1 -0
- package/dist/legacy/configs/react/recommended.js +1 -13
- package/dist/legacy/configs/react/typescript.cjs +1 -0
- package/dist/legacy/configs/react/typescript.js +1 -47
- package/dist/legacy/configs/typescript/config.cjs +1 -0
- package/dist/legacy/configs/typescript/config.js +1 -14
- package/dist/legacy/rules/best-practices.cjs +1 -0
- package/dist/legacy/rules/best-practices.js +1 -433
- package/dist/legacy/rules/errors.cjs +1 -0
- package/dist/legacy/rules/errors.js +1 -167
- package/dist/legacy/rules/es6.cjs +1 -0
- package/dist/legacy/rules/es6.js +1 -206
- package/dist/legacy/rules/imports.cjs +1 -0
- package/dist/legacy/rules/imports.js +1 -258
- package/dist/legacy/rules/index.cjs +1 -0
- package/dist/legacy/rules/index.js +1 -18
- package/dist/legacy/rules/node.cjs +1 -0
- package/dist/legacy/rules/node.js +1 -35
- package/dist/legacy/rules/react/react.cjs +1 -0
- package/dist/legacy/rules/react/react.js +1 -663
- package/dist/legacy/rules/react/reactHooks.cjs +1 -0
- package/dist/legacy/rules/react/reactHooks.js +1 -30
- package/dist/legacy/rules/react/reactJsxA11y.cjs +1 -0
- package/dist/legacy/rules/react/reactJsxA11y.js +1 -276
- package/dist/legacy/rules/strict.cjs +1 -0
- package/dist/legacy/rules/strict.js +1 -12
- package/dist/legacy/rules/style.cjs +1 -0
- package/dist/legacy/rules/style.js +1 -655
- package/dist/legacy/rules/typescript/typescript.cjs +1 -0
- package/dist/legacy/rules/typescript/typescript.js +1 -231
- package/dist/legacy/rules/typescript/typescriptOverrides.cjs +1 -0
- package/dist/legacy/rules/typescript/typescriptOverrides.js +1 -36
- package/dist/legacy/rules/typescript/typescriptSettings.cjs +1 -0
- package/dist/legacy/rules/typescript/typescriptSettings.js +1 -27
- package/dist/legacy/rules/variables.cjs +1 -0
- package/dist/legacy/rules/variables.js +1 -68
- package/dist/legacy.cjs +1 -0
- package/dist/legacy.d.cts +17 -0
- package/dist/legacy.d.ts +17 -0
- package/dist/legacy.js +1 -14
- package/dist/plugins/importXPlugin.cjs +1 -0
- package/dist/plugins/importXPlugin.js +1 -15
- package/dist/plugins/index.cjs +1 -0
- package/dist/plugins/index.js +1 -33
- package/dist/plugins/nextPlugin.cjs +1 -0
- package/dist/plugins/nextPlugin.js +1 -13
- package/dist/plugins/nodePlugin.cjs +1 -0
- package/dist/plugins/nodePlugin.js +1 -15
- package/dist/plugins/reactA11yPlugin.cjs +1 -0
- package/dist/plugins/reactA11yPlugin.js +1 -15
- package/dist/plugins/reactHooksPlugin.cjs +1 -0
- package/dist/plugins/reactHooksPlugin.js +1 -15
- package/dist/plugins/reactPlugin.cjs +1 -0
- package/dist/plugins/reactPlugin.js +1 -15
- package/dist/plugins/stylisticPlugin.cjs +1 -0
- package/dist/plugins/stylisticPlugin.js +1 -15
- package/dist/plugins/typescriptEslintPlugin.cjs +1 -0
- package/dist/plugins/typescriptEslintPlugin.js +1 -15
- package/dist/rules/best-practices.cjs +1 -0
- package/dist/rules/best-practices.js +1 -396
- package/dist/rules/errors.cjs +1 -0
- package/dist/rules/errors.js +1 -145
- package/dist/rules/es6.cjs +1 -0
- package/dist/rules/es6.js +1 -157
- package/dist/rules/imports.cjs +1 -0
- package/dist/rules/imports.js +1 -202
- package/dist/rules/importsStrict.cjs +1 -0
- package/dist/rules/importsStrict.js +1 -66
- package/dist/rules/index.cjs +1 -0
- package/dist/rules/index.js +1 -24
- package/dist/rules/next/nextBase.cjs +1 -0
- package/dist/rules/next/nextBase.js +1 -73
- package/dist/rules/next/nextCoreWebVitals.cjs +1 -0
- package/dist/rules/next/nextCoreWebVitals.js +1 -16
- package/dist/rules/node/nodeBase.cjs +1 -0
- package/dist/rules/node/nodeBase.js +1 -127
- package/dist/rules/node/nodeGlobals.cjs +1 -0
- package/dist/rules/node/nodeGlobals.js +1 -31
- package/dist/rules/node/nodeNoUnsupportedFeatures.cjs +1 -0
- package/dist/rules/node/nodeNoUnsupportedFeatures.js +1 -19
- package/dist/rules/node/nodePromises.cjs +1 -0
- package/dist/rules/node/nodePromises.js +1 -16
- package/dist/rules/react/react.cjs +1 -0
- package/dist/rules/react/react.js +1 -590
- package/dist/rules/react/reactHooks.cjs +1 -0
- package/dist/rules/react/reactHooks.js +1 -23
- package/dist/rules/react/reactJsxA11y.cjs +1 -0
- package/dist/rules/react/reactJsxA11y.js +1 -262
- package/dist/rules/react/reactStrict.cjs +1 -0
- package/dist/rules/react/reactStrict.js +1 -80
- package/dist/rules/react/reactStylistic.cjs +1 -0
- package/dist/rules/react/reactStylistic.js +1 -96
- package/dist/rules/strict.cjs +1 -0
- package/dist/rules/strict.js +1 -12
- package/dist/rules/style.cjs +1 -0
- package/dist/rules/style.js +1 -205
- package/dist/rules/stylistic.cjs +1 -0
- package/dist/rules/stylistic.js +1 -524
- package/dist/rules/stylisticPlus.cjs +1 -0
- package/dist/rules/stylisticPlus.js +1 -16
- package/dist/rules/typescript/typescriptBase.cjs +1 -0
- package/dist/rules/typescript/typescriptBase.js +1 -32
- package/dist/rules/typescript/typescriptEslint.cjs +1 -0
- package/dist/rules/typescript/typescriptEslint.js +1 -507
- package/dist/rules/typescript/typescriptEslintStrict.cjs +1 -0
- package/dist/rules/typescript/typescriptEslintStrict.js +1 -193
- package/dist/rules/typescript/typescriptImports.cjs +1 -0
- package/dist/rules/typescript/typescriptImports.js +1 -40
- package/dist/rules/typescript/typescriptStylistic.cjs +1 -0
- package/dist/rules/typescript/typescriptStylistic.js +1 -150
- package/dist/rules/typescript/typescriptStylisticPlus.cjs +1 -0
- package/dist/rules/typescript/typescriptStylisticPlus.js +1 -16
- package/dist/rules/variables.cjs +1 -0
- package/dist/rules/variables.js +1 -67
- package/dist/utils/index.cjs +1 -0
- package/dist/utils/index.js +1 -18
- package/package.json +16 -16
- package/dist/@types/index.d.ts +0 -32
- package/dist/@types/legacy.d.ts +0 -12
|
@@ -1,262 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deprecatedReactJsxA11yRules = void 0;
|
|
4
|
-
const utils_1 = require("../../utils");
|
|
5
|
-
const reactJsxA11yRules = {
|
|
6
|
-
name: 'airbnb/config/react-jsx-a11y',
|
|
7
|
-
files: utils_1.allFiles,
|
|
8
|
-
languageOptions: {
|
|
9
|
-
parserOptions: {
|
|
10
|
-
ecmaFeatures: {
|
|
11
|
-
jsx: true,
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
rules: {
|
|
16
|
-
// Enforce that all elements that require alternative text have meaningful information
|
|
17
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/alt-text.md
|
|
18
|
-
'jsx-a11y/alt-text': [
|
|
19
|
-
'error',
|
|
20
|
-
{
|
|
21
|
-
elements: ['img', 'object', 'area', 'input[type="image"]'],
|
|
22
|
-
img: [],
|
|
23
|
-
object: [],
|
|
24
|
-
area: [],
|
|
25
|
-
'input[type="image"]': [],
|
|
26
|
-
},
|
|
27
|
-
],
|
|
28
|
-
// Ensures anchor text is not ambiguous
|
|
29
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/anchor-ambiguous-text.md
|
|
30
|
-
'jsx-a11y/anchor-ambiguous-text': 'off',
|
|
31
|
-
// Enforce that anchors have content
|
|
32
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/anchor-has-content.md
|
|
33
|
-
'jsx-a11y/anchor-has-content': [
|
|
34
|
-
'error',
|
|
35
|
-
{
|
|
36
|
-
components: [],
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
// ensure <a> tags are valid
|
|
40
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/anchor-is-valid.md
|
|
41
|
-
'jsx-a11y/anchor-is-valid': [
|
|
42
|
-
'error',
|
|
43
|
-
{
|
|
44
|
-
components: ['Link'],
|
|
45
|
-
specialLink: ['to'],
|
|
46
|
-
aspects: ['noHref', 'invalidHref', 'preferButton'],
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
// elements with aria-activedescendant must be tabbable
|
|
50
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/aria-activedescendant-has-tabindex.md
|
|
51
|
-
'jsx-a11y/aria-activedescendant-has-tabindex': 'error',
|
|
52
|
-
// Enforce all aria-* props are valid.
|
|
53
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/aria-props.md
|
|
54
|
-
'jsx-a11y/aria-props': 'error',
|
|
55
|
-
// Enforce ARIA state and property values are valid.
|
|
56
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/aria-proptypes.md
|
|
57
|
-
'jsx-a11y/aria-proptypes': 'error',
|
|
58
|
-
// Require ARIA roles to be valid and non-abstract
|
|
59
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/aria-role.md
|
|
60
|
-
'jsx-a11y/aria-role': [
|
|
61
|
-
'error',
|
|
62
|
-
{
|
|
63
|
-
ignoreNonDOM: false,
|
|
64
|
-
},
|
|
65
|
-
],
|
|
66
|
-
// Enforce that elements that do not support ARIA roles, states, and
|
|
67
|
-
// properties do not have those attributes.
|
|
68
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/aria-unsupported-elements.md
|
|
69
|
-
'jsx-a11y/aria-unsupported-elements': 'error',
|
|
70
|
-
// Ensure the autocomplete attribute is correct and suitable for the form field it is used with
|
|
71
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/autocomplete-valid.md
|
|
72
|
-
'jsx-a11y/autocomplete-valid': [
|
|
73
|
-
'error',
|
|
74
|
-
{
|
|
75
|
-
inputComponents: ['Input'],
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
|
-
// require onClick be accompanied by onKeyUp/onKeyDown/onKeyPress
|
|
79
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md
|
|
80
|
-
'jsx-a11y/click-events-have-key-events': 'error',
|
|
81
|
-
// Enforce that a control (an interactive element) has a text label.
|
|
82
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/control-has-associated-label.md
|
|
83
|
-
'jsx-a11y/control-has-associated-label': [
|
|
84
|
-
'error',
|
|
85
|
-
{
|
|
86
|
-
labelAttributes: ['label'],
|
|
87
|
-
controlComponents: [],
|
|
88
|
-
ignoreElements: ['audio', 'canvas', 'embed', 'input', 'textarea', 'tr', 'video'],
|
|
89
|
-
ignoreRoles: [
|
|
90
|
-
'grid',
|
|
91
|
-
'listbox',
|
|
92
|
-
'menu',
|
|
93
|
-
'menubar',
|
|
94
|
-
'radiogroup',
|
|
95
|
-
'row',
|
|
96
|
-
'tablist',
|
|
97
|
-
'toolbar',
|
|
98
|
-
'tree',
|
|
99
|
-
'treegrid',
|
|
100
|
-
],
|
|
101
|
-
depth: 5,
|
|
102
|
-
},
|
|
103
|
-
],
|
|
104
|
-
// ensure <hX> tags have content and are not aria-hidden
|
|
105
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/heading-has-content.md
|
|
106
|
-
'jsx-a11y/heading-has-content': [
|
|
107
|
-
'error',
|
|
108
|
-
{
|
|
109
|
-
components: ['Typography', 'Text'],
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
// require HTML elements to have a "lang" prop
|
|
113
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/html-has-lang.md
|
|
114
|
-
'jsx-a11y/html-has-lang': 'error',
|
|
115
|
-
// ensure iframe elements have a unique title
|
|
116
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/iframe-has-title.md
|
|
117
|
-
'jsx-a11y/iframe-has-title': 'error',
|
|
118
|
-
// Prevent img alt text from containing redundant words like "image", "picture", or "photo"
|
|
119
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/img-redundant-alt.md
|
|
120
|
-
'jsx-a11y/img-redundant-alt': 'error',
|
|
121
|
-
// Elements with an interactive role and interaction handlers must be focusable
|
|
122
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/interactive-supports-focus.md
|
|
123
|
-
'jsx-a11y/interactive-supports-focus': 'error',
|
|
124
|
-
// Enforce that a label tag has a text label and an associated control.
|
|
125
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-associated-control.md
|
|
126
|
-
'jsx-a11y/label-has-associated-control': [
|
|
127
|
-
'error',
|
|
128
|
-
{
|
|
129
|
-
labelComponents: [],
|
|
130
|
-
labelAttributes: [],
|
|
131
|
-
controlComponents: [],
|
|
132
|
-
assert: 'both',
|
|
133
|
-
depth: 25,
|
|
134
|
-
},
|
|
135
|
-
],
|
|
136
|
-
// require HTML element's lang prop to be valid
|
|
137
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/lang.md
|
|
138
|
-
'jsx-a11y/lang': 'error',
|
|
139
|
-
// media elements must have captions
|
|
140
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/media-has-caption.md
|
|
141
|
-
'jsx-a11y/media-has-caption': [
|
|
142
|
-
'error',
|
|
143
|
-
{
|
|
144
|
-
audio: [],
|
|
145
|
-
video: [],
|
|
146
|
-
track: [],
|
|
147
|
-
},
|
|
148
|
-
],
|
|
149
|
-
// require that mouseover/outcome with focus/blur, for keyboard-only users
|
|
150
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/mouse-events-have-key-events.md
|
|
151
|
-
'jsx-a11y/mouse-events-have-key-events': 'error',
|
|
152
|
-
// Prevent use of `accessKey`
|
|
153
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-access-key.md
|
|
154
|
-
'jsx-a11y/no-access-key': 'error',
|
|
155
|
-
// Enforce that aria-hidden="true" is not set on focusable elements.
|
|
156
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-aria-hidden-on-focusable.md
|
|
157
|
-
'jsx-a11y/no-aria-hidden-on-focusable': 'off',
|
|
158
|
-
// prohibit autoFocus prop
|
|
159
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-autofocus.md
|
|
160
|
-
'jsx-a11y/no-autofocus': [
|
|
161
|
-
'error',
|
|
162
|
-
{
|
|
163
|
-
ignoreNonDOM: true,
|
|
164
|
-
},
|
|
165
|
-
],
|
|
166
|
-
// prevent distracting elements, like <marquee> and <blink>
|
|
167
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-distracting-elements.md
|
|
168
|
-
'jsx-a11y/no-distracting-elements': [
|
|
169
|
-
'error',
|
|
170
|
-
{
|
|
171
|
-
elements: ['marquee', 'blink'],
|
|
172
|
-
},
|
|
173
|
-
],
|
|
174
|
-
// WAI-ARIA roles should not be used to convert an interactive element to non-interactive
|
|
175
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-interactive-element-to-noninteractive-role.md
|
|
176
|
-
'jsx-a11y/no-interactive-element-to-noninteractive-role': [
|
|
177
|
-
'error',
|
|
178
|
-
{
|
|
179
|
-
tr: ['none', 'presentation'],
|
|
180
|
-
},
|
|
181
|
-
],
|
|
182
|
-
// A non-interactive element does not support event handlers (mouse and key handlers)
|
|
183
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-noninteractive-element-interactions.md
|
|
184
|
-
'jsx-a11y/no-noninteractive-element-interactions': [
|
|
185
|
-
'error',
|
|
186
|
-
{
|
|
187
|
-
handlers: ['onClick', 'onMouseDown', 'onMouseUp', 'onKeyPress', 'onKeyDown', 'onKeyUp'],
|
|
188
|
-
},
|
|
189
|
-
],
|
|
190
|
-
// WAI-ARIA roles should not be used to convert a non-interactive element to interactive
|
|
191
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-noninteractive-element-to-interactive-role.md
|
|
192
|
-
'jsx-a11y/no-noninteractive-element-to-interactive-role': [
|
|
193
|
-
'error',
|
|
194
|
-
{
|
|
195
|
-
ul: ['listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'],
|
|
196
|
-
ol: ['listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'],
|
|
197
|
-
li: ['menuitem', 'option', 'row', 'tab', 'treeitem'],
|
|
198
|
-
table: ['grid'],
|
|
199
|
-
td: ['gridcell'],
|
|
200
|
-
},
|
|
201
|
-
],
|
|
202
|
-
// Tab key navigation should be limited to elements on the page that can be interacted with.
|
|
203
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-noninteractive-tabindex.md
|
|
204
|
-
'jsx-a11y/no-noninteractive-tabindex': [
|
|
205
|
-
'error',
|
|
206
|
-
{
|
|
207
|
-
tags: [],
|
|
208
|
-
roles: ['tabpanel'],
|
|
209
|
-
allowExpressionValues: true,
|
|
210
|
-
},
|
|
211
|
-
],
|
|
212
|
-
// ensure HTML elements do not specify redundant ARIA roles
|
|
213
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-redundant-roles.md
|
|
214
|
-
'jsx-a11y/no-redundant-roles': [
|
|
215
|
-
'error',
|
|
216
|
-
{
|
|
217
|
-
nav: ['navigation'],
|
|
218
|
-
},
|
|
219
|
-
],
|
|
220
|
-
// Enforce that DOM elements without semantic behavior not have interaction handlers
|
|
221
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-static-element-interactions.md
|
|
222
|
-
'jsx-a11y/no-static-element-interactions': [
|
|
223
|
-
'error',
|
|
224
|
-
{
|
|
225
|
-
handlers: ['onClick', 'onMouseDown', 'onMouseUp', 'onKeyPress', 'onKeyDown', 'onKeyUp'],
|
|
226
|
-
},
|
|
227
|
-
],
|
|
228
|
-
// Enforces using semantic DOM elements over the ARIA role property.
|
|
229
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/prefer-tag-over-role.md
|
|
230
|
-
'jsx-a11y/prefer-tag-over-role': 'off',
|
|
231
|
-
// Enforce that elements with ARIA roles must have all required attributes
|
|
232
|
-
// for that role.
|
|
233
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/role-has-required-aria-props.md
|
|
234
|
-
'jsx-a11y/role-has-required-aria-props': 'error',
|
|
235
|
-
// Enforce that elements with explicit or implicit roles defined contain
|
|
236
|
-
// only aria-* properties supported by that role.
|
|
237
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/role-supports-aria-props.md
|
|
238
|
-
'jsx-a11y/role-supports-aria-props': 'error',
|
|
239
|
-
// only allow <th> to have the "scope" attr
|
|
240
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/scope.md
|
|
241
|
-
'jsx-a11y/scope': 'error',
|
|
242
|
-
// Enforce tabIndex value is not greater than zero.
|
|
243
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/tabindex-no-positive.md
|
|
244
|
-
'jsx-a11y/tabindex-no-positive': 'error',
|
|
245
|
-
},
|
|
246
|
-
};
|
|
247
|
-
exports.deprecatedReactJsxA11yRules = {
|
|
248
|
-
name: 'airbnb/config/react-jsx-a11y/deprecated',
|
|
249
|
-
files: utils_1.allFiles,
|
|
250
|
-
rules: {
|
|
251
|
-
// ensure emoji are accessible
|
|
252
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/accessible-emoji.md
|
|
253
|
-
'jsx-a11y/accessible-emoji': 'off',
|
|
254
|
-
// require that JSX labels use "htmlFor"
|
|
255
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-for.md
|
|
256
|
-
'jsx-a11y/label-has-for': 'off',
|
|
257
|
-
// require onBlur instead of onChange
|
|
258
|
-
// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-onchange.md
|
|
259
|
-
'jsx-a11y/no-onchange': 'off',
|
|
260
|
-
},
|
|
261
|
-
};
|
|
262
|
-
exports.default = reactJsxA11yRules;
|
|
1
|
+
import{__esmMin as e}from"../../_virtual/rolldown_runtime.js";import{allFiles as t,init_utils as n}from"../../utils/index.js";var r,i,a=e((()=>{n(),r={name:`airbnb/config/react-jsx-a11y`,files:t,languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},rules:{"jsx-a11y/alt-text":[`error`,{elements:[`img`,`object`,`area`,`input[type="image"]`],img:[],object:[],area:[],'input[type="image"]':[]}],"jsx-a11y/anchor-ambiguous-text":`off`,"jsx-a11y/anchor-has-content":[`error`,{components:[]}],"jsx-a11y/anchor-is-valid":[`error`,{components:[`Link`],specialLink:[`to`],aspects:[`noHref`,`invalidHref`,`preferButton`]}],"jsx-a11y/aria-activedescendant-has-tabindex":`error`,"jsx-a11y/aria-props":`error`,"jsx-a11y/aria-proptypes":`error`,"jsx-a11y/aria-role":[`error`,{ignoreNonDOM:!1}],"jsx-a11y/aria-unsupported-elements":`error`,"jsx-a11y/autocomplete-valid":[`error`,{inputComponents:[`Input`]}],"jsx-a11y/click-events-have-key-events":`error`,"jsx-a11y/control-has-associated-label":[`error`,{labelAttributes:[`label`],controlComponents:[],ignoreElements:[`audio`,`canvas`,`embed`,`input`,`textarea`,`tr`,`video`],ignoreRoles:[`grid`,`listbox`,`menu`,`menubar`,`radiogroup`,`row`,`tablist`,`toolbar`,`tree`,`treegrid`],depth:5}],"jsx-a11y/heading-has-content":[`error`,{components:[`Typography`,`Text`]}],"jsx-a11y/html-has-lang":`error`,"jsx-a11y/iframe-has-title":`error`,"jsx-a11y/img-redundant-alt":`error`,"jsx-a11y/interactive-supports-focus":`error`,"jsx-a11y/label-has-associated-control":[`error`,{labelComponents:[],labelAttributes:[],controlComponents:[],assert:`both`,depth:25}],"jsx-a11y/lang":`error`,"jsx-a11y/media-has-caption":[`error`,{audio:[],video:[],track:[]}],"jsx-a11y/mouse-events-have-key-events":`error`,"jsx-a11y/no-access-key":`error`,"jsx-a11y/no-aria-hidden-on-focusable":`off`,"jsx-a11y/no-autofocus":[`error`,{ignoreNonDOM:!0}],"jsx-a11y/no-distracting-elements":[`error`,{elements:[`marquee`,`blink`]}],"jsx-a11y/no-interactive-element-to-noninteractive-role":[`error`,{tr:[`none`,`presentation`]}],"jsx-a11y/no-noninteractive-element-interactions":[`error`,{handlers:[`onClick`,`onMouseDown`,`onMouseUp`,`onKeyPress`,`onKeyDown`,`onKeyUp`]}],"jsx-a11y/no-noninteractive-element-to-interactive-role":[`error`,{ul:[`listbox`,`menu`,`menubar`,`radiogroup`,`tablist`,`tree`,`treegrid`],ol:[`listbox`,`menu`,`menubar`,`radiogroup`,`tablist`,`tree`,`treegrid`],li:[`menuitem`,`option`,`row`,`tab`,`treeitem`],table:[`grid`],td:[`gridcell`]}],"jsx-a11y/no-noninteractive-tabindex":[`error`,{tags:[],roles:[`tabpanel`],allowExpressionValues:!0}],"jsx-a11y/no-redundant-roles":[`error`,{nav:[`navigation`]}],"jsx-a11y/no-static-element-interactions":[`error`,{handlers:[`onClick`,`onMouseDown`,`onMouseUp`,`onKeyPress`,`onKeyDown`,`onKeyUp`]}],"jsx-a11y/prefer-tag-over-role":`off`,"jsx-a11y/role-has-required-aria-props":`error`,"jsx-a11y/role-supports-aria-props":`error`,"jsx-a11y/scope":`error`,"jsx-a11y/tabindex-no-positive":`error`}},i=r}));a();export{i as default,a as init_reactJsxA11y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../../utils/index.cjs`);var n,r,i=e.__esmMin((()=>{t.init_utils(),n={name:`airbnb/config/react/strict`,files:t.allFiles,rules:{"react/checked-requires-onchange-or-readonly":`error`,"react/function-component-definition":[`error`,{namedComponents:`arrow-function`,unnamedComponents:`arrow-function`}],"react/hook-use-state":[`error`,{allowDestructuredState:!0}],"react/jsx-child-element-spacing":`warn`,"react/jsx-fragments":[`error`,`element`],"react/jsx-key":[`error`,{checkFragmentShorthand:!0,checkKeyMustBeforeSpread:!1,warnOnDuplicates:!0}],"react/jsx-no-leaked-render":`error`,"react/jsx-sort-props":[`error`,{callbacksLast:!1,shorthandFirst:!0,shorthandLast:!1,multiline:`last`,ignoreCase:!0,noSortAlphabetically:!1,reservedFirst:[`key`,`ref`],locale:`auto`}],"react/no-unsafe":`error`,"react/prefer-stateless-function":[`error`,{ignorePureComponents:!1}],"react/prop-types":`off`}},r=n}));i(),exports.default=r,Object.defineProperty(exports,`init_reactStrict`,{enumerable:!0,get:function(){return i}});
|
|
@@ -1,80 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const utils_1 = require("../../utils");
|
|
4
|
-
const reactStrictRules = {
|
|
5
|
-
name: 'airbnb/config/react/strict',
|
|
6
|
-
files: utils_1.allFiles,
|
|
7
|
-
rules: {
|
|
8
|
-
// This rule enforces onChange or readonly attribute for checked property of input elements.
|
|
9
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/checked-requires-onchange-or-readonly.md
|
|
10
|
-
'react/checked-requires-onchange-or-readonly': 'error',
|
|
11
|
-
// Enforce a specific function type for function components
|
|
12
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/function-component-definition.md
|
|
13
|
-
'react/function-component-definition': [
|
|
14
|
-
'error',
|
|
15
|
-
{
|
|
16
|
-
namedComponents: 'arrow-function',
|
|
17
|
-
unnamedComponents: 'arrow-function',
|
|
18
|
-
},
|
|
19
|
-
],
|
|
20
|
-
// Ensure destructuring and symmetric naming of useState hook value and setter variables
|
|
21
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/hook-use-state.md
|
|
22
|
-
'react/hook-use-state': [
|
|
23
|
-
'error',
|
|
24
|
-
{
|
|
25
|
-
allowDestructuredState: true,
|
|
26
|
-
},
|
|
27
|
-
],
|
|
28
|
-
// Ensures inline tags are not rendered without spaces between them
|
|
29
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-child-element-spacing.md
|
|
30
|
-
'react/jsx-child-element-spacing': 'warn',
|
|
31
|
-
// Enforce shorthand or standard form for React fragments
|
|
32
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-fragments.md
|
|
33
|
-
'react/jsx-fragments': ['error', 'element'],
|
|
34
|
-
// Validate JSX has key prop when in array or iterator
|
|
35
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-key.md
|
|
36
|
-
// Turned off because it has too many false positives
|
|
37
|
-
'react/jsx-key': [
|
|
38
|
-
'error',
|
|
39
|
-
{
|
|
40
|
-
checkFragmentShorthand: true,
|
|
41
|
-
checkKeyMustBeforeSpread: false,
|
|
42
|
-
warnOnDuplicates: true,
|
|
43
|
-
},
|
|
44
|
-
],
|
|
45
|
-
// Prevent problematic leaked values from being rendered
|
|
46
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-leaked-render.md
|
|
47
|
-
'react/jsx-no-leaked-render': 'error',
|
|
48
|
-
// Enforce propTypes declarations alphabetical sorting
|
|
49
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/sort-prop-types.md
|
|
50
|
-
'react/jsx-sort-props': [
|
|
51
|
-
'error',
|
|
52
|
-
{
|
|
53
|
-
callbacksLast: false,
|
|
54
|
-
shorthandFirst: true,
|
|
55
|
-
shorthandLast: false,
|
|
56
|
-
multiline: 'last',
|
|
57
|
-
ignoreCase: true,
|
|
58
|
-
noSortAlphabetically: false,
|
|
59
|
-
reservedFirst: ['key', 'ref'],
|
|
60
|
-
locale: 'auto',
|
|
61
|
-
},
|
|
62
|
-
],
|
|
63
|
-
// Prevent usage of UNSAFE_ methods
|
|
64
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unsafe.md
|
|
65
|
-
'react/no-unsafe': 'error',
|
|
66
|
-
// Require stateless functions when not using lifecycle methods, setState or ref
|
|
67
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-stateless-function.md
|
|
68
|
-
'react/prefer-stateless-function': [
|
|
69
|
-
'error',
|
|
70
|
-
{
|
|
71
|
-
ignorePureComponents: false,
|
|
72
|
-
},
|
|
73
|
-
],
|
|
74
|
-
// Prevent missing props validation in a React component definition
|
|
75
|
-
// https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prop-types.md
|
|
76
|
-
// Disabling it because prop-types are deprecated
|
|
77
|
-
'react/prop-types': 'off',
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
exports.default = reactStrictRules;
|
|
1
|
+
import{__esmMin as e}from"../../_virtual/rolldown_runtime.js";import{allFiles as t,init_utils as n}from"../../utils/index.js";var r,i,a=e((()=>{n(),r={name:`airbnb/config/react/strict`,files:t,rules:{"react/checked-requires-onchange-or-readonly":`error`,"react/function-component-definition":[`error`,{namedComponents:`arrow-function`,unnamedComponents:`arrow-function`}],"react/hook-use-state":[`error`,{allowDestructuredState:!0}],"react/jsx-child-element-spacing":`warn`,"react/jsx-fragments":[`error`,`element`],"react/jsx-key":[`error`,{checkFragmentShorthand:!0,checkKeyMustBeforeSpread:!1,warnOnDuplicates:!0}],"react/jsx-no-leaked-render":`error`,"react/jsx-sort-props":[`error`,{callbacksLast:!1,shorthandFirst:!0,shorthandLast:!1,multiline:`last`,ignoreCase:!0,noSortAlphabetically:!1,reservedFirst:[`key`,`ref`],locale:`auto`}],"react/no-unsafe":`error`,"react/prefer-stateless-function":[`error`,{ignorePureComponents:!1}],"react/prop-types":`off`}},i=r}));a();export{i as default,a as init_reactStrict};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../../utils/index.cjs`);var n,r,i=e.__esmMin((()=>{t.init_utils(),n={name:`airbnb/config/react/stylistic`,files:t.allFiles,rules:{"@stylistic/jsx-child-element-spacing":`off`,"@stylistic/jsx-closing-bracket-location":`off`,"@stylistic/jsx-closing-tag-location":`off`,"@stylistic/jsx-curly-brace-presence":`off`,"@stylistic/jsx-curly-newline":`off`,"@stylistic/jsx-curly-spacing":`off`,"@stylistic/jsx-equals-spacing":`off`,"@stylistic/jsx-first-prop-new-line":`off`,"@stylistic/jsx-function-call-newline":`off`,"@stylistic/jsx-indent-props":`off`,"@stylistic/jsx-max-props-per-line":`off`,"@stylistic/jsx-newline":`off`,"@stylistic/jsx-one-expression-per-line":`off`,"@stylistic/jsx-pascal-case":`off`,"@stylistic/jsx-props-no-multi-spaces":`off`,"@stylistic/jsx-self-closing-comp":`off`,"@stylistic/jsx-sort-props":`off`,"@stylistic/jsx-tag-spacing":`off`,"@stylistic/jsx-wrap-multilines":`off`}},r=n}));i(),exports.default=r,Object.defineProperty(exports,`init_reactStylistic`,{enumerable:!0,get:function(){return i}});
|
|
@@ -1,96 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deprecatedReactStylisticPlusRules = void 0;
|
|
4
|
-
const utils_1 = require("../../utils");
|
|
5
|
-
const reactStylisticRules = {
|
|
6
|
-
name: 'airbnb/config/react/stylistic',
|
|
7
|
-
files: utils_1.allFiles,
|
|
8
|
-
rules: {
|
|
9
|
-
// Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
|
|
10
|
-
// https://eslint.style/rules/jsx/jsx-child-element-spacing
|
|
11
|
-
// Off due to 'react/jsx-child-element-spacing'
|
|
12
|
-
'@stylistic/jsx-child-element-spacing': 'off',
|
|
13
|
-
// Enforce the closing bracket location for JSX multiline elements.
|
|
14
|
-
// https://eslint.style/rules/jsx/jsx-closing-bracket-location
|
|
15
|
-
// Off due to 'react/jsx-closing-bracket-location'
|
|
16
|
-
'@stylistic/jsx-closing-bracket-location': 'off',
|
|
17
|
-
// Enforce the closing tag location for multiline JSX elements.
|
|
18
|
-
// https://eslint.style/rules/jsx/jsx-closing-tag-location
|
|
19
|
-
// Off due to 'react/jsx-closing-tag-location'
|
|
20
|
-
'@stylistic/jsx-closing-tag-location': 'off',
|
|
21
|
-
// Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes.
|
|
22
|
-
// https://eslint.style/rules/jsx/jsx-curly-brace-presence
|
|
23
|
-
// Off due to 'react/jsx-curly-brace-presence'
|
|
24
|
-
'@stylistic/jsx-curly-brace-presence': 'off',
|
|
25
|
-
// Enforce consistent linebreaks in curly braces in JSX attributes and expressions.
|
|
26
|
-
// https://eslint.style/rules/jsx/jsx-curly-newline
|
|
27
|
-
// Off due to 'react/jsx-curly-newline'
|
|
28
|
-
'@stylistic/jsx-curly-newline': 'off',
|
|
29
|
-
// Enforce or disallow spaces inside of curly braces in JSX attributes and expressions.
|
|
30
|
-
// https://eslint.style/rules/jsx/jsx-curly-spacing
|
|
31
|
-
// Off due to 'react/jsx-curly-spacing'
|
|
32
|
-
'@stylistic/jsx-curly-spacing': 'off',
|
|
33
|
-
// Enforce or disallow spaces around equal signs in JSX attributes.
|
|
34
|
-
// https://eslint.style/rules/jsx/jsx-equals-spacing
|
|
35
|
-
// Off due to 'react/jsx-equals-spacing'
|
|
36
|
-
'@stylistic/jsx-equals-spacing': 'off',
|
|
37
|
-
// Enforce the proper position of the first property in JSX.
|
|
38
|
-
// https://eslint.style/rules/jsx/jsx-first-prop-new-line
|
|
39
|
-
// Off due to 'react/jsx-first-prop-new-line'
|
|
40
|
-
'@stylistic/jsx-first-prop-new-line': 'off',
|
|
41
|
-
// Enforce line breaks before and after JSX elements when they are used as arguments to a function.
|
|
42
|
-
// https://eslint.style/rules/jsx/jsx-function-call-newline
|
|
43
|
-
'@stylistic/jsx-function-call-newline': 'off',
|
|
44
|
-
// Enforce props indentation in JSX.
|
|
45
|
-
// https://eslint.style/rules/jsx/jsx-indent-props
|
|
46
|
-
// Off due to 'react/jsx-indent-props'
|
|
47
|
-
'@stylistic/jsx-indent-props': 'off',
|
|
48
|
-
// Enforce a maximum of props on a single line in JSX.
|
|
49
|
-
// https://eslint.style/rules/jsx/jsx-max-props-per-line
|
|
50
|
-
// Off due to 'react/jsx-max-props-per-line'
|
|
51
|
-
'@stylistic/jsx-max-props-per-line': 'off',
|
|
52
|
-
// Require or prevent a new line after jsx elements and expressions
|
|
53
|
-
// https://eslint.style/rules/jsx/jsx-newline
|
|
54
|
-
// Off due to 'react/jsx-newline'
|
|
55
|
-
'@stylistic/jsx-newline': 'off',
|
|
56
|
-
// Require one JSX element per line.
|
|
57
|
-
// https://eslint.style/rules/jsx/jsx-one-expression-per-line
|
|
58
|
-
// Off due to 'react/jsx-one-expression-per-line'
|
|
59
|
-
'@stylistic/jsx-one-expression-per-line': 'off',
|
|
60
|
-
// Enforces coding style that user-defined JSX components are defined and referenced in PascalCase.
|
|
61
|
-
// https://eslint.style/rules/jsx/jsx-pascal-case
|
|
62
|
-
// Off due to 'react/jsx-pascal-case'
|
|
63
|
-
'@stylistic/jsx-pascal-case': 'off',
|
|
64
|
-
// Disallow multiple spaces between inline JSX props.
|
|
65
|
-
// https://eslint.style/rules/jsx/jsx-props-no-multi-spaces
|
|
66
|
-
// Off due to 'react/jsx-props-no-multi-spaces'
|
|
67
|
-
'@stylistic/jsx-props-no-multi-spaces': 'off',
|
|
68
|
-
// Disallow extra closing tags for components without children.
|
|
69
|
-
// https://eslint.style/rules/jsx/jsx-self-closing-comp
|
|
70
|
-
// Off due to 'react/self-closing-comp'
|
|
71
|
-
'@stylistic/jsx-self-closing-comp': 'off',
|
|
72
|
-
// Enforce props alphabetical sorting.
|
|
73
|
-
// https://eslint.style/rules/jsx/jsx-sort-props
|
|
74
|
-
// Off due to 'react/jsx-sort-props'
|
|
75
|
-
'@stylistic/jsx-sort-props': 'off',
|
|
76
|
-
// Enforce whitespace in and around the JSX opening and closing brackets.
|
|
77
|
-
// https://eslint.style/rules/jsx/jsx-tag-spacing
|
|
78
|
-
// Off due to 'react/jsx-tag-spacing'
|
|
79
|
-
'@stylistic/jsx-tag-spacing': 'off',
|
|
80
|
-
// Disallow missing parentheses around multiline JSX.
|
|
81
|
-
// https://eslint.style/rules/jsx/jsx-wrap-multilines
|
|
82
|
-
// Off due to 'react/jsx-wrap-multilines'
|
|
83
|
-
'@stylistic/jsx-wrap-multilines': 'off',
|
|
84
|
-
},
|
|
85
|
-
};
|
|
86
|
-
exports.deprecatedReactStylisticPlusRules = {
|
|
87
|
-
name: 'airbnb/config/react/stylistic/deprecated',
|
|
88
|
-
files: utils_1.allFiles,
|
|
89
|
-
rules: {
|
|
90
|
-
// Enforce JSX indentation.
|
|
91
|
-
// https://eslint.style/rules/jsx/jsx-indent
|
|
92
|
-
// Off due to 'react/jsx-indent'
|
|
93
|
-
'@stylistic/jsx-indent': 'off',
|
|
94
|
-
},
|
|
95
|
-
};
|
|
96
|
-
exports.default = reactStylisticRules;
|
|
1
|
+
import{__esmMin as e}from"../../_virtual/rolldown_runtime.js";import{allFiles as t,init_utils as n}from"../../utils/index.js";var r,i,a=e((()=>{n(),r={name:`airbnb/config/react/stylistic`,files:t,rules:{"@stylistic/jsx-child-element-spacing":`off`,"@stylistic/jsx-closing-bracket-location":`off`,"@stylistic/jsx-closing-tag-location":`off`,"@stylistic/jsx-curly-brace-presence":`off`,"@stylistic/jsx-curly-newline":`off`,"@stylistic/jsx-curly-spacing":`off`,"@stylistic/jsx-equals-spacing":`off`,"@stylistic/jsx-first-prop-new-line":`off`,"@stylistic/jsx-function-call-newline":`off`,"@stylistic/jsx-indent-props":`off`,"@stylistic/jsx-max-props-per-line":`off`,"@stylistic/jsx-newline":`off`,"@stylistic/jsx-one-expression-per-line":`off`,"@stylistic/jsx-pascal-case":`off`,"@stylistic/jsx-props-no-multi-spaces":`off`,"@stylistic/jsx-self-closing-comp":`off`,"@stylistic/jsx-sort-props":`off`,"@stylistic/jsx-tag-spacing":`off`,"@stylistic/jsx-wrap-multilines":`off`}},i=r}));a();export{i as default,a as init_reactStylistic};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../utils/index.cjs`);var n,r,i=e.__esmMin((()=>{t.init_utils(),n={name:`airbnb/config/strict`,files:t.allFiles,rules:{strict:[`error`,`never`]}},r=n}));i(),exports.default=r,Object.defineProperty(exports,`init_strict`,{enumerable:!0,get:function(){return i}});
|
package/dist/rules/strict.js
CHANGED
|
@@ -1,12 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const utils_1 = require("../utils");
|
|
4
|
-
const strictRules = {
|
|
5
|
-
name: 'airbnb/config/strict',
|
|
6
|
-
files: utils_1.allFiles,
|
|
7
|
-
rules: {
|
|
8
|
-
// babel inserts `'use strict';` for us
|
|
9
|
-
strict: ['error', 'never'],
|
|
10
|
-
},
|
|
11
|
-
};
|
|
12
|
-
exports.default = strictRules;
|
|
1
|
+
import{__esmMin as e}from"../_virtual/rolldown_runtime.js";import{allFiles as t,init_utils as n}from"../utils/index.js";var r,i,a=e((()=>{n(),r={name:`airbnb/config/strict`,files:t,rules:{strict:[`error`,`never`]}},i=r}));a();export{i as default,a as init_strict};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../utils/index.cjs`);var n,r,i=e.__esmMin((()=>{t.init_utils(),n={name:`airbnb/config/style`,files:t.allFiles,rules:{camelcase:[`error`,{properties:`never`,ignoreDestructuring:!1}],"capitalized-comments":[`off`,`never`,{line:{ignorePattern:`.*`,ignoreInlineComments:!0,ignoreConsecutiveComments:!0},block:{ignorePattern:`.*`,ignoreInlineComments:!0,ignoreConsecutiveComments:!0}}],"consistent-this":`off`,"func-name-matching":[`off`,`always`,{includeCommonJSModuleExports:!1,considerPropertyDescriptor:!0}],"func-names":`warn`,"func-style":[`off`,`expression`],"id-denylist":`off`,"id-length":`off`,"id-match":`off`,"logical-assignment-operators":[`off`,`always`,{enforceForIfStatements:!0}],"max-depth":[`off`,4],"max-lines":[`off`,{max:300,skipBlankLines:!0,skipComments:!0}],"max-lines-per-function":[`off`,{max:50,skipBlankLines:!0,skipComments:!0,IIFEs:!0}],"max-nested-callbacks":`off`,"max-params":[`off`,3],"max-statements":[`off`,10],"new-cap":[`error`,{newIsCap:!0,newIsCapExceptions:[],capIsNew:!1,capIsNewExceptions:[`Immutable.Map`,`Immutable.Set`,`Immutable.List`]}],"no-array-constructor":`error`,"no-bitwise":`error`,"no-continue":`error`,"no-inline-comments":`off`,"no-lonely-if":`error`,"no-multi-assign":`error`,"no-negated-condition":`off`,"no-nested-ternary":`error`,"no-plusplus":`error`,"no-restricted-syntax":[`error`,{selector:`ForInStatement`,message:`for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.`},{selector:`ForOfStatement`,message:`iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations.`},{selector:`LabeledStatement`,message:`Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.`},{selector:`WithStatement`,message:"`with` is disallowed in strict mode because it makes code impossible to predict and optimize."}],"no-ternary":`off`,"no-underscore-dangle":[`error`,{allow:[],allowAfterThis:!1,allowAfterSuper:!1,enforceInMethodNames:!0}],"no-unneeded-ternary":[`error`,{defaultAssignment:!1}],"one-var":[`error`,`never`],"operator-assignment":[`error`,`always`],"prefer-exponentiation-operator":`error`,"prefer-object-spread":`error`,"sort-keys":[`off`,`asc`,{caseSensitive:!1,natural:!0}],"sort-vars":`off`,"unicode-bom":[`error`,`never`]}},r=n}));i(),exports.default=r,Object.defineProperty(exports,`init_style`,{enumerable:!0,get:function(){return i}});
|