@luxass/eslint-config 4.0.0-beta.9 → 4.0.1

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 (149) hide show
  1. package/README.md +351 -48
  2. package/dist/{chunk-TQ476NL2.mjs → chunk-4YBQZLPS.mjs} +13 -2
  3. package/dist/{chunk-NDNDG7BH.mjs → chunk-5NK24IKQ.mjs} +2 -5
  4. package/dist/{chunk-2SW2E3TH.mjs → chunk-5SDSWPKR.mjs} +14 -4
  5. package/dist/chunk-6T7MXPCT.mjs +17 -0
  6. package/dist/{chunk-SPQZTV4E.mjs → chunk-7R4FYLS2.mjs} +19 -14
  7. package/dist/{chunk-ADP4MYOS.mjs → chunk-ANUYBAYV.mjs} +1 -1
  8. package/dist/{chunk-R4NSLRAE.mjs → chunk-ATRL3UZP.mjs} +14 -8
  9. package/dist/{chunk-P3N5WLFL.mjs → chunk-BXBN56WI.mjs} +11 -7
  10. package/dist/chunk-CJ3ZUYUJ.mjs +183 -0
  11. package/dist/chunk-DAJA5AV3.mjs +29 -0
  12. package/dist/{chunk-FK567E7G.mjs → chunk-DVQQVCGF.mjs} +7 -3
  13. package/dist/chunk-FU5SRKZU.mjs +104 -0
  14. package/dist/{chunk-LQLF2CMA.mjs → chunk-GBLPCM3X.mjs} +14 -17
  15. package/dist/chunk-KJ7ZCBK4.mjs +48 -0
  16. package/dist/{chunk-QZTI72NS.mjs → chunk-PYS26PF3.mjs} +13 -9
  17. package/dist/chunk-Q57BF3CR.mjs +63 -0
  18. package/dist/{chunk-3QHLEAXK.mjs → chunk-RDZJT36Z.mjs} +22 -8
  19. package/dist/chunk-RNFKNSHW.mjs +293 -0
  20. package/dist/{chunk-HE56XDG6.mjs → chunk-RVSUTDCE.mjs} +15 -5
  21. package/dist/chunk-UMUUVFB7.mjs +69 -0
  22. package/dist/{chunk-NUG6FLHN.mjs → chunk-VZ2YFMWH.mjs} +54 -11
  23. package/dist/chunk-WDSV2EFG.mjs +7 -0
  24. package/dist/{chunk-M5WNLLBT.mjs → chunk-WOYZWHPM.mjs} +20 -7
  25. package/dist/chunk-WRURTO5T.mjs +144 -0
  26. package/dist/{chunk-BAKUP7QM.mjs → chunk-Z7F6QSYQ.mjs} +44 -34
  27. package/dist/configs/astro.cjs +11 -21
  28. package/dist/configs/astro.d.cts +3 -6
  29. package/dist/configs/astro.d.ts +3 -6
  30. package/dist/configs/astro.mjs +3 -3
  31. package/dist/configs/comments.cjs +9 -12
  32. package/dist/configs/comments.d.cts +3 -2
  33. package/dist/configs/comments.d.ts +3 -2
  34. package/dist/configs/comments.mjs +1 -2
  35. package/dist/configs/formatters.cjs +274 -0
  36. package/dist/configs/formatters.d.cts +11 -0
  37. package/dist/configs/formatters.d.ts +11 -0
  38. package/dist/configs/formatters.mjs +9 -0
  39. package/dist/configs/ignores.cjs +1 -8
  40. package/dist/configs/ignores.d.cts +3 -2
  41. package/dist/configs/ignores.d.ts +3 -2
  42. package/dist/configs/ignores.mjs +2 -2
  43. package/dist/configs/imports.cjs +35 -9
  44. package/dist/configs/imports.d.cts +13 -4
  45. package/dist/configs/imports.d.ts +13 -4
  46. package/dist/configs/imports.mjs +2 -2
  47. package/dist/configs/index.cjs +1487 -1074
  48. package/dist/configs/index.d.cts +7 -18
  49. package/dist/configs/index.d.ts +7 -18
  50. package/dist/configs/index.mjs +40 -36
  51. package/dist/configs/javascript.cjs +16 -23
  52. package/dist/configs/javascript.d.cts +3 -6
  53. package/dist/configs/javascript.d.ts +3 -6
  54. package/dist/configs/javascript.mjs +2 -3
  55. package/dist/configs/jsdoc.cjs +6 -2
  56. package/dist/configs/jsdoc.d.cts +17 -4
  57. package/dist/configs/jsdoc.d.ts +17 -4
  58. package/dist/configs/jsdoc.mjs +2 -2
  59. package/dist/configs/jsonc.cjs +8 -11
  60. package/dist/configs/jsonc.d.cts +3 -6
  61. package/dist/configs/jsonc.d.ts +3 -6
  62. package/dist/configs/jsonc.mjs +3 -3
  63. package/dist/configs/markdown.cjs +46 -35
  64. package/dist/configs/markdown.d.cts +25 -4
  65. package/dist/configs/markdown.d.ts +25 -4
  66. package/dist/configs/markdown.mjs +3 -3
  67. package/dist/configs/nextjs.cjs +13 -11
  68. package/dist/configs/nextjs.d.cts +3 -6
  69. package/dist/configs/nextjs.d.ts +3 -6
  70. package/dist/configs/nextjs.mjs +3 -3
  71. package/dist/configs/node.cjs +0 -10
  72. package/dist/configs/node.d.cts +3 -2
  73. package/dist/configs/node.d.ts +3 -2
  74. package/dist/configs/node.mjs +1 -2
  75. package/dist/configs/perfectionist.cjs +2 -20
  76. package/dist/configs/perfectionist.d.cts +4 -3
  77. package/dist/configs/perfectionist.d.ts +4 -3
  78. package/dist/configs/perfectionist.mjs +1 -2
  79. package/dist/configs/react.cjs +206 -203
  80. package/dist/configs/react.d.cts +3 -6
  81. package/dist/configs/react.d.ts +3 -6
  82. package/dist/configs/react.mjs +3 -3
  83. package/dist/configs/sort.cjs +6 -6
  84. package/dist/configs/sort.d.cts +3 -2
  85. package/dist/configs/sort.d.ts +3 -2
  86. package/dist/configs/sort.mjs +1 -1
  87. package/dist/configs/stylistic.cjs +20 -11
  88. package/dist/configs/stylistic.d.cts +4 -7
  89. package/dist/configs/stylistic.d.ts +4 -7
  90. package/dist/configs/stylistic.mjs +4 -3
  91. package/dist/configs/tailwindcss.cjs +33 -47
  92. package/dist/configs/tailwindcss.d.cts +3 -6
  93. package/dist/configs/tailwindcss.d.ts +3 -6
  94. package/dist/configs/tailwindcss.mjs +3 -3
  95. package/dist/configs/test.cjs +103 -16
  96. package/dist/configs/test.d.cts +3 -6
  97. package/dist/configs/test.d.ts +3 -6
  98. package/dist/configs/test.mjs +4 -3
  99. package/dist/configs/toml.cjs +131 -0
  100. package/dist/configs/toml.d.cts +11 -0
  101. package/dist/configs/toml.d.ts +11 -0
  102. package/dist/configs/toml.mjs +8 -0
  103. package/dist/configs/typescript.cjs +39 -43
  104. package/dist/configs/typescript.d.cts +3 -6
  105. package/dist/configs/typescript.d.ts +3 -6
  106. package/dist/configs/typescript.mjs +3 -4
  107. package/dist/configs/unicorn.cjs +13 -10
  108. package/dist/configs/unicorn.d.cts +3 -2
  109. package/dist/configs/unicorn.d.ts +3 -2
  110. package/dist/configs/unicorn.mjs +1 -2
  111. package/dist/configs/unocss.cjs +48 -20
  112. package/dist/configs/unocss.d.cts +3 -6
  113. package/dist/configs/unocss.d.ts +3 -6
  114. package/dist/configs/unocss.mjs +3 -3
  115. package/dist/configs/vue.cjs +51 -15
  116. package/dist/configs/vue.d.cts +3 -6
  117. package/dist/configs/vue.d.ts +3 -6
  118. package/dist/configs/vue.mjs +3 -3
  119. package/dist/configs/yaml.cjs +17 -11
  120. package/dist/configs/yaml.d.cts +3 -6
  121. package/dist/configs/yaml.d.ts +3 -6
  122. package/dist/configs/yaml.mjs +3 -3
  123. package/dist/custom-rules/utils.cjs +31 -0
  124. package/dist/custom-rules/utils.d.cts +6 -0
  125. package/dist/custom-rules/utils.d.ts +6 -0
  126. package/dist/custom-rules/utils.mjs +6 -0
  127. package/dist/globs.cjs +157 -0
  128. package/dist/globs.d.cts +28 -0
  129. package/dist/globs.d.ts +28 -0
  130. package/dist/globs.mjs +56 -0
  131. package/dist/index.cjs +1267 -839
  132. package/dist/index.d.cts +10 -44
  133. package/dist/index.d.ts +10 -44
  134. package/dist/index.mjs +106 -146
  135. package/dist/types-spTEGSaV.d.cts +632 -0
  136. package/dist/types-spTEGSaV.d.ts +632 -0
  137. package/package.json +69 -37
  138. package/dist/chunk-24KJPXII.mjs +0 -51
  139. package/dist/chunk-4HH6LYJ6.mjs +0 -25
  140. package/dist/chunk-AL47KNVD.mjs +0 -37
  141. package/dist/chunk-C5VMTRKT.mjs +0 -18
  142. package/dist/chunk-ERFDRAGW.mjs +0 -86
  143. package/dist/chunk-HLDEUDLN.mjs +0 -28
  144. package/dist/chunk-O4O6V7LI.mjs +0 -70
  145. package/dist/chunk-UBPIYSHC.mjs +0 -284
  146. package/dist/types-h9izbkUX.d.cts +0 -241
  147. package/dist/types-h9izbkUX.d.ts +0 -241
  148. package/dist/{chunk-FKAOMYGL.mjs → chunk-ME2OAMS3.mjs} +0 -0
  149. package/dist/{chunk-FOIFEV73.mjs → chunk-XBASVDU6.mjs} +6 -6
