eslint-plugin-wyrm 0.0.11 → 0.0.13
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.
- package/CHANGELOG.md +53 -0
- package/README.md +114 -78
- package/bin/wyrm.mjs +3 -0
- package/dist/_virtual/_rolldown/runtime.mjs +7 -13
- package/dist/cli.d.mts +1 -0
- package/dist/cli.mjs +23 -0
- package/dist/configs/index.mjs +1 -3
- package/dist/index.mjs +1 -3
- package/dist/plugin.mjs +1 -3
- package/dist/rules/array-from-array.d.mts +9 -0
- package/dist/rules/array-from-array.mjs +56 -0
- package/dist/rules/as-unknown-as.d.mts +9 -0
- package/dist/rules/as-unknown-as.mjs +30 -0
- package/dist/rules/await-promise-resolve.d.mts +9 -0
- package/dist/rules/await-promise-resolve.mjs +41 -0
- package/dist/rules/boolean-coalescing.d.mts +9 -0
- package/dist/rules/boolean-coalescing.mjs +141 -0
- package/dist/rules/comment-duplicate-leading-space.d.mts +9 -0
- package/dist/rules/comment-duplicate-leading-space.mjs +34 -0
- package/dist/rules/conditional-boolean.d.mts +9 -0
- package/dist/rules/conditional-boolean.mjs +70 -0
- package/dist/rules/constant-boolean-cast.d.mts +9 -0
- package/dist/rules/constant-boolean-cast.mjs +203 -0
- package/dist/rules/de-morgan.d.mts +2 -2
- package/dist/rules/de-morgan.mjs +1 -3
- package/dist/rules/discarded-expression-statement.d.mts +14 -0
- package/dist/rules/discarded-expression-statement.mjs +243 -0
- package/dist/rules/distribute-boolean-casts.d.mts +2 -2
- package/dist/rules/distribute-boolean-casts.mjs +3 -3
- package/dist/rules/duplicate-destructuring.d.mts +2 -2
- package/dist/rules/duplicate-destructuring.mjs +1 -3
- package/dist/rules/duplicate-object-spread.d.mts +9 -0
- package/dist/rules/duplicate-object-spread.mjs +44 -0
- package/dist/rules/e.d.mts +3 -3
- package/dist/rules/e.mjs +4 -3
- package/dist/rules/empty-for.d.mts +9 -0
- package/dist/rules/empty-for.mjs +34 -0
- package/dist/rules/enum-member.d.mts +9 -0
- package/dist/rules/enum-member.mjs +51 -0
- package/dist/rules/eqeq-null.d.mts +9 -0
- package/dist/rules/eqeq-null.mjs +101 -0
- package/dist/rules/exact-string-regex.d.mts +2 -2
- package/dist/rules/exact-string-regex.mjs +1 -3
- package/dist/rules/export-using.mjs +1 -3
- package/dist/rules/generic-constructor-with-hook.d.mts +3 -3
- package/dist/rules/generic-constructor-with-hook.mjs +1 -3
- package/dist/rules/idiomatic-cast.mjs +6 -8
- package/dist/rules/index.d.mts +112 -77
- package/dist/rules/index.mjs +71 -3
- package/dist/rules/inferable-type-predicate.d.mts +9 -0
- package/dist/rules/inferable-type-predicate.mjs +100 -0
- package/dist/rules/inner-as-const.d.mts +9 -0
- package/dist/rules/inner-as-const.mjs +70 -0
- package/dist/rules/jsx-tostring.d.mts +9 -0
- package/dist/rules/jsx-tostring.mjs +120 -0
- package/dist/rules/literal-destructuring.d.mts +9 -0
- package/dist/rules/literal-destructuring.mjs +102 -0
- package/dist/rules/named-export-with-side-effects.d.mts +3 -3
- package/dist/rules/named-export-with-side-effects.mjs +1 -3
- package/dist/rules/nested-reduce.d.mts +9 -0
- package/dist/rules/nested-reduce.mjs +46 -0
- package/dist/rules/nested-try-catch.d.mts +9 -0
- package/dist/rules/nested-try-catch.mjs +37 -0
- package/dist/rules/no-commented-out-comment.d.mts +2 -2
- package/dist/rules/no-commented-out-comment.mjs +1 -3
- package/dist/rules/no-constant-template-expression.mjs +9 -6
- package/dist/rules/no-constructed-error-cause.d.mts +2 -2
- package/dist/rules/no-constructed-error-cause.mjs +1 -3
- package/dist/rules/no-convoluted-boolean-expressions.d.mts +9 -0
- package/dist/rules/no-convoluted-boolean-expressions.mjs +130 -0
- package/dist/rules/no-convoluted-logical-expressions.d.mts +2 -2
- package/dist/rules/no-convoluted-logical-expressions.mjs +1 -3
- package/dist/rules/no-custom-url-parsing.d.mts +2 -2
- package/dist/rules/no-custom-url-parsing.mjs +1 -3
- package/dist/rules/no-disallowed-warning-comments.d.mts +2 -2
- package/dist/rules/no-disallowed-warning-comments.mjs +1 -3
- package/dist/rules/no-duplicated-return.d.mts +2 -2
- package/dist/rules/no-duplicated-return.mjs +1 -3
- package/dist/rules/no-else-break.d.mts +2 -2
- package/dist/rules/no-else-break.mjs +1 -3
- package/dist/rules/no-else-continue.d.mts +2 -2
- package/dist/rules/no-else-continue.mjs +1 -3
- package/dist/rules/no-else-never.d.mts +9 -0
- package/dist/rules/no-else-never.mjs +75 -0
- package/dist/rules/no-else-return.d.mts +2 -2
- package/dist/rules/no-else-return.mjs +1 -3
- package/dist/rules/no-else-throw.d.mts +2 -2
- package/dist/rules/no-else-throw.mjs +1 -3
- package/dist/rules/no-empty-attribute.d.mts +3 -3
- package/dist/rules/no-empty-attribute.mjs +1 -3
- package/dist/rules/no-empty-comment.d.mts +3 -3
- package/dist/rules/no-empty-comment.mjs +1 -3
- package/dist/rules/no-empty-jsx-expression.d.mts +2 -2
- package/dist/rules/no-empty-jsx-expression.mjs +1 -3
- package/dist/rules/no-empty-literal-iteration.d.mts +2 -2
- package/dist/rules/no-empty-literal-iteration.mjs +1 -3
- package/dist/rules/no-extra-false-fallback.d.mts +2 -2
- package/dist/rules/no-extra-false-fallback.mjs +1 -3
- package/dist/rules/no-extra-nested-boolean-cast.d.mts +2 -2
- package/dist/rules/no-extra-nested-boolean-cast.mjs +2 -3
- package/dist/rules/no-first-last.d.mts +2 -2
- package/dist/rules/no-first-last.mjs +2 -4
- package/dist/rules/no-float-length-check.d.mts +2 -2
- package/dist/rules/no-float-length-check.mjs +1 -3
- package/dist/rules/no-huge-try-block.d.mts +3 -3
- package/dist/rules/no-huge-try-block.mjs +1 -3
- package/dist/rules/no-huge-useeffect.d.mts +3 -3
- package/dist/rules/no-huge-useeffect.mjs +1 -3
- package/dist/rules/no-if-length-for.d.mts +2 -2
- package/dist/rules/no-if-length-for.mjs +1 -3
- package/dist/rules/no-inline-jsdoc-tag.d.mts +3 -3
- package/dist/rules/no-inline-jsdoc-tag.mjs +1 -3
- package/dist/rules/no-invalid-date-literal.d.mts +2 -2
- package/dist/rules/no-invalid-date-literal.mjs +1 -3
- package/dist/rules/no-jsx-statement.d.mts +2 -2
- package/dist/rules/no-jsx-statement.mjs +1 -3
- package/dist/rules/no-lax-array-type.mjs +7 -9
- package/dist/rules/no-lax-return-type.mjs +7 -8
- package/dist/rules/no-mutable-literal-fill.d.mts +2 -2
- package/dist/rules/no-mutable-literal-fill.mjs +1 -3
- package/dist/rules/no-nullish-ternary.d.mts +9 -0
- package/dist/rules/no-nullish-ternary.mjs +121 -0
- package/dist/rules/no-numbered-comments.d.mts +2 -2
- package/dist/rules/no-numbered-comments.mjs +1 -3
- package/dist/rules/no-obvious-any.mjs +9 -12
- package/dist/rules/no-optional-type-guard-param.d.mts +2 -2
- package/dist/rules/no-optional-type-guard-param.mjs +1 -3
- package/dist/rules/no-out-of-order-comments.d.mts +2 -2
- package/dist/rules/no-out-of-order-comments.mjs +3 -8
- package/dist/rules/no-possibly-nullish-equality.mjs +6 -12
- package/dist/rules/no-redundant-function-declaration.d.mts +2 -2
- package/dist/rules/no-redundant-function-declaration.mjs +1 -3
- package/dist/rules/no-return-to-void.mjs +1 -3
- package/dist/rules/no-self-object-assign.d.mts +2 -2
- package/dist/rules/no-self-object-assign.mjs +1 -3
- package/dist/rules/no-sloppy-length-check.d.mts +2 -2
- package/dist/rules/no-sloppy-length-check.mjs +25 -27
- package/dist/rules/no-suspicious-jsx-semicolon.d.mts +2 -2
- package/dist/rules/no-suspicious-jsx-semicolon.mjs +2 -4
- package/dist/rules/no-ternary-return.d.mts +3 -3
- package/dist/rules/no-ternary-return.mjs +1 -3
- package/dist/rules/no-type-guard.d.mts +9 -0
- package/dist/rules/no-type-guard.mjs +36 -0
- package/dist/rules/no-unassigned-todo.d.mts +2 -2
- package/dist/rules/no-unassigned-todo.mjs +1 -3
- package/dist/rules/no-unbound-catch-error.d.mts +2 -2
- package/dist/rules/no-unbound-catch-error.mjs +1 -3
- package/dist/rules/no-unused-mutually-referential.mjs +10 -15
- package/dist/rules/no-unused-param-read.d.mts +2 -2
- package/dist/rules/no-unused-param-read.mjs +1 -3
- package/dist/rules/no-useless-computed-key.d.mts +2 -2
- package/dist/rules/no-useless-computed-key.mjs +1 -3
- package/dist/rules/no-useless-iife.d.mts +2 -2
- package/dist/rules/no-useless-iife.mjs +2 -3
- package/dist/rules/no-useless-logical-fallback.mjs +7 -12
- package/dist/rules/no-useless-return-undefined.mjs +1 -3
- package/dist/rules/no-useless-ts-check.d.mts +2 -2
- package/dist/rules/no-useless-ts-check.mjs +1 -3
- package/dist/rules/no-useless-use-strict.d.mts +2 -2
- package/dist/rules/no-useless-use-strict.mjs +1 -3
- package/dist/rules/no-useless-usememo.d.mts +2 -2
- package/dist/rules/no-useless-usememo.mjs +1 -3
- package/dist/rules/no-whitespace-property.d.mts +2 -2
- package/dist/rules/no-whitespace-property.mjs +1 -3
- package/dist/rules/nullish-object-spread.d.mts +2 -2
- package/dist/rules/nullish-object-spread.mjs +7 -6
- package/dist/rules/optional-call-expression.d.mts +2 -2
- package/dist/rules/optional-call-expression.mjs +1 -3
- package/dist/rules/prefer-array-from.d.mts +9 -0
- package/dist/rules/prefer-array-from.mjs +87 -0
- package/dist/rules/prefer-catch-method.d.mts +2 -2
- package/dist/rules/prefer-catch-method.mjs +2 -3
- package/dist/rules/prefer-early-return.d.mts +2 -2
- package/dist/rules/prefer-early-return.mjs +1 -3
- package/dist/rules/prefer-eqeq-null.d.mts +9 -0
- package/dist/rules/prefer-eqeq-null.mjs +122 -0
- package/dist/rules/prefer-finally.d.mts +2 -2
- package/dist/rules/prefer-finally.mjs +1 -3
- package/dist/rules/prefer-getorinsert.d.mts +2 -2
- package/dist/rules/prefer-getorinsert.mjs +1 -3
- package/dist/rules/prefer-has.d.mts +2 -2
- package/dist/rules/prefer-has.mjs +1 -3
- package/dist/rules/prefer-in.d.mts +9 -0
- package/dist/rules/prefer-in.mjs +81 -0
- package/dist/rules/prefer-object-keys-values.d.mts +2 -2
- package/dist/rules/prefer-object-keys-values.mjs +1 -3
- package/dist/rules/prefer-repeat.d.mts +2 -2
- package/dist/rules/prefer-repeat.mjs +1 -3
- package/dist/rules/prefer-satisfies.d.mts +9 -0
- package/dist/rules/prefer-satisfies.mjs +86 -0
- package/dist/rules/prefer-string-join.d.mts +9 -0
- package/dist/rules/prefer-string-join.mjs +67 -0
- package/dist/rules/primitive-valueof.mjs +6 -8
- package/dist/rules/slim-try.d.mts +2 -2
- package/dist/rules/slim-try.mjs +9 -11
- package/dist/rules/styled-button-has-type.d.mts +9 -0
- package/dist/rules/styled-button-has-type.mjs +82 -0
- package/dist/rules/styled-transient-props.d.mts +9 -0
- package/dist/rules/styled-transient-props.mjs +52 -0
- package/dist/rules/suspicious-map-length.d.mts +2 -2
- package/dist/rules/suspicious-map-length.mjs +1 -3
- package/dist/rules/template-tostring.d.mts +9 -0
- package/dist/rules/template-tostring.mjs +48 -0
- package/dist/rules/unsafe-asserted-chain.mjs +5 -7
- package/dist/rules/unused-object-assign.d.mts +2 -2
- package/dist/rules/unused-object-assign.mjs +1 -3
- package/dist/rules/unused-object-freeze.d.mts +9 -0
- package/dist/rules/unused-object-freeze.mjs +37 -0
- package/dist/rules/useless-as-const.d.mts +9 -0
- package/dist/rules/useless-as-const.mjs +59 -0
- package/dist/rules/useless-assign.d.mts +11 -0
- package/dist/rules/useless-assign.mjs +69 -0
- package/dist/rules/useless-conditional-assign.d.mts +9 -0
- package/dist/rules/useless-conditional-assign.mjs +58 -0
- package/dist/rules/useless-intermediary-variable.mjs +1 -3
- package/dist/rules/useless-mock.d.mts +9 -0
- package/dist/rules/useless-mock.mjs +180 -0
- package/dist/rules/useless-required.mjs +10 -12
- package/dist/utils/compareTokens.mjs +1 -3
- package/dist/utils/createRule.mjs +1 -3
- package/dist/utils/negateExpression.mjs +1 -3
- package/dist/utils/option.mjs +1 -2
- package/package.json +29 -23
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { WyrmPluginDocs } from "../utils/createRule.mjs";
|
|
2
|
-
import * as _typescript_eslint_utils_ts_eslint0 from "@typescript-eslint/utils/ts-eslint";
|
|
2
|
+
import * as _$_typescript_eslint_utils_ts_eslint0 from "@typescript-eslint/utils/ts-eslint";
|
|
3
3
|
|
|
4
4
|
//#region lib/rules/generic-constructor-with-hook.d.ts
|
|
5
|
-
declare const _default: _typescript_eslint_utils_ts_eslint0.RuleModule<"useGenericConstructor" | "removeObviousInferable" | "noInferable", [{
|
|
5
|
+
declare const _default: _$_typescript_eslint_utils_ts_eslint0.RuleModule<"useGenericConstructor" | "removeObviousInferable" | "noInferable", [{
|
|
6
6
|
hooks: string[];
|
|
7
|
-
}], WyrmPluginDocs, _typescript_eslint_utils_ts_eslint0.RuleListener> & {
|
|
7
|
+
}], WyrmPluginDocs, _$_typescript_eslint_utils_ts_eslint0.RuleListener> & {
|
|
8
8
|
name: string;
|
|
9
9
|
};
|
|
10
10
|
//#endregion
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { createRule } from "../utils/createRule.mjs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
4
|
-
|
|
5
4
|
//#region lib/rules/generic-constructor-with-hook.ts
|
|
6
5
|
const { name } = path.parse(import.meta.filename);
|
|
7
6
|
const DEFAULT_HOOK_NAMES = ["useState", "useRef"];
|
|
@@ -100,6 +99,5 @@ function extractExpression(expr) {
|
|
|
100
99
|
if (!returnStatement) return null;
|
|
101
100
|
return returnStatement.argument;
|
|
102
101
|
}
|
|
103
|
-
|
|
104
102
|
//#endregion
|
|
105
|
-
export { generic_constructor_with_hook_default as default };
|
|
103
|
+
export { generic_constructor_with_hook_default as default };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { createRule } from "../utils/createRule.mjs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
|
|
4
|
-
import * as ts from "typescript";
|
|
5
|
-
|
|
4
|
+
import * as ts$1 from "typescript";
|
|
6
5
|
//#region lib/rules/idiomatic-cast.ts
|
|
7
6
|
const { name } = path.parse(import.meta.filename);
|
|
8
7
|
var idiomatic_cast_default = createRule({
|
|
@@ -39,15 +38,14 @@ var idiomatic_cast_default = createRule({
|
|
|
39
38
|
}
|
|
40
39
|
});
|
|
41
40
|
function hasToString(argType) {
|
|
42
|
-
if (argType.isUnion()) return argType.types.every((t) => hasToString(t) || (t.flags & ts.TypeFlags.StringLike) !== 0);
|
|
43
|
-
if (argType.flags & ts.TypeFlags.NumberLike) return true;
|
|
44
|
-
if (argType.flags & ts.TypeFlags.BooleanLike) return true;
|
|
45
|
-
if (argType.flags & ts.TypeFlags.BigIntLike) return true;
|
|
41
|
+
if (argType.isUnion()) return argType.types.every((t) => hasToString(t) || (t.flags & ts$1.TypeFlags.StringLike) !== 0);
|
|
42
|
+
if (argType.flags & ts$1.TypeFlags.NumberLike) return true;
|
|
43
|
+
if (argType.flags & ts$1.TypeFlags.BooleanLike) return true;
|
|
44
|
+
if (argType.flags & ts$1.TypeFlags.BigIntLike) return true;
|
|
46
45
|
if (typeof argType.symbol === "undefined") return false;
|
|
47
46
|
if (argType.symbol.getName() === "BigInt") return true;
|
|
48
47
|
if (argType.symbol.getName() === "Date") return true;
|
|
49
48
|
return false;
|
|
50
49
|
}
|
|
51
|
-
|
|
52
50
|
//#endregion
|
|
53
|
-
export { idiomatic_cast_default as default };
|
|
51
|
+
export { idiomatic_cast_default as default };
|
package/dist/rules/index.d.mts
CHANGED
|
@@ -1,83 +1,118 @@
|
|
|
1
|
-
import { _default } from "./
|
|
2
|
-
import { _default as _default$1 } from "./
|
|
3
|
-
import { _default as _default$2 } from "./
|
|
4
|
-
import { _default as _default$3 } from "./
|
|
5
|
-
import { _default as _default$4 } from "./
|
|
6
|
-
import { _default as _default$5 } from "./
|
|
7
|
-
import { _default as _default$6 } from "./
|
|
8
|
-
import { _default as _default$7 } from "./
|
|
9
|
-
import { _default as _default$8 } from "./
|
|
10
|
-
import { _default as _default$9 } from "./
|
|
11
|
-
import { _default as _default$10 } from "./
|
|
12
|
-
import { _default as _default$11 } from "./
|
|
13
|
-
import { _default as _default$12 } from "./
|
|
14
|
-
import { _default as _default$13 } from "./
|
|
15
|
-
import { _default as _default$14 } from "./
|
|
16
|
-
import { _default as _default$15 } from "./
|
|
17
|
-
import { _default as _default$16 } from "./
|
|
18
|
-
import { _default as _default$17 } from "./
|
|
19
|
-
import { _default as _default$18 } from "./
|
|
20
|
-
import { _default as _default$19 } from "./
|
|
21
|
-
import { _default as _default$20 } from "./
|
|
22
|
-
import { _default as _default$21 } from "./
|
|
23
|
-
import { _default as _default$22 } from "./
|
|
24
|
-
import { _default as _default$23 } from "./
|
|
25
|
-
import { _default as _default$24 } from "./
|
|
26
|
-
import { _default as _default$25 } from "./
|
|
27
|
-
import { _default as _default$26 } from "./
|
|
28
|
-
import { _default as _default$27 } from "./no-
|
|
29
|
-
import { _default as _default$28 } from "./no-
|
|
30
|
-
import { _default as _default$29 } from "./no-
|
|
31
|
-
import { _default as _default$30 } from "./no-
|
|
32
|
-
import { _default as _default$31 } from "./no-
|
|
33
|
-
import { _default as _default$32 } from "./no-
|
|
34
|
-
import { _default as _default$33 } from "./no-
|
|
35
|
-
import { _default as _default$34 } from "./no-
|
|
36
|
-
import { _default as _default$35 } from "./no-
|
|
37
|
-
import { _default as _default$36 } from "./no-
|
|
38
|
-
import { _default as _default$37 } from "./no-
|
|
39
|
-
import { _default as _default$38 } from "./no-
|
|
40
|
-
import { _default as _default$39 } from "./no-
|
|
41
|
-
import { _default as _default$40 } from "./no-
|
|
42
|
-
import { _default as _default$41 } from "./no-
|
|
43
|
-
import { _default as _default$42 } from "./no-
|
|
44
|
-
import { _default as _default$43 } from "./no-
|
|
45
|
-
import { _default as _default$44 } from "./no-
|
|
46
|
-
import { _default as _default$45 } from "./no-
|
|
47
|
-
import { _default as _default$46 } from "./no-
|
|
48
|
-
import { _default as _default$47 } from "./no-
|
|
49
|
-
import { _default as _default$48 } from "./no-
|
|
50
|
-
import { _default as _default$49 } from "./no-
|
|
51
|
-
import { _default as _default$50 } from "./no-
|
|
52
|
-
import { _default as _default$51 } from "./no-
|
|
53
|
-
import { _default as _default$52 } from "./no-
|
|
54
|
-
import { _default as _default$53 } from "./no-
|
|
55
|
-
import { _default as _default$54 } from "./no-
|
|
56
|
-
import { _default as _default$55 } from "./no-
|
|
57
|
-
import { _default as _default$56 } from "./no-
|
|
58
|
-
import { _default as _default$57 } from "./no-
|
|
59
|
-
import { _default as _default$58 } from "./no-
|
|
60
|
-
import { _default as _default$59 } from "./no-
|
|
61
|
-
import { _default as _default$60 } from "./
|
|
62
|
-
import { _default as _default$61 } from "./
|
|
63
|
-
import { _default as _default$62 } from "./
|
|
64
|
-
import { _default as _default$63 } from "./
|
|
65
|
-
import { _default as _default$64 } from "./
|
|
66
|
-
import { _default as _default$65 } from "./
|
|
67
|
-
import { _default as _default$66 } from "./
|
|
68
|
-
import { _default as _default$67 } from "./
|
|
69
|
-
import { _default as _default$68 } from "./
|
|
70
|
-
import { _default as _default$69 } from "./
|
|
71
|
-
import { _default as _default$70 } from "./
|
|
72
|
-
import { _default as _default$71 } from "./
|
|
73
|
-
import { _default as _default$72 } from "./
|
|
74
|
-
import { _default as _default$73 } from "./unused-
|
|
75
|
-
import { _default as _default$74 } from "./useless-
|
|
76
|
-
import { _default as _default$75 } from "./useless-
|
|
1
|
+
import { _default } from "./array-from-array.mjs";
|
|
2
|
+
import { _default as _default$1 } from "./as-unknown-as.mjs";
|
|
3
|
+
import { _default as _default$2 } from "./await-promise-resolve.mjs";
|
|
4
|
+
import { _default as _default$3 } from "./boolean-coalescing.mjs";
|
|
5
|
+
import { _default as _default$4 } from "./comment-duplicate-leading-space.mjs";
|
|
6
|
+
import { _default as _default$5 } from "./conditional-boolean.mjs";
|
|
7
|
+
import { _default as _default$6 } from "./constant-boolean-cast.mjs";
|
|
8
|
+
import { _default as _default$7 } from "./de-morgan.mjs";
|
|
9
|
+
import { _default as _default$8 } from "./discarded-expression-statement.mjs";
|
|
10
|
+
import { _default as _default$9 } from "./distribute-boolean-casts.mjs";
|
|
11
|
+
import { _default as _default$10 } from "./duplicate-destructuring.mjs";
|
|
12
|
+
import { _default as _default$11 } from "./duplicate-object-spread.mjs";
|
|
13
|
+
import { _default as _default$12 } from "./e.mjs";
|
|
14
|
+
import { _default as _default$13 } from "./empty-for.mjs";
|
|
15
|
+
import { _default as _default$14 } from "./enum-member.mjs";
|
|
16
|
+
import { _default as _default$15 } from "./eqeq-null.mjs";
|
|
17
|
+
import { _default as _default$16 } from "./exact-string-regex.mjs";
|
|
18
|
+
import { _default as _default$17 } from "./export-using.mjs";
|
|
19
|
+
import { _default as _default$18 } from "./generic-constructor-with-hook.mjs";
|
|
20
|
+
import { _default as _default$19 } from "./idiomatic-cast.mjs";
|
|
21
|
+
import { _default as _default$20 } from "./inferable-type-predicate.mjs";
|
|
22
|
+
import { _default as _default$21 } from "./inner-as-const.mjs";
|
|
23
|
+
import { _default as _default$22 } from "./jsx-tostring.mjs";
|
|
24
|
+
import { _default as _default$23 } from "./literal-destructuring.mjs";
|
|
25
|
+
import { _default as _default$24 } from "./named-export-with-side-effects.mjs";
|
|
26
|
+
import { _default as _default$25 } from "./nested-reduce.mjs";
|
|
27
|
+
import { _default as _default$26 } from "./nested-try-catch.mjs";
|
|
28
|
+
import { _default as _default$27 } from "./no-commented-out-comment.mjs";
|
|
29
|
+
import { _default as _default$28 } from "./no-constant-template-expression.mjs";
|
|
30
|
+
import { _default as _default$29 } from "./no-constructed-error-cause.mjs";
|
|
31
|
+
import { _default as _default$30 } from "./no-convoluted-boolean-expressions.mjs";
|
|
32
|
+
import { _default as _default$31 } from "./no-convoluted-logical-expressions.mjs";
|
|
33
|
+
import { _default as _default$32 } from "./no-custom-url-parsing.mjs";
|
|
34
|
+
import { _default as _default$33 } from "./no-disallowed-warning-comments.mjs";
|
|
35
|
+
import { _default as _default$34 } from "./no-duplicated-return.mjs";
|
|
36
|
+
import { _default as _default$35 } from "./no-else-break.mjs";
|
|
37
|
+
import { _default as _default$36 } from "./no-else-continue.mjs";
|
|
38
|
+
import { _default as _default$37 } from "./no-else-never.mjs";
|
|
39
|
+
import { _default as _default$38 } from "./no-else-return.mjs";
|
|
40
|
+
import { _default as _default$39 } from "./no-else-throw.mjs";
|
|
41
|
+
import { _default as _default$40 } from "./no-empty-attribute.mjs";
|
|
42
|
+
import { _default as _default$41 } from "./no-empty-comment.mjs";
|
|
43
|
+
import { _default as _default$42 } from "./no-empty-jsx-expression.mjs";
|
|
44
|
+
import { _default as _default$43 } from "./no-empty-literal-iteration.mjs";
|
|
45
|
+
import { _default as _default$44 } from "./no-extra-false-fallback.mjs";
|
|
46
|
+
import { _default as _default$45 } from "./no-extra-nested-boolean-cast.mjs";
|
|
47
|
+
import { _default as _default$46 } from "./no-first-last.mjs";
|
|
48
|
+
import { _default as _default$47 } from "./no-float-length-check.mjs";
|
|
49
|
+
import { _default as _default$48 } from "./no-huge-try-block.mjs";
|
|
50
|
+
import { _default as _default$49 } from "./no-huge-useeffect.mjs";
|
|
51
|
+
import { _default as _default$50 } from "./no-if-length-for.mjs";
|
|
52
|
+
import { _default as _default$51 } from "./no-inline-jsdoc-tag.mjs";
|
|
53
|
+
import { _default as _default$52 } from "./no-invalid-date-literal.mjs";
|
|
54
|
+
import { _default as _default$53 } from "./no-jsx-statement.mjs";
|
|
55
|
+
import { _default as _default$54 } from "./no-lax-array-type.mjs";
|
|
56
|
+
import { _default as _default$55 } from "./no-lax-return-type.mjs";
|
|
57
|
+
import { _default as _default$56 } from "./no-mutable-literal-fill.mjs";
|
|
58
|
+
import { _default as _default$57 } from "./no-nullish-ternary.mjs";
|
|
59
|
+
import { _default as _default$58 } from "./no-numbered-comments.mjs";
|
|
60
|
+
import { _default as _default$59 } from "./no-obvious-any.mjs";
|
|
61
|
+
import { _default as _default$60 } from "./no-optional-type-guard-param.mjs";
|
|
62
|
+
import { _default as _default$61 } from "./no-out-of-order-comments.mjs";
|
|
63
|
+
import { _default as _default$62 } from "./no-possibly-nullish-equality.mjs";
|
|
64
|
+
import { _default as _default$63 } from "./no-redundant-function-declaration.mjs";
|
|
65
|
+
import { _default as _default$64 } from "./no-return-to-void.mjs";
|
|
66
|
+
import { _default as _default$65 } from "./no-self-object-assign.mjs";
|
|
67
|
+
import { _default as _default$66 } from "./no-sloppy-length-check.mjs";
|
|
68
|
+
import { _default as _default$67 } from "./no-suspicious-jsx-semicolon.mjs";
|
|
69
|
+
import { _default as _default$68 } from "./no-ternary-return.mjs";
|
|
70
|
+
import { _default as _default$69 } from "./no-type-guard.mjs";
|
|
71
|
+
import { _default as _default$70 } from "./no-unassigned-todo.mjs";
|
|
72
|
+
import { _default as _default$71 } from "./no-unbound-catch-error.mjs";
|
|
73
|
+
import { _default as _default$72 } from "./no-unused-mutually-referential.mjs";
|
|
74
|
+
import { _default as _default$73 } from "./no-unused-param-read.mjs";
|
|
75
|
+
import { _default as _default$74 } from "./no-useless-computed-key.mjs";
|
|
76
|
+
import { _default as _default$75 } from "./no-useless-iife.mjs";
|
|
77
|
+
import { _default as _default$76 } from "./no-useless-logical-fallback.mjs";
|
|
78
|
+
import { _default as _default$77 } from "./no-useless-return-undefined.mjs";
|
|
79
|
+
import { _default as _default$78 } from "./no-useless-ts-check.mjs";
|
|
80
|
+
import { _default as _default$79 } from "./no-useless-use-strict.mjs";
|
|
81
|
+
import { _default as _default$80 } from "./no-useless-usememo.mjs";
|
|
82
|
+
import { _default as _default$81 } from "./no-whitespace-property.mjs";
|
|
83
|
+
import { _default as _default$82 } from "./nullish-object-spread.mjs";
|
|
84
|
+
import { _default as _default$83 } from "./optional-call-expression.mjs";
|
|
85
|
+
import { _default as _default$84 } from "./prefer-array-from.mjs";
|
|
86
|
+
import { _default as _default$85 } from "./prefer-catch-method.mjs";
|
|
87
|
+
import { _default as _default$86 } from "./prefer-early-return.mjs";
|
|
88
|
+
import { _default as _default$87 } from "./prefer-eqeq-null.mjs";
|
|
89
|
+
import { _default as _default$88 } from "./prefer-finally.mjs";
|
|
90
|
+
import { _default as _default$89 } from "./prefer-getorinsert.mjs";
|
|
91
|
+
import { _default as _default$90 } from "./prefer-has.mjs";
|
|
92
|
+
import { _default as _default$91 } from "./prefer-in.mjs";
|
|
93
|
+
import { _default as _default$92 } from "./prefer-object-keys-values.mjs";
|
|
94
|
+
import { _default as _default$93 } from "./prefer-repeat.mjs";
|
|
95
|
+
import { _default as _default$94 } from "./prefer-satisfies.mjs";
|
|
96
|
+
import { _default as _default$95 } from "./prefer-string-join.mjs";
|
|
97
|
+
import { _default as _default$96 } from "./primitive-valueof.mjs";
|
|
98
|
+
import { _default as _default$97 } from "./slim-try.mjs";
|
|
99
|
+
import { _default as _default$98 } from "./styled-button-has-type.mjs";
|
|
100
|
+
import { _default as _default$99 } from "./styled-transient-props.mjs";
|
|
101
|
+
import { _default as _default$100 } from "./suspicious-map-length.mjs";
|
|
102
|
+
import { _default as _default$101 } from "./template-tostring.mjs";
|
|
103
|
+
import { _default as _default$102 } from "./unsafe-asserted-chain.mjs";
|
|
104
|
+
import { _default as _default$103 } from "./unused-object-assign.mjs";
|
|
105
|
+
import { _default as _default$104 } from "./unused-object-freeze.mjs";
|
|
106
|
+
import { _default as _default$105 } from "./useless-as-const.mjs";
|
|
107
|
+
import { _default as _default$106 } from "./useless-assign.mjs";
|
|
108
|
+
import { _default as _default$107 } from "./useless-conditional-assign.mjs";
|
|
109
|
+
import { _default as _default$108 } from "./useless-intermediary-variable.mjs";
|
|
110
|
+
import { _default as _default$109 } from "./useless-mock.mjs";
|
|
111
|
+
import { _default as _default$110 } from "./useless-required.mjs";
|
|
77
112
|
|
|
78
113
|
//#region lib/rules/index.d.ts
|
|
79
114
|
declare namespace index_d_exports {
|
|
80
|
-
export { _default as "de-morgan", _default$
|
|
115
|
+
export { _default as "array-from-array", _default$1 as "as-unknown-as", _default$2 as "await-promise-resolve", _default$3 as "boolean-coalescing", _default$4 as "comment-duplicate-leading-space", _default$5 as "conditional-boolean", _default$6 as "constant-boolean-cast", _default$7 as "de-morgan", _default$8 as "discarded-expression-statement", _default$9 as "distribute-boolean-casts", _default$10 as "duplicate-destructuring", _default$11 as "duplicate-object-spread", _default$12 as e, _default$13 as "empty-for", _default$14 as "enum-member", _default$15 as "eqeq-null", _default$16 as "exact-string-regex", _default$17 as "export-using", _default$18 as "generic-constructor-with-hook", _default$19 as "idiomatic-cast", _default$20 as "inferable-type-predicate", _default$21 as "inner-as-const", _default$22 as "jsx-tostring", _default$23 as "literal-destructuring", _default$24 as "named-export-with-side-effects", _default$25 as "nested-reduce", _default$26 as "nested-try-catch", _default$27 as "no-commented-out-comment", _default$28 as "no-constant-template-expression", _default$29 as "no-constructed-error-cause", _default$30 as "no-convoluted-boolean-expressions", _default$31 as "no-convoluted-logical-expressions", _default$32 as "no-custom-url-parsing", _default$33 as "no-disallowed-warning-comments", _default$34 as "no-duplicated-return", _default$35 as "no-else-break", _default$36 as "no-else-continue", _default$37 as "no-else-never", _default$38 as "no-else-return", _default$39 as "no-else-throw", _default$40 as "no-empty-attribute", _default$41 as "no-empty-comment", _default$42 as "no-empty-jsx-expression", _default$43 as "no-empty-literal-iteration", _default$44 as "no-extra-false-fallback", _default$45 as "no-extra-nested-boolean-cast", _default$46 as "no-first-last", _default$47 as "no-float-length-check", _default$48 as "no-huge-try-block", _default$49 as "no-huge-useeffect", _default$50 as "no-if-length-for", _default$51 as "no-inline-jsdoc-tag", _default$52 as "no-invalid-date-literal", _default$53 as "no-jsx-statement", _default$54 as "no-lax-array-type", _default$55 as "no-lax-return-type", _default$56 as "no-mutable-literal-fill", _default$57 as "no-nullish-ternary", _default$58 as "no-numbered-comments", _default$59 as "no-obvious-any", _default$60 as "no-optional-type-guard-param", _default$61 as "no-out-of-order-comments", _default$62 as "no-possibly-nullish-equality", _default$63 as "no-redundant-function-declaration", _default$64 as "no-return-to-void", _default$65 as "no-self-object-assign", _default$66 as "no-sloppy-length-check", _default$67 as "no-suspicious-jsx-semicolon", _default$68 as "no-ternary-return", _default$69 as "no-type-guard", _default$70 as "no-unassigned-todo", _default$71 as "no-unbound-catch-error", _default$72 as "no-unused-mutually-referential", _default$73 as "no-unused-param-read", _default$74 as "no-useless-computed-key", _default$75 as "no-useless-iife", _default$76 as "no-useless-logical-fallback", _default$77 as "no-useless-return-undefined", _default$78 as "no-useless-ts-check", _default$79 as "no-useless-use-strict", _default$80 as "no-useless-usememo", _default$81 as "no-whitespace-property", _default$82 as "nullish-object-spread", _default$83 as "optional-call-expression", _default$84 as "prefer-array-from", _default$85 as "prefer-catch-method", _default$86 as "prefer-early-return", _default$87 as "prefer-eqeq-null", _default$88 as "prefer-finally", _default$89 as "prefer-getorinsert", _default$90 as "prefer-has", _default$91 as "prefer-in", _default$92 as "prefer-object-keys-values", _default$93 as "prefer-repeat", _default$94 as "prefer-satisfies", _default$95 as "prefer-string-join", _default$96 as "primitive-valueof", _default$97 as "slim-try", _default$98 as "styled-button-has-type", _default$99 as "styled-transient-props", _default$100 as "suspicious-map-length", _default$101 as "template-tostring", _default$102 as "unsafe-asserted-chain", _default$103 as "unused-object-assign", _default$104 as "unused-object-freeze", _default$105 as "useless-as-const", _default$106 as "useless-assign", _default$107 as "useless-conditional-assign", _default$108 as "useless-intermediary-variable", _default$109 as "useless-mock", _default$110 as "useless-required" };
|
|
81
116
|
}
|
|
82
117
|
//#endregion
|
|
83
118
|
export { index_d_exports };
|
package/dist/rules/index.mjs
CHANGED
|
@@ -1,22 +1,42 @@
|
|
|
1
1
|
import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
|
|
2
|
+
import array_from_array_default from "./array-from-array.mjs";
|
|
3
|
+
import as_unknown_as_default from "./as-unknown-as.mjs";
|
|
4
|
+
import await_promise_resolve_default from "./await-promise-resolve.mjs";
|
|
5
|
+
import boolean_coalescing_default from "./boolean-coalescing.mjs";
|
|
6
|
+
import comment_duplicate_leading_space_default from "./comment-duplicate-leading-space.mjs";
|
|
7
|
+
import conditional_boolean_default from "./conditional-boolean.mjs";
|
|
8
|
+
import constant_boolean_cast_default from "./constant-boolean-cast.mjs";
|
|
2
9
|
import de_morgan_default from "./de-morgan.mjs";
|
|
10
|
+
import discarded_expression_statement_default from "./discarded-expression-statement.mjs";
|
|
3
11
|
import distribute_boolean_casts_default from "./distribute-boolean-casts.mjs";
|
|
4
12
|
import duplicate_destructuring_default from "./duplicate-destructuring.mjs";
|
|
13
|
+
import duplicate_object_spread_default from "./duplicate-object-spread.mjs";
|
|
5
14
|
import e_default from "./e.mjs";
|
|
15
|
+
import empty_for_default from "./empty-for.mjs";
|
|
16
|
+
import enum_member_default from "./enum-member.mjs";
|
|
17
|
+
import eqeq_null_default from "./eqeq-null.mjs";
|
|
6
18
|
import exact_string_regex_default from "./exact-string-regex.mjs";
|
|
7
19
|
import export_using_default from "./export-using.mjs";
|
|
8
20
|
import generic_constructor_with_hook_default from "./generic-constructor-with-hook.mjs";
|
|
9
21
|
import idiomatic_cast_default from "./idiomatic-cast.mjs";
|
|
22
|
+
import inferable_type_predicate_default from "./inferable-type-predicate.mjs";
|
|
23
|
+
import inner_as_const_default from "./inner-as-const.mjs";
|
|
24
|
+
import jsx_tostring_default from "./jsx-tostring.mjs";
|
|
25
|
+
import literal_destructuring_default from "./literal-destructuring.mjs";
|
|
10
26
|
import named_export_with_side_effects_default from "./named-export-with-side-effects.mjs";
|
|
27
|
+
import nested_reduce_default from "./nested-reduce.mjs";
|
|
28
|
+
import nested_try_catch_default from "./nested-try-catch.mjs";
|
|
11
29
|
import no_commented_out_comment_default from "./no-commented-out-comment.mjs";
|
|
12
30
|
import no_constant_template_expression_default from "./no-constant-template-expression.mjs";
|
|
13
31
|
import no_constructed_error_cause_default from "./no-constructed-error-cause.mjs";
|
|
32
|
+
import no_convoluted_boolean_expressions_default from "./no-convoluted-boolean-expressions.mjs";
|
|
14
33
|
import no_convoluted_logical_expressions_default from "./no-convoluted-logical-expressions.mjs";
|
|
15
34
|
import no_custom_url_parsing_default from "./no-custom-url-parsing.mjs";
|
|
16
35
|
import no_disallowed_warning_comments_default from "./no-disallowed-warning-comments.mjs";
|
|
17
36
|
import no_duplicated_return_default from "./no-duplicated-return.mjs";
|
|
18
37
|
import no_else_break_default from "./no-else-break.mjs";
|
|
19
38
|
import no_else_continue_default from "./no-else-continue.mjs";
|
|
39
|
+
import no_else_never_default from "./no-else-never.mjs";
|
|
20
40
|
import no_else_return_default from "./no-else-return.mjs";
|
|
21
41
|
import no_else_throw_default from "./no-else-throw.mjs";
|
|
22
42
|
import no_empty_attribute_default from "./no-empty-attribute.mjs";
|
|
@@ -36,6 +56,7 @@ import no_jsx_statement_default from "./no-jsx-statement.mjs";
|
|
|
36
56
|
import no_lax_array_type_default from "./no-lax-array-type.mjs";
|
|
37
57
|
import no_lax_return_type_default from "./no-lax-return-type.mjs";
|
|
38
58
|
import no_mutable_literal_fill_default from "./no-mutable-literal-fill.mjs";
|
|
59
|
+
import no_nullish_ternary_default from "./no-nullish-ternary.mjs";
|
|
39
60
|
import no_numbered_comments_default from "./no-numbered-comments.mjs";
|
|
40
61
|
import no_obvious_any_default from "./no-obvious-any.mjs";
|
|
41
62
|
import no_optional_type_guard_param_default from "./no-optional-type-guard-param.mjs";
|
|
@@ -47,6 +68,7 @@ import no_self_object_assign_default from "./no-self-object-assign.mjs";
|
|
|
47
68
|
import no_sloppy_length_check_default from "./no-sloppy-length-check.mjs";
|
|
48
69
|
import no_suspicious_jsx_semicolon_default from "./no-suspicious-jsx-semicolon.mjs";
|
|
49
70
|
import no_ternary_return_default from "./no-ternary-return.mjs";
|
|
71
|
+
import no_type_guard_default from "./no-type-guard.mjs";
|
|
50
72
|
import no_unassigned_todo_default from "./no-unassigned-todo.mjs";
|
|
51
73
|
import no_unbound_catch_error_default from "./no-unbound-catch-error.mjs";
|
|
52
74
|
import no_unused_mutually_referential_default from "./no-unused-mutually-referential.mjs";
|
|
@@ -61,41 +83,73 @@ import no_useless_usememo_default from "./no-useless-usememo.mjs";
|
|
|
61
83
|
import no_whitespace_property_default from "./no-whitespace-property.mjs";
|
|
62
84
|
import nullish_object_spread_default from "./nullish-object-spread.mjs";
|
|
63
85
|
import optional_call_expression_default from "./optional-call-expression.mjs";
|
|
86
|
+
import prefer_array_from_default from "./prefer-array-from.mjs";
|
|
64
87
|
import prefer_catch_method_default from "./prefer-catch-method.mjs";
|
|
65
88
|
import prefer_early_return_default from "./prefer-early-return.mjs";
|
|
89
|
+
import prefer_eqeq_null_default from "./prefer-eqeq-null.mjs";
|
|
66
90
|
import prefer_finally_default from "./prefer-finally.mjs";
|
|
67
91
|
import prefer_getorinsert_default from "./prefer-getorinsert.mjs";
|
|
68
92
|
import prefer_has_default from "./prefer-has.mjs";
|
|
93
|
+
import prefer_in_default from "./prefer-in.mjs";
|
|
69
94
|
import prefer_object_keys_values_default from "./prefer-object-keys-values.mjs";
|
|
70
95
|
import prefer_repeat_default from "./prefer-repeat.mjs";
|
|
96
|
+
import prefer_satisfies_default from "./prefer-satisfies.mjs";
|
|
97
|
+
import prefer_string_join_default from "./prefer-string-join.mjs";
|
|
71
98
|
import primitive_valueof_default from "./primitive-valueof.mjs";
|
|
72
99
|
import slim_try_default from "./slim-try.mjs";
|
|
100
|
+
import styled_button_has_type_default from "./styled-button-has-type.mjs";
|
|
101
|
+
import styled_transient_props_default from "./styled-transient-props.mjs";
|
|
73
102
|
import suspicious_map_length_default from "./suspicious-map-length.mjs";
|
|
103
|
+
import template_tostring_default from "./template-tostring.mjs";
|
|
74
104
|
import unsafe_asserted_chain_default from "./unsafe-asserted-chain.mjs";
|
|
75
105
|
import unused_object_assign_default from "./unused-object-assign.mjs";
|
|
106
|
+
import unused_object_freeze_default from "./unused-object-freeze.mjs";
|
|
107
|
+
import useless_as_const_default from "./useless-as-const.mjs";
|
|
108
|
+
import useless_assign_default from "./useless-assign.mjs";
|
|
109
|
+
import useless_conditional_assign_default from "./useless-conditional-assign.mjs";
|
|
76
110
|
import useless_intermediary_variable_default from "./useless-intermediary-variable.mjs";
|
|
111
|
+
import useless_mock_default from "./useless-mock.mjs";
|
|
77
112
|
import useless_required_default from "./useless-required.mjs";
|
|
78
|
-
|
|
79
113
|
//#region lib/rules/index.ts
|
|
80
114
|
var rules_exports = /* @__PURE__ */ __exportAll({
|
|
115
|
+
"array-from-array": () => array_from_array_default,
|
|
116
|
+
"as-unknown-as": () => as_unknown_as_default,
|
|
117
|
+
"await-promise-resolve": () => await_promise_resolve_default,
|
|
118
|
+
"boolean-coalescing": () => boolean_coalescing_default,
|
|
119
|
+
"comment-duplicate-leading-space": () => comment_duplicate_leading_space_default,
|
|
120
|
+
"conditional-boolean": () => conditional_boolean_default,
|
|
121
|
+
"constant-boolean-cast": () => constant_boolean_cast_default,
|
|
81
122
|
"de-morgan": () => de_morgan_default,
|
|
123
|
+
"discarded-expression-statement": () => discarded_expression_statement_default,
|
|
82
124
|
"distribute-boolean-casts": () => distribute_boolean_casts_default,
|
|
83
125
|
"duplicate-destructuring": () => duplicate_destructuring_default,
|
|
126
|
+
"duplicate-object-spread": () => duplicate_object_spread_default,
|
|
84
127
|
e: () => e_default,
|
|
128
|
+
"empty-for": () => empty_for_default,
|
|
129
|
+
"enum-member": () => enum_member_default,
|
|
130
|
+
"eqeq-null": () => eqeq_null_default,
|
|
85
131
|
"exact-string-regex": () => exact_string_regex_default,
|
|
86
132
|
"export-using": () => export_using_default,
|
|
87
133
|
"generic-constructor-with-hook": () => generic_constructor_with_hook_default,
|
|
88
134
|
"idiomatic-cast": () => idiomatic_cast_default,
|
|
135
|
+
"inferable-type-predicate": () => inferable_type_predicate_default,
|
|
136
|
+
"inner-as-const": () => inner_as_const_default,
|
|
137
|
+
"jsx-tostring": () => jsx_tostring_default,
|
|
138
|
+
"literal-destructuring": () => literal_destructuring_default,
|
|
89
139
|
"named-export-with-side-effects": () => named_export_with_side_effects_default,
|
|
140
|
+
"nested-reduce": () => nested_reduce_default,
|
|
141
|
+
"nested-try-catch": () => nested_try_catch_default,
|
|
90
142
|
"no-commented-out-comment": () => no_commented_out_comment_default,
|
|
91
143
|
"no-constant-template-expression": () => no_constant_template_expression_default,
|
|
92
144
|
"no-constructed-error-cause": () => no_constructed_error_cause_default,
|
|
145
|
+
"no-convoluted-boolean-expressions": () => no_convoluted_boolean_expressions_default,
|
|
93
146
|
"no-convoluted-logical-expressions": () => no_convoluted_logical_expressions_default,
|
|
94
147
|
"no-custom-url-parsing": () => no_custom_url_parsing_default,
|
|
95
148
|
"no-disallowed-warning-comments": () => no_disallowed_warning_comments_default,
|
|
96
149
|
"no-duplicated-return": () => no_duplicated_return_default,
|
|
97
150
|
"no-else-break": () => no_else_break_default,
|
|
98
151
|
"no-else-continue": () => no_else_continue_default,
|
|
152
|
+
"no-else-never": () => no_else_never_default,
|
|
99
153
|
"no-else-return": () => no_else_return_default,
|
|
100
154
|
"no-else-throw": () => no_else_throw_default,
|
|
101
155
|
"no-empty-attribute": () => no_empty_attribute_default,
|
|
@@ -115,6 +169,7 @@ var rules_exports = /* @__PURE__ */ __exportAll({
|
|
|
115
169
|
"no-lax-array-type": () => no_lax_array_type_default,
|
|
116
170
|
"no-lax-return-type": () => no_lax_return_type_default,
|
|
117
171
|
"no-mutable-literal-fill": () => no_mutable_literal_fill_default,
|
|
172
|
+
"no-nullish-ternary": () => no_nullish_ternary_default,
|
|
118
173
|
"no-numbered-comments": () => no_numbered_comments_default,
|
|
119
174
|
"no-obvious-any": () => no_obvious_any_default,
|
|
120
175
|
"no-optional-type-guard-param": () => no_optional_type_guard_param_default,
|
|
@@ -126,6 +181,7 @@ var rules_exports = /* @__PURE__ */ __exportAll({
|
|
|
126
181
|
"no-sloppy-length-check": () => no_sloppy_length_check_default,
|
|
127
182
|
"no-suspicious-jsx-semicolon": () => no_suspicious_jsx_semicolon_default,
|
|
128
183
|
"no-ternary-return": () => no_ternary_return_default,
|
|
184
|
+
"no-type-guard": () => no_type_guard_default,
|
|
129
185
|
"no-unassigned-todo": () => no_unassigned_todo_default,
|
|
130
186
|
"no-unbound-catch-error": () => no_unbound_catch_error_default,
|
|
131
187
|
"no-unused-mutually-referential": () => no_unused_mutually_referential_default,
|
|
@@ -140,21 +196,33 @@ var rules_exports = /* @__PURE__ */ __exportAll({
|
|
|
140
196
|
"no-whitespace-property": () => no_whitespace_property_default,
|
|
141
197
|
"nullish-object-spread": () => nullish_object_spread_default,
|
|
142
198
|
"optional-call-expression": () => optional_call_expression_default,
|
|
199
|
+
"prefer-array-from": () => prefer_array_from_default,
|
|
143
200
|
"prefer-catch-method": () => prefer_catch_method_default,
|
|
144
201
|
"prefer-early-return": () => prefer_early_return_default,
|
|
202
|
+
"prefer-eqeq-null": () => prefer_eqeq_null_default,
|
|
145
203
|
"prefer-finally": () => prefer_finally_default,
|
|
146
204
|
"prefer-getorinsert": () => prefer_getorinsert_default,
|
|
147
205
|
"prefer-has": () => prefer_has_default,
|
|
206
|
+
"prefer-in": () => prefer_in_default,
|
|
148
207
|
"prefer-object-keys-values": () => prefer_object_keys_values_default,
|
|
149
208
|
"prefer-repeat": () => prefer_repeat_default,
|
|
209
|
+
"prefer-satisfies": () => prefer_satisfies_default,
|
|
210
|
+
"prefer-string-join": () => prefer_string_join_default,
|
|
150
211
|
"primitive-valueof": () => primitive_valueof_default,
|
|
151
212
|
"slim-try": () => slim_try_default,
|
|
213
|
+
"styled-button-has-type": () => styled_button_has_type_default,
|
|
214
|
+
"styled-transient-props": () => styled_transient_props_default,
|
|
152
215
|
"suspicious-map-length": () => suspicious_map_length_default,
|
|
216
|
+
"template-tostring": () => template_tostring_default,
|
|
153
217
|
"unsafe-asserted-chain": () => unsafe_asserted_chain_default,
|
|
154
218
|
"unused-object-assign": () => unused_object_assign_default,
|
|
219
|
+
"unused-object-freeze": () => unused_object_freeze_default,
|
|
220
|
+
"useless-as-const": () => useless_as_const_default,
|
|
221
|
+
"useless-assign": () => useless_assign_default,
|
|
222
|
+
"useless-conditional-assign": () => useless_conditional_assign_default,
|
|
155
223
|
"useless-intermediary-variable": () => useless_intermediary_variable_default,
|
|
224
|
+
"useless-mock": () => useless_mock_default,
|
|
156
225
|
"useless-required": () => useless_required_default
|
|
157
226
|
});
|
|
158
|
-
|
|
159
227
|
//#endregion
|
|
160
|
-
export { rules_exports };
|
|
228
|
+
export { rules_exports };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { WyrmPluginDocs } from "../utils/createRule.mjs";
|
|
2
|
+
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
3
|
+
|
|
4
|
+
//#region lib/rules/inferable-type-predicate.d.ts
|
|
5
|
+
declare const _default: ESLintUtils.RuleModule<"noInferableTypePredicate", [], WyrmPluginDocs, ESLintUtils.RuleListener> & {
|
|
6
|
+
name: string;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { _default };
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { createRule } from "../utils/createRule.mjs";
|
|
2
|
+
import { None, Option, Some } from "../utils/option.mjs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
|
|
5
|
+
//#region lib/rules/inferable-type-predicate.ts
|
|
6
|
+
const { name } = path.parse(import.meta.filename);
|
|
7
|
+
var inferable_type_predicate_default = createRule({
|
|
8
|
+
name,
|
|
9
|
+
meta: {
|
|
10
|
+
type: "suggestion",
|
|
11
|
+
docs: {
|
|
12
|
+
description: "Forbid inferable type predicates",
|
|
13
|
+
strict: true,
|
|
14
|
+
requiresTypeChecking: true
|
|
15
|
+
},
|
|
16
|
+
fixable: "code",
|
|
17
|
+
schema: [],
|
|
18
|
+
messages: { noInferableTypePredicate: "Since TypeScript 5.5, this type predicate can be automatically inferred. You should remove it." }
|
|
19
|
+
},
|
|
20
|
+
defaultOptions: [],
|
|
21
|
+
create(context) {
|
|
22
|
+
let services;
|
|
23
|
+
function getServices() {
|
|
24
|
+
services ??= ESLintUtils.getParserServices(context);
|
|
25
|
+
return services;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
FunctionDeclaration: checkFunction,
|
|
29
|
+
FunctionExpression: checkFunction,
|
|
30
|
+
ArrowFunctionExpression: checkFunction
|
|
31
|
+
};
|
|
32
|
+
function checkFunction(fn) {
|
|
33
|
+
const { returnType } = fn;
|
|
34
|
+
if (!returnType) return;
|
|
35
|
+
if (returnType.typeAnnotation.type !== AST_NODE_TYPES.TSTypePredicate) return;
|
|
36
|
+
const [param] = fn.params;
|
|
37
|
+
if (!param) return;
|
|
38
|
+
if (param.type !== AST_NODE_TYPES.Identifier) return;
|
|
39
|
+
const maybeReturnValue = getReturnValue(fn.body);
|
|
40
|
+
if (!maybeReturnValue.some) return;
|
|
41
|
+
const returnValue = maybeReturnValue.value;
|
|
42
|
+
if (!isInferableEquality(returnValue, param) && !isInferableInequality(returnValue, param)) return;
|
|
43
|
+
context.report({
|
|
44
|
+
node: fn,
|
|
45
|
+
messageId: "noInferableTypePredicate",
|
|
46
|
+
fix(fixer) {
|
|
47
|
+
return fixer.remove(returnType);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function isInferableInequality(expr, param) {
|
|
52
|
+
if (expr.type !== AST_NODE_TYPES.BinaryExpression) return false;
|
|
53
|
+
if (expr.operator !== "!==" && expr.operator !== "!=") return false;
|
|
54
|
+
if (!getServices().getTypeAtLocation(param).isUnion()) return false;
|
|
55
|
+
return isLiteralInequality(expr.left, expr.right, param) || isLiteralInequality(expr.right, expr.left, param);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
function isInferableEquality(expr, param) {
|
|
60
|
+
if (expr.type !== AST_NODE_TYPES.BinaryExpression) return false;
|
|
61
|
+
if (expr.operator !== "===") return false;
|
|
62
|
+
return isTypeOfCheck(expr.left, expr.right, param) || isTypeOfCheck(expr.right, expr.left, param) || isLiteralEquality(expr.left, expr.right, param) || isLiteralEquality(expr.right, expr.left, param);
|
|
63
|
+
}
|
|
64
|
+
function isTypeOfCheck(left, right, ident) {
|
|
65
|
+
if (left.type !== AST_NODE_TYPES.UnaryExpression) return false;
|
|
66
|
+
if (left.operator !== "typeof") return false;
|
|
67
|
+
if (left.argument.type !== AST_NODE_TYPES.Identifier) return false;
|
|
68
|
+
if (left.argument.name !== ident.name) return false;
|
|
69
|
+
if (right.type !== AST_NODE_TYPES.Literal) return false;
|
|
70
|
+
if (typeof right.value !== "string") return false;
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
function isLiteralInequality(left, right, ident) {
|
|
74
|
+
if (left.type !== AST_NODE_TYPES.Identifier) return false;
|
|
75
|
+
if (left.name !== ident.name) return false;
|
|
76
|
+
switch (right.type) {
|
|
77
|
+
case AST_NODE_TYPES.Literal: return right.value === null;
|
|
78
|
+
case AST_NODE_TYPES.Identifier: return right.name === "undefined";
|
|
79
|
+
default: return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function isLiteralEquality(left, right, ident) {
|
|
83
|
+
if (left.type !== AST_NODE_TYPES.Identifier) return false;
|
|
84
|
+
if (left.name !== ident.name) return false;
|
|
85
|
+
switch (right.type) {
|
|
86
|
+
case AST_NODE_TYPES.Literal: return true;
|
|
87
|
+
case AST_NODE_TYPES.Identifier: return right.name === "undefined";
|
|
88
|
+
default: return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function getReturnValue(body) {
|
|
92
|
+
if (body.type !== AST_NODE_TYPES.BlockStatement) return Some(body);
|
|
93
|
+
if (body.body.length !== 1) return None;
|
|
94
|
+
const returnStatement = body.body.find((stmt) => stmt.type === AST_NODE_TYPES.ReturnStatement);
|
|
95
|
+
if (!returnStatement) return None;
|
|
96
|
+
if (!returnStatement.argument) return None;
|
|
97
|
+
return Option.fromUndef(returnStatement.argument);
|
|
98
|
+
}
|
|
99
|
+
//#endregion
|
|
100
|
+
export { inferable_type_predicate_default as default };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { WyrmPluginDocs } from "../utils/createRule.mjs";
|
|
2
|
+
import * as _$_typescript_eslint_utils_ts_eslint0 from "@typescript-eslint/utils/ts-eslint";
|
|
3
|
+
|
|
4
|
+
//#region lib/rules/inner-as-const.d.ts
|
|
5
|
+
declare const _default: _$_typescript_eslint_utils_ts_eslint0.RuleModule<"noInnerAsConstObject" | "noInnerAsConstArray", [], WyrmPluginDocs, _$_typescript_eslint_utils_ts_eslint0.RuleListener> & {
|
|
6
|
+
name: string;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { _default };
|