@pawover/kit 0.6.0 → 0.7.0

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 (121) hide show
  1. package/README.en.md +123 -0
  2. package/README.md +123 -1
  3. package/entry/eslint-rules.cjs +1 -0
  4. package/entry/eslint-rules.d.cts +1 -0
  5. package/entry/eslint-rules.d.ts +2 -0
  6. package/entry/eslint-rules.js +2 -0
  7. package/entry/hooks-alova.cjs +1 -0
  8. package/entry/hooks-alova.d.cts +1 -0
  9. package/entry/hooks-alova.d.ts +1 -0
  10. package/entry/hooks-alova.js +1 -0
  11. package/entry/hooks-react.cjs +1 -0
  12. package/entry/hooks-react.d.cts +1 -0
  13. package/entry/hooks-react.d.ts +1 -0
  14. package/entry/hooks-react.js +1 -0
  15. package/entry/index.cjs +1 -0
  16. package/entry/index.d.cts +1 -0
  17. package/entry/index.d.ts +1 -0
  18. package/entry/index.js +1 -0
  19. package/entry/math.cjs +1 -0
  20. package/entry/math.d.cts +1 -0
  21. package/entry/math.d.ts +1 -0
  22. package/entry/math.js +1 -0
  23. package/entry/types-react.cjs +1 -0
  24. package/entry/types-react.d.cts +1 -0
  25. package/entry/types-react.d.ts +1 -0
  26. package/entry/types-react.js +1 -0
  27. package/entry/types.cjs +1 -0
  28. package/entry/types.d.cts +1 -0
  29. package/entry/types.d.ts +1 -0
  30. package/entry/types.js +1 -0
  31. package/entry/vite.cjs +1 -0
  32. package/entry/vite.d.cts +1 -0
  33. package/entry/vite.d.ts +1 -0
  34. package/entry/vite.js +1 -0
  35. package/entry/zod.cjs +1 -0
  36. package/entry/zod.d.cts +1 -0
  37. package/entry/zod.d.ts +1 -0
  38. package/entry/zod.js +1 -0
  39. package/package.json +72 -96
  40. package/packages/eslint-rules/dist/core.antfu.cjs +0 -78
  41. package/packages/eslint-rules/dist/core.antfu.d.cts +0 -1
  42. package/packages/eslint-rules/dist/core.antfu.d.ts +0 -74
  43. package/packages/eslint-rules/dist/core.antfu.js +0 -79
  44. package/packages/eslint-rules/dist/core.imports.cjs +0 -59
  45. package/packages/eslint-rules/dist/core.imports.d.cts +0 -1
  46. package/packages/eslint-rules/dist/core.imports.d.ts +0 -61
  47. package/packages/eslint-rules/dist/core.imports.js +0 -59
  48. package/packages/eslint-rules/dist/core.importsSort.cjs +0 -7
  49. package/packages/eslint-rules/dist/core.importsSort.d.cts +0 -1
  50. package/packages/eslint-rules/dist/core.importsSort.d.ts +0 -7
  51. package/packages/eslint-rules/dist/core.importsSort.js +0 -7
  52. package/packages/eslint-rules/dist/core.javascript.cjs +0 -1208
  53. package/packages/eslint-rules/dist/core.javascript.d.cts +0 -1
  54. package/packages/eslint-rules/dist/core.javascript.d.ts +0 -1216
  55. package/packages/eslint-rules/dist/core.javascript.js +0 -1208
  56. package/packages/eslint-rules/dist/core.react.cjs +0 -551
  57. package/packages/eslint-rules/dist/core.react.d.cts +0 -1
  58. package/packages/eslint-rules/dist/core.react.d.ts +0 -551
  59. package/packages/eslint-rules/dist/core.react.js +0 -551
  60. package/packages/eslint-rules/dist/core.reactHooks.cjs +0 -107
  61. package/packages/eslint-rules/dist/core.reactHooks.d.cts +0 -1
  62. package/packages/eslint-rules/dist/core.reactHooks.d.ts +0 -107
  63. package/packages/eslint-rules/dist/core.reactHooks.js +0 -107
  64. package/packages/eslint-rules/dist/core.stylistic.cjs +0 -608
  65. package/packages/eslint-rules/dist/core.stylistic.d.cts +0 -1
  66. package/packages/eslint-rules/dist/core.stylistic.d.ts +0 -595
  67. package/packages/eslint-rules/dist/core.stylistic.js +0 -608
  68. package/packages/eslint-rules/dist/core.typescript.cjs +0 -905
  69. package/packages/eslint-rules/dist/core.typescript.d.cts +0 -1
  70. package/packages/eslint-rules/dist/core.typescript.d.ts +0 -917
  71. package/packages/eslint-rules/dist/core.typescript.js +0 -906
  72. package/packages/eslint-rules/dist/core.vue.cjs +0 -312
  73. package/packages/eslint-rules/dist/core.vue.d.cts +0 -1
  74. package/packages/eslint-rules/dist/core.vue.d.ts +0 -293
  75. package/packages/eslint-rules/dist/core.vue.js +0 -313
  76. package/packages/eslint-rules/dist/index.cjs +0 -126
  77. package/packages/eslint-rules/dist/index.d.cts +0 -1
  78. package/packages/eslint-rules/dist/index.d.ts +0 -113
  79. package/packages/eslint-rules/dist/index.js +0 -126
  80. package/packages/eslint-rules/dist/preset-Bk6lxNP0.cjs +0 -107
  81. package/packages/eslint-rules/dist/preset-CQJST7pW.js +0 -102
  82. package/packages/hooks/dist/alova.cjs +0 -53
  83. package/packages/hooks/dist/alova.d.cts +0 -1
  84. package/packages/hooks/dist/alova.d.ts +0 -33
  85. package/packages/hooks/dist/alova.js +0 -50
  86. package/packages/hooks/dist/index.cjs +0 -0
  87. package/packages/hooks/dist/index.d.cts +0 -1
  88. package/packages/hooks/dist/index.d.ts +0 -1
  89. package/packages/hooks/dist/index.js +0 -0
  90. package/packages/hooks/dist/react.cjs +0 -169
  91. package/packages/hooks/dist/react.d.cts +0 -1
  92. package/packages/hooks/dist/react.d.ts +0 -95
  93. package/packages/hooks/dist/react.js +0 -163
  94. package/packages/types/dist/index.cjs +0 -0
  95. package/packages/types/dist/index.d.cts +0 -1
  96. package/packages/types/dist/index.d.ts +0 -271
  97. package/packages/types/dist/index.js +0 -0
  98. package/packages/types/dist/react.cjs +0 -0
  99. package/packages/types/dist/react.d.cts +0 -1
  100. package/packages/types/dist/react.d.ts +0 -64
  101. package/packages/types/dist/react.js +0 -0
  102. package/packages/utils/dist/index.cjs +0 -2300
  103. package/packages/utils/dist/index.d.cts +0 -1
  104. package/packages/utils/dist/index.d.ts +0 -2740
  105. package/packages/utils/dist/index.js +0 -2287
  106. package/packages/utils/dist/math-BznvO4qI.cjs +0 -1029
  107. package/packages/utils/dist/math-DRbCtLQH.js +0 -1012
  108. package/packages/utils/dist/math.cjs +0 -3
  109. package/packages/utils/dist/math.d.cts +0 -1
  110. package/packages/utils/dist/math.d.ts +0 -60
  111. package/packages/utils/dist/math.js +0 -2
  112. package/packages/utils/dist/vite.cjs +0 -44
  113. package/packages/utils/dist/vite.d.cts +0 -1
  114. package/packages/utils/dist/vite.d.ts +0 -28
  115. package/packages/utils/dist/vite.js +0 -43
  116. package/packages/zod/dist/index.cjs +0 -91
  117. package/packages/zod/dist/index.d.cts +0 -1
  118. package/packages/zod/dist/index.d.ts +0 -57
  119. package/packages/zod/dist/index.js +0 -61
  120. /package/{packages/hooks/dist/metadata.json → entry/hooks-metadata.json} +0 -0
  121. /package/{packages/utils/dist → entry}/metadata.json +0 -0
