@vef-framework/dev 1.0.134 → 2.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 (197) hide show
  1. package/README +15 -0
  2. package/dist/cjs/index.cjs +23 -0
  3. package/dist/cjs/lint/commitlint.cjs +14 -0
  4. package/dist/cjs/lint/eslint.cjs +981 -0
  5. package/dist/cjs/lint/index.cjs +14 -0
  6. package/dist/cjs/lint/stylelint.cjs +92 -0
  7. package/dist/cjs/vite/chunks.cjs +30 -0
  8. package/dist/cjs/vite/config.cjs +83 -0
  9. package/dist/cjs/vite/constants.cjs +30 -0
  10. package/dist/cjs/vite/define.cjs +26 -0
  11. package/dist/cjs/vite/index.cjs +11 -0
  12. package/dist/cjs/vite/plugin-app-config.cjs +38 -0
  13. package/dist/cjs/vite/plugin-auto-enhance/core.cjs +147 -0
  14. package/dist/cjs/vite/plugin-auto-enhance/index.cjs +40 -0
  15. package/dist/cjs/vite/plugin-auto-enhance/plugins/index.cjs +10 -0
  16. package/dist/cjs/vite/plugin-auto-enhance/plugins/operation-column-width.cjs +229 -0
  17. package/dist/cjs/vite/plugin-conventional-config.cjs +91 -0
  18. package/dist/cjs/vite/plugin-eslint.cjs +24 -0
  19. package/dist/cjs/vite/plugin-html.cjs +216 -0
  20. package/dist/cjs/vite/plugin-icons.cjs +22 -0
  21. package/dist/cjs/vite/plugin-injection.cjs +20 -0
  22. package/dist/cjs/vite/plugin-inspect.cjs +15 -0
  23. package/dist/cjs/vite/plugin-react.cjs +80 -0
  24. package/dist/cjs/vite/plugin-router.cjs +49 -0
  25. package/dist/cjs/vite/plugin-stylelint.cjs +24 -0
  26. package/dist/cjs/vite/plugin-svgr.cjs +59 -0
  27. package/dist/cjs/vite/plugin-tsconfig-paths.cjs +14 -0
  28. package/dist/cjs/vite/postcss.cjs +13 -0
  29. package/dist/es/index.js +8 -0
  30. package/dist/es/lint/commitlint.js +10 -0
  31. package/dist/es/lint/eslint.js +958 -0
  32. package/dist/es/lint/index.js +4 -0
  33. package/dist/es/lint/stylelint.js +88 -0
  34. package/dist/es/vite/chunks.js +26 -0
  35. package/dist/es/vite/config.js +79 -0
  36. package/dist/es/vite/constants.js +15 -0
  37. package/dist/es/vite/define.js +22 -0
  38. package/dist/es/vite/index.js +3 -0
  39. package/dist/es/vite/plugin-app-config.js +34 -0
  40. package/dist/es/vite/plugin-auto-enhance/core.js +143 -0
  41. package/dist/es/vite/plugin-auto-enhance/index.js +32 -0
  42. package/dist/es/vite/plugin-auto-enhance/plugins/index.js +2 -0
  43. package/dist/es/vite/plugin-auto-enhance/plugins/operation-column-width.js +225 -0
  44. package/dist/es/vite/plugin-conventional-config.js +87 -0
  45. package/dist/es/vite/plugin-eslint.js +20 -0
  46. package/dist/es/vite/plugin-html.js +212 -0
  47. package/dist/es/vite/plugin-icons.js +17 -0
  48. package/dist/es/vite/plugin-injection.js +16 -0
  49. package/dist/es/vite/plugin-inspect.js +11 -0
  50. package/dist/es/vite/plugin-react.js +76 -0
  51. package/dist/es/vite/plugin-router.js +45 -0
  52. package/dist/es/vite/plugin-stylelint.js +20 -0
  53. package/dist/es/vite/plugin-svgr.js +55 -0
  54. package/dist/es/vite/plugin-tsconfig-paths.js +10 -0
  55. package/dist/es/vite/postcss.js +9 -0
  56. package/dist/types/index.d.ts +2 -0
  57. package/dist/types/lint/commitlint.d.ts +8 -0
  58. package/dist/types/lint/eslint.d.ts +2 -0
  59. package/dist/types/lint/index.d.ts +3 -0
  60. package/dist/types/lint/stylelint.d.ts +7 -0
  61. package/dist/types/vite/chunks.d.ts +10 -0
  62. package/dist/types/vite/config.d.ts +39 -0
  63. package/{types → dist/types/vite}/constants.d.ts +4 -0
  64. package/dist/types/vite/define.d.ts +12 -0
  65. package/dist/types/vite/index.d.ts +3 -0
  66. package/{types → dist/types/vite}/plugin-app-config.d.ts +2 -1
  67. package/dist/types/vite/plugin-auto-enhance/core.d.ts +35 -0
  68. package/dist/types/vite/plugin-auto-enhance/index.d.ts +30 -0
  69. package/dist/types/vite/plugin-auto-enhance/plugins/index.d.ts +1 -0
  70. package/dist/types/vite/plugin-auto-enhance/plugins/operation-column-width.d.ts +14 -0
  71. package/dist/types/vite/plugin-auto-enhance/types.d.ts +83 -0
  72. package/{types → dist/types/vite}/plugin-conventional-config.d.ts +2 -2
  73. package/dist/types/vite/plugin-eslint.d.ts +7 -0
  74. package/{types → dist/types/vite}/plugin-html.d.ts +1 -1
  75. package/dist/types/vite/plugin-icons.d.ts +8 -0
  76. package/{types → dist/types/vite}/plugin-injection.d.ts +1 -1
  77. package/{types → dist/types/vite}/plugin-inspect.d.ts +2 -1
  78. package/dist/types/vite/plugin-react.d.ts +25 -0
  79. package/{types → dist/types/vite}/plugin-router.d.ts +2 -2
  80. package/dist/types/vite/plugin-stylelint.d.ts +7 -0
  81. package/dist/types/vite/plugin-svgr.d.ts +7 -0
  82. package/{types → dist/types/vite}/plugin-tsconfig-paths.d.ts +2 -1
  83. package/dist/types/vite/postcss.d.ts +9 -0
  84. package/package.json +94 -74
  85. package/{tsconfig.app.json → tsconfig.base.json} +13 -9
  86. package/{client.d.ts → types.d.ts} +0 -6
  87. package/README.md +0 -25
  88. package/bin/hoist-patterns.js +0 -1
  89. package/bin/vef.js +0 -18
  90. package/cjs/cli.cjs +0 -5
  91. package/cjs/commitlint-config.cjs +0 -2
  92. package/cjs/config.cjs +0 -2
  93. package/cjs/constants.cjs +0 -2
  94. package/cjs/eslint-config.cjs +0 -2
  95. package/cjs/index.cjs +0 -2
  96. package/cjs/json/monaco.nls.json.cjs +0 -15920
  97. package/cjs/json/monaco.theme.github-light.json.cjs +0 -349
  98. package/cjs/modules.d.cjs +0 -2
  99. package/cjs/plugin-app-config.cjs +0 -2
  100. package/cjs/plugin-conventional-config.cjs +0 -12
  101. package/cjs/plugin-eslint.cjs +0 -2
  102. package/cjs/plugin-html.cjs +0 -17
  103. package/cjs/plugin-icons.cjs +0 -2
  104. package/cjs/plugin-initialization.cjs +0 -135
  105. package/cjs/plugin-injection.cjs +0 -3
  106. package/cjs/plugin-inspect.cjs +0 -2
  107. package/cjs/plugin-monaco-nls.cjs +0 -80
  108. package/cjs/plugin-react-swc.cjs +0 -2
  109. package/cjs/plugin-router.cjs +0 -11
  110. package/cjs/plugin-stylelint.cjs +0 -2
  111. package/cjs/plugin-svgr.cjs +0 -2
  112. package/cjs/plugin-tailwind.cjs +0 -2
  113. package/cjs/plugin-tailwindcss.cjs +0 -3
  114. package/cjs/plugin-tsconfig-paths.cjs +0 -2
  115. package/cjs/plugin-visualizer.cjs +0 -2
  116. package/cjs/plugin-webfont.cjs +0 -2
  117. package/cjs/stylelint-config.cjs +0 -2
  118. package/cjs/tailwind-config.cjs +0 -2
  119. package/cjs/types.cjs +0 -2
  120. package/esm/cli.js +0 -5
  121. package/esm/commitlint-config.js +0 -2
  122. package/esm/config.js +0 -2
  123. package/esm/constants.js +0 -2
  124. package/esm/eslint-config.js +0 -2
  125. package/esm/index.js +0 -2
  126. package/esm/json/monaco.nls.json.js +0 -15920
  127. package/esm/json/monaco.theme.github-light.json.js +0 -349
  128. package/esm/modules.d.js +0 -2
  129. package/esm/plugin-app-config.js +0 -2
  130. package/esm/plugin-conventional-config.js +0 -12
  131. package/esm/plugin-eslint.js +0 -2
  132. package/esm/plugin-html.js +0 -17
  133. package/esm/plugin-icons.js +0 -2
  134. package/esm/plugin-initialization.js +0 -135
  135. package/esm/plugin-injection.js +0 -3
  136. package/esm/plugin-inspect.js +0 -2
  137. package/esm/plugin-monaco-nls.js +0 -80
  138. package/esm/plugin-react-swc.js +0 -2
  139. package/esm/plugin-router.js +0 -11
  140. package/esm/plugin-stylelint.js +0 -2
  141. package/esm/plugin-svgr.js +0 -2
  142. package/esm/plugin-tailwind.js +0 -2
  143. package/esm/plugin-tailwindcss.js +0 -3
  144. package/esm/plugin-tsconfig-paths.js +0 -2
  145. package/esm/plugin-visualizer.js +0 -2
  146. package/esm/plugin-webfont.js +0 -2
  147. package/esm/stylelint-config.js +0 -2
  148. package/esm/tailwind-config.js +0 -2
  149. package/esm/types.js +0 -2
  150. package/template/.vscode/settings.json +0 -6
  151. package/template/_gitignore +0 -35
  152. package/template/_package.json +0 -43
  153. package/template/_tsconfig.json +0 -7
  154. package/template/commitlint.config.js +0 -3
  155. package/template/env/.env +0 -7
  156. package/template/env/.env.development +0 -0
  157. package/template/env/.env.production +0 -0
  158. package/template/env.d.ts +0 -1
  159. package/template/eslint.config.js +0 -3
  160. package/template/index.html +0 -0
  161. package/template/public/favicon.svg +0 -1
  162. package/template/src/main.ts +0 -145
  163. package/template/src/pages/__root.ts +0 -3
  164. package/template/src/pages/_common/access-denied.ts +0 -6
  165. package/template/src/pages/_common/login.ts +0 -8
  166. package/template/src/pages/_layout/index.tsx +0 -35
  167. package/template/src/pages/_layout/route.ts +0 -9
  168. package/template/src/pages/_layout/system/data-dictionary.tsx +0 -14
  169. package/template/src/pages/_layout/system/index.ts +0 -7
  170. package/template/src/pages/_layout/system/tenant.tsx +0 -14
  171. package/template/src/router/index.ts +0 -1
  172. package/template/style.css +0 -2
  173. package/template/stylelint.config.js +0 -3
  174. package/template/tailwind.config.js +0 -3
  175. package/template/tsconfig.app.json +0 -4
  176. package/template/tsconfig.build.json +0 -4
  177. package/template/vef.config.ts +0 -7
  178. package/tsconfig.build.json +0 -26
  179. package/types/cli.d.ts +0 -1
  180. package/types/commitlint-config.d.ts +0 -7
  181. package/types/config.d.ts +0 -38
  182. package/types/eslint-config.d.ts +0 -7
  183. package/types/index.d.ts +0 -5
  184. package/types/plugin-eslint.d.ts +0 -6
  185. package/types/plugin-icons.d.ts +0 -7
  186. package/types/plugin-initialization.d.ts +0 -7
  187. package/types/plugin-monaco-nls.d.ts +0 -15
  188. package/types/plugin-react-swc.d.ts +0 -6
  189. package/types/plugin-stylelint.d.ts +0 -6
  190. package/types/plugin-svgr.d.ts +0 -6
  191. package/types/plugin-tailwind.d.ts +0 -7
  192. package/types/plugin-tailwindcss.d.ts +0 -7
  193. package/types/plugin-visualizer.d.ts +0 -7
  194. package/types/plugin-webfont.d.ts +0 -6
  195. package/types/stylelint-config.d.ts +0 -7
  196. package/types/tailwind-config.d.ts +0 -7
  197. package/types/types.d.ts +0 -15
