@pawover/kit 0.4.2 → 0.6.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 (74) hide show
  1. package/package.json +166 -29
  2. package/packages/eslint-rules/dist/core.antfu.cjs +78 -0
  3. package/packages/eslint-rules/dist/core.antfu.d.cts +1 -0
  4. package/packages/eslint-rules/dist/core.antfu.d.ts +74 -0
  5. package/packages/eslint-rules/dist/core.antfu.js +79 -0
  6. package/packages/eslint-rules/dist/core.imports.cjs +59 -0
  7. package/packages/eslint-rules/dist/core.imports.d.cts +1 -0
  8. package/packages/eslint-rules/dist/core.imports.d.ts +61 -0
  9. package/packages/eslint-rules/dist/core.imports.js +59 -0
  10. package/packages/eslint-rules/dist/core.importsSort.cjs +7 -0
  11. package/packages/eslint-rules/dist/core.importsSort.d.cts +1 -0
  12. package/packages/eslint-rules/dist/core.importsSort.d.ts +7 -0
  13. package/packages/eslint-rules/dist/core.importsSort.js +7 -0
  14. package/packages/eslint-rules/dist/core.javascript.cjs +1208 -0
  15. package/packages/eslint-rules/dist/core.javascript.d.cts +1 -0
  16. package/packages/eslint-rules/dist/core.javascript.d.ts +1216 -0
  17. package/packages/eslint-rules/dist/core.javascript.js +1208 -0
  18. package/packages/eslint-rules/dist/core.react.cjs +551 -0
  19. package/packages/eslint-rules/dist/core.react.d.cts +1 -0
  20. package/packages/eslint-rules/dist/core.react.d.ts +551 -0
  21. package/packages/eslint-rules/dist/core.react.js +551 -0
  22. package/packages/eslint-rules/dist/core.reactHooks.cjs +107 -0
  23. package/packages/eslint-rules/dist/core.reactHooks.d.cts +1 -0
  24. package/packages/eslint-rules/dist/core.reactHooks.d.ts +107 -0
  25. package/packages/eslint-rules/dist/core.reactHooks.js +107 -0
  26. package/packages/eslint-rules/dist/core.stylistic.cjs +608 -0
  27. package/packages/eslint-rules/dist/core.stylistic.d.cts +1 -0
  28. package/packages/eslint-rules/dist/core.stylistic.d.ts +595 -0
  29. package/packages/eslint-rules/dist/core.stylistic.js +608 -0
  30. package/packages/eslint-rules/dist/core.typescript.cjs +905 -0
  31. package/packages/eslint-rules/dist/core.typescript.d.cts +1 -0
  32. package/packages/eslint-rules/dist/core.typescript.d.ts +917 -0
  33. package/packages/eslint-rules/dist/core.typescript.js +906 -0
  34. package/packages/eslint-rules/dist/core.vue.cjs +312 -0
  35. package/packages/eslint-rules/dist/core.vue.d.cts +1 -0
  36. package/packages/eslint-rules/dist/core.vue.d.ts +293 -0
  37. package/packages/eslint-rules/dist/core.vue.js +313 -0
  38. package/packages/eslint-rules/dist/index.cjs +126 -0
  39. package/packages/eslint-rules/dist/index.d.cts +1 -0
  40. package/packages/eslint-rules/dist/index.d.ts +113 -0
  41. package/packages/eslint-rules/dist/index.js +126 -0
  42. package/packages/eslint-rules/dist/preset-Bk6lxNP0.cjs +107 -0
  43. package/packages/eslint-rules/dist/preset-CQJST7pW.js +102 -0
  44. package/packages/hooks/dist/alova.cjs +53 -0
  45. package/packages/hooks/dist/alova.d.cts +1 -0
  46. package/packages/hooks/dist/index.cjs +0 -0
  47. package/packages/hooks/dist/index.d.cts +1 -0
  48. package/packages/hooks/dist/react.cjs +169 -0
  49. package/packages/hooks/dist/react.d.cts +1 -0
  50. package/packages/hooks/dist/react.d.ts +2 -60
  51. package/packages/hooks/dist/react.js +2 -2441
  52. package/packages/types/dist/index.cjs +0 -0
  53. package/packages/types/dist/index.d.cts +1 -0
  54. package/packages/types/dist/index.d.ts +271 -0
  55. package/packages/types/dist/index.js +0 -0
  56. package/packages/types/dist/react.cjs +0 -0
  57. package/packages/types/dist/react.d.cts +1 -0
  58. package/packages/types/dist/react.d.ts +64 -0
  59. package/packages/types/dist/react.js +0 -0
  60. package/packages/utils/dist/index.cjs +2300 -0
  61. package/packages/utils/dist/index.d.cts +1 -0
  62. package/packages/utils/dist/index.d.ts +156 -2721
  63. package/packages/utils/dist/index.js +122 -35
  64. package/packages/utils/dist/math-BznvO4qI.cjs +1029 -0
  65. package/packages/utils/dist/{math-B5PyWuKn.js → math-DRbCtLQH.js} +31 -27
  66. package/packages/utils/dist/math.cjs +3 -0
  67. package/packages/utils/dist/math.d.cts +1 -0
  68. package/packages/utils/dist/math.d.ts +3 -0
  69. package/packages/utils/dist/math.js +1 -1
  70. package/packages/utils/dist/vite.cjs +44 -0
  71. package/packages/utils/dist/vite.d.cts +1 -0
  72. package/packages/utils/dist/vite.js +12 -8
  73. package/packages/zod/dist/index.cjs +91 -0
  74. package/packages/zod/dist/index.d.cts +1 -0