@@ -0,0 +1,144 @@
1
+ import {
2
+ createRule
3
+ } from "./chunk-WDSV2EFG.mjs";
4
+ import {
5
+ interop
6
+ } from "./chunk-4YBQZLPS.mjs";
7
+ import {
8
+ GLOB_TESTS
9
+ } from "./chunk-ATRL3UZP.mjs";
10
+
11
+ // src/custom-rules/no-only-tests/index.ts
12
+ var DEFAULT_OPTIONS = {
13
+ blocks: ["describe", "it", "test"],
14
+ focus: ["only"]
15
+ };
16
+ function getPath(node, path = []) {
17
+ if (node) {
18
+ const nodeName = node.name || node.property && node.property.name;
19
+ if (node.object) {
20
+ return getPath(node.object, [
21
+ nodeName,
22
+ ...path
23
+ ]);
24
+ }
25
+ if (node.callee)
26
+ return getPath(node.callee, path);
27
+ return [nodeName, ...path];
28
+ }
29
+ return path;
30
+ }
31
+ var noOnlyTests = createRule({
32
+ name: "no-only-tests",
33
+ create: (context, [options]) => {
34
+ const {
35
+ blocks = DEFAULT_OPTIONS.blocks,
36
+ focus = DEFAULT_OPTIONS.focus
37
+ } = options;
38
+ const handler = {
39
+ Identifier(node) {
40
+ const parent = node.parent?.object;
41
+ if (!parent)
42
+ return;
43
+ if (!focus.includes(node.name))
44
+ return;
45
+ const callPath = getPath(node.parent).join(".");
46
+ const found = blocks.find((block) => {
47
+ if (block.endsWith("*"))
48
+ return callPath.startsWith(block.replace(/\*$/, ""));
49
+ return callPath.startsWith(`${block}.`);
50
+ });
51
+ if (found) {
52
+ context.report({
53
+ data: { block: callPath.split(".")[0], focus: node.name },
54
+ messageId: "notPermitted",
55
+ node
56
+ });
57
+ }
58
+ }
59
+ };
60
+ return handler;
61
+ },
62
+ defaultOptions: [{
63
+ blocks: ["describe", "it", "test"],
64
+ focus: ["only"]
65
+ }],
66
+ meta: {
67
+ docs: {
68
+ description: "disallow .only blocks in tests",
69
+ recommended: "recommended"
70
+ },
71
+ messages: {
72
+ notPermitted: "{{ block }}.{{ focus }} not permitted"
73
+ },
74
+ schema: [{
75
+ additionalProperties: false,
76
+ properties: {
77
+ blocks: {
78
+ items: {
79
+ type: "string"
80
+ },
81
+ type: "array",
82
+ uniqueItems: true
83
+ },
84
+ focus: {
85
+ items: {
86
+ type: "string"
87
+ },
88
+ type: "array",
89
+ uniqueItems: true
90
+ }
91
+ },
92
+ type: "object"
93
+ }],
94
+ type: "layout"
95
+ }
96
+ // i need to have this here, otherwise typechecking fails.
97
+ });
98
+
99
+ // src/configs/test.ts
100
+ async function test(options = {}) {
101
+ const {
102
+ editor = false,
103
+ files = GLOB_TESTS,
104
+ overrides = {}
105
+ } = options;
106
+ const [
107
+ pluginVitest
108
+ ] = await Promise.all([
109
+ interop(import("eslint-plugin-vitest"))
110
+ ]);
111
+ return [
112
+ {
113
+ name: "luxass:test:setup",
114
+ plugins: {
115
+ test: {
116
+ ...pluginVitest,
117
+ rules: {
118
+ ...pluginVitest.rules,
119
+ "no-only-tests": noOnlyTests
120
+ }
121
+ }
122
+ }
123
+ },
124
+ {
125
+ name: "luxass:test:rules",
126
+ files,
127
+ rules: {
128
+ "test/consistent-test-it": [
129
+ "error",
130
+ { fn: "it", withinDescribe: "it" }
131
+ ],
132
+ "test/no-identical-title": "error",
133
+ "test/no-only-tests": editor ? "off" : "error",
134
+ "test/prefer-hooks-in-order": "error",
135
+ "test/prefer-lowercase-title": "error",
136
+ ...overrides
137
+ }
138
+ }
139
+ ];
140
+ }
141
+
142
+ export {
143
+ test
144
+ };
@@ -1,20 +1,21 @@
1
- import {
2
- GLOB_SRC
3
- } from "./chunk-R4NSLRAE.mjs";
4
- import {
5
- default as default2
6
- } from "./chunk-C5VMTRKT.mjs";
7
1
  import {
8
2
  interop,
9
3
  renameRules,
10
4
  toArray
11
- } from "./chunk-TQ476NL2.mjs";
5
+ } from "./chunk-4YBQZLPS.mjs";
6
+ import {
7
+ GLOB_SRC,
8
+ GLOB_SRC_EXT,
9
+ GLOB_TS,
10
+ GLOB_TSX
11
+ } from "./chunk-ATRL3UZP.mjs";
12
12
 
