eslint-config-airbnb-extended 2.3.3 → 3.0.0-beta-3

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.
Files changed (214) hide show
  1. package/README.md +3 -3
  2. package/dist/_virtual/rolldown_runtime.cjs +1 -0
  3. package/dist/_virtual/rolldown_runtime.js +1 -0
  4. package/dist/configs/base/config.cjs +1 -0
  5. package/dist/configs/base/config.js +1 -26
  6. package/dist/configs/base/configExtended.cjs +1 -0
  7. package/dist/configs/base/configExtended.js +1 -9
  8. package/dist/configs/base/index.cjs +1 -0
  9. package/dist/configs/base/index.js +1 -18
  10. package/dist/configs/base/recommended.cjs +1 -0
  11. package/dist/configs/base/recommended.js +1 -12
  12. package/dist/configs/base/typescript.cjs +1 -0
  13. package/dist/configs/base/typescript.js +1 -12
  14. package/dist/configs/index.cjs +1 -0
  15. package/dist/configs/index.js +1 -21
  16. package/dist/configs/next/config.cjs +1 -0
  17. package/dist/configs/next/config.js +1 -12
  18. package/dist/configs/next/index.cjs +1 -0
  19. package/dist/configs/next/index.js +1 -18
  20. package/dist/configs/next/recommended.cjs +1 -0
  21. package/dist/configs/next/recommended.js +1 -14
  22. package/dist/configs/next/typescript.cjs +1 -0
  23. package/dist/configs/next/typescript.js +1 -8
  24. package/dist/configs/node/config.cjs +1 -0
  25. package/dist/configs/node/config.js +1 -16
  26. package/dist/configs/node/index.cjs +1 -0
  27. package/dist/configs/node/index.js +1 -12
  28. package/dist/configs/node/recommended.cjs +1 -0
  29. package/dist/configs/node/recommended.js +1 -12
  30. package/dist/configs/react/config.cjs +1 -0
  31. package/dist/configs/react/config.js +1 -16
  32. package/dist/configs/react/configExtended.cjs +1 -0
  33. package/dist/configs/react/configExtended.js +1 -9
  34. package/dist/configs/react/index.cjs +1 -0
  35. package/dist/configs/react/index.js +1 -18
  36. package/dist/configs/react/recommended.cjs +1 -0
  37. package/dist/configs/react/recommended.js +1 -12
  38. package/dist/configs/react/typescript.cjs +1 -0
  39. package/dist/configs/react/typescript.js +1 -8
  40. package/dist/configs/typescript/config.cjs +1 -0
  41. package/dist/configs/typescript/config.js +1 -18
  42. package/dist/configs/typescript/configExtended.cjs +1 -0
  43. package/dist/configs/typescript/configExtended.js +1 -9
  44. package/dist/extensions/base/index.cjs +1 -0
  45. package/dist/extensions/base/index.js +1 -15
  46. package/dist/extensions/base/recommended.cjs +1 -0
  47. package/dist/extensions/base/recommended.js +1 -31
  48. package/dist/extensions/base/typescript.cjs +1 -0
  49. package/dist/extensions/base/typescript.js +1 -19
  50. package/dist/extensions/index.cjs +1 -0
  51. package/dist/extensions/index.js +1 -21
  52. package/dist/extensions/next/index.cjs +1 -0
  53. package/dist/extensions/next/index.js +1 -12
  54. package/dist/extensions/next/recommended.cjs +1 -0
  55. package/dist/extensions/next/recommended.js +1 -21
  56. package/dist/extensions/node/index.cjs +1 -0
  57. package/dist/extensions/node/index.js +1 -12
  58. package/dist/extensions/node/recommended.cjs +1 -0
  59. package/dist/extensions/node/recommended.js +1 -39
  60. package/dist/extensions/react/index.cjs +1 -0
  61. package/dist/extensions/react/index.js +1 -15
  62. package/dist/extensions/react/recommended.cjs +1 -0
  63. package/dist/extensions/react/recommended.js +1 -72
  64. package/dist/extensions/react/typescript.cjs +1 -0
  65. package/dist/extensions/react/typescript.js +1 -29
  66. package/dist/helpers/getDevDepsList.cjs +1 -0
  67. package/dist/helpers/getDevDepsList.js +1 -32
  68. package/dist/helpers/getImportSettings.cjs +1 -0
  69. package/dist/helpers/getImportSettings.js +1 -42
  70. package/dist/helpers/getStylisticLegacyConfig.cjs +1 -0
  71. package/dist/helpers/getStylisticLegacyConfig.js +1 -29
  72. package/dist/index.cjs +1 -0
  73. package/dist/index.d.cts +37 -0
  74. package/dist/index.d.ts +37 -0
  75. package/dist/index.js +1 -18
  76. package/dist/legacy/configs/base/config.cjs +1 -0
  77. package/dist/legacy/configs/base/config.js +1 -24
  78. package/dist/legacy/configs/base/index.cjs +1 -0
  79. package/dist/legacy/configs/base/index.js +1 -18
  80. package/dist/legacy/configs/base/legacy.cjs +1 -0
  81. package/dist/legacy/configs/base/legacy.js +1 -46
  82. package/dist/legacy/configs/base/recommended.cjs +1 -0
  83. package/dist/legacy/configs/base/recommended.js +1 -21
  84. package/dist/legacy/configs/base/typescript.cjs +1 -0
  85. package/dist/legacy/configs/base/typescript.js +1 -8
  86. package/dist/legacy/configs/index.cjs +1 -0
  87. package/dist/legacy/configs/index.js +1 -15
  88. package/dist/legacy/configs/react/base.cjs +1 -0
  89. package/dist/legacy/configs/react/base.js +1 -8
  90. package/dist/legacy/configs/react/config.cjs +1 -0
  91. package/dist/legacy/configs/react/config.js +1 -14
  92. package/dist/legacy/configs/react/hooks.cjs +1 -0
  93. package/dist/legacy/configs/react/hooks.js +1 -8
  94. package/dist/legacy/configs/react/index.cjs +1 -0
  95. package/dist/legacy/configs/react/index.js +1 -24
  96. package/dist/legacy/configs/react/legacy.cjs +1 -0
  97. package/dist/legacy/configs/react/legacy.js +1 -8
  98. package/dist/legacy/configs/react/recommended.cjs +1 -0
  99. package/dist/legacy/configs/react/recommended.js +1 -13
  100. package/dist/legacy/configs/react/typescript.cjs +1 -0
  101. package/dist/legacy/configs/react/typescript.js +1 -47
  102. package/dist/legacy/configs/typescript/config.cjs +1 -0
  103. package/dist/legacy/configs/typescript/config.js +1 -14
  104. package/dist/legacy/rules/best-practices.cjs +1 -0
  105. package/dist/legacy/rules/best-practices.js +1 -433
  106. package/dist/legacy/rules/errors.cjs +1 -0
  107. package/dist/legacy/rules/errors.js +1 -167
  108. package/dist/legacy/rules/es6.cjs +1 -0
  109. package/dist/legacy/rules/es6.js +1 -206
  110. package/dist/legacy/rules/imports.cjs +1 -0
  111. package/dist/legacy/rules/imports.js +1 -258
  112. package/dist/legacy/rules/index.cjs +1 -0
  113. package/dist/legacy/rules/index.js +1 -18
  114. package/dist/legacy/rules/node.cjs +1 -0
  115. package/dist/legacy/rules/node.js +1 -35
  116. package/dist/legacy/rules/react/react.cjs +1 -0
  117. package/dist/legacy/rules/react/react.js +1 -663
  118. package/dist/legacy/rules/react/reactHooks.cjs +1 -0
  119. package/dist/legacy/rules/react/reactHooks.js +1 -30
  120. package/dist/legacy/rules/react/reactJsxA11y.cjs +1 -0
  121. package/dist/legacy/rules/react/reactJsxA11y.js +1 -276
  122. package/dist/legacy/rules/strict.cjs +1 -0
  123. package/dist/legacy/rules/strict.js +1 -12
  124. package/dist/legacy/rules/style.cjs +1 -0
  125. package/dist/legacy/rules/style.js +1 -655
  126. package/dist/legacy/rules/typescript/typescript.cjs +1 -0
  127. package/dist/legacy/rules/typescript/typescript.js +1 -231
  128. package/dist/legacy/rules/typescript/typescriptOverrides.cjs +1 -0
  129. package/dist/legacy/rules/typescript/typescriptOverrides.js +1 -36
  130. package/dist/legacy/rules/typescript/typescriptSettings.cjs +1 -0
  131. package/dist/legacy/rules/typescript/typescriptSettings.js +1 -27
  132. package/dist/legacy/rules/variables.cjs +1 -0
  133. package/dist/legacy/rules/variables.js +1 -68
  134. package/dist/legacy.cjs +1 -0
  135. package/dist/legacy.d.cts +17 -0
  136. package/dist/legacy.d.ts +17 -0
  137. package/dist/legacy.js +1 -14
  138. package/dist/plugins/importXPlugin.cjs +1 -0
  139. package/dist/plugins/importXPlugin.js +1 -15
  140. package/dist/plugins/index.cjs +1 -0
  141. package/dist/plugins/index.js +1 -33
  142. package/dist/plugins/nextPlugin.cjs +1 -0
  143. package/dist/plugins/nextPlugin.js +1 -13
  144. package/dist/plugins/nodePlugin.cjs +1 -0
  145. package/dist/plugins/nodePlugin.js +1 -15
  146. package/dist/plugins/reactA11yPlugin.cjs +1 -0
  147. package/dist/plugins/reactA11yPlugin.js +1 -15
  148. package/dist/plugins/reactHooksPlugin.cjs +1 -0
  149. package/dist/plugins/reactHooksPlugin.js +1 -15
  150. package/dist/plugins/reactPlugin.cjs +1 -0
  151. package/dist/plugins/reactPlugin.js +1 -15
  152. package/dist/plugins/stylisticPlugin.cjs +1 -0
  153. package/dist/plugins/stylisticPlugin.js +1 -15
  154. package/dist/plugins/typescriptEslintPlugin.cjs +1 -0
  155. package/dist/plugins/typescriptEslintPlugin.js +1 -15
  156. package/dist/rules/best-practices.cjs +1 -0
  157. package/dist/rules/best-practices.js +1 -396
  158. package/dist/rules/errors.cjs +1 -0
  159. package/dist/rules/errors.js +1 -145
  160. package/dist/rules/es6.cjs +1 -0
  161. package/dist/rules/es6.js +1 -157
  162. package/dist/rules/imports.cjs +1 -0
  163. package/dist/rules/imports.js +1 -202
  164. package/dist/rules/importsStrict.cjs +1 -0
  165. package/dist/rules/importsStrict.js +1 -66
  166. package/dist/rules/index.cjs +1 -0
  167. package/dist/rules/index.js +1 -24
  168. package/dist/rules/next/nextBase.cjs +1 -0
  169. package/dist/rules/next/nextBase.js +1 -73
  170. package/dist/rules/next/nextCoreWebVitals.cjs +1 -0
  171. package/dist/rules/next/nextCoreWebVitals.js +1 -16
  172. package/dist/rules/node/nodeBase.cjs +1 -0
  173. package/dist/rules/node/nodeBase.js +1 -127
  174. package/dist/rules/node/nodeGlobals.cjs +1 -0
  175. package/dist/rules/node/nodeGlobals.js +1 -31
  176. package/dist/rules/node/nodeNoUnsupportedFeatures.cjs +1 -0
  177. package/dist/rules/node/nodeNoUnsupportedFeatures.js +1 -19
  178. package/dist/rules/node/nodePromises.cjs +1 -0
  179. package/dist/rules/node/nodePromises.js +1 -16
  180. package/dist/rules/react/react.cjs +1 -0
  181. package/dist/rules/react/react.js +1 -590
  182. package/dist/rules/react/reactHooks.cjs +1 -0
  183. package/dist/rules/react/reactHooks.js +1 -23
  184. package/dist/rules/react/reactJsxA11y.cjs +1 -0
  185. package/dist/rules/react/reactJsxA11y.js +1 -262
  186. package/dist/rules/react/reactStrict.cjs +1 -0
  187. package/dist/rules/react/reactStrict.js +1 -80
  188. package/dist/rules/react/reactStylistic.cjs +1 -0
  189. package/dist/rules/react/reactStylistic.js +1 -96
  190. package/dist/rules/strict.cjs +1 -0
  191. package/dist/rules/strict.js +1 -12
  192. package/dist/rules/style.cjs +1 -0
  193. package/dist/rules/style.js +1 -205
  194. package/dist/rules/stylistic.cjs +1 -0
  195. package/dist/rules/stylistic.js +1 -524
  196. package/dist/rules/typescript/typescriptBase.cjs +1 -0
  197. package/dist/rules/typescript/typescriptBase.js +1 -32
  198. package/dist/rules/typescript/typescriptEslint.cjs +1 -0
  199. package/dist/rules/typescript/typescriptEslint.js +1 -507
  200. package/dist/rules/typescript/typescriptEslintStrict.cjs +1 -0
  201. package/dist/rules/typescript/typescriptEslintStrict.js +1 -193
  202. package/dist/rules/typescript/typescriptImports.cjs +1 -0
  203. package/dist/rules/typescript/typescriptImports.js +1 -40
  204. package/dist/rules/typescript/typescriptStylistic.cjs +1 -0
  205. package/dist/rules/typescript/typescriptStylistic.js +1 -150
  206. package/dist/rules/variables.cjs +1 -0
  207. package/dist/rules/variables.js +1 -67
  208. package/dist/utils/index.cjs +1 -0
  209. package/dist/utils/index.js +1 -18
  210. package/package.json +17 -17
  211. package/dist/@types/index.d.ts +0 -32
  212. package/dist/@types/legacy.d.ts +0 -12
  213. package/dist/rules/stylisticPlus.js +0 -16
  214. package/dist/rules/typescript/typescriptStylisticPlus.js +0 -16
@@ -1,262 +1 @@
1
- "use strict";
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
- "use strict";
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-quotes":`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
- "use strict";
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-quotes":`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}});
@@ -1,12 +1 @@
1
- "use strict";
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}});