@@ -1,313 +0,0 @@
1
- import { t as preset_default } from "./preset-CQJST7pW.js";
2
- //#region src/core.vue.ts
3
- var core_vue_default = {
4
- "vue/comment-directive": 2,
5
- "vue/jsx-uses-vars": 2,
6
- "vue/multi-word-component-names": 0,
7
- "vue/no-arrow-functions-in-watch": 2,
8
- "vue/no-async-in-computed-properties": 2,
9
- "vue/no-child-content": 2,
10
- "vue/no-computed-properties-in-data": 2,
11
- "vue/no-dupe-keys": 2,
12
- "vue/no-dupe-v-else-if": 2,
13
- "vue/no-duplicate-attributes": 2,
14
- "vue/no-export-in-script-setup": 2,
15
- "vue/no-mutating-props": 2,
16
- "vue/no-parsing-error": 2,
17
- "vue/no-ref-as-operand": 2,
18
- "vue/no-reserved-component-names": 2,
19
- "vue/no-reserved-keys": 2,
20
- "vue/no-reserved-props": 2,
21
- "vue/no-shared-component-data": 2,
22
- "vue/no-side-effects-in-computed-properties": 2,
23
- "vue/no-template-key": 2,
24
- "vue/no-textarea-mustache": 2,
25
- "vue/no-unused-components": 1,
26
- "vue/no-unused-vars": 1,
27
- "vue/no-use-computed-property-like-method": 2,
28
- "vue/no-use-v-if-with-v-for": 2,
29
- "vue/no-useless-template-attributes": 2,
30
- "vue/no-v-text-v-html-on-component": 2,
31
- "vue/require-component-is": 2,
32
- "vue/require-prop-type-constructor": 2,
33
- "vue/require-render-return": 2,
34
- "vue/require-v-for-key": 2,
35
- "vue/require-valid-default-prop": 2,
36
- "vue/return-in-computed-property": 2,
37
- "vue/return-in-emits-validator": 2,
38
- "vue/use-v-on-exact": 2,
39
- "vue/valid-attribute-name": 2,
40
- "vue/valid-define-emits": 2,
41
- "vue/valid-define-props": 2,
42
- "vue/valid-next-tick": 2,
43
- "vue/valid-template-root": 2,
44
- "vue/valid-v-bind": 2,
45
- "vue/valid-v-cloak": 2,
46
- "vue/valid-v-else-if": 2,
47
- "vue/valid-v-else": 2,
48
- "vue/valid-v-for": 2,
49
- "vue/valid-v-html": 2,
50
- "vue/valid-v-if": 2,
51
- "vue/valid-v-model": 2,
52
- "vue/valid-v-on": 2,
53
- "vue/valid-v-once": 2,
54
- "vue/valid-v-pre": 2,
55
- "vue/valid-v-show": 2,
56
- "vue/valid-v-slot": 2,
57
- "vue/valid-v-text": 2,
58
- "vue/no-deprecated-data-object-declaration": 2,
59
- "vue/no-deprecated-delete-set": 2,
60
- "vue/no-deprecated-destroyed-lifecycle": 2,
61
- "vue/no-deprecated-dollar-listeners-api": 2,
62
- "vue/no-deprecated-dollar-scopedslots-api": 2,
63
- "vue/no-deprecated-events-api": 2,
64
- "vue/no-deprecated-filter": 2,
65
- "vue/no-deprecated-functional-template": 2,
66
- "vue/no-deprecated-html-element-is": 2,
67
- "vue/no-deprecated-inline-template": 2,
68
- "vue/no-deprecated-model-definition": 2,
69
- "vue/no-deprecated-props-default-this": 2,
70
- "vue/no-deprecated-router-link-tag-prop": 2,
71
- "vue/no-deprecated-scope-attribute": 2,
72
- "vue/no-deprecated-slot-attribute": 2,
73
- "vue/no-deprecated-slot-scope-attribute": 2,
74
- "vue/no-deprecated-v-bind-sync": 2,
75
- "vue/no-deprecated-v-is": 2,
76
- "vue/no-deprecated-v-on-native-modifier": 2,
77
- "vue/no-deprecated-v-on-number-modifiers": 2,
78
- "vue/no-deprecated-vue-config-keycodes": 2,
79
- "vue/no-expose-after-await": 2,
80
- "vue/no-lifecycle-after-await": 2,
81
- "vue/no-v-for-template-key-on-child": 2,
82
- "vue/no-watch-after-await": 2,
83
- "vue/prefer-import-from-vue": 2,
84
- "vue/require-slots-as-functions": 2,
85
- "vue/require-toggle-inside-transition": 2,
86
- "vue/valid-define-options": 2,
87
- "vue/valid-v-is": 2,
88
- "vue/valid-v-memo": 2,
89
- "vue/no-custom-modifiers-on-v-model": 2,
90
- "vue/no-multiple-template-root": 0,
91
- "vue/attribute-hyphenation": [
92
- 2,
93
- "never",
94
- { ignore: [] }
95
- ],
96
- "vue/component-definition-name-casing": 2,
97
- "vue/first-attribute-linebreak": [2, {
98
- singleline: "beside",
99
- multiline: "below"
100
- }],
101
- "vue/html-closing-bracket-newline": 2,
102
- "vue/html-closing-bracket-spacing": 2,
103
- "vue/html-end-tags": 2,
104
- "vue/html-indent": 2,
105
- "vue/html-quotes": 2,
106
- "vue/html-self-closing": [2, {
107
- html: {
108
- void: "always",
109
- normal: "always",
110
- component: "always"
111
- },
112
- svg: "always",
113
- math: "always"
114
- }],
115
- "vue/max-attributes-per-line": 2,
116
- "vue/multiline-html-element-content-newline": 2,
117
- "vue/mustache-interpolation-spacing": 2,
118
- "vue/no-multi-spaces": 2,
119
- "vue/no-spaces-around-equal-signs-in-attribute": 2,
120
- "vue/no-template-shadow": 2,
121
- "vue/one-component-per-file": 2,
122
- "vue/prop-name-casing": 2,
123
- "vue/require-default-prop": 0,
124
- "vue/require-prop-types": 2,
125
- "vue/singleline-html-element-content-newline": 2,
126
- "vue/v-bind-style": 2,
127
- "vue/v-on-style": 2,
128
- "vue/v-slot-style": 2,
129
- "vue/require-explicit-emits": 2,
130
- "vue/v-on-event-hyphenation": [
131
- 2,
132
- "never",
133
- { autofix: true }
134
- ],
135
- "vue/attributes-order": 2,
136
- "vue/block-order": [2, { order: [
137
- "script:not([setup])",
138
- "script[setup]",
139
- "template",
140
- "style[scoped]",
141
- "style:not([scoped])"
142
- ] }],
143
- "vue/no-lone-template": 2,
144
- "vue/no-multiple-slot-args": 2,
145
- "vue/no-required-prop-with-default": 2,
146
- "vue/no-v-html": 0,
147
- "vue/order-in-components": 2,
148
- "vue/this-in-template": 2,
149
- "vue/block-lang": 0,
150
- "vue/block-tag-newline": 2,
151
- "vue/component-api-style": 2,
152
- "vue/component-name-in-template-casing": [
153
- 2,
154
- "PascalCase",
155
- { registeredComponentsOnly: false }
156
- ],
157
- "vue/component-options-name-casing": [2, "PascalCase"],
158
- "vue/custom-event-name-casing": [
159
- 2,
160
- "camelCase",
161
- { ignores: [] }
162
- ],
163
- "vue/define-emits-declaration": 0,
164
- "vue/define-macros-order": [2, {
165
- order: [
166
- "defineOptions",
167
- "defineProps",
168
- "defineSlots",
169
- "defineEmits"
170
- ],
171
- defineExposeLast: false
172
- }],
173
- "vue/define-props-declaration": 0,
174
- "vue/define-props-destructuring": 0,
175
- "vue/enforce-style-attribute": 0,
176
- "vue/html-button-has-type": 0,
177
- "vue/html-comment-content-newline": 2,
178
- "vue/html-comment-content-spacing": 2,
179
- "vue/html-comment-indent": 2,
180
- "vue/match-component-file-name": 0,
181
- "vue/match-component-import-name": 2,
182
- "vue/max-lines-per-block": 2,
183
- "vue/max-props": 0,
184
- "vue/max-template-depth": 0,
185
- "vue/new-line-between-multi-line-property": 0,
186
- "vue/next-tick-style": 0,
187
- "vue/no-bare-strings-in-template": 0,
188
- "vue/no-boolean-default": 0,
189
- "vue/no-duplicate-attr-inheritance": 2,
190
- "vue/no-duplicate-class-names": 2,
191
- "vue/no-empty-component-block": 2,
192
- "vue/no-import-compiler-macros": 0,
193
- "vue/no-multiple-objects-in-class": 0,
194
- "vue/no-negated-v-if-condition": 0,
195
- "vue/no-potential-component-option-typo": 0,
196
- "vue/no-ref-object-reactivity-loss": 0,
197
- "vue/no-restricted-block": 0,
198
- "vue/no-restricted-call-after-await": 0,
199
- "vue/no-restricted-class": 0,
200
- "vue/no-restricted-component-names": 0,
201
- "vue/no-restricted-component-options": 0,
202
- "vue/no-restricted-custom-event": 0,
203
- "vue/no-restricted-html-elements": 0,
204
- "vue/no-restricted-props": 0,
205
- "vue/no-restricted-static-attribute": 0,
206
- "vue/no-restricted-v-bind": 0,
207
- "vue/no-restricted-v-on": 0,
208
- "vue/no-root-v-if": 0,
209
- "vue/no-setup-props-reactivity-loss": 0,
210
- "vue/no-static-inline-styles": 0,
211
- "vue/no-template-target-blank": 0,
212
- "vue/no-this-in-before-route-enter": 2,
213
- "vue/no-undef-components": 0,
214
- "vue/no-undef-properties": 0,
215
- "vue/no-unsupported-features": 0,
216
- "vue/no-unused-emit-declarations": 0,
217
- "vue/no-unused-properties": 1,
218
- "vue/no-unused-refs": 1,
219
- "vue/no-use-v-else-with-v-for": 0,
220
- "vue/no-useless-mustaches": 2,
221
- "vue/no-useless-v-bind": 2,
222
- "vue/no-v-text": 0,
223
- "vue/padding-line-between-blocks": 2,
224
- "vue/padding-line-between-tags": 0,
225
- "vue/padding-lines-in-component-definition": 0,
226
- "vue/prefer-define-options": 2,
227
- "vue/prefer-prop-type-boolean-first": 2,
228
- "vue/prefer-separate-static-class": 0,
229
- "vue/prefer-true-attribute-shorthand": 0,
230
- "vue/prefer-use-template-ref": 2,
231
- "vue/require-default-export": 2,
232
- "vue/require-direct-export": 2,
233
- "vue/require-emit-validator": 0,
234
- "vue/require-explicit-slots": 2,
235
- "vue/require-expose": 2,
236
- "vue/require-macro-variable-name": [2, {
237
- defineProps: "props",
238
- defineEmits: "emits",
239
- defineSlots: "slots",
240
- useSlots: "slots",
241
- useAttrs: "attrs"
242
- }],
243
- "vue/require-name-property": 0,
244
- "vue/require-prop-comment": 0,
245
- "vue/require-typed-object-prop": 0,
246
- "vue/require-typed-ref": 2,
247
- "vue/restricted-component-names": 0,
248
- "vue/script-indent": [
249
- 0,
250
- preset_default.indent,
251
- {
252
- baseIndent: 0,
253
- switchCase: 1,
254
- ignores: []
255
- }
256
- ],
257
- "vue/slot-name-casing": 2,
258
- "vue/sort-keys": 0,
259
- "vue/static-class-names-order": 0,
260
- "vue/v-for-delimiter-style": 0,
261
- "vue/v-if-else-key": 0,
262
- "vue/v-on-handler-style": 0,
263
- "vue/array-bracket-newline": [2, "consistent"],
264
- "vue/array-bracket-spacing": 2,
265
- "vue/array-element-newline": [2, "consistent"],
266
- "vue/arrow-spacing": 2,
267
- "vue/block-spacing": 2,
268
- "vue/brace-style": 2,
269
- "vue/camelcase": 0,
270
- "vue/comma-dangle": [2, "always-multiline"],
271
- "vue/comma-spacing": 2,
272
- "vue/comma-style": 2,
273
- "vue/dot-location": 0,
274
- "vue/dot-notation": 0,
275
- "vue/eqeqeq": 2,
276
- "vue/func-call-spacing": 2,
277
- "vue/key-spacing": 2,
278
- "vue/keyword-spacing": 2,
279
- "vue/max-len": 0,
280
- "vue/multiline-ternary": [2, "always-multiline"],
281
- "vue/no-console": 0,
282
- "vue/no-constant-condition": 2,
283
- "vue/no-empty-pattern": 2,
284
- "vue/no-extra-parens": 0,
285
- "vue/no-implicit-coercion": [2, { allow: ["!!"] }],
286
- "vue/no-irregular-whitespace": 2,
287
- "vue/no-loss-of-precision": 2,
288
- "vue/no-negated-condition": 0,
289
- "vue/no-restricted-syntax": 0,
290
- "vue/no-sparse-arrays": 2,
291
- "vue/no-useless-concat": 0,
292
- "vue/object-curly-newline": 2,
293
- "vue/object-curly-spacing": [2, "always"],
294
- "vue/object-property-newline": [2, { allowAllPropertiesOnSameLine: true }],
295
- "vue/object-shorthand": 0,
296
- "vue/operator-linebreak": [
297
- 2,
298
- "after",
299
- { overrides: {
300
- "?": "ignore",
301
- ":": "ignore",
302
- "|": "before"
303
- } }
304
- ],
305
- "vue/prefer-template": 0,
306
- "vue/quote-props": [2, "consistent-as-needed"],
307
- "vue/space-in-parens": 2,
308
- "vue/space-infix-ops": 2,
309
- "vue/space-unary-ops": 2,
310
- "vue/template-curly-spacing": 2
311
- };
312
- //#endregion
313
- export { core_vue_default as default };
@@ -1,126 +0,0 @@
1
- const require_core_antfu = require("./core.antfu.cjs");
2
- const require_core_imports = require("./core.imports.cjs");
3
- const require_core_importsSort = require("./core.importsSort.cjs");
4
- const require_core_javascript = require("./core.javascript.cjs");
5
- const require_core_react = require("./core.react.cjs");
6
- const require_core_reactHooks = require("./core.reactHooks.cjs");
7
- const require_core_stylistic = require("./core.stylistic.cjs");
8
- const require_core_typescript = require("./core.typescript.cjs");
9
- const require_core_vue = require("./core.vue.cjs");
10
- //#region src/index.ts
11
- /**
12
- * 全局忽略目录列表
13
- *
14
- * 在 ESLint 配置中直接忽略的目录与文件 glob 集合,包含依赖、构建产物、锁文件、编辑器目录、缓存等。
15
- *
16
- * @example
17
- * ```ts
18
- * import eslintRules from "@pawover/kit-eslint-rules";
19
- *
20
- * export default [
21
- * { ignores: eslintRules.GLOB_EXCLUDE },
22
- * // ...其余配置
23
- * ];
24
- * ```
25
- */
26
- const GLOB_EXCLUDE = [
27
- "**/node_modules",
28
- "**/dist",
29
- "**/package-lock.json",
30
- "**/yarn.lock",
31
- "**/pnpm-lock.yaml",
32
- "**/bun.lockb",
33
- "**/output",
34
- "**/coverage",
35
- "**/temp",
36
- "**/.temp",
37
- "**/tmp",
38
- "**/.tmp",
39
- "**/.history",
40
- "**/.vitepress/cache",
41
- "**/.nuxt",
42
- "**/.next",
43
- "**/.svelte-kit",
44
- "**/.vercel",
45
- "**/.changeset",
46
- "**/.idea",
47
- "**/.cache",
48
- "**/.output",
49
- "**/.vite-inspect",
50
- "**/.yarn",
51
- "**/vite.config.*.timestamp-*",
52
- "**/CHANGELOG*.md",
53
- "**/*.min.*",
54
- "**/LICENSE*",
55
- "**/__snapshots__",
56
- "**/auto-import?(s).d.ts",
57
- "**/auto-component?(s).d.ts",
58
- "**/auto-router?(s).d.ts"
59
- ];
60
- const rules = {
61
- javascript: require_core_javascript,
62
- typescript: require_core_typescript,
63
- react: require_core_react,
64
- reactHooks: require_core_reactHooks,
65
- vue: require_core_vue,
66
- stylistic: require_core_stylistic,
67
- antfu: require_core_antfu,
68
- imports: require_core_imports,
69
- importsSort: require_core_importsSort
70
- };
71
- /**
72
- * 创建规则集合
73
- *
74
- * 从已有规则组中取出全部规则;传入 `prefix` 时会将规则名的命名空间前缀改写为目标前缀(如 `react/*` → `react-hooks/*`)。
75
- *
76
- * @param rule 规则组名称(`"javascript"` | `"typescript"` | `"react"` | `"reactHooks"` | `"vue"` | `"stylistic"` | `"antfu"` | `"imports"` | `"importsSort"`)
77
- * @param prefix 目标命名空间前缀(可选,格式为 `name/`,如 `"react-hooks"`)
78
- * @returns 规则名到规则配置的映射;规则组不存在时返回空对象
79
- *
80
- * @example
81
- * ```ts
82
- * // 不传 prefix:返回原规则组
83
- * const tsRules = createRules("typescript");
84
- *
85
- * // 传 prefix:改写命名空间前缀
86
- * const reactHooksRules = createRules("react", "react-hooks");
87
- * // { "react-hooks/display-name": 2, ... }
88
- *
89
- * // 非法规则组:返回空对象
90
- * const empty = createRules("unknown");
91
- * ```
92
- */
93
- function createRules(rule, prefix) {
94
- const result = {};
95
- if (typeof rule === "string" && rule in rules) if (prefix) return Object.entries(rules[rule]).reduce((acc, [key, value]) => {
96
- const oldPrefix = key.split("/")[0];
97
- const newPrefix = prefix.split("/")[0];
98
- const newKey = key.replace(`${oldPrefix}/`, `${newPrefix}/`);
99
- acc[newKey] = value;
100
- return acc;
101
- }, result);
102
- else return rules[rule];
103
- return result;
104
- }
105
- /**
106
- * 默认导出
107
- *
108
- * 聚合全部规则组与工具:`javascript`、`typescript`、`react`、`reactHooks`、`vue`、`stylistic`、`antfu`、`imports`、`importsSort`、`GLOB_EXCLUDE`、`createRules`。
109
- *
110
- * @example
111
- * ```ts
112
- * import eslintRules from "@pawover/kit-eslint-rules";
113
- *
114
- * export default [
115
- * { ignores: eslintRules.GLOB_EXCLUDE },
116
- * { files: ["*.ts", "*.tsx"], rules: { ...eslintRules.javascript, ...eslintRules.typescript } },
117
- * ];
118
- * ```
119
- */
120
- var src_default = {
121
- ...rules,
122
- GLOB_EXCLUDE,
123
- createRules
124
- };
125
- //#endregion
126
- module.exports = src_default;
@@ -1 +0,0 @@
1
- export type * from './index.d.ts'