13
13
  // src/configs/typescript.ts
14
14
  import process from "node:process";
15
- async function typescript(options) {
15
+ import pluginAntfu from "eslint-plugin-antfu";
16
+ async function typescript(options = {}) {
16
17
  const {
17
- componentExts = [],
18
+ exts = [],
18
19
  overrides = {},
19
20
  parserOptions = {}
20
21
  } = options ?? {};
@@ -39,6 +40,11 @@ async function typescript(options) {
39
40
  "ts/restrict-template-expressions": "error",
40
41
  "ts/unbound-method": "error"
41
42
  };
43
+ const files = options.files ?? [
44
+ GLOB_SRC,
45
+ ...exts.map((ext) => `**/*.${ext}`)
46
+ ];
47
+ const filesTypeAware = options.typeAwareFileS ?? [GLOB_TS, GLOB_TSX];
42
48
  const tsconfigPath = options?.tsconfigPath ? toArray(options.tsconfigPath) : void 0;
43
49
  const [
44
50
  pluginTs,
@@ -52,16 +58,17 @@ async function typescript(options) {
52
58
  // Install the plugins without globs, so they can be configured separately.
53
59
  name: "luxass:typescript:setup",
54
60
  plugins: {
55
- antfu: default2,
61
+ antfu: pluginAntfu,
56
62
  ts: pluginTs
57
63
  }
58
64
  },
59
65
  {
60
- files: [GLOB_SRC, ...componentExts.map((ext) => `**/*.${ext}`)],
66
+ name: "luxass:typescript:rules",
67
+ files,
61
68
  languageOptions: {
62
69
  parser: parserTs,
63
70
  parserOptions: {
64
- extraFileExtensions: componentExts.map((ext) => `.${ext}`),
71
+ extraFileExtensions: exts.map((ext) => `.${ext}`),
65
72
  sourceType: "module",
66
73
  ...tsconfigPath ? {
67
74
  project: tsconfigPath,
@@ -70,7 +77,6 @@ async function typescript(options) {
70
77
  ...parserOptions
71
78
  }
72
79
  },
73
- name: "luxass:typescript:rules",
74
80
  rules: {
75
81
  ...renameRules(
76
82
  pluginTs.configs["eslint-recommended"].overrides[0].rules,
@@ -82,9 +88,6 @@ async function typescript(options) {
82
88
  "@typescript-eslint/",
83
89
  "ts/"
84
90
  ),
85
- "antfu/generic-spacing": "error",
86
- "antfu/named-tuple-spacing": "error",
87
- "antfu/no-cjs-exports": "error",
88
91
  "no-dupe-class-members": "off",
89
92
  "no-invalid-this": "off",
90
93
  "no-loss-of-precision": "off",
@@ -98,41 +101,34 @@ async function typescript(options) {
98
101
  "ts/ban-types": ["error", {
99
102
  extendDefaults: false,
100
103
  types: {
101
- "BigInt": {
104
+ BigInt: {
102
105
  fixWith: "bigint",
103
106
  message: "Use `bigint` instead."
104
107
  },
105
- "Boolean": {
108
+ Boolean: {
106
109
  fixWith: "boolean",
107
110
  message: "Use `boolean` instead."
108
111
  },
109
- "Function": "Use a specific function type instead, like `() => void`.",
110
- "Number": {
112
+ Function: "Use a specific function type instead, like `() => void`.",
113
+ Number: {
111
114
  fixWith: "number",
112
115
  message: "Use `number` instead."
113
116
  },
114
- "Object": {
117
+ Object: {
115
118
  fixWith: "Record<string, unknown>",
116
119
  message: "The `Object` type is mostly the same as `unknown`. You probably want `Record<string, unknown>` instead. See https://github.com/typescript-eslint/typescript-eslint/pull/848"
117
120
  },
118
- "String": {
121
+ String: {
119
122
  fixWith: "string",
120
123
  message: "Use `string` instead."
121
124
  },
122
- "Symbol": {
125
+ Symbol: {
123
126
  fixWith: "symbol",
124
127
  message: "Use `symbol` instead."
125
128
  },
126
- "[]": {
127
- message: "Don't use the empty array type `[]`. It only allows empty arrays. Use `SomeType[]` instead."
128
- },
129
- "object": {
129
+ object: {
130
130
  fixWith: "Record<string, unknown>",
131
131
  message: "The `object` type is hard to use. Use `Record<string, unknown>` instead. See: https://github.com/typescript-eslint/typescript-eslint/pull/848"
132
- },
133
- "{}": {
134
- fixWith: "Record<string, unknown>",
135
- message: "The `{}` type is mostly the same as `unknown`. You probably want `Record<string, unknown>` instead."
136
132
  }
137
133
  }
138
134
  }],
@@ -161,13 +157,20 @@ async function typescript(options) {
161
157
  "ts/prefer-ts-expect-error": "error",
162
158
  "ts/triple-slash-reference": "off",
163
159
  "ts/unified-signatures": "off",
160
+ ...overrides
161
+ }
162
+ },
163
+ {
164
+ name: "luxass:typescript:rules-type-aware",
165
+ files: filesTypeAware,
166
+ rules: {
164
167
  ...tsconfigPath ? typeAwareRules : {},
165
168
  ...overrides
166
169
  }
167
170
  },
168
171
  {
169
- files: ["**/*.d.ts"],
170
172
  name: "luxass:typescript:dts-overrides",
173
+ files: ["**/*.d.ts"],
171
174
  rules: {
172
175
  "eslint-comments/no-unlimited-disable": "off",
173
176
  "import/no-duplicates": "off",
@@ -176,15 +179,22 @@ async function typescript(options) {
176
179
  }
177
180
  },
178
181
  {
179
- files: ["**/*.{test,spec}.ts?(x)"],
180
182
  name: "luxass:typescript:tests-overrides",
183
+ files: ["**/*.{test,spec}.ts?(x)"],
181
184
  rules: {
182
185
  "no-unused-expressions": "off"
183
186
  }
184
187
  },
185
188
  {
186
- files: ["**/*.js", "**/*.cjs"],
189
+ name: "luxass:typescript:playground-overrides",
190
+ files: [`**/playground.${GLOB_SRC_EXT}`],
191
+ rules: {
192
+ "no-console": "off"
193
+ }
194
+ },
195
+ {
187
196
  name: "luxass:typescript:javascript-overrides",
197
+ files: ["**/*.js", "**/*.cjs"],
188
198
  rules: {
189
199
  "ts/no-require-imports": "off",
190
200
  "ts/no-var-requires": "off"
@@ -36,9 +36,7 @@ module.exports = __toCommonJS(astro_exports);
36
36
 
37
37
  // src/globs.ts
38
38
  var GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
39
- var GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
40
- var GLOB_JSX_EXT = "[jt]sx";
41
- var GLOB_JSX = `**/*.${GLOB_JSX_EXT}`;
39
+ var GLOB_SRC = `**/*.${GLOB_SRC_EXT}`;
42
40
  var GLOB_MARKDOWN = "**/*.md";
43
41
  var GLOB_ASTRO = "**/*.astro";
44
42
  var GLOB_MARKDOWN_CODE = `${GLOB_MARKDOWN}/${GLOB_SRC}`;
@@ -49,11 +47,6 @@ var GLOB_TESTS = [
49
47
  `**/*.bench.${GLOB_SRC_EXT}`,
50
48
  `**/*.benchmark.${GLOB_SRC_EXT}`
51
49
  ];
52
- var GLOB_NEXTJS_OG = [
53
- `**/app/**/opengraph-image.${GLOB_JSX_EXT}`,
54
- `**/app/**/twitter-image.${GLOB_JSX_EXT}`,
55
- `**/app/**/route.${GLOB_JSX_EXT}`
56
- ];
57
50
  var GLOB_NEXTJS_ROUTES = [
58
51
  `**/app/**/page.${GLOB_SRC_EXT}`,
59
52
  `**/app/**/layout.${GLOB_SRC_EXT}`,
@@ -78,14 +71,10 @@ async function interop(m) {
78
71
  async function astro(options) {
79
72
  const {
80
73
  a11y = false,
81
- overrides = {}
82
- // typescript = true,
74
+ files = [GLOB_ASTRO],
75
+ overrides = {},
76
+ typescript = true
83
77
  } = options;
84
- await interop([
85
- "eslint-plugin-astro",
86
- "astro-eslint-parser",
87
- ...options.a11y ? ["eslint-plugin-jsx-a11y"] : []
88
- ]);
89
78
  const [
90
79
  pluginAstro,
91
80
  parserAstro,
@@ -93,7 +82,7 @@ async function astro(options) {
93
82
  ] = await Promise.all([
94
83
  interop(import("eslint-plugin-astro")),
95
84
  interop(import("astro-eslint-parser")),
96
- ...options.a11y ? [interop(import("eslint-plugin-jsx-a11y"))] : []
85
+ ...a11y ? [interop(import("eslint-plugin-jsx-a11y"))] : []
97
86
  ]);
98
87
  return [
99
88
  {
@@ -104,7 +93,8 @@ async function astro(options) {
104
93
  }
105
94
  },
106
95
  {
107
- files: [GLOB_ASTRO],
96
+ name: "luxass:astro:rules",
97
+ files,
108
98
  languageOptions: {
109
99
  // @ts-expect-error hmmm
110
100
  globals: {
@@ -113,21 +103,22 @@ async function astro(options) {
113
103
  parser: parserAstro,
114
104
  parserOptions: {
115
105
  extraFileExtensions: [".astro"],
116
- parser: options.typescript ? await interop(import("@typescript-eslint/parser")) : null,
106
+ parser: typescript ? await interop(import("@typescript-eslint/parser")) : null,
117
107
  sourceType: "module"
118
108
  }
119
109
  },
120
- name: "luxass:astro:rules",
121
110
  // @ts-expect-error hmmm
122
111
  rules: {
123
112
  "style/jsx-closing-tag-location": "off",
124
113
  "style/jsx-indent": "off",
125
114
  "style/jsx-one-expression-per-line": "off",
126
115
  ...pluginAstro.configs.all.rules,
116
+ "style/multiline-ternary": ["error", "never"],
127
117
  ...overrides
128
118
  }
129
119
  },
130
120
  {
121
+ name: "luxass:astro:rules:scripts",
131
122
  files: [
132
123
  "**/*.astro/*.js",
133
124
  "*.astro/*.js"
@@ -140,8 +131,7 @@ async function astro(options) {
140
131
  parserOptions: {
141
132
  sourceType: "module"
142
133
  }
143
- },
144
- name: "luxass:astro:rules:scripts"
134
+ }
145
135
  }
146
136
  ];
147
137
  }
@@ -1,6 +1,5 @@
1
- import { C as ConfigurationOptions, O as OverrideOptions, R as ReactOptions, F as FlatConfigItem } from '../types-h9izbkUX.cjs';
1
+ export { A as AstroOptions, f as astro } from '../types-spTEGSaV.cjs';
2
2
  import 'eslint-config-flat-gitignore';
3
- import '@typescript-eslint/parser';
4
3
  import '@antfu/eslint-define-config';
5
4
  import '@eslint-types/jsdoc/types';
6
5
  import '@eslint-types/typescript-eslint/types';
@@ -8,7 +7,5 @@ import '@eslint-types/unicorn/types';
8
7
  import 'eslint-plugin-antfu';
9
8
  import '@stylistic/eslint-plugin';
10
9
  import 'eslint';
11
-
12
- declare function astro(options: ConfigurationOptions<"typescript"> & OverrideOptions & ReactOptions): Promise<FlatConfigItem[]>;
13
-
14
- export { astro };
10
+ import '@typescript-eslint/parser';
11
+ import 'eslint-processor-vue-blocks';
@@ -1,6 +1,5 @@
1
- import { C as ConfigurationOptions, O as OverrideOptions, R as ReactOptions, F as FlatConfigItem } from '../types-h9izbkUX.js';
1
+ export { A as AstroOptions, f as astro } from '../types-spTEGSaV.js';
2
2
  import 'eslint-config-flat-gitignore';
3
- import '@typescript-eslint/parser';
4
3
  import '@antfu/eslint-define-config';
5
4
  import '@eslint-types/jsdoc/types';
6
5
  import '@eslint-types/typescript-eslint/types';
@@ -8,7 +7,5 @@ import '@eslint-types/unicorn/types';
8
7
  import 'eslint-plugin-antfu';
9
8
  import '@stylistic/eslint-plugin';
10
9
  import 'eslint';
11
-
12
- declare function astro(options: ConfigurationOptions<"typescript"> & OverrideOptions & ReactOptions): Promise<FlatConfigItem[]>;
13
-
14
- export { astro };
10
+ import '@typescript-eslint/parser';
11
+ import 'eslint-processor-vue-blocks';
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  astro
3
- } from "../chunk-LQLF2CMA.mjs";
4
- import "../chunk-R4NSLRAE.mjs";
5
- import "../chunk-TQ476NL2.mjs";
3
+ } from "../chunk-GBLPCM3X.mjs";
4
+ import "../chunk-4YBQZLPS.mjs";
5
+ import "../chunk-ATRL3UZP.mjs";
6
6
  export {
7
7
  astro
8
8
  };
@@ -33,17 +33,7 @@ __export(comments_exports, {
33
33
  comments: () => comments
34
34
  });
35
35
  module.exports = __toCommonJS(comments_exports);
36
-
37
- // src/plugins.ts
38
- var import_eslint_plugin_antfu = __toESM(require("eslint-plugin-antfu"), 1);
39
- var import_eslint_plugin_eslint_comments = __toESM(require("eslint-plugin-eslint-comments"), 1);
40
- var pluginImport = __toESM(require("eslint-plugin-i"), 1);
41
- var import_eslint_plugin_n = __toESM(require("eslint-plugin-n"), 1);
42
- var import_eslint_plugin_unicorn = __toESM(require("eslint-plugin-unicorn"), 1);
43
- var import_eslint_plugin_unused_imports = __toESM(require("eslint-plugin-unused-imports"), 1);
44
- var import_eslint_plugin_perfectionist = __toESM(require("eslint-plugin-perfectionist"), 1);
45
-
46
- // src/configs/comments.ts
36
+ var import_eslint_plugin_eslint_comments = __toESM(require("@eslint-community/eslint-plugin-eslint-comments"), 1);
47
37
  async function comments() {
48
38
  return [
49
39
  {
@@ -52,10 +42,17 @@ async function comments() {
52
42
  "eslint-comments": import_eslint_plugin_eslint_comments.default
53
43
  },
54
44
  rules: {
45
+ // https://github.com/eslint-community/eslint-plugin-eslint-comments/blob/main/docs/rules/disable-enable-pair.md
46
+ "eslint-comments/disable-enable-pair": "error",
47
+ // https://github.com/eslint-community/eslint-plugin-eslint-comments/blob/main/docs/rules/no-aggregating-enable.md
55
48
  "eslint-comments/no-aggregating-enable": "error",
49
+ // https://github.com/eslint-community/eslint-plugin-eslint-comments/blob/main/docs/rules/no-duplicate-disable.md
56
50
  "eslint-comments/no-duplicate-disable": "error",
51
+ // https://github.com/eslint-community/eslint-plugin-eslint-comments/blob/main/docs/rules/no-unlimited-disable.md
57
52
  "eslint-comments/no-unlimited-disable": "error",
58
- "eslint-comments/no-unused-enable": "error"
53
+ // Deprecated in favor of official reportUnusedDisableDirectives
54
+ // https://github.com/eslint-community/eslint-plugin-eslint-comments/issues/133
55
+ "eslint-comments/no-unused-enable": "off"
59
56
  }
60
57
  }
61
58
  ];
@@ -1,6 +1,5 @@
1
- import { F as FlatConfigItem } from '../types-h9izbkUX.cjs';
1
+ import { k as FlatConfigItem } from '../types-spTEGSaV.cjs';
2
2
  import 'eslint-config-flat-gitignore';
3
- import '@typescript-eslint/parser';
4
3
  import '@antfu/eslint-define-config';
5
4
  import '@eslint-types/jsdoc/types';
6
5
  import '@eslint-types/typescript-eslint/types';
@@ -8,6 +7,8 @@ import '@eslint-types/unicorn/types';
8
7
  import 'eslint-plugin-antfu';
9
8
  import '@stylistic/eslint-plugin';
10
9
  import 'eslint';
10
+ import '@typescript-eslint/parser';
11
+ import 'eslint-processor-vue-blocks';
11
12
 
12
13
  declare function comments(): Promise<FlatConfigItem[]>;
13
14
 
@@ -1,6 +1,5 @@
1
- import { F as FlatConfigItem } from '../types-h9izbkUX.js';
1
+ import { k as FlatConfigItem } from '../types-spTEGSaV.js';
2
2
  import 'eslint-config-flat-gitignore';
3
- import '@typescript-eslint/parser';
4
3
  import '@antfu/eslint-define-config';
5
4
  import '@eslint-types/jsdoc/types';
6
5
  import '@eslint-types/typescript-eslint/types';
@@ -8,6 +7,8 @@ import '@eslint-types/unicorn/types';
8
7
  import 'eslint-plugin-antfu';
9
8
  import '@stylistic/eslint-plugin';
10
9
  import 'eslint';
10
+ import '@typescript-eslint/parser';
11
+ import 'eslint-processor-vue-blocks';
11
12
 
12
13
  declare function comments(): Promise<FlatConfigItem[]>;
13
14
 
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  comments
3
- } from "../chunk-4HH6LYJ6.mjs";
4
- import "../chunk-C5VMTRKT.mjs";
3
+ } from "../chunk-DAJA5AV3.mjs";
5
4
  export {
6
5
  comments
7
6
  };