diff --git a/.github/workflows/update-rule-manifest.yml b/.github/workflows/update-rule-manifest.yml index 1a2849be8..bbe4f4ff5 100644 --- a/.github/workflows/update-rule-manifest.yml +++ b/.github/workflows/update-rule-manifest.yml @@ -17,14 +17,14 @@ jobs: - name: Set up Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: - node-version: 20.19.5 + node-version: '24' - name: Check for rule changes id: diff run: | git fetch origin main - git diff --name-only HEAD~10 HEAD | grep '^internal/rules/' || echo '' > changed_rules.txt - git diff --name-status HEAD~10 HEAD | grep '^internal/rules/' || echo '' > changed_rules_status.txt + git diff --name-only HEAD~10 HEAD | grep '^internal/plugins/' || echo '' > changed_rules.txt + git diff --name-status HEAD~10 HEAD | grep '^internal/plugins/' || echo '' > changed_rules_status.txt - name: Generate rule-manifest.json if rules changed if: ${{ hashFiles('changed_rules.txt') != '' }} diff --git a/internal/config/config.go b/internal/config/config.go index be7eab1d4..32ec0cdaf 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -24,6 +24,7 @@ import ( "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/consistent_type_exports" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/consistent_type_imports" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/default_param_last" + "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/dot_notation" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_array_delete" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_base_to_string" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_confusing_void_expression" @@ -33,18 +34,18 @@ import ( "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_empty_interface" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_explicit_any" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_extraneous_class" - "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_invalid_void_type" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_floating_promises" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_for_in_array" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_implied_eval" + "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_invalid_void_type" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_meaningless_void_operator" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_misused_promises" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_misused_spread" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_mixed_enums" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_namespace" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_redundant_type_constituents" - "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_this_alias" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_require_imports" + "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_this_alias" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_unnecessary_boolean_literal_compare" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_unnecessary_template_expression" "github.com/web-infra-dev/rslint/internal/plugins/typescript/rules/no_unnecessary_type_arguments" @@ -82,7 +83,6 @@ import ( "github.com/web-infra-dev/rslint/internal/rule" "github.com/web-infra-dev/rslint/internal/rules/array_callback_return" "github.com/web-infra-dev/rslint/internal/rules/constructor_super" - "github.com/web-infra-dev/rslint/internal/rules/dot_notation" "github.com/web-infra-dev/rslint/internal/rules/for_direction" "github.com/web-infra-dev/rslint/internal/rules/getter_return" "github.com/web-infra-dev/rslint/internal/rules/no_async_promise_executor" diff --git a/internal/rules/dot_notation/dot_notation.go b/internal/plugins/typescript/rules/dot_notation/dot_notation.go similarity index 100% rename from internal/rules/dot_notation/dot_notation.go rename to internal/plugins/typescript/rules/dot_notation/dot_notation.go diff --git a/internal/rules/dot_notation/dot_notation_test.go b/internal/plugins/typescript/rules/dot_notation/dot_notation_test.go similarity index 100% rename from internal/rules/dot_notation/dot_notation_test.go rename to internal/plugins/typescript/rules/dot_notation/dot_notation_test.go diff --git a/packages/rslint-test-tools/rule-manifest.json b/packages/rslint-test-tools/rule-manifest.json index 860ba7f6f..62cfe77bc 100644 --- a/packages/rslint-test-tools/rule-manifest.json +++ b/packages/rslint-test-tools/rule-manifest.json @@ -27,12 +27,78 @@ "status": "full", "failing_case": [] }, + { + "name": "ban-ts-comment", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, + { + "name": "ban-types", + "group": "@typescript-eslint", + "status": "partial-test", + "failing_case": [] + }, { "name": "class-literal-property-style", "group": "@typescript-eslint", "status": "full", "failing_case": [] }, + { + "name": "consistent-generic-constructors", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, + { + "name": "consistent-indexed-object-style", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, + { + "name": "consistent-return", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, + { + "name": "consistent-type-assertions", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, + { + "name": "consistent-type-definitions", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, + { + "name": "consistent-type-exports", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, + { + "name": "consistent-type-imports", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, + { + "name": "default-param-last", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, + { + "name": "dot-notation", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, { "name": "no-array-delete", "group": "@typescript-eslint", @@ -42,7 +108,7 @@ { "name": "no-base-to-string", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { @@ -51,6 +117,12 @@ "status": "full", "failing_case": [] }, + { + "name": "no-duplicate-enum-values", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, { "name": "no-duplicate-type-constituents", "group": "@typescript-eslint", @@ -75,16 +147,22 @@ "status": "full", "failing_case": [] }, + { + "name": "no-extraneous-class", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, { "name": "no-floating-promises", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-for-in-array", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { @@ -93,28 +171,34 @@ "status": "full", "failing_case": [] }, + { + "name": "no-invalid-void-type", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, { "name": "no-meaningless-void-operator", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-misused-promises", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-misused-spread", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-mixed-enums", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { @@ -126,7 +210,7 @@ { "name": "no-redundant-type-constituents", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { @@ -141,76 +225,82 @@ "status": "full", "failing_case": [] }, + { + "name": "no-this-alias", + "group": "@typescript-eslint", + "status": "full", + "failing_case": [] + }, { "name": "no-unnecessary-boolean-literal-compare", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unnecessary-template-expression", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unnecessary-type-arguments", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unnecessary-type-assertion", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unsafe-argument", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unsafe-assignment", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unsafe-call", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unsafe-enum-comparison", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unsafe-member-access", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unsafe-return", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unsafe-type-assertion", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-unsafe-unary-minus", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { @@ -222,109 +312,133 @@ { "name": "no-useless-empty-export", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "no-var-requires", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", + "failing_case": [] + }, + { + "name": "no-webpack-loader-syntax", + "group": "eslint-plugin-import", + "status": "full", "failing_case": [] }, { "name": "non-nullable-type-assertion-style", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "only-throw-error", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "prefer-as-const", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "prefer-promise-reject-errors", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", + "failing_case": [] + }, + { + "name": "prefer-readonly-parameter-types", + "group": "@typescript-eslint", + "status": "full", "failing_case": [] }, { "name": "prefer-reduce-type-parameter", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "prefer-return-this-type", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "promise-function-async", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "related-getter-setter-pairs", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "require-array-sort-compare", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "require-await", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "restrict-plus-operands", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "restrict-template-expressions", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "return-await", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] }, { "name": "switch-exhaustiveness-check", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", + "failing_case": [] + }, + { + "name": "triple-slash-reference", + "group": "@typescript-eslint", + "status": "full", "failing_case": [] }, { "name": "unbound-method", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", + "failing_case": [] + }, + { + "name": "unified-signatures", + "group": "@typescript-eslint", + "status": "full", "failing_case": [] }, { "name": "use-unknown-in-catch-callback-variable", "group": "@typescript-eslint", - "status": "partial-test", + "status": "full", "failing_case": [] } ]