@luxass/eslint-config 4.2.5 → 4.2.7

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 (144) hide show
  1. package/README.md +35 -54
  2. package/dist/index.cjs +166 -479
  3. package/dist/index.d.cts +733 -12
  4. package/dist/index.d.ts +733 -12
  5. package/dist/{configs/index.cjs → index.js} +300 -542
  6. package/package.json +51 -86
  7. package/dist/chunk-4YBQZLPS.mjs +0 -68
  8. package/dist/chunk-4YT54JFZ.mjs +0 -48
  9. package/dist/chunk-5NK24IKQ.mjs +0 -26
  10. package/dist/chunk-6T7MXPCT.mjs +0 -17
  11. package/dist/chunk-7ODEIBF5.mjs +0 -144
  12. package/dist/chunk-AQRBQAKE.mjs +0 -48
  13. package/dist/chunk-DAJA5AV3.mjs +0 -29
  14. package/dist/chunk-DCOLHWHC.mjs +0 -269
  15. package/dist/chunk-DVQQVCGF.mjs +0 -45
  16. package/dist/chunk-EHWA727G.mjs +0 -69
  17. package/dist/chunk-FNOIGW47.mjs +0 -104
  18. package/dist/chunk-KOXCJL3C.mjs +0 -109
  19. package/dist/chunk-MMSZW2UW.mjs +0 -92
  20. package/dist/chunk-MT5P5EKH.mjs +0 -207
  21. package/dist/chunk-O2BXTQHK.mjs +0 -117
  22. package/dist/chunk-QDSV5ONX.mjs +0 -93
  23. package/dist/chunk-QMGT2Z63.mjs +0 -57
  24. package/dist/chunk-RVSUTDCE.mjs +0 -57
  25. package/dist/chunk-SPD4DGYN.mjs +0 -274
  26. package/dist/chunk-UITQW3RA.mjs +0 -293
  27. package/dist/chunk-V57HXOSW.mjs +0 -81
  28. package/dist/chunk-WDSV2EFG.mjs +0 -7
  29. package/dist/chunk-WOBGA3K2.mjs +0 -63
  30. package/dist/chunk-WSQOWO67.mjs +0 -16
  31. package/dist/chunk-XBASVDU6.mjs +0 -215
  32. package/dist/chunk-XPKGXA67.mjs +0 -183
  33. package/dist/chunk-YGZJUKJC.mjs +0 -0
  34. package/dist/chunk-YO3IYQ2L.mjs +0 -220
  35. package/dist/configs/astro.cjs +0 -179
  36. package/dist/configs/astro.d.cts +0 -11
  37. package/dist/configs/astro.d.ts +0 -11
  38. package/dist/configs/astro.mjs +0 -8
  39. package/dist/configs/comments.cjs +0 -63
  40. package/dist/configs/comments.d.cts +0 -15
  41. package/dist/configs/comments.d.ts +0 -15
  42. package/dist/configs/comments.mjs +0 -6
  43. package/dist/configs/formatters.cjs +0 -274
  44. package/dist/configs/formatters.d.cts +0 -11
  45. package/dist/configs/formatters.d.ts +0 -11
  46. package/dist/configs/formatters.mjs +0 -9
  47. package/dist/configs/ignores.cjs +0 -96
  48. package/dist/configs/ignores.d.cts +0 -15
  49. package/dist/configs/ignores.d.ts +0 -15
  50. package/dist/configs/ignores.mjs +0 -7
  51. package/dist/configs/imports.cjs +0 -104
  52. package/dist/configs/imports.d.cts +0 -23
  53. package/dist/configs/imports.d.ts +0 -23
  54. package/dist/configs/imports.mjs +0 -7
  55. package/dist/configs/index.d.cts +0 -20
  56. package/dist/configs/index.d.ts +0 -20
  57. package/dist/configs/index.mjs +0 -104
  58. package/dist/configs/javascript.cjs +0 -324
  59. package/dist/configs/javascript.d.cts +0 -11
  60. package/dist/configs/javascript.d.ts +0 -11
  61. package/dist/configs/javascript.mjs +0 -7
  62. package/dist/configs/jsdoc.cjs +0 -85
  63. package/dist/configs/jsdoc.d.cts +0 -27
  64. package/dist/configs/jsdoc.d.ts +0 -27
  65. package/dist/configs/jsdoc.mjs +0 -7
  66. package/dist/configs/jsonc.cjs +0 -155
  67. package/dist/configs/jsonc.d.cts +0 -11
  68. package/dist/configs/jsonc.d.ts +0 -11
  69. package/dist/configs/jsonc.mjs +0 -8
  70. package/dist/configs/markdown.cjs +0 -164
  71. package/dist/configs/markdown.d.cts +0 -35
  72. package/dist/configs/markdown.d.ts +0 -35
  73. package/dist/configs/markdown.mjs +0 -8
  74. package/dist/configs/nextjs.cjs +0 -180
  75. package/dist/configs/nextjs.d.cts +0 -11
  76. package/dist/configs/nextjs.d.ts +0 -11
  77. package/dist/configs/nextjs.mjs +0 -8
  78. package/dist/configs/node.cjs +0 -60
  79. package/dist/configs/node.d.cts +0 -15
  80. package/dist/configs/node.d.ts +0 -15
  81. package/dist/configs/node.mjs +0 -6
  82. package/dist/configs/perfectionist.cjs +0 -51
  83. package/dist/configs/perfectionist.d.cts +0 -20
  84. package/dist/configs/perfectionist.d.ts +0 -20
  85. package/dist/configs/perfectionist.mjs +0 -6
  86. package/dist/configs/react.cjs +0 -379
  87. package/dist/configs/react.d.cts +0 -11
  88. package/dist/configs/react.d.ts +0 -11
  89. package/dist/configs/react.mjs +0 -8
  90. package/dist/configs/solid.cjs +0 -360
  91. package/dist/configs/solid.d.cts +0 -11
  92. package/dist/configs/solid.d.ts +0 -11
  93. package/dist/configs/solid.mjs +0 -8
  94. package/dist/configs/sort.cjs +0 -240
  95. package/dist/configs/sort.d.cts +0 -26
  96. package/dist/configs/sort.d.ts +0 -26
  97. package/dist/configs/sort.mjs +0 -8
  98. package/dist/configs/stylistic.cjs +0 -98
  99. package/dist/configs/stylistic.d.cts +0 -11
  100. package/dist/configs/stylistic.d.ts +0 -11
  101. package/dist/configs/stylistic.mjs +0 -9
  102. package/dist/configs/tailwindcss.cjs +0 -148
  103. package/dist/configs/tailwindcss.d.cts +0 -11
  104. package/dist/configs/tailwindcss.d.ts +0 -11
  105. package/dist/configs/tailwindcss.mjs +0 -8
  106. package/dist/configs/test.cjs +0 -206
  107. package/dist/configs/test.d.cts +0 -11
  108. package/dist/configs/test.d.ts +0 -11
  109. package/dist/configs/test.mjs +0 -9
  110. package/dist/configs/toml.cjs +0 -131
  111. package/dist/configs/toml.d.cts +0 -11
  112. package/dist/configs/toml.d.ts +0 -11
  113. package/dist/configs/toml.mjs +0 -8
  114. package/dist/configs/typescript.cjs +0 -291
  115. package/dist/configs/typescript.d.cts +0 -11
  116. package/dist/configs/typescript.d.ts +0 -11
  117. package/dist/configs/typescript.mjs +0 -8
  118. package/dist/configs/unicorn.cjs +0 -91
  119. package/dist/configs/unicorn.d.cts +0 -15
  120. package/dist/configs/unicorn.d.ts +0 -15
  121. package/dist/configs/unicorn.mjs +0 -6
  122. package/dist/configs/unocss.cjs +0 -133
  123. package/dist/configs/unocss.d.cts +0 -11
  124. package/dist/configs/unocss.d.ts +0 -11
  125. package/dist/configs/unocss.mjs +0 -8
  126. package/dist/configs/vue.cjs +0 -293
  127. package/dist/configs/vue.d.cts +0 -11
  128. package/dist/configs/vue.d.ts +0 -11
  129. package/dist/configs/vue.mjs +0 -8
  130. package/dist/configs/yaml.cjs +0 -143
  131. package/dist/configs/yaml.d.cts +0 -11
  132. package/dist/configs/yaml.d.ts +0 -11
  133. package/dist/configs/yaml.mjs +0 -8
  134. package/dist/custom-rules/utils.cjs +0 -31
  135. package/dist/custom-rules/utils.d.cts +0 -6
  136. package/dist/custom-rules/utils.d.ts +0 -6
  137. package/dist/custom-rules/utils.mjs +0 -6
  138. package/dist/globs.cjs +0 -158
  139. package/dist/globs.d.cts +0 -28
  140. package/dist/globs.d.ts +0 -28
  141. package/dist/globs.mjs +0 -56
  142. package/dist/index.mjs +0 -284
  143. package/dist/types-HqEzZfQU.d.cts +0 -668
  144. package/dist/types-HqEzZfQU.d.ts +0 -668