@@ -0,0 +1,981 @@
1
+ /*! @vef-framework/dev v2.0.0 made with ❤️ by Venus | 2025-11-25T10:06:28.561Z */
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const comments = require('@eslint-community/eslint-plugin-eslint-comments/configs');
7
+ const react = require('@eslint-react/eslint-plugin');
8
+ const eslint = require('@eslint/js');
9
+ const stylistic = require('@stylistic/eslint-plugin');
10
+ const query = require('@tanstack/eslint-plugin-query');
11
+ const router = require('@tanstack/eslint-plugin-router');
12
+ const gitignore = require('eslint-config-flat-gitignore');
13
+ const antfu = require('eslint-plugin-antfu');
14
+ const format = require('eslint-plugin-format');
15
+ const importLite = require('eslint-plugin-import-lite');
16
+ const perfectionist = require('eslint-plugin-perfectionist');
17
+ const reactHooks = require('eslint-plugin-react-hooks');
18
+ const reactRefresh = require('eslint-plugin-react-refresh');
19
+ const regex = require('eslint-plugin-regexp');
20
+ const unicorn = require('eslint-plugin-unicorn');
21
+ const unusedImports = require('eslint-plugin-unused-imports');
22
+ const config = require('eslint/config');
23
+ const tslint = require('typescript-eslint');
24
+
25
+ function _interopNamespaceDefault(e) {
26
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
27
+ if (e) {
28
+ for (const k in e) {
29
+ if (k !== 'default') {
30
+ const d = Object.getOwnPropertyDescriptor(e, k);
31
+ Object.defineProperty(n, k, d.get ? d : {
32
+ enumerable: true,
33
+ get: () => e[k]
34
+ });
35
+ }
36
+ }
37
+ }
38
+ n.default = e;
39
+ return Object.freeze(n);
40
+ }
41
+
42
+ const format__namespace = /*#__PURE__*/_interopNamespaceDefault(format);
43
+
44
+ const prettierOptions = {
45
+ singleQuote: false,
46
+ semi: true,
47
+ tabWidth: 2,
48
+ useTabs: false,
49
+ trailingComma: "none",
50
+ endOfLine: "lf",
51
+ printWidth: 120,
52
+ proseWrap: "never",
53
+ arrowParens: "avoid",
54
+ htmlWhitespaceSensitivity: "strict",
55
+ bracketSameLine: false,
56
+ bracketSpacing: true,
57
+ objectWrap: "preserve",
58
+ quoteProps: "as-needed",
59
+ jsxSingleQuote: false,
60
+ singleAttributePerLine: false
61
+ };
62
+ function defineEslintConfig(...args) {
63
+ const config$1 = config.defineConfig(
64
+ gitignore({
65
+ root: true,
66
+ strict: true
67
+ }),
68
+ {
69
+ files: ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts", "**/*.js", "**/*.jsx", "**/*.mjs", "**/*.cjs"],
70
+ ignores: ["**/router.gen.ts"],
71
+ extends: [
72
+ eslint.configs.recommended,
73
+ tslint.configs.strict,
74
+ tslint.configs.stylistic,
75
+ react.configs["recommended-typescript"],
76
+ reactHooks.configs.flat.recommended,
77
+ reactRefresh.configs.vite,
78
+ importLite.configs.recommended,
79
+ unicorn.configs.recommended,
80
+ comments.recommended,
81
+ regex.configs["flat/recommended"],
82
+ stylistic.configs.customize({
83
+ indent: 2,
84
+ jsx: true,
85
+ quotes: "double",
86
+ semi: true,
87
+ braceStyle: "1tbs",
88
+ blockSpacing: true,
89
+ quoteProps: "as-needed",
90
+ commaDangle: "never",
91
+ severity: "error"
92
+ }),
93
+ query.configs["flat/recommended"],
94
+ router.configs["flat/recommended"]
95
+ ],
96
+ plugins: {
97
+ antfu,
98
+ "unused-imports": unusedImports,
99
+ perfectionist
100
+ },
101
+ rules: {
102
+ // ============================================================================
103
+ // JavaScript Lint Rules
104
+ // Core JavaScript rules for code quality and best practices
105
+ // ============================================================================
106
+ "prefer-object-spread": "error",
107
+ "func-style": [
108
+ "error",
109
+ "declaration",
110
+ {
111
+ allowArrowFunctions: true
112
+ }
113
+ ],
114
+ curly: ["error", "all"],
115
+ "no-useless-concat": "error",
116
+ "no-unused-vars": "off",
117
+ "no-eq-null": "error",
118
+ "no-extra-label": "error",
119
+ "no-invalid-this": "error",
120
+ "no-throw-literal": "error",
121
+ "arrow-body-style": [
122
+ "error",
123
+ "as-needed",
124
+ {
125
+ requireReturnForObjectLiteral: true
126
+ }
127
+ ],
128
+ "prefer-object-has-own": "error",
129
+ "prefer-numeric-literals": "error",
130
+ "prefer-named-capture-group": "error",
131
+ "prefer-destructuring": "error",
132
+ "object-shorthand": [
133
+ "error",
134
+ "always",
135
+ {
136
+ avoidQuotes: true,
137
+ ignoreConstructors: false
138
+ }
139
+ ],
140
+ "require-atomic-updates": "error",
141
+ "require-await": "error",
142
+ camelcase: [
143
+ "error",
144
+ {
145
+ properties: "always",
146
+ ignoreGlobals: true
147
+ }
148
+ ],
149
+ "no-promise-executor-return": [
150
+ "error",
151
+ {
152
+ allowVoid: true
153
+ }
154
+ ],
155
+ "array-callback-return": [
156
+ "error",
157
+ {
158
+ allowImplicit: true
159
+ }
160
+ ],
161
+ "accessor-pairs": [
162
+ "error",
163
+ {
164
+ enforceForClassMembers: true,
165
+ setWithoutGet: true
166
+ }
167
+ ],
168
+ "block-scoped-var": "error",
169
+ "default-case-last": "error",
170
+ "dot-notation": [
171
+ "error",
172
+ {
173
+ allowKeywords: true
174
+ }
175
+ ],
176
+ eqeqeq: ["error", "smart"],
177
+ "new-cap": [
178
+ "error",
179
+ {
180
+ capIsNew: false,
181
+ newIsCap: true,
182
+ properties: true
183
+ }
184
+ ],
185
+ "no-alert": "error",
186
+ "no-caller": "error",
187
+ "no-cond-assign": ["error", "always"],
188
+ "no-empty": [
189
+ "error",
190
+ {
191
+ allowEmptyCatch: true
192
+ }
193
+ ],
194
+ "no-eval": "error",
195
+ "no-extend-native": "error",
196
+ "no-extra-bind": "error",
197
+ "no-implied-eval": "error",
198
+ "no-iterator": "error",
199
+ "no-labels": [
200
+ "error",
201
+ {
202
+ allowLoop: false,
203
+ allowSwitch: false
204
+ }
205
+ ],
206
+ "no-lone-blocks": "error",
207
+ "no-multi-str": "error",
208
+ "no-new": "error",
209
+ "no-new-func": "error",
210
+ "no-new-wrappers": "error",
211
+ "no-obj-calls": "error",
212
+ "no-octal-escape": "error",
213
+ "no-proto": "error",
214
+ "no-restricted-globals": [
215
+ "error",
216
+ {
217
+ message: "Use `globalThis` instead.",
218
+ name: "global"
219
+ },
220
+ {
221
+ message: "Use `globalThis` instead.",
222
+ name: "self"
223
+ }
224
+ ],
225
+ "no-restricted-properties": [
226
+ "error",
227
+ {
228
+ message: "Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",
229
+ property: "__proto__"
230
+ },
231
+ {
232
+ message: "Use `Object.defineProperty` instead.",
233
+ property: "__defineGetter__"
234
+ },
235
+ {
236
+ message: "Use `Object.defineProperty` instead.",
237
+ property: "__defineSetter__"
238
+ },
239
+ {
240
+ message: "Use `Object.getOwnPropertyDescriptor` instead.",
241
+ property: "__lookupGetter__"
242
+ },
243
+ {
244
+ message: "Use `Object.getOwnPropertyDescriptor` instead.",
245
+ property: "__lookupSetter__"
246
+ }
247
+ ],
248
+ "no-restricted-syntax": [
249
+ "error",
250
+ "TSEnumDeclaration[const=true]",
251
+ "TSExportAssignment"
252
+ ],
253
+ "no-self-compare": "error",
254
+ "no-sequences": "error",
255
+ "no-template-curly-in-string": "error",
256
+ "no-undef-init": "error",
257
+ "no-unmodified-loop-condition": "error",
258
+ "no-unneeded-ternary": [
259
+ "error",
260
+ {
261
+ defaultAssignment: false
262
+ }
263
+ ],
264
+ "no-unreachable": "error",
265
+ "no-unreachable-loop": "error",
266
+ "no-useless-call": "error",
267
+ "no-useless-computed-key": "error",
268
+ "no-useless-rename": "error",
269
+ "no-useless-return": "error",
270
+ "one-var": [
271
+ "error",
272
+ {
273
+ initialized: "never"
274
+ }
275
+ ],
276
+ "prefer-arrow-callback": [
277
+ "error",
278
+ {
279
+ allowNamedFunctions: false,
280
+ allowUnboundThis: true
281
+ }
282
+ ],
283
+ "prefer-const": [
284
+ "error",
285
+ {
286
+ destructuring: "all",
287
+ ignoreReadBeforeAssign: true
288
+ }
289
+ ],
290
+ "prefer-exponentiation-operator": "error",
291
+ "prefer-promise-reject-errors": "error",
292
+ "prefer-regex-literals": [
293
+ "error",
294
+ {
295
+ disallowRedundantWrapping: true
296
+ }
297
+ ],
298
+ "prefer-template": "error",
299
+ "symbol-description": "error",
300
+ "unicode-bom": ["error", "never"],
301
+ "use-isnan": [
302
+ "error",
303
+ {
304
+ enforceForIndexOf: true,
305
+ enforceForSwitchCase: true
306
+ }
307
+ ],
308
+ "valid-typeof": [
309
+ "error",
310
+ { requireStringLiterals: true }
311
+ ],
312
+ yoda: ["error", "never"],
313
+ // ============================================================================
314
+ // TypeScript Lint Rules
315
+ // TypeScript-specific rules for type safety and best practices
316
+ // ============================================================================
317
+ "@typescript-eslint/no-unused-expressions": [
318
+ "error",
319
+ {
320
+ enforceForJSX: true
321
+ }
322
+ ],
323
+ // "@typescript-eslint/no-unused-vars": [
324
+ // "error",
325
+ // {
326
+ // args: "all",
327
+ // argsIgnorePattern: "^_",
328
+ // caughtErrors: "all",
329
+ // caughtErrorsIgnorePattern: "^_",
330
+ // destructuredArrayIgnorePattern: "^_",
331
+ // varsIgnorePattern: "^_",
332
+ // ignoreRestSiblings: true
333
+ // }
334
+ // ],
335
+ "@typescript-eslint/no-unused-vars": "off",
336
+ "@typescript-eslint/array-type": [
337
+ "error",
338
+ {
339
+ default: "array-simple",
340
+ readonly: "array-simple"
341
+ }
342
+ ],
343
+ "@typescript-eslint/consistent-type-assertions": [
344
+ "error",
345
+ {
346
+ assertionStyle: "as",
347
+ objectLiteralTypeAssertions: "allow"
348
+ }
349
+ ],
350
+ "@typescript-eslint/consistent-type-definitions": [
351
+ "error",
352
+ "interface"
353
+ ],
354
+ "@typescript-eslint/max-params": [
355
+ "error",
356
+ {
357
+ max: 5
358
+ }
359
+ ],
360
+ "@typescript-eslint/no-unsafe-function-type": "off",
361
+ "@typescript-eslint/method-signature-style": ["error", "property"],
362
+ "@typescript-eslint/no-dynamic-delete": "off",
363
+ "@typescript-eslint/no-empty-object-type": [
364
+ "error",
365
+ {
366
+ allowInterfaces: "always"
367
+ }
368
+ ],
369
+ "@typescript-eslint/no-explicit-any": "off",
370
+ "@typescript-eslint/no-import-type-side-effects": "error",
371
+ "@typescript-eslint/no-non-null-assertion": "off",
372
+ "@typescript-eslint/no-this-alias": "off",
373
+ "@typescript-eslint/no-unsafe-assignment": "off",
374
+ "@typescript-eslint/no-unsafe-call": "off",
375
+ "@typescript-eslint/no-unsafe-member-access": "off",
376
+ "@typescript-eslint/no-unsafe-return": "off",
377
+ // "@typescript-eslint/explicit-function-return-type": [
378
+ // "error",
379
+ // {
380
+ // allowExpressions: true,
381
+ // allowDirectConstAssertionInArrowFunctions: true,
382
+ // allowTypedFunctionExpressions: true,
383
+ // allowHigherOrderFunctions: true,
384
+ // allowFunctionsWithoutTypeParameters: true,
385
+ // allowIIFEs: true
386
+ // }
387
+ // ],
388
+ "@typescript-eslint/no-invalid-void-type": "off",
389
+ // ============================================================================
390
+ // Import Lite Rules
391
+ // Rules for managing imports and module organization
392
+ // ============================================================================
393
+ "import-lite/consistent-type-specifier-style": ["error", "top-level"],
394
+ "import-lite/first": "error",
395
+ "import-lite/no-duplicates": "error",
396
+ "import-lite/no-mutable-exports": "error",
397
+ "import-lite/no-named-default": "error",
398
+ "import-lite/newline-after-import": [
399
+ "error",
400
+ {
401
+ count: 1
402
+ }
403
+ ],
404
+ // ============================================================================
405
+ // Unicorn Rules
406
+ // Modern JavaScript best practices and code quality improvements
407
+ // ============================================================================
408
+ "unicorn/consistent-empty-array-spread": "error",
409
+ "unicorn/error-message": "error",
410
+ "unicorn/escape-case": "error",
411
+ "unicorn/import-style": [
412
+ "error",
413
+ {
414
+ extendDefaultStyles: false,
415
+ checkDynamicImport: false
416
+ }
417
+ ],
418
+ "unicorn/new-for-builtins": "error",
419
+ "unicorn/no-array-reduce": "off",
420
+ "unicorn/no-instanceof-builtins": "error",
421
+ "unicorn/no-new-array": "error",
422
+ "unicorn/no-new-buffer": "error",
423
+ "unicorn/no-null": "off",
424
+ "unicorn/number-literal-case": "error",
425
+ "unicorn/prefer-dom-node-text-content": "error",
426
+ "unicorn/prefer-includes": "error",
427
+ "unicorn/prefer-node-protocol": "error",
428
+ "unicorn/prefer-number-properties": "error",
429
+ "unicorn/prefer-string-starts-ends-with": "error",
430
+ "unicorn/prefer-type-error": "error",
431
+ "unicorn/throw-new-error": "error",
432
+ "unicorn/filename-case": [
433
+ "error",
434
+ {
435
+ case: "kebabCase",
436
+ ignore: ["README.md", "AGENTS.md", "CLAUDE.md"]
437
+ }
438
+ ],
439
+ "unicorn/prefer-date-now": "error",
440
+ "unicorn/prefer-event-target": "off",
441
+ "unicorn/prefer-string-trim-start-end": "error",
442
+ "unicorn/prefer-string-raw": "error",
443
+ "unicorn/prefer-object-from-entries": "error",
444
+ "unicorn/prefer-default-parameters": "error",
445
+ "unicorn/prefer-array-find": "error",
446
+ "unicorn/prefer-array-flat": "error",
447
+ "unicorn/prefer-array-flat-map": "error",
448
+ "unicorn/prefer-array-index-of": "error",
449
+ "unicorn/prefer-array-some": "error",
450
+ "unicorn/prefer-logical-operator-over-ternary": "error",
451
+ "unicorn/prefer-single-call": "error",
452
+ "unicorn/require-module-specifiers": "off",
453
+ "unicorn/no-empty-file": "error",
454
+ "unicorn/no-array-for-each": "error",
455
+ "unicorn/no-for-loop": "error",
456
+ "unicorn/no-unnecessary-await": "error",
457
+ "unicorn/no-unnecessary-polyfills": "error",
458
+ "unicorn/no-useless-undefined": "error",
459
+ "unicorn/no-useless-switch-case": "error",
460
+ "unicorn/no-useless-spread": "error",
461
+ "unicorn/no-console-spaces": "error",
462
+ "unicorn/no-unused-properties": "error",
463
+ "unicorn/no-useless-promise-resolve-reject": "error",
464
+ "unicorn/no-nested-ternary": "off",
465
+ "unicorn/prevent-abbreviations": "off",
466
+ "unicorn/text-encoding-identifier-case": [
467
+ "error",
468
+ {
469
+ withDash: true
470
+ }
471
+ ],
472
+ // ============================================================================
473
+ // React Rules
474
+ // React-specific rules for component best practices
475
+ // ============================================================================
476
+ "@eslint-react/jsx-key-before-spread": "error",
477
+ "@eslint-react/jsx-no-duplicate-props": "error",
478
+ "@eslint-react/jsx-uses-vars": "error",
479
+ "@eslint-react/jsx-no-comment-textnodes": "error",
480
+ "@eslint-react/jsx-shorthand-boolean": "error",
481
+ "@eslint-react/jsx-no-iife": "error",
482
+ "@eslint-react/no-access-state-in-setstate": "error",
483
+ "@eslint-react/no-array-index-key": "error",
484
+ "@eslint-react/no-component-will-mount": "error",
485
+ "@eslint-react/no-component-will-receive-props": "error",
486
+ "@eslint-react/no-component-will-update": "error",
487
+ "@eslint-react/no-context-provider": "error",
488
+ "@eslint-react/no-create-ref": "error",
489
+ "@eslint-react/no-default-props": "error",
490
+ "@eslint-react/no-direct-mutation-state": "error",
491
+ "@eslint-react/no-duplicate-key": "error",
492
+ "@eslint-react/no-forward-ref": "error",
493
+ "@eslint-react/no-useless-forward-ref": "error",
494
+ "@eslint-react/no-implicit-key": "error",
495
+ "@eslint-react/no-missing-key": "error",
496
+ "@eslint-react/no-nested-component-definitions": "error",
497
+ "@eslint-react/no-prop-types": "error",
498
+ "@eslint-react/no-redundant-should-component-update": "error",
499
+ "@eslint-react/no-set-state-in-component-did-mount": "error",
500
+ "@eslint-react/no-set-state-in-component-did-update": "error",
501
+ "@eslint-react/no-set-state-in-component-will-update": "error",
502
+ "@eslint-react/no-string-refs": "error",
503
+ "@eslint-react/no-unsafe-component-will-mount": "error",
504
+ "@eslint-react/no-unsafe-component-will-receive-props": "error",
505
+ "@eslint-react/no-unsafe-component-will-update": "error",
506
+ "@eslint-react/no-unstable-context-value": "error",
507
+ "@eslint-react/no-unstable-default-props": "error",
508
+ "@eslint-react/no-unused-class-component-members": "error",
509
+ "@eslint-react/no-unused-state": "error",
510
+ "@eslint-react/no-use-context": "error",
511
+ "@eslint-react/no-clone-element": "off",
512
+ "@eslint-react/no-children-map": "off",
513
+ "@eslint-react/no-children-to-array": "off",
514
+ "@eslint-react/no-children-for-each": "off",
515
+ "@eslint-react/no-class-component": "error",
516
+ "@eslint-react/no-unnecessary-use-prefix": "error",
517
+ "@eslint-react/prefer-use-state-lazy-initialization": "error",
518
+ "@eslint-react/no-unnecessary-use-memo": "error",
519
+ "@eslint-react/no-unnecessary-use-callback": "error",
520
+ "@eslint-react/no-unnecessary-key": "error",
521
+ "@eslint-react/dom/no-dangerously-set-innerhtml": "error",
522
+ "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error",
523
+ "@eslint-react/dom/no-find-dom-node": "error",
524
+ "@eslint-react/dom/no-flush-sync": "error",
525
+ "@eslint-react/dom/no-hydrate": "error",
526
+ "@eslint-react/dom/no-namespace": "error",
527
+ "@eslint-react/dom/no-missing-button-type": "error",
528
+ "@eslint-react/dom/no-missing-iframe-sandbox": "error",
529
+ "@eslint-react/dom/no-render": "error",
530
+ "@eslint-react/dom/no-render-return-value": "error",
531
+ "@eslint-react/dom/no-script-url": "error",
532
+ "@eslint-react/dom/no-unsafe-iframe-sandbox": "error",
533
+ "@eslint-react/dom/no-unsafe-target-blank": "error",
534
+ "@eslint-react/dom/no-use-form-state": "error",
535
+ "@eslint-react/dom/no-void-elements-with-children": "error",
536
+ "@eslint-react/dom/no-string-style-prop": "error",
537
+ "@eslint-react/dom/no-unknown-property": [
538
+ "error",
539
+ {
540
+ ignore: ["css"]
541
+ }
542
+ ],
543
+ "@eslint-react/web-api/no-leaked-event-listener": "error",
544
+ "@eslint-react/web-api/no-leaked-interval": "error",
545
+ "@eslint-react/web-api/no-leaked-resize-observer": "error",
546
+ "@eslint-react/web-api/no-leaked-timeout": "error",
547
+ "@eslint-react/naming-convention/component-name": ["error", "PascalCase"],
548
+ "@eslint-react/naming-convention/filename-extension": [
549
+ "error",
550
+ {
551
+ allow: "as-needed",
552
+ extensions: [".tsx"]
553
+ }
554
+ ],
555
+ "@eslint-react/naming-convention/context-name": "error",
556
+ "@eslint-react/naming-convention/use-state": "off",
557
+ "@eslint-react/hooks-extra/no-direct-set-state-in-use-effect": "off",
558
+ // ============================================================================
559
+ // React Hooks Rules
560
+ // Rules for proper React Hooks usage and dependencies
561
+ // ============================================================================
562
+ "react-hooks/exhaustive-deps": [
563
+ "error",
564
+ {
565
+ additionalHooks: "^use(Deep|Shallow|Isomorphic)|^useDidUpdate"
566
+ }
567
+ ],
568
+ // ============================================================================
569
+ // Antfu Rules
570
+ // Additional code style and quality rules
571
+ // ============================================================================
572
+ "antfu/consistent-chaining": "error",
573
+ "antfu/consistent-list-newline": "error",
574
+ "antfu/curly": "error",
575
+ "antfu/if-newline": "error",
576
+ "antfu/top-level-function": "error",
577
+ "antfu/indent-unindent": "error",
578
+ // ============================================================================
579
+ // Unused Imports Rules
580
+ // Rules for cleaning up unused imports and variables
581
+ // ============================================================================
582
+ "unused-imports/no-unused-imports": "error",
583
+ "unused-imports/no-unused-vars": [
584
+ "error",
585
+ {
586
+ vars: "all",
587
+ varsIgnorePattern: "^_",
588
+ args: "after-used",
589
+ argsIgnorePattern: "^_"
590
+ }
591
+ ],
592
+ // ============================================================================
593
+ // Perfectionist Rules
594
+ // Rules for sorting and organizing code elements
595
+ // ============================================================================
596
+ "perfectionist/sort-exports": [
597
+ "error",
598
+ {
599
+ order: "asc",
600
+ type: "natural"
601
+ }
602
+ ],
603
+ "perfectionist/sort-imports": [
604
+ "error",
605
+ {
606
+ groups: [
607
+ "type",
608
+ ["parent-type", "sibling-type", "index-type", "internal-type"],
609
+ "builtin",
610
+ "external",
611
+ "internal",
612
+ ["parent", "sibling", "index"],
613
+ "side-effect",
614
+ "object",
615
+ "unknown"
616
+ ],
617
+ newlinesBetween: 1,
618
+ order: "asc",
619
+ type: "natural"
620
+ }
621
+ ],
622
+ "perfectionist/sort-named-exports": [
623
+ "error",
624
+ {
625
+ order: "asc",
626
+ type: "natural",
627
+ groups: [
628
+ "value-export",
629
+ "type-export"
630
+ ],
631
+ newlinesBetween: "ignore"
632
+ }
633
+ ],
634
+ "perfectionist/sort-named-imports": [
635
+ "error",
636
+ {
637
+ order: "asc",
638
+ type: "natural",
639
+ groups: [
640
+ "value-import",
641
+ "type-import"
642
+ ],
643
+ newlinesBetween: "ignore"
644
+ }
645
+ ],
646
+ // ============================================================================
647
+ // Stylistic Rules
648
+ // Code formatting and style consistency rules
649
+ // ============================================================================
650
+ "@stylistic/arrow-parens": ["error", "as-needed"],
651
+ "@stylistic/line-comment-position": [
652
+ "error",
653
+ {
654
+ position: "above"
655
+ }
656
+ ],
657
+ "@stylistic/jsx-self-closing-comp": [
658
+ "error",
659
+ {
660
+ component: true,
661
+ html: true
662
+ }
663
+ ],
664
+ "@stylistic/jsx-newline": [
665
+ "error",
666
+ {
667
+ prevent: true,
668
+ allowMultilines: true
669
+ }
670
+ ],
671
+ "@stylistic/curly-newline": [
672
+ "error",
673
+ {
674
+ consistent: true
675
+ }
676
+ ],
677
+ "@stylistic/jsx-sort-props": [
678
+ "error",
679
+ {
680
+ callbacksLast: true,
681
+ shorthandFirst: true,
682
+ shorthandLast: false,
683
+ multiline: "last",
684
+ ignoreCase: true,
685
+ noSortAlphabetically: false,
686
+ reservedFirst: ["key", "ref"]
687
+ }
688
+ ],
689
+ "@stylistic/jsx-max-props-per-line": [
690
+ "error",
691
+ {
692
+ maximum: {
693
+ single: 5,
694
+ multi: 1
695
+ }
696
+ }
697
+ ],
698
+ "@stylistic/newline-per-chained-call": [
699
+ "error",
700
+ {
701
+ ignoreChainWithDepth: 6
702
+ }
703
+ ],
704
+ "@stylistic/object-curly-newline": [
705
+ "error",
706
+ {
707
+ ObjectExpression: {
708
+ multiline: true,
709
+ consistent: true,
710
+ minProperties: 3
711
+ },
712
+ ObjectPattern: {
713
+ multiline: true,
714
+ consistent: true,
715
+ minProperties: 3
716
+ },
717
+ ImportDeclaration: {
718
+ consistent: true,
719
+ multiline: true
720
+ },
721
+ ExportDeclaration: {
722
+ consistent: true,
723
+ multiline: true
724
+ }
725
+ }
726
+ ],
727
+ "@stylistic/object-property-newline": [
728
+ "error",
729
+ {
730
+ allowAllPropertiesOnSameLine: true
731
+ }
732
+ ],
733
+ "@stylistic/multiline-comment-style": [
734
+ "error",
735
+ "separate-lines",
736
+ {
737
+ checkJSDoc: false
738
+ }
739
+ ],
740
+ "@stylistic/implicit-arrow-linebreak": [
741
+ "error",
742
+ "beside"
743
+ ],
744
+ "@stylistic/no-extra-semi": "error",
745
+ "@stylistic/array-element-newline": [
746
+ "error",
747
+ "consistent"
748
+ ],
749
+ "@stylistic/array-bracket-newline": [
750
+ "error",
751
+ {
752
+ multiline: true
753
+ }
754
+ ],
755
+ "@stylistic/function-paren-newline": ["error", "multiline-arguments"],
756
+ "@stylistic/padding-line-between-statements": [
757
+ "error",
758
+ {
759
+ blankLine: "always",
760
+ prev: "*",
761
+ next: [
762
+ "block",
763
+ "multiline-block-like",
764
+ "type",
765
+ "interface",
766
+ "enum",
767
+ "function",
768
+ "function-overload"
769
+ ]
770
+ },
771
+ {
772
+ blankLine: "always",
773
+ prev: [
774
+ "block",
775
+ "multiline-block-like",
776
+ "type",
777
+ "interface",
778
+ "enum",
779
+ "function",
780
+ "function-overload"
781
+ ],
782
+ next: "*"
783
+ }
784
+ ],
785
+ "@stylistic/jsx-pascal-case": [
786
+ "error",
787
+ {
788
+ allowAllCaps: false,
789
+ allowLeadingUnderscore: false,
790
+ allowNamespace: false,
791
+ ignore: []
792
+ }
793
+ ],
794
+ "@stylistic/switch-colon-spacing": [
795
+ "error",
796
+ {
797
+ before: false,
798
+ after: true
799
+ }
800
+ ],
801
+ "@stylistic/no-extra-parens": [
802
+ "error",
803
+ "all",
804
+ {
805
+ nestedBinaryExpressions: false,
806
+ ternaryOperandBinaryExpressions: false,
807
+ ignoreJSX: "multi-line"
808
+ }
809
+ ],
810
+ "@stylistic/no-multiple-empty-lines": [
811
+ "error",
812
+ {
813
+ max: 1,
814
+ maxBOF: 0,
815
+ maxEOF: 0
816
+ }
817
+ ],
818
+ "@stylistic/generator-star-spacing": [
819
+ "error",
820
+ {
821
+ after: true,
822
+ before: false
823
+ }
824
+ ],
825
+ "@stylistic/yield-star-spacing": [
826
+ "error",
827
+ {
828
+ after: true,
829
+ before: false
830
+ }
831
+ ],
832
+ "@stylistic/max-statements-per-line": [
833
+ "error",
834
+ {
835
+ max: 1
836
+ }
837
+ ],
838
+ // ============================================================================
839
+ // ESLint Comments Rules
840
+ // Rules for managing eslint-disable comments
841
+ // ============================================================================
842
+ "@eslint-community/eslint-comments/no-unlimited-disable": "off",
843
+ "@eslint-community/eslint-comments/disable-enable-pair": "off"
844
+ }
845
+ },
846
+ {
847
+ files: ["**/*.css"],
848
+ languageOptions: {
849
+ parser: format__namespace.parserPlain
850
+ },
851
+ plugins: {
852
+ format: format__namespace
853
+ },
854
+ rules: {
855
+ "format/prettier": [
856
+ "error",
857
+ {
858
+ ...prettierOptions,
859
+ parser: "css"
860
+ }
861
+ ]
862
+ }
863
+ },
864
+ {
865
+ files: ["**/*.scss"],
866
+ languageOptions: {
867
+ parser: format__namespace.parserPlain
868
+ },
869
+ plugins: {
870
+ format: format__namespace
871
+ },
872
+ rules: {
873
+ "format/prettier": [
874
+ "error",
875
+ {
876
+ ...prettierOptions,
877
+ parser: "scss"
878
+ }
879
+ ]
880
+ }
881
+ },
882
+ {
883
+ files: ["**/*.html"],
884
+ languageOptions: {
885
+ parser: format__namespace.parserPlain
886
+ },
887
+ plugins: {
888
+ format: format__namespace
889
+ },
890
+ rules: {
891
+ "format/prettier": [
892
+ "error",
893
+ {
894
+ ...prettierOptions,
895
+ parser: "html"
896
+ }
897
+ ]
898
+ }
899
+ },
900
+ {
901
+ files: ["**/*.json"],
902
+ languageOptions: {
903
+ parser: format__namespace.parserPlain
904
+ },
905
+ plugins: {
906
+ format: format__namespace
907
+ },
908
+ rules: {
909
+ "format/prettier": [
910
+ "error",
911
+ {
912
+ ...prettierOptions,
913
+ parser: "json"
914
+ }
915
+ ]
916
+ }
917
+ },
918
+ {
919
+ files: ["**/*.jsonc"],
920
+ languageOptions: {
921
+ parser: format__namespace.parserPlain
922
+ },
923
+ plugins: {
924
+ format: format__namespace
925
+ },
926
+ rules: {
927
+ "format/prettier": [
928
+ "error",
929
+ {
930
+ ...prettierOptions,
931
+ parser: "jsonc"
932
+ }
933
+ ]
934
+ }
935
+ },
936
+ {
937
+ files: ["**/*.md"],
938
+ languageOptions: {
939
+ parser: format__namespace.parserPlain
940
+ },
941
+ plugins: {
942
+ format: format__namespace
943
+ },
944
+ rules: {
945
+ "format/prettier": [
946
+ "error",
947
+ {
948
+ ...prettierOptions,
949
+ parser: "markdown",
950
+ embeddedLanguageFormatting: "off",
951
+ printWidth: 320
952
+ }
953
+ ]
954
+ }
955
+ },
956
+ {
957
+ files: ["**/*.mdx"],
958
+ languageOptions: {
959
+ parser: format__namespace.parserPlain
960
+ },
961
+ plugins: {
962
+ format: format__namespace
963
+ },
964
+ rules: {
965
+ "format/prettier": [
966
+ "error",
967
+ {
968
+ ...prettierOptions,
969
+ parser: "mdx",
970
+ embeddedLanguageFormatting: "off",
971
+ printWidth: 320
972
+ }
973
+ ]
974
+ }
975
+ },
976
+ ...args
977
+ );
978
+ return config$1;
979
+ }
980
+
981
+ exports.defineEslintConfig = defineEslintConfig;