@@ -0,0 +1,113 @@
1
+ //#region src/index.d.ts
2
+ /**
3
+ * 规则严重级别(数字形式)
4
+ *
5
+ * ESLint 规则严重级别的数字表示:`0` 关闭、`1` 警告、`2` 错误。
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const level: SeverityLevel = 2; // error
10
+ * ```
11
+ */
12
+ type SeverityLevel = 0 | 1 | 2;
13
+ /**
14
+ * 规则严重级别(名称形式)
15
+ *
16
+ * ESLint 规则严重级别的名称表示:`"off"` 关闭、`"warn"` 警告、`"error"` 错误。
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const name: SeverityName = "error";
21
+ * ```
22
+ */
23
+ type SeverityName = "off" | "warn" | "error";
24
+ /**
25
+ * 规则严重级别
26
+ *
27
+ * 数字与名称两种形式均可,等价于 ESLint 原生 `Linter.RuleLevel`。
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const a: Severity = 1;
32
+ * const b: Severity = "off";
33
+ * ```
34
+ */
35
+ type Severity = SeverityName | SeverityLevel;
36
+ /**
37
+ * 规则配置
38
+ *
39
+ * 支持纯严重级别,或 `[严重级别, ...规则选项]` 的元组形式,规则选项按 ESLint 规则声明顺序传入。
40
+ *
41
+ * @template RuleOptions 规则选项参数元组
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const a: RuleConfig = "error";
46
+ * const b: RuleConfig<[boolean]> = [2, { allowProperties: true }];
47
+ * ```
48
+ */
49
+ type RuleConfig<RuleOptions extends unknown[] = unknown[]> = Severity | [Severity, ...Partial<RuleOptions>];
50
+ declare const rules: {
51
+ javascript: Record<"array-callback-return" | "constructor-super" | "for-direction" | "getter-return" | "no-async-promise-executor" | "no-await-in-loop" | "no-class-assign" | "no-compare-neg-zero" | "no-cond-assign" | "no-const-assign" | "no-constant-binary-expression" | "no-constant-condition" | "no-constructor-return" | "no-control-regex" | "no-debugger" | "no-dupe-args" | "no-dupe-class-members" | "no-dupe-else-if" | "no-dupe-keys" | "no-duplicate-case" | "no-duplicate-imports" | "no-empty-character-class" | "no-empty-pattern" | "no-ex-assign" | "no-fallthrough" | "no-func-assign" | "no-import-assign" | "no-inner-declarations" | "no-invalid-regexp" | "no-irregular-whitespace" | "no-loss-of-precision" | "no-misleading-character-class" | "no-new-native-nonconstructor" | "no-obj-calls" | "no-promise-executor-return" | "no-prototype-builtins" | "no-self-assign" | "no-self-compare" | "no-setter-return" | "no-sparse-arrays" | "no-template-curly-in-string" | "no-this-before-super" | "no-undef" | "no-unexpected-multiline" | "no-unmodified-loop-condition" | "no-unreachable" | "no-unreachable-loop" | "no-unsafe-finally" | "no-unsafe-negation" | "no-unsafe-optional-chaining" | "no-unused-private-class-members" | "no-unused-vars" | "no-use-before-define" | "no-useless-assignment" | "no-useless-backreference" | "require-atomic-updates" | "use-isnan" | "valid-typeof" | "accessor-pairs" | "arrow-body-style" | "block-scoped-var" | "camelcase" | "capitalized-comments" | "class-methods-use-this" | "complexity" | "consistent-return" | "consistent-this" | "curly" | "default-case" | "default-case-last" | "default-param-last" | "dot-notation" | "eqeqeq" | "func-name-matching" | "func-names" | "func-style" | "grouped-accessor-pairs" | "guard-for-in" | "id-denylist" | "id-length" | "id-match" | "init-declarations" | "logical-assignment-operators" | "max-classes-per-file" | "max-depth" | "max-lines" | "max-lines-per-function" | "max-nested-callbacks" | "max-params" | "max-statements" | "new-cap" | "no-alert" | "no-array-constructor" | "no-bitwise" | "no-caller" | "no-case-declarations" | "no-console" | "no-continue" | "no-delete-var" | "no-div-regex" | "no-else-return" | "no-empty" | "no-empty-function" | "no-empty-static-block" | "no-eq-null" | "no-eval" | "no-extend-native" | "no-extra-bind" | "no-extra-boolean-cast" | "no-extra-label" | "no-global-assign" | "no-implicit-coercion" | "no-implicit-globals" | "no-implied-eval" | "no-inline-comments" | "no-invalid-this" | "no-iterator" | "no-label-var" | "no-labels" | "no-lone-blocks" | "no-lonely-if" | "no-loop-func" | "no-magic-numbers" | "no-multi-assign" | "no-multi-str" | "no-negated-condition" | "no-nested-ternary" | "no-new" | "no-new-func" | "no-new-wrappers" | "no-nonoctal-decimal-escape" | "no-object-constructor" | "no-octal" | "no-octal-escape" | "no-param-reassign" | "no-plusplus" | "no-proto" | "no-redeclare" | "no-regex-spaces" | "no-restricted-exports" | "no-restricted-globals" | "no-restricted-imports" | "no-restricted-properties" | "no-restricted-syntax" | "no-return-assign" | "no-script-url" | "no-sequences" | "no-shadow" | "no-shadow-restricted-names" | "no-ternary" | "no-throw-literal" | "no-undef-init" | "no-undefined" | "no-underscore-dangle" | "no-unneeded-ternary" | "no-unused-expressions" | "no-unused-labels" | "no-useless-call" | "no-useless-catch" | "no-useless-computed-key" | "no-useless-concat" | "no-useless-constructor" | "no-useless-escape" | "no-useless-rename" | "no-useless-return" | "no-var" | "no-void" | "no-warning-comments" | "no-with" | "object-shorthand" | "one-var" | "operator-assignment" | "prefer-arrow-callback" | "prefer-const" | "prefer-destructuring" | "prefer-exponentiation-operator" | "prefer-named-capture-group" | "prefer-numeric-literals" | "prefer-object-has-own" | "prefer-object-spread" | "prefer-promise-reject-errors" | "prefer-regex-literals" | "prefer-rest-params" | "prefer-spread" | "prefer-template" | "radix" | "require-await" | "require-unicode-regexp" | "require-yield" | "sort-imports" | "sort-keys" | "sort-vars" | "strict" | "symbol-description" | "vars-on-top" | "yoda", RuleConfig<unknown[]>>;
52
+ typescript: Record<"no-dupe-class-members" | "no-unused-vars" | "no-use-before-define" | "class-methods-use-this" | "default-param-last" | "dot-notation" | "init-declarations" | "max-params" | "no-array-constructor" | "no-empty-function" | "no-implied-eval" | "no-loop-func" | "no-magic-numbers" | "no-redeclare" | "no-restricted-imports" | "no-shadow" | "no-unused-expressions" | "no-useless-constructor" | "prefer-destructuring" | "prefer-promise-reject-errors" | "require-await" | "ts/adjacent-overload-signatures" | "ts/array-type" | "ts/await-thenable" | "ts/ban-ts-comment" | "ts/ban-tslint-comment" | "ts/class-literal-property-style" | "ts/class-methods-use-this" | "ts/consistent-generic-constructors" | "ts/consistent-indexed-object-style" | "ts/consistent-type-assertions" | "ts/consistent-type-definitions" | "ts/consistent-type-exports" | "ts/consistent-type-imports" | "ts/default-param-last" | "ts/dot-notation" | "ts/explicit-function-return-type" | "ts/explicit-member-accessibility" | "ts/explicit-module-boundary-types" | "ts/init-declarations" | "ts/max-params" | "ts/member-ordering" | "ts/method-signature-style" | "ts/naming-convention" | "ts/no-array-constructor" | "ts/no-array-delete" | "ts/no-base-to-string" | "ts/no-confusing-non-null-assertion" | "ts/no-confusing-void-expression" | "ts/no-deprecated" | "ts/no-dupe-class-members" | "ts/no-duplicate-enum-values" | "ts/no-duplicate-type-constituents" | "ts/no-dynamic-delete" | "ts/no-empty-function" | "ts/no-empty-object-type" | "ts/no-explicit-any" | "ts/no-extra-non-null-assertion" | "ts/no-extraneous-class" | "ts/no-floating-promises" | "ts/no-for-in-array" | "ts/no-implied-eval" | "ts/no-import-type-side-effects" | "ts/no-inferrable-types" | "ts/no-invalid-void-type" | "ts/no-loop-func" | "ts/no-magic-numbers" | "ts/no-meaningless-void-operator" | "ts/no-misused-new" | "ts/no-misused-promises" | "ts/no-misused-spread" | "ts/no-mixed-enums" | "ts/no-namespace" | "ts/no-non-null-asserted-nullish-coalescing" | "ts/no-non-null-asserted-optional-chain" | "ts/no-non-null-assertion" | "ts/no-redeclare" | "ts/no-redundant-type-constituents" | "ts/no-require-imports" | "ts/no-restricted-imports" | "ts/no-restricted-types" | "ts/no-shadow" | "ts/no-this-alias" | "ts/no-unnecessary-boolean-literal-compare" | "ts/no-unnecessary-condition" | "ts/no-unnecessary-parameter-property-assignment" | "ts/no-unnecessary-qualifier" | "ts/no-unnecessary-template-expression" | "ts/no-unnecessary-type-arguments" | "ts/no-unnecessary-type-assertion" | "ts/no-unnecessary-type-constraint" | "ts/no-unnecessary-type-parameters" | "ts/no-unsafe-argument" | "ts/no-unsafe-assignment" | "ts/no-unsafe-call" | "ts/no-unsafe-declaration-merging" | "ts/no-unsafe-enum-comparison" | "ts/no-unsafe-function-type" | "ts/no-unsafe-member-access" | "ts/no-unsafe-return" | "ts/no-unsafe-type-assertion" | "ts/no-unsafe-unary-minus" | "ts/no-unused-expressions" | "ts/no-unused-vars" | "ts/no-use-before-define" | "ts/no-useless-constructor" | "ts/no-useless-empty-export" | "ts/no-wrapper-object-types" | "ts/non-nullable-type-assertion-style" | "ts/only-throw-error" | "ts/parameter-properties" | "ts/prefer-as-const" | "ts/prefer-destructuring" | "ts/prefer-enum-initializers" | "ts/prefer-find" | "ts/prefer-for-of" | "ts/prefer-function-type" | "ts/prefer-includes" | "ts/prefer-literal-enum-member" | "ts/prefer-namespace-keyword" | "ts/prefer-nullish-coalescing" | "ts/prefer-optional-chain" | "ts/prefer-promise-reject-errors" | "ts/prefer-readonly" | "ts/prefer-readonly-parameter-types" | "ts/prefer-reduce-type-parameter" | "ts/prefer-regexp-exec" | "ts/prefer-return-this-type" | "ts/prefer-string-starts-ends-with" | "ts/promise-function-async" | "ts/related-getter-setter-pairs" | "ts/require-array-sort-compare" | "ts/require-await" | "ts/restrict-plus-operands" | "ts/restrict-template-expressions" | "ts/return-await" | "ts/strict-boolean-expressions" | "ts/switch-exhaustiveness-check" | "ts/triple-slash-reference" | "ts/typedef" | "ts/unbound-method" | "ts/unified-signatures" | "ts/use-unknown-in-catch-callback-variable", RuleConfig<unknown[]>>;
53
+ react: Record<"react/error-boundaries" | "react/exhaustive-deps" | "react/globals" | "react/immutability" | "react/no-access-state-in-setstate" | "react/no-array-index-key" | "react/no-children-count" | "react/no-children-for-each" | "react/no-children-map" | "react/no-children-only" | "react/no-children-to-array" | "react/no-class-component" | "react/no-clone-element" | "react/no-component-will-mount" | "react/no-component-will-receive-props" | "react/no-component-will-update" | "react/no-context-provider" | "react/no-create-ref" | "react/no-direct-mutation-state" | "react/no-duplicate-key" | "react/no-forward-ref" | "react/no-implicit-children" | "react/no-implicit-key" | "react/no-implicit-ref" | "react/no-leaked-conditional-rendering" | "react/no-missing-component-display-name" | "react/no-missing-context-display-name" | "react/no-missing-key" | "react/no-misused-capture-owner-stack" | "react/no-nested-component-definitions" | "react/no-nested-lazy-component-declarations" | "react/no-set-state-in-component-did-mount" | "react/no-set-state-in-component-did-update" | "react/no-set-state-in-component-will-update" | "react/no-unnecessary-use-prefix" | "react/no-unsafe-component-will-mount" | "react/no-unsafe-component-will-receive-props" | "react/no-unsafe-component-will-update" | "react/no-unstable-context-value" | "react/no-unstable-default-props" | "react/no-unused-class-component-members" | "react/no-unused-props" | "react/no-use-context" | "react/purity" | "react/refs" | "react/rules-of-hooks" | "react/set-state-in-effect" | "react/set-state-in-render" | "react/static-components" | "react/unsupported-syntax" | "react/use-memo" | "react/use-state" | "react/jsx-no-children-prop" | "react/jsx-no-children-prop-with-children" | "react/jsx-no-comment-textnodes" | "react/jsx-no-key-after-spread" | "react/jsx-no-leaked-dollar" | "react/jsx-no-leaked-semicolon" | "react/jsx-no-namespace" | "react/jsx-no-useless-fragment" | "react/rsc-function-definition" | "react/dom-no-dangerously-set-innerhtml" | "react/dom-no-dangerously-set-innerhtml-with-children" | "react/dom-no-find-dom-node" | "react/dom-no-flush-sync" | "react/dom-no-hydrate" | "react/dom-no-missing-button-type" | "react/dom-no-missing-iframe-sandbox" | "react/dom-no-render" | "react/dom-no-render-return-value" | "react/dom-no-script-url" | "react/dom-no-string-style-prop" | "react/dom-no-unknown-property" | "react/dom-no-unsafe-iframe-sandbox" | "react/dom-no-unsafe-target-blank" | "react/dom-no-use-form-state" | "react/dom-no-void-elements-with-children" | "react/web-api-no-leaked-event-listener" | "react/web-api-no-leaked-fetch" | "react/web-api-no-leaked-interval" | "react/web-api-no-leaked-resize-observer" | "react/web-api-no-leaked-timeout" | "react/web-api-no-leaked-intersection-observer" | "react/naming-convention-context-name" | "react/naming-convention-id-name" | "react/naming-convention-ref-name" | "react/debug-function-component" | "react/debug-hook" | "react/debug-is-from-react" | "react/debug-is-from-ref" | "react/debug-jsx", RuleConfig<unknown[]>>;
54
+ reactHooks: Record<"react-hooks/exhaustive-deps" | "react-hooks/rules-of-hooks" | "react-hooks/component-hook-factories" | "react-hooks/config" | "react-hooks/error-boundaries" | "react-hooks/gating" | "react-hooks/globals" | "react-hooks/immutability" | "react-hooks/incompatible-library" | "react-hooks/preserve-manual-memoization" | "react-hooks/purity" | "react-hooks/refs" | "react-hooks/set-state-in-effect" | "react-hooks/set-state-in-render" | "react-hooks/static-components" | "react-hooks/unsupported-syntax" | "react-hooks/use-memo", RuleConfig<unknown[]>>;
55
+ vue: Record<"vue/comment-directive" | "vue/jsx-uses-vars" | "vue/multi-word-component-names" | "vue/no-arrow-functions-in-watch" | "vue/no-async-in-computed-properties" | "vue/no-child-content" | "vue/no-computed-properties-in-data" | "vue/no-dupe-keys" | "vue/no-dupe-v-else-if" | "vue/no-duplicate-attributes" | "vue/no-export-in-script-setup" | "vue/no-mutating-props" | "vue/no-parsing-error" | "vue/no-ref-as-operand" | "vue/no-reserved-component-names" | "vue/no-reserved-keys" | "vue/no-reserved-props" | "vue/no-shared-component-data" | "vue/no-side-effects-in-computed-properties" | "vue/no-template-key" | "vue/no-textarea-mustache" | "vue/no-unused-components" | "vue/no-unused-vars" | "vue/no-use-computed-property-like-method" | "vue/no-use-v-if-with-v-for" | "vue/no-useless-template-attributes" | "vue/no-v-text-v-html-on-component" | "vue/require-component-is" | "vue/require-prop-type-constructor" | "vue/require-render-return" | "vue/require-v-for-key" | "vue/require-valid-default-prop" | "vue/return-in-computed-property" | "vue/return-in-emits-validator" | "vue/use-v-on-exact" | "vue/valid-attribute-name" | "vue/valid-define-emits" | "vue/valid-define-props" | "vue/valid-next-tick" | "vue/valid-template-root" | "vue/valid-v-bind" | "vue/valid-v-cloak" | "vue/valid-v-else-if" | "vue/valid-v-else" | "vue/valid-v-for" | "vue/valid-v-html" | "vue/valid-v-if" | "vue/valid-v-model" | "vue/valid-v-on" | "vue/valid-v-once" | "vue/valid-v-pre" | "vue/valid-v-show" | "vue/valid-v-slot" | "vue/valid-v-text" | "vue/no-deprecated-data-object-declaration" | "vue/no-deprecated-delete-set" | "vue/no-deprecated-destroyed-lifecycle" | "vue/no-deprecated-dollar-listeners-api" | "vue/no-deprecated-dollar-scopedslots-api" | "vue/no-deprecated-events-api" | "vue/no-deprecated-filter" | "vue/no-deprecated-functional-template" | "vue/no-deprecated-html-element-is" | "vue/no-deprecated-inline-template" | "vue/no-deprecated-model-definition" | "vue/no-deprecated-props-default-this" | "vue/no-deprecated-router-link-tag-prop" | "vue/no-deprecated-scope-attribute" | "vue/no-deprecated-slot-attribute" | "vue/no-deprecated-slot-scope-attribute" | "vue/no-deprecated-v-bind-sync" | "vue/no-deprecated-v-is" | "vue/no-deprecated-v-on-native-modifier" | "vue/no-deprecated-v-on-number-modifiers" | "vue/no-deprecated-vue-config-keycodes" | "vue/no-expose-after-await" | "vue/no-lifecycle-after-await" | "vue/no-v-for-template-key-on-child" | "vue/no-watch-after-await" | "vue/prefer-import-from-vue" | "vue/require-slots-as-functions" | "vue/require-toggle-inside-transition" | "vue/valid-define-options" | "vue/valid-v-is" | "vue/valid-v-memo" | "vue/no-custom-modifiers-on-v-model" | "vue/no-multiple-template-root" | "vue/attribute-hyphenation" | "vue/component-definition-name-casing" | "vue/first-attribute-linebreak" | "vue/html-closing-bracket-newline" | "vue/html-closing-bracket-spacing" | "vue/html-end-tags" | "vue/html-indent" | "vue/html-quotes" | "vue/html-self-closing" | "vue/max-attributes-per-line" | "vue/multiline-html-element-content-newline" | "vue/mustache-interpolation-spacing" | "vue/no-multi-spaces" | "vue/no-spaces-around-equal-signs-in-attribute" | "vue/no-template-shadow" | "vue/one-component-per-file" | "vue/prop-name-casing" | "vue/require-default-prop" | "vue/require-prop-types" | "vue/singleline-html-element-content-newline" | "vue/v-bind-style" | "vue/v-on-style" | "vue/v-slot-style" | "vue/require-explicit-emits" | "vue/v-on-event-hyphenation" | "vue/attributes-order" | "vue/block-order" | "vue/no-lone-template" | "vue/no-multiple-slot-args" | "vue/no-required-prop-with-default" | "vue/no-v-html" | "vue/order-in-components" | "vue/this-in-template" | "vue/block-lang" | "vue/block-tag-newline" | "vue/component-api-style" | "vue/component-name-in-template-casing" | "vue/component-options-name-casing" | "vue/custom-event-name-casing" | "vue/define-emits-declaration" | "vue/define-macros-order" | "vue/define-props-declaration" | "vue/define-props-destructuring" | "vue/enforce-style-attribute" | "vue/html-button-has-type" | "vue/html-comment-content-newline" | "vue/html-comment-content-spacing" | "vue/html-comment-indent" | "vue/match-component-file-name" | "vue/match-component-import-name" | "vue/max-lines-per-block" | "vue/max-props" | "vue/max-template-depth" | "vue/new-line-between-multi-line-property" | "vue/next-tick-style" | "vue/no-bare-strings-in-template" | "vue/no-boolean-default" | "vue/no-duplicate-attr-inheritance" | "vue/no-duplicate-class-names" | "vue/no-empty-component-block" | "vue/no-import-compiler-macros" | "vue/no-multiple-objects-in-class" | "vue/no-negated-v-if-condition" | "vue/no-potential-component-option-typo" | "vue/no-ref-object-reactivity-loss" | "vue/no-restricted-block" | "vue/no-restricted-call-after-await" | "vue/no-restricted-class" | "vue/no-restricted-component-names" | "vue/no-restricted-component-options" | "vue/no-restricted-custom-event" | "vue/no-restricted-html-elements" | "vue/no-restricted-props" | "vue/no-restricted-static-attribute" | "vue/no-restricted-v-bind" | "vue/no-restricted-v-on" | "vue/no-root-v-if" | "vue/no-setup-props-reactivity-loss" | "vue/no-static-inline-styles" | "vue/no-template-target-blank" | "vue/no-this-in-before-route-enter" | "vue/no-undef-components" | "vue/no-undef-properties" | "vue/no-unsupported-features" | "vue/no-unused-emit-declarations" | "vue/no-unused-properties" | "vue/no-unused-refs" | "vue/no-use-v-else-with-v-for" | "vue/no-useless-mustaches" | "vue/no-useless-v-bind" | "vue/no-v-text" | "vue/padding-line-between-blocks" | "vue/padding-line-between-tags" | "vue/padding-lines-in-component-definition" | "vue/prefer-define-options" | "vue/prefer-prop-type-boolean-first" | "vue/prefer-separate-static-class" | "vue/prefer-true-attribute-shorthand" | "vue/prefer-use-template-ref" | "vue/require-default-export" | "vue/require-direct-export" | "vue/require-emit-validator" | "vue/require-explicit-slots" | "vue/require-expose" | "vue/require-macro-variable-name" | "vue/require-name-property" | "vue/require-prop-comment" | "vue/require-typed-object-prop" | "vue/require-typed-ref" | "vue/restricted-component-names" | "vue/script-indent" | "vue/slot-name-casing" | "vue/sort-keys" | "vue/static-class-names-order" | "vue/v-for-delimiter-style" | "vue/v-if-else-key" | "vue/v-on-handler-style" | "vue/array-bracket-newline" | "vue/array-bracket-spacing" | "vue/array-element-newline" | "vue/arrow-spacing" | "vue/block-spacing" | "vue/brace-style" | "vue/camelcase" | "vue/comma-dangle" | "vue/comma-spacing" | "vue/comma-style" | "vue/dot-location" | "vue/dot-notation" | "vue/eqeqeq" | "vue/func-call-spacing" | "vue/key-spacing" | "vue/keyword-spacing" | "vue/max-len" | "vue/multiline-ternary" | "vue/no-console" | "vue/no-constant-condition" | "vue/no-empty-pattern" | "vue/no-extra-parens" | "vue/no-implicit-coercion" | "vue/no-irregular-whitespace" | "vue/no-loss-of-precision" | "vue/no-negated-condition" | "vue/no-restricted-syntax" | "vue/no-sparse-arrays" | "vue/no-useless-concat" | "vue/object-curly-newline" | "vue/object-curly-spacing" | "vue/object-property-newline" | "vue/object-shorthand" | "vue/operator-linebreak" | "vue/prefer-template" | "vue/quote-props" | "vue/space-in-parens" | "vue/space-infix-ops" | "vue/space-unary-ops" | "vue/template-curly-spacing", RuleConfig<unknown[]>>;
56
+ stylistic: Record<"stylistic/array-bracket-newline" | "stylistic/array-bracket-spacing" | "stylistic/array-element-newline" | "stylistic/arrow-parens" | "stylistic/arrow-spacing" | "stylistic/block-spacing" | "stylistic/brace-style" | "stylistic/comma-dangle" | "stylistic/comma-spacing" | "stylistic/comma-style" | "stylistic/computed-property-spacing" | "stylistic/curly-newline" | "stylistic/dot-location" | "stylistic/eol-last" | "stylistic/function-call-argument-newline" | "stylistic/function-call-spacing" | "stylistic/function-paren-newline" | "stylistic/generator-star-spacing" | "stylistic/implicit-arrow-linebreak" | "stylistic/indent" | "stylistic/indent-binary-ops" | "stylistic/jsx-child-element-spacing" | "stylistic/jsx-closing-bracket-location" | "stylistic/jsx-closing-tag-location" | "stylistic/jsx-curly-brace-presence" | "stylistic/jsx-curly-newline" | "stylistic/jsx-curly-spacing" | "stylistic/jsx-equals-spacing" | "stylistic/jsx-first-prop-new-line" | "stylistic/jsx-function-call-newline" | "stylistic/jsx-indent-props" | "stylistic/jsx-max-props-per-line" | "stylistic/jsx-newline" | "stylistic/jsx-one-expression-per-line" | "stylistic/jsx-pascal-case" | "stylistic/jsx-quotes" | "stylistic/jsx-self-closing-comp" | "stylistic/jsx-tag-spacing" | "stylistic/jsx-wrap-multilines" | "stylistic/key-spacing" | "stylistic/keyword-spacing" | "stylistic/line-comment-position" | "stylistic/linebreak-style" | "stylistic/lines-around-comment" | "stylistic/lines-between-class-members" | "stylistic/max-len" | "stylistic/max-statements-per-line" | "stylistic/member-delimiter-style" | "stylistic/multiline-comment-style" | "stylistic/multiline-ternary" | "stylistic/new-parens" | "stylistic/newline-per-chained-call" | "stylistic/no-confusing-arrow" | "stylistic/no-extra-parens" | "stylistic/no-extra-semi" | "stylistic/no-floating-decimal" | "stylistic/no-mixed-operators" | "stylistic/no-mixed-spaces-and-tabs" | "stylistic/no-multi-spaces" | "stylistic/no-multiple-empty-lines" | "stylistic/no-tabs" | "stylistic/no-trailing-spaces" | "stylistic/no-whitespace-before-property" | "stylistic/nonblock-statement-body-position" | "stylistic/object-curly-newline" | "stylistic/object-curly-spacing" | "stylistic/object-property-newline" | "stylistic/one-var-declaration-per-line" | "stylistic/operator-linebreak" | "stylistic/padded-blocks" | "stylistic/padding-line-between-statements" | "stylistic/quote-props" | "stylistic/quotes" | "stylistic/rest-spread-spacing" | "stylistic/semi" | "stylistic/semi-spacing" | "stylistic/semi-style" | "stylistic/space-before-blocks" | "stylistic/space-before-function-paren" | "stylistic/space-in-parens" | "stylistic/space-infix-ops" | "stylistic/space-unary-ops" | "stylistic/spaced-comment" | "stylistic/switch-colon-spacing" | "stylistic/template-curly-spacing" | "stylistic/template-tag-spacing" | "stylistic/type-annotation-spacing" | "stylistic/type-generic-spacing" | "stylistic/type-named-tuple-spacing" | "stylistic/wrap-iife" | "stylistic/wrap-regex" | "stylistic/yield-star-spacing", RuleConfig<unknown[]>>;
57
+ antfu: Record<"antfu/consistent-chaining" | "antfu/consistent-list-newline" | "antfu/curly" | "antfu/if-newline" | "antfu/import-dedupe" | "antfu/indent-unindent" | "antfu/no-import-dist" | "antfu/no-import-node-modules-by-path" | "antfu/no-top-level-await" | "antfu/no-ts-export-equal" | "antfu/top-level-function", RuleConfig<unknown[]>>;
58
+ imports: Record<"imports/consistent-type-specifier-style" | "imports/exports-last" | "imports/first" | "imports/newline-after-import" | "imports/no-default-export" | "imports/no-duplicates" | "imports/no-mutable-exports" | "imports/no-named-default" | "imports/prefer-default-export", RuleConfig<unknown[]>>;
59
+ importsSort: Record<"importsSort/imports" | "importsSort/exports", RuleConfig<unknown[]>>;
60
+ };
61
+ /**
62
+ * 创建规则集合
63
+ *
64
+ * 从已有规则组中取出全部规则;传入 `prefix` 时会将规则名的命名空间前缀改写为目标前缀(如 `react/*` → `react-hooks/*`)。
65
+ *
66
+ * @param rule 规则组名称(`"javascript"` | `"typescript"` | `"react"` | `"reactHooks"` | `"vue"` | `"stylistic"` | `"antfu"` | `"imports"` | `"importsSort"`)
67
+ * @param prefix 目标命名空间前缀(可选,格式为 `name/`,如 `"react-hooks"`)
68
+ * @returns 规则名到规则配置的映射;规则组不存在时返回空对象
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * // 不传 prefix:返回原规则组
73
+ * const tsRules = createRules("typescript");
74
+ *
75
+ * // 传 prefix:改写命名空间前缀
76
+ * const reactHooksRules = createRules("react", "react-hooks");
77
+ * // { "react-hooks/display-name": 2, ... }
78
+ *
79
+ * // 非法规则组:返回空对象
80
+ * const empty = createRules("unknown");
81
+ * ```
82
+ */
83
+ declare function createRules(rule: keyof typeof rules, prefix?: string): Record<"array-callback-return" | "constructor-super" | "for-direction" | "getter-return" | "no-async-promise-executor" | "no-await-in-loop" | "no-class-assign" | "no-compare-neg-zero" | "no-cond-assign" | "no-const-assign" | "no-constant-binary-expression" | "no-constant-condition" | "no-constructor-return" | "no-control-regex" | "no-debugger" | "no-dupe-args" | "no-dupe-class-members" | "no-dupe-else-if" | "no-dupe-keys" | "no-duplicate-case" | "no-duplicate-imports" | "no-empty-character-class" | "no-empty-pattern" | "no-ex-assign" | "no-fallthrough" | "no-func-assign" | "no-import-assign" | "no-inner-declarations" | "no-invalid-regexp" | "no-irregular-whitespace" | "no-loss-of-precision" | "no-misleading-character-class" | "no-new-native-nonconstructor" | "no-obj-calls" | "no-promise-executor-return" | "no-prototype-builtins" | "no-self-assign" | "no-self-compare" | "no-setter-return" | "no-sparse-arrays" | "no-template-curly-in-string" | "no-this-before-super" | "no-undef" | "no-unexpected-multiline" | "no-unmodified-loop-condition" | "no-unreachable" | "no-unreachable-loop" | "no-unsafe-finally" | "no-unsafe-negation" | "no-unsafe-optional-chaining" | "no-unused-private-class-members" | "no-unused-vars" | "no-use-before-define" | "no-useless-assignment" | "no-useless-backreference" | "require-atomic-updates" | "use-isnan" | "valid-typeof" | "accessor-pairs" | "arrow-body-style" | "block-scoped-var" | "camelcase" | "capitalized-comments" | "class-methods-use-this" | "complexity" | "consistent-return" | "consistent-this" | "curly" | "default-case" | "default-case-last" | "default-param-last" | "dot-notation" | "eqeqeq" | "func-name-matching" | "func-names" | "func-style" | "grouped-accessor-pairs" | "guard-for-in" | "id-denylist" | "id-length" | "id-match" | "init-declarations" | "logical-assignment-operators" | "max-classes-per-file" | "max-depth" | "max-lines" | "max-lines-per-function" | "max-nested-callbacks" | "max-params" | "max-statements" | "new-cap" | "no-alert" | "no-array-constructor" | "no-bitwise" | "no-caller" | "no-case-declarations" | "no-console" | "no-continue" | "no-delete-var" | "no-div-regex" | "no-else-return" | "no-empty" | "no-empty-function" | "no-empty-static-block" | "no-eq-null" | "no-eval" | "no-extend-native" | "no-extra-bind" | "no-extra-boolean-cast" | "no-extra-label" | "no-global-assign" | "no-implicit-coercion" | "no-implicit-globals" | "no-implied-eval" | "no-inline-comments" | "no-invalid-this" | "no-iterator" | "no-label-var" | "no-labels" | "no-lone-blocks" | "no-lonely-if" | "no-loop-func" | "no-magic-numbers" | "no-multi-assign" | "no-multi-str" | "no-negated-condition" | "no-nested-ternary" | "no-new" | "no-new-func" | "no-new-wrappers" | "no-nonoctal-decimal-escape" | "no-object-constructor" | "no-octal" | "no-octal-escape" | "no-param-reassign" | "no-plusplus" | "no-proto" | "no-redeclare" | "no-regex-spaces" | "no-restricted-exports" | "no-restricted-globals" | "no-restricted-imports" | "no-restricted-properties" | "no-restricted-syntax" | "no-return-assign" | "no-script-url" | "no-sequences" | "no-shadow" | "no-shadow-restricted-names" | "no-ternary" | "no-throw-literal" | "no-undef-init" | "no-undefined" | "no-underscore-dangle" | "no-unneeded-ternary" | "no-unused-expressions" | "no-unused-labels" | "no-useless-call" | "no-useless-catch" | "no-useless-computed-key" | "no-useless-concat" | "no-useless-constructor" | "no-useless-escape" | "no-useless-rename" | "no-useless-return" | "no-var" | "no-void" | "no-warning-comments" | "no-with" | "object-shorthand" | "one-var" | "operator-assignment" | "prefer-arrow-callback" | "prefer-const" | "prefer-destructuring" | "prefer-exponentiation-operator" | "prefer-named-capture-group" | "prefer-numeric-literals" | "prefer-object-has-own" | "prefer-object-spread" | "prefer-promise-reject-errors" | "prefer-regex-literals" | "prefer-rest-params" | "prefer-spread" | "prefer-template" | "radix" | "require-await" | "require-unicode-regexp" | "require-yield" | "sort-imports" | "sort-keys" | "sort-vars" | "strict" | "symbol-description" | "vars-on-top" | "yoda", RuleConfig<unknown[]>> | Record<"no-dupe-class-members" | "no-unused-vars" | "no-use-before-define" | "class-methods-use-this" | "default-param-last" | "dot-notation" | "init-declarations" | "max-params" | "no-array-constructor" | "no-empty-function" | "no-implied-eval" | "no-loop-func" | "no-magic-numbers" | "no-redeclare" | "no-restricted-imports" | "no-shadow" | "no-unused-expressions" | "no-useless-constructor" | "prefer-destructuring" | "prefer-promise-reject-errors" | "require-await" | "ts/adjacent-overload-signatures" | "ts/array-type" | "ts/await-thenable" | "ts/ban-ts-comment" | "ts/ban-tslint-comment" | "ts/class-literal-property-style" | "ts/class-methods-use-this" | "ts/consistent-generic-constructors" | "ts/consistent-indexed-object-style" | "ts/consistent-type-assertions" | "ts/consistent-type-definitions" | "ts/consistent-type-exports" | "ts/consistent-type-imports" | "ts/default-param-last" | "ts/dot-notation" | "ts/explicit-function-return-type" | "ts/explicit-member-accessibility" | "ts/explicit-module-boundary-types" | "ts/init-declarations" | "ts/max-params" | "ts/member-ordering" | "ts/method-signature-style" | "ts/naming-convention" | "ts/no-array-constructor" | "ts/no-array-delete" | "ts/no-base-to-string" | "ts/no-confusing-non-null-assertion" | "ts/no-confusing-void-expression" | "ts/no-deprecated" | "ts/no-dupe-class-members" | "ts/no-duplicate-enum-values" | "ts/no-duplicate-type-constituents" | "ts/no-dynamic-delete" | "ts/no-empty-function" | "ts/no-empty-object-type" | "ts/no-explicit-any" | "ts/no-extra-non-null-assertion" | "ts/no-extraneous-class" | "ts/no-floating-promises" | "ts/no-for-in-array" | "ts/no-implied-eval" | "ts/no-import-type-side-effects" | "ts/no-inferrable-types" | "ts/no-invalid-void-type" | "ts/no-loop-func" | "ts/no-magic-numbers" | "ts/no-meaningless-void-operator" | "ts/no-misused-new" | "ts/no-misused-promises" | "ts/no-misused-spread" | "ts/no-mixed-enums" | "ts/no-namespace" | "ts/no-non-null-asserted-nullish-coalescing" | "ts/no-non-null-asserted-optional-chain" | "ts/no-non-null-assertion" | "ts/no-redeclare" | "ts/no-redundant-type-constituents" | "ts/no-require-imports" | "ts/no-restricted-imports" | "ts/no-restricted-types" | "ts/no-shadow" | "ts/no-this-alias" | "ts/no-unnecessary-boolean-literal-compare" | "ts/no-unnecessary-condition" | "ts/no-unnecessary-parameter-property-assignment" | "ts/no-unnecessary-qualifier" | "ts/no-unnecessary-template-expression" | "ts/no-unnecessary-type-arguments" | "ts/no-unnecessary-type-assertion" | "ts/no-unnecessary-type-constraint" | "ts/no-unnecessary-type-parameters" | "ts/no-unsafe-argument" | "ts/no-unsafe-assignment" | "ts/no-unsafe-call" | "ts/no-unsafe-declaration-merging" | "ts/no-unsafe-enum-comparison" | "ts/no-unsafe-function-type" | "ts/no-unsafe-member-access" | "ts/no-unsafe-return" | "ts/no-unsafe-type-assertion" | "ts/no-unsafe-unary-minus" | "ts/no-unused-expressions" | "ts/no-unused-vars" | "ts/no-use-before-define" | "ts/no-useless-constructor" | "ts/no-useless-empty-export" | "ts/no-wrapper-object-types" | "ts/non-nullable-type-assertion-style" | "ts/only-throw-error" | "ts/parameter-properties" | "ts/prefer-as-const" | "ts/prefer-destructuring" | "ts/prefer-enum-initializers" | "ts/prefer-find" | "ts/prefer-for-of" | "ts/prefer-function-type" | "ts/prefer-includes" | "ts/prefer-literal-enum-member" | "ts/prefer-namespace-keyword" | "ts/prefer-nullish-coalescing" | "ts/prefer-optional-chain" | "ts/prefer-promise-reject-errors" | "ts/prefer-readonly" | "ts/prefer-readonly-parameter-types" | "ts/prefer-reduce-type-parameter" | "ts/prefer-regexp-exec" | "ts/prefer-return-this-type" | "ts/prefer-string-starts-ends-with" | "ts/promise-function-async" | "ts/related-getter-setter-pairs" | "ts/require-array-sort-compare" | "ts/require-await" | "ts/restrict-plus-operands" | "ts/restrict-template-expressions" | "ts/return-await" | "ts/strict-boolean-expressions" | "ts/switch-exhaustiveness-check" | "ts/triple-slash-reference" | "ts/typedef" | "ts/unbound-method" | "ts/unified-signatures" | "ts/use-unknown-in-catch-callback-variable", RuleConfig<unknown[]>> | Record<"react/error-boundaries" | "react/exhaustive-deps" | "react/globals" | "react/immutability" | "react/no-access-state-in-setstate" | "react/no-array-index-key" | "react/no-children-count" | "react/no-children-for-each" | "react/no-children-map" | "react/no-children-only" | "react/no-children-to-array" | "react/no-class-component" | "react/no-clone-element" | "react/no-component-will-mount" | "react/no-component-will-receive-props" | "react/no-component-will-update" | "react/no-context-provider" | "react/no-create-ref" | "react/no-direct-mutation-state" | "react/no-duplicate-key" | "react/no-forward-ref" | "react/no-implicit-children" | "react/no-implicit-key" | "react/no-implicit-ref" | "react/no-leaked-conditional-rendering" | "react/no-missing-component-display-name" | "react/no-missing-context-display-name" | "react/no-missing-key" | "react/no-misused-capture-owner-stack" | "react/no-nested-component-definitions" | "react/no-nested-lazy-component-declarations" | "react/no-set-state-in-component-did-mount" | "react/no-set-state-in-component-did-update" | "react/no-set-state-in-component-will-update" | "react/no-unnecessary-use-prefix" | "react/no-unsafe-component-will-mount" | "react/no-unsafe-component-will-receive-props" | "react/no-unsafe-component-will-update" | "react/no-unstable-context-value" | "react/no-unstable-default-props" | "react/no-unused-class-component-members" | "react/no-unused-props" | "react/no-use-context" | "react/purity" | "react/refs" | "react/rules-of-hooks" | "react/set-state-in-effect" | "react/set-state-in-render" | "react/static-components" | "react/unsupported-syntax" | "react/use-memo" | "react/use-state" | "react/jsx-no-children-prop" | "react/jsx-no-children-prop-with-children" | "react/jsx-no-comment-textnodes" | "react/jsx-no-key-after-spread" | "react/jsx-no-leaked-dollar" | "react/jsx-no-leaked-semicolon" | "react/jsx-no-namespace" | "react/jsx-no-useless-fragment" | "react/rsc-function-definition" | "react/dom-no-dangerously-set-innerhtml" | "react/dom-no-dangerously-set-innerhtml-with-children" | "react/dom-no-find-dom-node" | "react/dom-no-flush-sync" | "react/dom-no-hydrate" | "react/dom-no-missing-button-type" | "react/dom-no-missing-iframe-sandbox" | "react/dom-no-render" | "react/dom-no-render-return-value" | "react/dom-no-script-url" | "react/dom-no-string-style-prop" | "react/dom-no-unknown-property" | "react/dom-no-unsafe-iframe-sandbox" | "react/dom-no-unsafe-target-blank" | "react/dom-no-use-form-state" | "react/dom-no-void-elements-with-children" | "react/web-api-no-leaked-event-listener" | "react/web-api-no-leaked-fetch" | "react/web-api-no-leaked-interval" | "react/web-api-no-leaked-resize-observer" | "react/web-api-no-leaked-timeout" | "react/web-api-no-leaked-intersection-observer" | "react/naming-convention-context-name" | "react/naming-convention-id-name" | "react/naming-convention-ref-name" | "react/debug-function-component" | "react/debug-hook" | "react/debug-is-from-react" | "react/debug-is-from-ref" | "react/debug-jsx", RuleConfig<unknown[]>> | Record<"react-hooks/exhaustive-deps" | "react-hooks/rules-of-hooks" | "react-hooks/component-hook-factories" | "react-hooks/config" | "react-hooks/error-boundaries" | "react-hooks/gating" | "react-hooks/globals" | "react-hooks/immutability" | "react-hooks/incompatible-library" | "react-hooks/preserve-manual-memoization" | "react-hooks/purity" | "react-hooks/refs" | "react-hooks/set-state-in-effect" | "react-hooks/set-state-in-render" | "react-hooks/static-components" | "react-hooks/unsupported-syntax" | "react-hooks/use-memo", RuleConfig<unknown[]>> | Record<"vue/comment-directive" | "vue/jsx-uses-vars" | "vue/multi-word-component-names" | "vue/no-arrow-functions-in-watch" | "vue/no-async-in-computed-properties" | "vue/no-child-content" | "vue/no-computed-properties-in-data" | "vue/no-dupe-keys" | "vue/no-dupe-v-else-if" | "vue/no-duplicate-attributes" | "vue/no-export-in-script-setup" | "vue/no-mutating-props" | "vue/no-parsing-error" | "vue/no-ref-as-operand" | "vue/no-reserved-component-names" | "vue/no-reserved-keys" | "vue/no-reserved-props" | "vue/no-shared-component-data" | "vue/no-side-effects-in-computed-properties" | "vue/no-template-key" | "vue/no-textarea-mustache" | "vue/no-unused-components" | "vue/no-unused-vars" | "vue/no-use-computed-property-like-method" | "vue/no-use-v-if-with-v-for" | "vue/no-useless-template-attributes" | "vue/no-v-text-v-html-on-component" | "vue/require-component-is" | "vue/require-prop-type-constructor" | "vue/require-render-return" | "vue/require-v-for-key" | "vue/require-valid-default-prop" | "vue/return-in-computed-property" | "vue/return-in-emits-validator" | "vue/use-v-on-exact" | "vue/valid-attribute-name" | "vue/valid-define-emits" | "vue/valid-define-props" | "vue/valid-next-tick" | "vue/valid-template-root" | "vue/valid-v-bind" | "vue/valid-v-cloak" | "vue/valid-v-else-if" | "vue/valid-v-else" | "vue/valid-v-for" | "vue/valid-v-html" | "vue/valid-v-if" | "vue/valid-v-model" | "vue/valid-v-on" | "vue/valid-v-once" | "vue/valid-v-pre" | "vue/valid-v-show" | "vue/valid-v-slot" | "vue/valid-v-text" | "vue/no-deprecated-data-object-declaration" | "vue/no-deprecated-delete-set" | "vue/no-deprecated-destroyed-lifecycle" | "vue/no-deprecated-dollar-listeners-api" | "vue/no-deprecated-dollar-scopedslots-api" | "vue/no-deprecated-events-api" | "vue/no-deprecated-filter" | "vue/no-deprecated-functional-template" | "vue/no-deprecated-html-element-is" | "vue/no-deprecated-inline-template" | "vue/no-deprecated-model-definition" | "vue/no-deprecated-props-default-this" | "vue/no-deprecated-router-link-tag-prop" | "vue/no-deprecated-scope-attribute" | "vue/no-deprecated-slot-attribute" | "vue/no-deprecated-slot-scope-attribute" | "vue/no-deprecated-v-bind-sync" | "vue/no-deprecated-v-is" | "vue/no-deprecated-v-on-native-modifier" | "vue/no-deprecated-v-on-number-modifiers" | "vue/no-deprecated-vue-config-keycodes" | "vue/no-expose-after-await" | "vue/no-lifecycle-after-await" | "vue/no-v-for-template-key-on-child" | "vue/no-watch-after-await" | "vue/prefer-import-from-vue" | "vue/require-slots-as-functions" | "vue/require-toggle-inside-transition" | "vue/valid-define-options" | "vue/valid-v-is" | "vue/valid-v-memo" | "vue/no-custom-modifiers-on-v-model" | "vue/no-multiple-template-root" | "vue/attribute-hyphenation" | "vue/component-definition-name-casing" | "vue/first-attribute-linebreak" | "vue/html-closing-bracket-newline" | "vue/html-closing-bracket-spacing" | "vue/html-end-tags" | "vue/html-indent" | "vue/html-quotes" | "vue/html-self-closing" | "vue/max-attributes-per-line" | "vue/multiline-html-element-content-newline" | "vue/mustache-interpolation-spacing" | "vue/no-multi-spaces" | "vue/no-spaces-around-equal-signs-in-attribute" | "vue/no-template-shadow" | "vue/one-component-per-file" | "vue/prop-name-casing" | "vue/require-default-prop" | "vue/require-prop-types" | "vue/singleline-html-element-content-newline" | "vue/v-bind-style" | "vue/v-on-style" | "vue/v-slot-style" | "vue/require-explicit-emits" | "vue/v-on-event-hyphenation" | "vue/attributes-order" | "vue/block-order" | "vue/no-lone-template" | "vue/no-multiple-slot-args" | "vue/no-required-prop-with-default" | "vue/no-v-html" | "vue/order-in-components" | "vue/this-in-template" | "vue/block-lang" | "vue/block-tag-newline" | "vue/component-api-style" | "vue/component-name-in-template-casing" | "vue/component-options-name-casing" | "vue/custom-event-name-casing" | "vue/define-emits-declaration" | "vue/define-macros-order" | "vue/define-props-declaration" | "vue/define-props-destructuring" | "vue/enforce-style-attribute" | "vue/html-button-has-type" | "vue/html-comment-content-newline" | "vue/html-comment-content-spacing" | "vue/html-comment-indent" | "vue/match-component-file-name" | "vue/match-component-import-name" | "vue/max-lines-per-block" | "vue/max-props" | "vue/max-template-depth" | "vue/new-line-between-multi-line-property" | "vue/next-tick-style" | "vue/no-bare-strings-in-template" | "vue/no-boolean-default" | "vue/no-duplicate-attr-inheritance" | "vue/no-duplicate-class-names" | "vue/no-empty-component-block" | "vue/no-import-compiler-macros" | "vue/no-multiple-objects-in-class" | "vue/no-negated-v-if-condition" | "vue/no-potential-component-option-typo" | "vue/no-ref-object-reactivity-loss" | "vue/no-restricted-block" | "vue/no-restricted-call-after-await" | "vue/no-restricted-class" | "vue/no-restricted-component-names" | "vue/no-restricted-component-options" | "vue/no-restricted-custom-event" | "vue/no-restricted-html-elements" | "vue/no-restricted-props" | "vue/no-restricted-static-attribute" | "vue/no-restricted-v-bind" | "vue/no-restricted-v-on" | "vue/no-root-v-if" | "vue/no-setup-props-reactivity-loss" | "vue/no-static-inline-styles" | "vue/no-template-target-blank" | "vue/no-this-in-before-route-enter" | "vue/no-undef-components" | "vue/no-undef-properties" | "vue/no-unsupported-features" | "vue/no-unused-emit-declarations" | "vue/no-unused-properties" | "vue/no-unused-refs" | "vue/no-use-v-else-with-v-for" | "vue/no-useless-mustaches" | "vue/no-useless-v-bind" | "vue/no-v-text" | "vue/padding-line-between-blocks" | "vue/padding-line-between-tags" | "vue/padding-lines-in-component-definition" | "vue/prefer-define-options" | "vue/prefer-prop-type-boolean-first" | "vue/prefer-separate-static-class" | "vue/prefer-true-attribute-shorthand" | "vue/prefer-use-template-ref" | "vue/require-default-export" | "vue/require-direct-export" | "vue/require-emit-validator" | "vue/require-explicit-slots" | "vue/require-expose" | "vue/require-macro-variable-name" | "vue/require-name-property" | "vue/require-prop-comment" | "vue/require-typed-object-prop" | "vue/require-typed-ref" | "vue/restricted-component-names" | "vue/script-indent" | "vue/slot-name-casing" | "vue/sort-keys" | "vue/static-class-names-order" | "vue/v-for-delimiter-style" | "vue/v-if-else-key" | "vue/v-on-handler-style" | "vue/array-bracket-newline" | "vue/array-bracket-spacing" | "vue/array-element-newline" | "vue/arrow-spacing" | "vue/block-spacing" | "vue/brace-style" | "vue/camelcase" | "vue/comma-dangle" | "vue/comma-spacing" | "vue/comma-style" | "vue/dot-location" | "vue/dot-notation" | "vue/eqeqeq" | "vue/func-call-spacing" | "vue/key-spacing" | "vue/keyword-spacing" | "vue/max-len" | "vue/multiline-ternary" | "vue/no-console" | "vue/no-constant-condition" | "vue/no-empty-pattern" | "vue/no-extra-parens" | "vue/no-implicit-coercion" | "vue/no-irregular-whitespace" | "vue/no-loss-of-precision" | "vue/no-negated-condition" | "vue/no-restricted-syntax" | "vue/no-sparse-arrays" | "vue/no-useless-concat" | "vue/object-curly-newline" | "vue/object-curly-spacing" | "vue/object-property-newline" | "vue/object-shorthand" | "vue/operator-linebreak" | "vue/prefer-template" | "vue/quote-props" | "vue/space-in-parens" | "vue/space-infix-ops" | "vue/space-unary-ops" | "vue/template-curly-spacing", RuleConfig<unknown[]>> | Record<"stylistic/array-bracket-newline" | "stylistic/array-bracket-spacing" | "stylistic/array-element-newline" | "stylistic/arrow-parens" | "stylistic/arrow-spacing" | "stylistic/block-spacing" | "stylistic/brace-style" | "stylistic/comma-dangle" | "stylistic/comma-spacing" | "stylistic/comma-style" | "stylistic/computed-property-spacing" | "stylistic/curly-newline" | "stylistic/dot-location" | "stylistic/eol-last" | "stylistic/function-call-argument-newline" | "stylistic/function-call-spacing" | "stylistic/function-paren-newline" | "stylistic/generator-star-spacing" | "stylistic/implicit-arrow-linebreak" | "stylistic/indent" | "stylistic/indent-binary-ops" | "stylistic/jsx-child-element-spacing" | "stylistic/jsx-closing-bracket-location" | "stylistic/jsx-closing-tag-location" | "stylistic/jsx-curly-brace-presence" | "stylistic/jsx-curly-newline" | "stylistic/jsx-curly-spacing" | "stylistic/jsx-equals-spacing" | "stylistic/jsx-first-prop-new-line" | "stylistic/jsx-function-call-newline" | "stylistic/jsx-indent-props" | "stylistic/jsx-max-props-per-line" | "stylistic/jsx-newline" | "stylistic/jsx-one-expression-per-line" | "stylistic/jsx-pascal-case" | "stylistic/jsx-quotes" | "stylistic/jsx-self-closing-comp" | "stylistic/jsx-tag-spacing" | "stylistic/jsx-wrap-multilines" | "stylistic/key-spacing" | "stylistic/keyword-spacing" | "stylistic/line-comment-position" | "stylistic/linebreak-style" | "stylistic/lines-around-comment" | "stylistic/lines-between-class-members" | "stylistic/max-len" | "stylistic/max-statements-per-line" | "stylistic/member-delimiter-style" | "stylistic/multiline-comment-style" | "stylistic/multiline-ternary" | "stylistic/new-parens" | "stylistic/newline-per-chained-call" | "stylistic/no-confusing-arrow" | "stylistic/no-extra-parens" | "stylistic/no-extra-semi" | "stylistic/no-floating-decimal" | "stylistic/no-mixed-operators" | "stylistic/no-mixed-spaces-and-tabs" | "stylistic/no-multi-spaces" | "stylistic/no-multiple-empty-lines" | "stylistic/no-tabs" | "stylistic/no-trailing-spaces" | "stylistic/no-whitespace-before-property" | "stylistic/nonblock-statement-body-position" | "stylistic/object-curly-newline" | "stylistic/object-curly-spacing" | "stylistic/object-property-newline" | "stylistic/one-var-declaration-per-line" | "stylistic/operator-linebreak" | "stylistic/padded-blocks" | "stylistic/padding-line-between-statements" | "stylistic/quote-props" | "stylistic/quotes" | "stylistic/rest-spread-spacing" | "stylistic/semi" | "stylistic/semi-spacing" | "stylistic/semi-style" | "stylistic/space-before-blocks" | "stylistic/space-before-function-paren" | "stylistic/space-in-parens" | "stylistic/space-infix-ops" | "stylistic/space-unary-ops" | "stylistic/spaced-comment" | "stylistic/switch-colon-spacing" | "stylistic/template-curly-spacing" | "stylistic/template-tag-spacing" | "stylistic/type-annotation-spacing" | "stylistic/type-generic-spacing" | "stylistic/type-named-tuple-spacing" | "stylistic/wrap-iife" | "stylistic/wrap-regex" | "stylistic/yield-star-spacing", RuleConfig<unknown[]>> | Record<"antfu/consistent-chaining" | "antfu/consistent-list-newline" | "antfu/curly" | "antfu/if-newline" | "antfu/import-dedupe" | "antfu/indent-unindent" | "antfu/no-import-dist" | "antfu/no-import-node-modules-by-path" | "antfu/no-top-level-await" | "antfu/no-ts-export-equal" | "antfu/top-level-function", RuleConfig<unknown[]>> | Record<"imports/consistent-type-specifier-style" | "imports/exports-last" | "imports/first" | "imports/newline-after-import" | "imports/no-default-export" | "imports/no-duplicates" | "imports/no-mutable-exports" | "imports/no-named-default" | "imports/prefer-default-export", RuleConfig<unknown[]>> | Record<"importsSort/imports" | "importsSort/exports", RuleConfig<unknown[]>>;
84
+ /**
85
+ * 默认导出
86
+ *
87
+ * 聚合全部规则组与工具:`javascript`、`typescript`、`react`、`reactHooks`、`vue`、`stylistic`、`antfu`、`imports`、`importsSort`、`GLOB_EXCLUDE`、`createRules`。
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * import eslintRules from "@pawover/kit-eslint-rules";
92
+ *
93
+ * export default [
94
+ * { ignores: eslintRules.GLOB_EXCLUDE },
95
+ * { files: ["*.ts", "*.tsx"], rules: { ...eslintRules.javascript, ...eslintRules.typescript } },
96
+ * ];
97
+ * ```
98
+ */
99
+ declare const _default: {
100
+ GLOB_EXCLUDE: string[];
101
+ createRules: typeof createRules;
102
+ javascript: Record<"array-callback-return" | "constructor-super" | "for-direction" | "getter-return" | "no-async-promise-executor" | "no-await-in-loop" | "no-class-assign" | "no-compare-neg-zero" | "no-cond-assign" | "no-const-assign" | "no-constant-binary-expression" | "no-constant-condition" | "no-constructor-return" | "no-control-regex" | "no-debugger" | "no-dupe-args" | "no-dupe-class-members" | "no-dupe-else-if" | "no-dupe-keys" | "no-duplicate-case" | "no-duplicate-imports" | "no-empty-character-class" | "no-empty-pattern" | "no-ex-assign" | "no-fallthrough" | "no-func-assign" | "no-import-assign" | "no-inner-declarations" | "no-invalid-regexp" | "no-irregular-whitespace" | "no-loss-of-precision" | "no-misleading-character-class" | "no-new-native-nonconstructor" | "no-obj-calls" | "no-promise-executor-return" | "no-prototype-builtins" | "no-self-assign" | "no-self-compare" | "no-setter-return" | "no-sparse-arrays" | "no-template-curly-in-string" | "no-this-before-super" | "no-undef" | "no-unexpected-multiline" | "no-unmodified-loop-condition" | "no-unreachable" | "no-unreachable-loop" | "no-unsafe-finally" | "no-unsafe-negation" | "no-unsafe-optional-chaining" | "no-unused-private-class-members" | "no-unused-vars" | "no-use-before-define" | "no-useless-assignment" | "no-useless-backreference" | "require-atomic-updates" | "use-isnan" | "valid-typeof" | "accessor-pairs" | "arrow-body-style" | "block-scoped-var" | "camelcase" | "capitalized-comments" | "class-methods-use-this" | "complexity" | "consistent-return" | "consistent-this" | "curly" | "default-case" | "default-case-last" | "default-param-last" | "dot-notation" | "eqeqeq" | "func-name-matching" | "func-names" | "func-style" | "grouped-accessor-pairs" | "guard-for-in" | "id-denylist" | "id-length" | "id-match" | "init-declarations" | "logical-assignment-operators" | "max-classes-per-file" | "max-depth" | "max-lines" | "max-lines-per-function" | "max-nested-callbacks" | "max-params" | "max-statements" | "new-cap" | "no-alert" | "no-array-constructor" | "no-bitwise" | "no-caller" | "no-case-declarations" | "no-console" | "no-continue" | "no-delete-var" | "no-div-regex" | "no-else-return" | "no-empty" | "no-empty-function" | "no-empty-static-block" | "no-eq-null" | "no-eval" | "no-extend-native" | "no-extra-bind" | "no-extra-boolean-cast" | "no-extra-label" | "no-global-assign" | "no-implicit-coercion" | "no-implicit-globals" | "no-implied-eval" | "no-inline-comments" | "no-invalid-this" | "no-iterator" | "no-label-var" | "no-labels" | "no-lone-blocks" | "no-lonely-if" | "no-loop-func" | "no-magic-numbers" | "no-multi-assign" | "no-multi-str" | "no-negated-condition" | "no-nested-ternary" | "no-new" | "no-new-func" | "no-new-wrappers" | "no-nonoctal-decimal-escape" | "no-object-constructor" | "no-octal" | "no-octal-escape" | "no-param-reassign" | "no-plusplus" | "no-proto" | "no-redeclare" | "no-regex-spaces" | "no-restricted-exports" | "no-restricted-globals" | "no-restricted-imports" | "no-restricted-properties" | "no-restricted-syntax" | "no-return-assign" | "no-script-url" | "no-sequences" | "no-shadow" | "no-shadow-restricted-names" | "no-ternary" | "no-throw-literal" | "no-undef-init" | "no-undefined" | "no-underscore-dangle" | "no-unneeded-ternary" | "no-unused-expressions" | "no-unused-labels" | "no-useless-call" | "no-useless-catch" | "no-useless-computed-key" | "no-useless-concat" | "no-useless-constructor" | "no-useless-escape" | "no-useless-rename" | "no-useless-return" | "no-var" | "no-void" | "no-warning-comments" | "no-with" | "object-shorthand" | "one-var" | "operator-assignment" | "prefer-arrow-callback" | "prefer-const" | "prefer-destructuring" | "prefer-exponentiation-operator" | "prefer-named-capture-group" | "prefer-numeric-literals" | "prefer-object-has-own" | "prefer-object-spread" | "prefer-promise-reject-errors" | "prefer-regex-literals" | "prefer-rest-params" | "prefer-spread" | "prefer-template" | "radix" | "require-await" | "require-unicode-regexp" | "require-yield" | "sort-imports" | "sort-keys" | "sort-vars" | "strict" | "symbol-description" | "vars-on-top" | "yoda", RuleConfig<unknown[]>>;
103
+ typescript: Record<"no-dupe-class-members" | "no-unused-vars" | "no-use-before-define" | "class-methods-use-this" | "default-param-last" | "dot-notation" | "init-declarations" | "max-params" | "no-array-constructor" | "no-empty-function" | "no-implied-eval" | "no-loop-func" | "no-magic-numbers" | "no-redeclare" | "no-restricted-imports" | "no-shadow" | "no-unused-expressions" | "no-useless-constructor" | "prefer-destructuring" | "prefer-promise-reject-errors" | "require-await" | "ts/adjacent-overload-signatures" | "ts/array-type" | "ts/await-thenable" | "ts/ban-ts-comment" | "ts/ban-tslint-comment" | "ts/class-literal-property-style" | "ts/class-methods-use-this" | "ts/consistent-generic-constructors" | "ts/consistent-indexed-object-style" | "ts/consistent-type-assertions" | "ts/consistent-type-definitions" | "ts/consistent-type-exports" | "ts/consistent-type-imports" | "ts/default-param-last" | "ts/dot-notation" | "ts/explicit-function-return-type" | "ts/explicit-member-accessibility" | "ts/explicit-module-boundary-types" | "ts/init-declarations" | "ts/max-params" | "ts/member-ordering" | "ts/method-signature-style" | "ts/naming-convention" | "ts/no-array-constructor" | "ts/no-array-delete" | "ts/no-base-to-string" | "ts/no-confusing-non-null-assertion" | "ts/no-confusing-void-expression" | "ts/no-deprecated" | "ts/no-dupe-class-members" | "ts/no-duplicate-enum-values" | "ts/no-duplicate-type-constituents" | "ts/no-dynamic-delete" | "ts/no-empty-function" | "ts/no-empty-object-type" | "ts/no-explicit-any" | "ts/no-extra-non-null-assertion" | "ts/no-extraneous-class" | "ts/no-floating-promises" | "ts/no-for-in-array" | "ts/no-implied-eval" | "ts/no-import-type-side-effects" | "ts/no-inferrable-types" | "ts/no-invalid-void-type" | "ts/no-loop-func" | "ts/no-magic-numbers" | "ts/no-meaningless-void-operator" | "ts/no-misused-new" | "ts/no-misused-promises" | "ts/no-misused-spread" | "ts/no-mixed-enums" | "ts/no-namespace" | "ts/no-non-null-asserted-nullish-coalescing" | "ts/no-non-null-asserted-optional-chain" | "ts/no-non-null-assertion" | "ts/no-redeclare" | "ts/no-redundant-type-constituents" | "ts/no-require-imports" | "ts/no-restricted-imports" | "ts/no-restricted-types" | "ts/no-shadow" | "ts/no-this-alias" | "ts/no-unnecessary-boolean-literal-compare" | "ts/no-unnecessary-condition" | "ts/no-unnecessary-parameter-property-assignment" | "ts/no-unnecessary-qualifier" | "ts/no-unnecessary-template-expression" | "ts/no-unnecessary-type-arguments" | "ts/no-unnecessary-type-assertion" | "ts/no-unnecessary-type-constraint" | "ts/no-unnecessary-type-parameters" | "ts/no-unsafe-argument" | "ts/no-unsafe-assignment" | "ts/no-unsafe-call" | "ts/no-unsafe-declaration-merging" | "ts/no-unsafe-enum-comparison" | "ts/no-unsafe-function-type" | "ts/no-unsafe-member-access" | "ts/no-unsafe-return" | "ts/no-unsafe-type-assertion" | "ts/no-unsafe-unary-minus" | "ts/no-unused-expressions" | "ts/no-unused-vars" | "ts/no-use-before-define" | "ts/no-useless-constructor" | "ts/no-useless-empty-export" | "ts/no-wrapper-object-types" | "ts/non-nullable-type-assertion-style" | "ts/only-throw-error" | "ts/parameter-properties" | "ts/prefer-as-const" | "ts/prefer-destructuring" | "ts/prefer-enum-initializers" | "ts/prefer-find" | "ts/prefer-for-of" | "ts/prefer-function-type" | "ts/prefer-includes" | "ts/prefer-literal-enum-member" | "ts/prefer-namespace-keyword" | "ts/prefer-nullish-coalescing" | "ts/prefer-optional-chain" | "ts/prefer-promise-reject-errors" | "ts/prefer-readonly" | "ts/prefer-readonly-parameter-types" | "ts/prefer-reduce-type-parameter" | "ts/prefer-regexp-exec" | "ts/prefer-return-this-type" | "ts/prefer-string-starts-ends-with" | "ts/promise-function-async" | "ts/related-getter-setter-pairs" | "ts/require-array-sort-compare" | "ts/require-await" | "ts/restrict-plus-operands" | "ts/restrict-template-expressions" | "ts/return-await" | "ts/strict-boolean-expressions" | "ts/switch-exhaustiveness-check" | "ts/triple-slash-reference" | "ts/typedef" | "ts/unbound-method" | "ts/unified-signatures" | "ts/use-unknown-in-catch-callback-variable", RuleConfig<unknown[]>>;
104
+ react: Record<"react/error-boundaries" | "react/exhaustive-deps" | "react/globals" | "react/immutability" | "react/no-access-state-in-setstate" | "react/no-array-index-key" | "react/no-children-count" | "react/no-children-for-each" | "react/no-children-map" | "react/no-children-only" | "react/no-children-to-array" | "react/no-class-component" | "react/no-clone-element" | "react/no-component-will-mount" | "react/no-component-will-receive-props" | "react/no-component-will-update" | "react/no-context-provider" | "react/no-create-ref" | "react/no-direct-mutation-state" | "react/no-duplicate-key" | "react/no-forward-ref" | "react/no-implicit-children" | "react/no-implicit-key" | "react/no-implicit-ref" | "react/no-leaked-conditional-rendering" | "react/no-missing-component-display-name" | "react/no-missing-context-display-name" | "react/no-missing-key" | "react/no-misused-capture-owner-stack" | "react/no-nested-component-definitions" | "react/no-nested-lazy-component-declarations" | "react/no-set-state-in-component-did-mount" | "react/no-set-state-in-component-did-update" | "react/no-set-state-in-component-will-update" | "react/no-unnecessary-use-prefix" | "react/no-unsafe-component-will-mount" | "react/no-unsafe-component-will-receive-props" | "react/no-unsafe-component-will-update" | "react/no-unstable-context-value" | "react/no-unstable-default-props" | "react/no-unused-class-component-members" | "react/no-unused-props" | "react/no-use-context" | "react/purity" | "react/refs" | "react/rules-of-hooks" | "react/set-state-in-effect" | "react/set-state-in-render" | "react/static-components" | "react/unsupported-syntax" | "react/use-memo" | "react/use-state" | "react/jsx-no-children-prop" | "react/jsx-no-children-prop-with-children" | "react/jsx-no-comment-textnodes" | "react/jsx-no-key-after-spread" | "react/jsx-no-leaked-dollar" | "react/jsx-no-leaked-semicolon" | "react/jsx-no-namespace" | "react/jsx-no-useless-fragment" | "react/rsc-function-definition" | "react/dom-no-dangerously-set-innerhtml" | "react/dom-no-dangerously-set-innerhtml-with-children" | "react/dom-no-find-dom-node" | "react/dom-no-flush-sync" | "react/dom-no-hydrate" | "react/dom-no-missing-button-type" | "react/dom-no-missing-iframe-sandbox" | "react/dom-no-render" | "react/dom-no-render-return-value" | "react/dom-no-script-url" | "react/dom-no-string-style-prop" | "react/dom-no-unknown-property" | "react/dom-no-unsafe-iframe-sandbox" | "react/dom-no-unsafe-target-blank" | "react/dom-no-use-form-state" | "react/dom-no-void-elements-with-children" | "react/web-api-no-leaked-event-listener" | "react/web-api-no-leaked-fetch" | "react/web-api-no-leaked-interval" | "react/web-api-no-leaked-resize-observer" | "react/web-api-no-leaked-timeout" | "react/web-api-no-leaked-intersection-observer" | "react/naming-convention-context-name" | "react/naming-convention-id-name" | "react/naming-convention-ref-name" | "react/debug-function-component" | "react/debug-hook" | "react/debug-is-from-react" | "react/debug-is-from-ref" | "react/debug-jsx", RuleConfig<unknown[]>>;
105
+ reactHooks: Record<"react-hooks/exhaustive-deps" | "react-hooks/rules-of-hooks" | "react-hooks/component-hook-factories" | "react-hooks/config" | "react-hooks/error-boundaries" | "react-hooks/gating" | "react-hooks/globals" | "react-hooks/immutability" | "react-hooks/incompatible-library" | "react-hooks/preserve-manual-memoization" | "react-hooks/purity" | "react-hooks/refs" | "react-hooks/set-state-in-effect" | "react-hooks/set-state-in-render" | "react-hooks/static-components" | "react-hooks/unsupported-syntax" | "react-hooks/use-memo", RuleConfig<unknown[]>>;
106
+ vue: Record<"vue/comment-directive" | "vue/jsx-uses-vars" | "vue/multi-word-component-names" | "vue/no-arrow-functions-in-watch" | "vue/no-async-in-computed-properties" | "vue/no-child-content" | "vue/no-computed-properties-in-data" | "vue/no-dupe-keys" | "vue/no-dupe-v-else-if" | "vue/no-duplicate-attributes" | "vue/no-export-in-script-setup" | "vue/no-mutating-props" | "vue/no-parsing-error" | "vue/no-ref-as-operand" | "vue/no-reserved-component-names" | "vue/no-reserved-keys" | "vue/no-reserved-props" | "vue/no-shared-component-data" | "vue/no-side-effects-in-computed-properties" | "vue/no-template-key" | "vue/no-textarea-mustache" | "vue/no-unused-components" | "vue/no-unused-vars" | "vue/no-use-computed-property-like-method" | "vue/no-use-v-if-with-v-for" | "vue/no-useless-template-attributes" | "vue/no-v-text-v-html-on-component" | "vue/require-component-is" | "vue/require-prop-type-constructor" | "vue/require-render-return" | "vue/require-v-for-key" | "vue/require-valid-default-prop" | "vue/return-in-computed-property" | "vue/return-in-emits-validator" | "vue/use-v-on-exact" | "vue/valid-attribute-name" | "vue/valid-define-emits" | "vue/valid-define-props" | "vue/valid-next-tick" | "vue/valid-template-root" | "vue/valid-v-bind" | "vue/valid-v-cloak" | "vue/valid-v-else-if" | "vue/valid-v-else" | "vue/valid-v-for" | "vue/valid-v-html" | "vue/valid-v-if" | "vue/valid-v-model" | "vue/valid-v-on" | "vue/valid-v-once" | "vue/valid-v-pre" | "vue/valid-v-show" | "vue/valid-v-slot" | "vue/valid-v-text" | "vue/no-deprecated-data-object-declaration" | "vue/no-deprecated-delete-set" | "vue/no-deprecated-destroyed-lifecycle" | "vue/no-deprecated-dollar-listeners-api" | "vue/no-deprecated-dollar-scopedslots-api" | "vue/no-deprecated-events-api" | "vue/no-deprecated-filter" | "vue/no-deprecated-functional-template" | "vue/no-deprecated-html-element-is" | "vue/no-deprecated-inline-template" | "vue/no-deprecated-model-definition" | "vue/no-deprecated-props-default-this" | "vue/no-deprecated-router-link-tag-prop" | "vue/no-deprecated-scope-attribute" | "vue/no-deprecated-slot-attribute" | "vue/no-deprecated-slot-scope-attribute" | "vue/no-deprecated-v-bind-sync" | "vue/no-deprecated-v-is" | "vue/no-deprecated-v-on-native-modifier" | "vue/no-deprecated-v-on-number-modifiers" | "vue/no-deprecated-vue-config-keycodes" | "vue/no-expose-after-await" | "vue/no-lifecycle-after-await" | "vue/no-v-for-template-key-on-child" | "vue/no-watch-after-await" | "vue/prefer-import-from-vue" | "vue/require-slots-as-functions" | "vue/require-toggle-inside-transition" | "vue/valid-define-options" | "vue/valid-v-is" | "vue/valid-v-memo" | "vue/no-custom-modifiers-on-v-model" | "vue/no-multiple-template-root" | "vue/attribute-hyphenation" | "vue/component-definition-name-casing" | "vue/first-attribute-linebreak" | "vue/html-closing-bracket-newline" | "vue/html-closing-bracket-spacing" | "vue/html-end-tags" | "vue/html-indent" | "vue/html-quotes" | "vue/html-self-closing" | "vue/max-attributes-per-line" | "vue/multiline-html-element-content-newline" | "vue/mustache-interpolation-spacing" | "vue/no-multi-spaces" | "vue/no-spaces-around-equal-signs-in-attribute" | "vue/no-template-shadow" | "vue/one-component-per-file" | "vue/prop-name-casing" | "vue/require-default-prop" | "vue/require-prop-types" | "vue/singleline-html-element-content-newline" | "vue/v-bind-style" | "vue/v-on-style" | "vue/v-slot-style" | "vue/require-explicit-emits" | "vue/v-on-event-hyphenation" | "vue/attributes-order" | "vue/block-order" | "vue/no-lone-template" | "vue/no-multiple-slot-args" | "vue/no-required-prop-with-default" | "vue/no-v-html" | "vue/order-in-components" | "vue/this-in-template" | "vue/block-lang" | "vue/block-tag-newline" | "vue/component-api-style" | "vue/component-name-in-template-casing" | "vue/component-options-name-casing" | "vue/custom-event-name-casing" | "vue/define-emits-declaration" | "vue/define-macros-order" | "vue/define-props-declaration" | "vue/define-props-destructuring" | "vue/enforce-style-attribute" | "vue/html-button-has-type" | "vue/html-comment-content-newline" | "vue/html-comment-content-spacing" | "vue/html-comment-indent" | "vue/match-component-file-name" | "vue/match-component-import-name" | "vue/max-lines-per-block" | "vue/max-props" | "vue/max-template-depth" | "vue/new-line-between-multi-line-property" | "vue/next-tick-style" | "vue/no-bare-strings-in-template" | "vue/no-boolean-default" | "vue/no-duplicate-attr-inheritance" | "vue/no-duplicate-class-names" | "vue/no-empty-component-block" | "vue/no-import-compiler-macros" | "vue/no-multiple-objects-in-class" | "vue/no-negated-v-if-condition" | "vue/no-potential-component-option-typo" | "vue/no-ref-object-reactivity-loss" | "vue/no-restricted-block" | "vue/no-restricted-call-after-await" | "vue/no-restricted-class" | "vue/no-restricted-component-names" | "vue/no-restricted-component-options" | "vue/no-restricted-custom-event" | "vue/no-restricted-html-elements" | "vue/no-restricted-props" | "vue/no-restricted-static-attribute" | "vue/no-restricted-v-bind" | "vue/no-restricted-v-on" | "vue/no-root-v-if" | "vue/no-setup-props-reactivity-loss" | "vue/no-static-inline-styles" | "vue/no-template-target-blank" | "vue/no-this-in-before-route-enter" | "vue/no-undef-components" | "vue/no-undef-properties" | "vue/no-unsupported-features" | "vue/no-unused-emit-declarations" | "vue/no-unused-properties" | "vue/no-unused-refs" | "vue/no-use-v-else-with-v-for" | "vue/no-useless-mustaches" | "vue/no-useless-v-bind" | "vue/no-v-text" | "vue/padding-line-between-blocks" | "vue/padding-line-between-tags" | "vue/padding-lines-in-component-definition" | "vue/prefer-define-options" | "vue/prefer-prop-type-boolean-first" | "vue/prefer-separate-static-class" | "vue/prefer-true-attribute-shorthand" | "vue/prefer-use-template-ref" | "vue/require-default-export" | "vue/require-direct-export" | "vue/require-emit-validator" | "vue/require-explicit-slots" | "vue/require-expose" | "vue/require-macro-variable-name" | "vue/require-name-property" | "vue/require-prop-comment" | "vue/require-typed-object-prop" | "vue/require-typed-ref" | "vue/restricted-component-names" | "vue/script-indent" | "vue/slot-name-casing" | "vue/sort-keys" | "vue/static-class-names-order" | "vue/v-for-delimiter-style" | "vue/v-if-else-key" | "vue/v-on-handler-style" | "vue/array-bracket-newline" | "vue/array-bracket-spacing" | "vue/array-element-newline" | "vue/arrow-spacing" | "vue/block-spacing" | "vue/brace-style" | "vue/camelcase" | "vue/comma-dangle" | "vue/comma-spacing" | "vue/comma-style" | "vue/dot-location" | "vue/dot-notation" | "vue/eqeqeq" | "vue/func-call-spacing" | "vue/key-spacing" | "vue/keyword-spacing" | "vue/max-len" | "vue/multiline-ternary" | "vue/no-console" | "vue/no-constant-condition" | "vue/no-empty-pattern" | "vue/no-extra-parens" | "vue/no-implicit-coercion" | "vue/no-irregular-whitespace" | "vue/no-loss-of-precision" | "vue/no-negated-condition" | "vue/no-restricted-syntax" | "vue/no-sparse-arrays" | "vue/no-useless-concat" | "vue/object-curly-newline" | "vue/object-curly-spacing" | "vue/object-property-newline" | "vue/object-shorthand" | "vue/operator-linebreak" | "vue/prefer-template" | "vue/quote-props" | "vue/space-in-parens" | "vue/space-infix-ops" | "vue/space-unary-ops" | "vue/template-curly-spacing", RuleConfig<unknown[]>>;
107
+ stylistic: Record<"stylistic/array-bracket-newline" | "stylistic/array-bracket-spacing" | "stylistic/array-element-newline" | "stylistic/arrow-parens" | "stylistic/arrow-spacing" | "stylistic/block-spacing" | "stylistic/brace-style" | "stylistic/comma-dangle" | "stylistic/comma-spacing" | "stylistic/comma-style" | "stylistic/computed-property-spacing" | "stylistic/curly-newline" | "stylistic/dot-location" | "stylistic/eol-last" | "stylistic/function-call-argument-newline" | "stylistic/function-call-spacing" | "stylistic/function-paren-newline" | "stylistic/generator-star-spacing" | "stylistic/implicit-arrow-linebreak" | "stylistic/indent" | "stylistic/indent-binary-ops" | "stylistic/jsx-child-element-spacing" | "stylistic/jsx-closing-bracket-location" | "stylistic/jsx-closing-tag-location" | "stylistic/jsx-curly-brace-presence" | "stylistic/jsx-curly-newline" | "stylistic/jsx-curly-spacing" | "stylistic/jsx-equals-spacing" | "stylistic/jsx-first-prop-new-line" | "stylistic/jsx-function-call-newline" | "stylistic/jsx-indent-props" | "stylistic/jsx-max-props-per-line" | "stylistic/jsx-newline" | "stylistic/jsx-one-expression-per-line" | "stylistic/jsx-pascal-case" | "stylistic/jsx-quotes" | "stylistic/jsx-self-closing-comp" | "stylistic/jsx-tag-spacing" | "stylistic/jsx-wrap-multilines" | "stylistic/key-spacing" | "stylistic/keyword-spacing" | "stylistic/line-comment-position" | "stylistic/linebreak-style" | "stylistic/lines-around-comment" | "stylistic/lines-between-class-members" | "stylistic/max-len" | "stylistic/max-statements-per-line" | "stylistic/member-delimiter-style" | "stylistic/multiline-comment-style" | "stylistic/multiline-ternary" | "stylistic/new-parens" | "stylistic/newline-per-chained-call" | "stylistic/no-confusing-arrow" | "stylistic/no-extra-parens" | "stylistic/no-extra-semi" | "stylistic/no-floating-decimal" | "stylistic/no-mixed-operators" | "stylistic/no-mixed-spaces-and-tabs" | "stylistic/no-multi-spaces" | "stylistic/no-multiple-empty-lines" | "stylistic/no-tabs" | "stylistic/no-trailing-spaces" | "stylistic/no-whitespace-before-property" | "stylistic/nonblock-statement-body-position" | "stylistic/object-curly-newline" | "stylistic/object-curly-spacing" | "stylistic/object-property-newline" | "stylistic/one-var-declaration-per-line" | "stylistic/operator-linebreak" | "stylistic/padded-blocks" | "stylistic/padding-line-between-statements" | "stylistic/quote-props" | "stylistic/quotes" | "stylistic/rest-spread-spacing" | "stylistic/semi" | "stylistic/semi-spacing" | "stylistic/semi-style" | "stylistic/space-before-blocks" | "stylistic/space-before-function-paren" | "stylistic/space-in-parens" | "stylistic/space-infix-ops" | "stylistic/space-unary-ops" | "stylistic/spaced-comment" | "stylistic/switch-colon-spacing" | "stylistic/template-curly-spacing" | "stylistic/template-tag-spacing" | "stylistic/type-annotation-spacing" | "stylistic/type-generic-spacing" | "stylistic/type-named-tuple-spacing" | "stylistic/wrap-iife" | "stylistic/wrap-regex" | "stylistic/yield-star-spacing", RuleConfig<unknown[]>>;
108
+ antfu: Record<"antfu/consistent-chaining" | "antfu/consistent-list-newline" | "antfu/curly" | "antfu/if-newline" | "antfu/import-dedupe" | "antfu/indent-unindent" | "antfu/no-import-dist" | "antfu/no-import-node-modules-by-path" | "antfu/no-top-level-await" | "antfu/no-ts-export-equal" | "antfu/top-level-function", RuleConfig<unknown[]>>;
109
+ imports: Record<"imports/consistent-type-specifier-style" | "imports/exports-last" | "imports/first" | "imports/newline-after-import" | "imports/no-default-export" | "imports/no-duplicates" | "imports/no-mutable-exports" | "imports/no-named-default" | "imports/prefer-default-export", RuleConfig<unknown[]>>;
110
+ importsSort: Record<"importsSort/imports" | "importsSort/exports", RuleConfig<unknown[]>>;
111
+ };
112
+ //#endregion
113
+ export { RuleConfig, Severity, SeverityLevel, SeverityName, _default as default };
@@ -0,0 +1,126 @@
1
+ import core_antfu_default from "./core.antfu.js";
2
+ import core_imports_default from "./core.imports.js";
3
+ import core_importsSort_default from "./core.importsSort.js";
4
+ import core_javascript_default from "./core.javascript.js";
5
+ import core_react_default from "./core.react.js";
6
+ import core_reactHooks_default from "./core.reactHooks.js";
7
+ import core_stylistic_default from "./core.stylistic.js";
8
+ import core_typescript_default from "./core.typescript.js";
9
+ import core_vue_default from "./core.vue.js";
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: core_javascript_default,
62
+ typescript: core_typescript_default,
63
+ react: core_react_default,
64
+ reactHooks: core_reactHooks_default,
65
+ vue: core_vue_default,
66
+ stylistic: core_stylistic_default,
67
+ antfu: core_antfu_default,
68
+ imports: core_imports_default,
69
+ importsSort: core_importsSort_default
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
+ export { src_default as default };
@@ -0,0 +1,107 @@
1
+ //#region src/preset.ts
2
+ /**
3
+ * 预设配置
4
+ *
5
+ * 供各规则组共享的基础预设:缩进大小与 TypeScript 类成员排序规则。
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import preset from "@pawover/kit-eslint-rules/src/preset";
10
+ *
11
+ * console.log(preset.indent); // 2
12
+ * ```
13
+ */
14
+ var preset_default = {
15
+ /** 缩进大小 */
16
+ indent: 2,
17
+ /** TypeScript 类成员排序 */
18
+ tsMemberOrder: [
19
+ "signature",
20
+ "call-signature",
21
+ "static-initialization",
22
+ "#private-static-field",
23
+ "private-static-field",
24
+ "protected-static-field",
25
+ "public-static-field",
26
+ "static-field",
27
+ "#private-instance-field",
28
+ "private-instance-field",
29
+ "protected-instance-field",
30
+ "public-instance-field",
31
+ "instance-field",
32
+ "#private-field",
33
+ "private-field",
34
+ "protected-field",
35
+ "public-field",
36
+ "field",
37
+ "private-constructor",
38
+ "protected-constructor",
39
+ "public-constructor",
40
+ "#private-static-get",
41
+ "#private-static-set",
42
+ "private-static-get",
43
+ "private-static-set",
44
+ "protected-static-get",
45
+ "protected-static-set",
46
+ "public-static-get",
47
+ "public-static-set",
48
+ "static-get",
49
+ "static-set",
50
+ "protected-abstract-get",
51
+ "protected-abstract-set",
52
+ "public-abstract-get",
53
+ "public-abstract-set",
54
+ "abstract-get",
55
+ "abstract-set",
56
+ "#private-instance-get",
57
+ "#private-instance-set",
58
+ "private-instance-get",
59
+ "private-instance-set",
60
+ "protected-instance-get",
61
+ "protected-instance-set",
62
+ "public-instance-get",
63
+ "public-instance-set",
64
+ "instance-get",
65
+ "instance-set",
66
+ "private-decorated-get",
67
+ "private-decorated-set",
68
+ "protected-decorated-get",
69
+ "protected-decorated-set",
70
+ "public-decorated-get",
71
+ "public-decorated-set",
72
+ "decorated-get",
73
+ "decorated-set",
74
+ "#private-get",
75
+ "#private-set",
76
+ "private-get",
77
+ "private-set",
78
+ "protected-get",
79
+ "protected-set",
80
+ "public-get",
81
+ "public-set",
82
+ "get",
83
+ "set",
84
+ "#private-static-method",
85
+ "private-static-method",
86
+ "protected-static-method",
87
+ "public-static-method",
88
+ "static-method",
89
+ "#private-instance-method",
90
+ "private-instance-method",
91
+ "protected-instance-method",
92
+ "public-instance-method",
93
+ "instance-method",
94
+ "private-method",
95
+ "protected-method",
96
+ "public-method",
97
+ "#private-method",
98
+ "method"
99
+ ]
100
+ };
101
+ //#endregion
102
+ Object.defineProperty(exports, "preset_default", {
103
+ enumerable: true,
104
+ get: function() {
105
+ return preset_default;
106
+ }
107
+ });