@@ -1,6 +0,0 @@
1
- import {
2
- perfectionist
3
- } from "../chunk-6T7MXPCT.mjs";
4
- export {
5
- perfectionist
6
- };
@@ -1,379 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/configs/react.ts
31
- var react_exports = {};
32
- __export(react_exports, {
33
- react: () => react
34
- });
35
- module.exports = __toCommonJS(react_exports);
36
- var import_local_pkg2 = require("local-pkg");
37
-
38
- // src/globs.ts
39
- var GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
40
- var GLOB_SRC = `**/*.${GLOB_SRC_EXT}`;
41
- var GLOB_JSX = "**/*.?([cm])jsx";
42
- var GLOB_TSX = "**/*.?([cm])tsx";
43
- var GLOB_MARKDOWN = "**/*.md";
44
- var GLOB_MARKDOWN_CODE = `${GLOB_MARKDOWN}/${GLOB_SRC}`;
45
- var GLOB_TESTS = [
46
- `**/__tests__/**/*.${GLOB_SRC_EXT}`,
47
- `**/*.spec.${GLOB_SRC_EXT}`,
48
- `**/*.test.${GLOB_SRC_EXT}`,
49
- `**/*.bench.${GLOB_SRC_EXT}`,
50
- `**/*.benchmark.${GLOB_SRC_EXT}`
51
- ];
52
- var GLOB_NEXTJS_ROUTES = [
53
- `**/app/**/page.${GLOB_SRC_EXT}`,
54
- `**/app/**/layout.${GLOB_SRC_EXT}`,
55
- `**/app/**/error.${GLOB_SRC_EXT}`,
56
- `**/app/**/template.${GLOB_SRC_EXT}`,
57
- `**/app/**/not-found.${GLOB_SRC_EXT}`,
58
- `**/app/**/loading.${GLOB_SRC_EXT}`,
59
- `**/app/**/robots.${GLOB_SRC_EXT}`,
60
- `**/app/**/sitemap.${GLOB_SRC_EXT}`,
61
- `**/pages/**/*.${GLOB_SRC_EXT}`
62
- ];
63
-
64
- // src/utils.ts
65
- var import_node_process = __toESM(require("process"), 1);
66
- var import_local_pkg = require("local-pkg");
67
- async function interop(m) {
68
- const resolved = await m;
69
- return resolved.default || resolved;
70
- }
71
- async function ensure(packages) {
72
- if (import_node_process.default.env.CI || import_node_process.default.stdout.isTTY === false) {
73
- return;
74
- }
75
- ;
76
- const nonExistingPackages = packages.filter((i) => !(0, import_local_pkg.isPackageExists)(i));
77
- if (nonExistingPackages.length === 0) {
78
- return;
79
- }
80
- ;
81
- const { default: prompts } = await import("prompts");
82
- const { result } = await prompts([
83
- {
84
- name: "result",
85
- message: `${nonExistingPackages.length === 1 ? "Package is" : "Packages are"} required for this config: ${nonExistingPackages.join(", ")}. Do you want to install them?`,
86
- type: "confirm"
87
- }
88
- ]);
89
- if (result) {
90
- await import("@antfu/install-pkg").then((i) => i.installPackage(nonExistingPackages, {
91
- dev: true
92
- }));
93
- }
94
- ;
95
- }
96
-
97
- // src/configs/react.ts
98
- async function react(options = {}) {
99
- const {
100
- a11y = false,
101
- files = [GLOB_JSX, GLOB_TSX],
102
- overrides = {},
103
- typescript = true
104
- } = options;
105
- await ensure([
106
- "eslint-plugin-react",
107
- "eslint-plugin-react-hooks",
108
- "eslint-plugin-react-refresh",
109
- ...options.a11y ? ["eslint-plugin-jsx-a11y"] : []
110
- ]);
111
- const [
112
- pluginReact,
113
- pluginReactHooks,
114
- pluginReactRefresh,
115
- pluginA11y
116
- ] = await Promise.all([
117
- interop(import("eslint-plugin-react")),
118
- interop(import("eslint-plugin-react-hooks")),
119
- interop(import("eslint-plugin-react-refresh")),
120
- ...a11y ? [interop(import("eslint-plugin-jsx-a11y"))] : []
121
- ]);
122
- const isAllowConstantExport = ["vite"].some(
123
- (i) => (0, import_local_pkg2.isPackageExists)(i)
124
- );
125
- return [
126
- {
127
- name: "luxass:react:setup",
128
- plugins: {
129
- "react": pluginReact,
130
- "react-hooks": pluginReactHooks,
131
- "react-refresh": pluginReactRefresh,
132
- ...a11y ? { "jsx-a11y": pluginA11y } : {}
133
- }
134
- },
135
- {
136
- name: "luxass:react:rules",
137
- files,
138
- languageOptions: {
139
- parserOptions: {
140
- ecmaFeatures: {
141
- jsx: true
142
- }
143
- }
144
- },
145
- rules: {
146
- ...a11y ? {
147
- // recommended rules for jsx-a11y
148
- "jsx-a11y/alt-text": "error",
149
- "jsx-a11y/anchor-ambiguous-text": "off",
150
- "jsx-a11y/anchor-has-content": "error",
151
- "jsx-a11y/anchor-is-valid": "error",
152
- "jsx-a11y/aria-activedescendant-has-tabindex": "error",
153
- "jsx-a11y/aria-props": "error",
154
- "jsx-a11y/aria-proptypes": "error",
155
- "jsx-a11y/aria-role": "error",
156
- "jsx-a11y/aria-unsupported-elements": "error",
157
- "jsx-a11y/autocomplete-valid": "error",
158
- "jsx-a11y/click-events-have-key-events": "error",
159
- "jsx-a11y/control-has-associated-label": [
160
- "off",
161
- {
162
- ignoreElements: [
163
- "audio",
164
- "canvas",
165
- "embed",
166
- "input",
167
- "textarea",
168
- "tr",
169
- "video"
170
- ],
171
- ignoreRoles: [
172
- "grid",
173
- "listbox",
174
- "menu",
175
- "menubar",
176
- "radiogroup",
177
- "row",
178
- "tablist",
179
- "toolbar",
180
- "tree",
181
- "treegrid"
182
- ],
183
- includeRoles: [
184
- "alert",
185
- "dialog"
186
- ]
187
- }
188
- ],
189
- "jsx-a11y/heading-has-content": "error",
190
- "jsx-a11y/html-has-lang": "error",
191
- "jsx-a11y/iframe-has-title": "error",
192
- "jsx-a11y/img-redundant-alt": "error",
193
- "jsx-a11y/interactive-supports-focus": [
194
- "error",
195
- {
196
- tabbable: [
197
- "button",
198
- "checkbox",
199
- "link",
200
- "searchbox",
201
- "spinbutton",
202
- "switch",
203
- "textbox"
204
- ]
205
- }
206
- ],
207
- "jsx-a11y/label-has-associated-control": "error",
208
- "jsx-a11y/label-has-for": "off",
209
- "jsx-a11y/media-has-caption": "error",
210
- "jsx-a11y/mouse-events-have-key-events": "error",
211
- "jsx-a11y/no-access-key": "error",
212
- "jsx-a11y/no-autofocus": "error",
213
- "jsx-a11y/no-distracting-elements": "error",
214
- "jsx-a11y/no-interactive-element-to-noninteractive-role": [
215
- "error",
216
- {
217
- canvas: [
218
- "img"
219
- ],
220
- tr: [
221
- "none",
222
- "presentation"
223
- ]
224
- }
225
- ],
226
- "jsx-a11y/no-noninteractive-element-interactions": [
227
- "error",
228
- {
229
- alert: [
230
- "onKeyUp",
231
- "onKeyDown",
232
- "onKeyPress"
233
- ],
234
- body: [
235
- "onError",
236
- "onLoad"
237
- ],
238
- dialog: [
239
- "onKeyUp",
240
- "onKeyDown",
241
- "onKeyPress"
242
- ],
243
- handlers: [
244
- "onClick",
245
- "onError",
246
- "onLoad",
247
- "onMouseDown",
248
- "onMouseUp",
249
- "onKeyPress",
250
- "onKeyDown",
251
- "onKeyUp"
252
- ],
253
- iframe: [
254
- "onError",
255
- "onLoad"
256
- ],
257
- img: [
258
- "onError",
259
- "onLoad"
260
- ]
261
- }
262
- ],
263
- "jsx-a11y/no-noninteractive-element-to-interactive-role": [
264
- "error",
265
- {
266
- fieldset: [
267
- "radiogroup",
268
- "presentation"
269
- ],
270
- li: [
271
- "menuitem",
272
- "option",
273
- "row",
274
- "tab",
275
- "treeitem"
276
- ],
277
- ol: [
278
- "listbox",
279
- "menu",
280
- "menubar",
281
- "radiogroup",
282
- "tablist",
283
- "tree",
284
- "treegrid"
285
- ],
286
- table: [
287
- "grid"
288
- ],
289
- td: [
290
- "gridcell"
291
- ],
292
- ul: [
293
- "listbox",
294
- "menu",
295
- "menubar",
296
- "radiogroup",
297
- "tablist",
298
- "tree",
299
- "treegrid"
300
- ]
301
- }
302
- ],
303
- "jsx-a11y/no-noninteractive-tabindex": [
304
- "error",
305
- {
306
- allowExpressionValues: true,
307
- roles: [
308
- "tabpanel"
309
- ],
310
- tags: []
311
- }
312
- ],
313
- "jsx-a11y/no-redundant-roles": "error",
314
- "jsx-a11y/no-static-element-interactions": [
315
- "error",
316
- {
317
- allowExpressionValues: true,
318
- handlers: [
319
- "onClick",
320
- "onMouseDown",
321
- "onMouseUp",
322
- "onKeyPress",
323
- "onKeyDown",
324
- "onKeyUp"
325
- ]
326
- }
327
- ],
328
- "jsx-a11y/role-has-required-aria-props": "error",
329
- "jsx-a11y/role-supports-aria-props": "error",
330
- "jsx-a11y/scope": "error",
331
- "jsx-a11y/tabindex-no-positive": "error"
332
- } : {},
333
- // recommended rules react
334
- "react/display-name": "error",
335
- "react/jsx-key": "error",
336
- "react/jsx-no-comment-textnodes": "error",
337
- "react/jsx-no-duplicate-props": "error",
338
- "react/jsx-no-target-blank": "error",
339
- "react/jsx-no-undef": "error",
340
- "react/jsx-uses-react": "error",
341
- "react/jsx-uses-vars": "error",
342
- "react/no-children-prop": "error",
343
- "react/no-danger-with-children": "error",
344
- "react/no-deprecated": "error",
345
- "react/no-direct-mutation-state": "error",
346
- "react/no-find-dom-node": "error",
347
- "react/no-is-mounted": "error",
348
- "react/no-render-return-value": "error",
349
- "react/no-string-refs": "error",
350
- "react/no-unescaped-entities": "error",
351
- "react/no-unknown-property": "error",
352
- "react/no-unsafe": "off",
353
- "react/prop-types": "error",
354
- "react/react-in-jsx-scope": "off",
355
- "react/require-render-return": "error",
356
- // recommended rules react-hooks
357
- "react-hooks/exhaustive-deps": "warn",
358
- "react-hooks/rules-of-hooks": "error",
359
- // react refresh
360
- "react-refresh/only-export-components": ["warn", { allowConstantExport: isAllowConstantExport }],
361
- ...typescript ? {
362
- "react/jsx-no-undef": "off",
363
- "react/prop-type": "off"
364
- } : {},
365
- // overrides
366
- ...overrides
367
- },
368
- settings: {
369
- react: {
370
- version: "detect"
371
- }
372
- }
373
- }
374
- ];
375
- }
376
- // Annotate the CommonJS export names for ESM import in node:
377
- 0 && (module.exports = {
378
- react
379
- });
@@ -1,11 +0,0 @@
1
- export { R as ReactOptions, r as react } from '../types-HqEzZfQU.cjs';
2
- import 'eslint-config-flat-gitignore';
3
- import '@antfu/eslint-define-config';
4
- import '@eslint-types/jsdoc/types';
5
- import '@eslint-types/typescript-eslint/types';
6
- import '@eslint-types/unicorn/types';
7
- import 'eslint-plugin-antfu';
8
- import '@stylistic/eslint-plugin';
9
- import 'eslint';
10
- import '@typescript-eslint/parser';
11
- import 'eslint-processor-vue-blocks';
@@ -1,11 +0,0 @@
1
- export { R as ReactOptions, r as react } from '../types-HqEzZfQU.js';
2
- import 'eslint-config-flat-gitignore';
3
- import '@antfu/eslint-define-config';
4
- import '@eslint-types/jsdoc/types';
5
- import '@eslint-types/typescript-eslint/types';
6
- import '@eslint-types/unicorn/types';
7
- import 'eslint-plugin-antfu';
8
- import '@stylistic/eslint-plugin';
9
- import 'eslint';
10
- import '@typescript-eslint/parser';
11
- import 'eslint-processor-vue-blocks';
@@ -1,8 +0,0 @@
1
- import {
2
- react
3
- } from "../chunk-UITQW3RA.mjs";
4
- import "../chunk-4YBQZLPS.mjs";
5
- import "../chunk-KOXCJL3C.mjs";
6
- export {
7
- react
8
- };