From 66e687eebc67dc8605bd6ca594825621f23f683b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 27 Jan 2026 21:28:48 +0000 Subject: [PATCH 1/4] Port over ember-template-lint rule for gjs/gts --- .github/workflows/ci.yml | 52 +- .github/workflows/codeql-analysis.yml | 58 +- .github/workflows/plan-release.yml | 4 +- .github/workflows/publish.yml | 2 +- .gitignore | 1 + CHANGELOG.md | 2314 ++++++++++------- README.md | 242 +- docs/rules/template-attribute-indentation.md | 33 + docs/rules/template-attribute-order.md | 73 + docs/rules/template-block-indentation.md | 35 + .../template-deprecated-inline-view-helper.md | 13 + .../template-deprecated-render-helper.md | 25 + docs/rules/template-eol-last.md | 73 + docs/rules/template-linebreak-style.md | 27 + docs/rules/template-link-href-attributes.md | 61 + docs/rules/template-link-rel-noopener.md | 15 + docs/rules/template-no-abstract-roles.md | 13 + docs/rules/template-no-accesskey-attribute.md | 46 + docs/rules/template-no-action-modifiers.md | 66 + .../template-no-action-on-submit-button.md | 67 + docs/rules/template-no-action.md | 56 + .../template-no-ambiguous-glimmer-paths.md | 51 + docs/rules/template-no-args-paths.md | 13 + ...template-no-arguments-for-html-elements.md | 66 + docs/rules/template-no-aria-hidden-body.md | 15 + .../template-no-aria-unsupported-elements.md | 63 + .../template-no-array-prototype-extensions.md | 73 + .../template-no-at-ember-render-modifiers.md | 45 + ...late-no-attribute-splat-on-html-element.md | 45 + docs/rules/template-no-attrs-in-components.md | 13 + docs/rules/template-no-autofocus-attribute.md | 50 + docs/rules/template-no-bare-strings.md | 108 + docs/rules/template-no-bare-yield.md | 39 + ...plate-no-block-params-for-html-elements.md | 76 + docs/rules/template-no-block-params.md | 45 + .../template-no-builtin-form-components.md | 45 + docs/rules/template-no-capital-arguments.md | 43 + docs/rules/template-no-chained-this.md | 66 + docs/rules/template-no-class-bindings.md | 45 + docs/rules/template-no-debugger.md | 54 + docs/rules/template-no-down-event-binding.md | 80 + .../rules/template-no-duplicate-attributes.md | 61 + docs/rules/template-no-duplicate-id.md | 13 + ...template-no-duplicate-landmark-elements.md | 72 + ...te-no-dynamic-subexpression-invocations.md | 66 + .../template-no-element-event-actions.md | 43 + docs/rules/template-no-empty-headings.md | 13 + docs/rules/template-no-extra-mut-helpers.md | 45 + docs/rules/template-no-forbidden-elements.md | 15 + docs/rules/template-no-form-action.md | 70 + .../template-no-heading-inside-button.md | 13 + docs/rules/template-no-html-comments.md | 42 + docs/rules/template-no-implicit-this.md | 50 + .../template-no-inline-event-handlers.md | 74 + docs/rules/template-no-inline-linkto.md | 47 + docs/rules/template-no-inline-styles.md | 11 + docs/rules/template-no-input-block.md | 13 + docs/rules/template-no-input-placeholder.md | 49 + docs/rules/template-no-input-tagname.md | 13 + .../template-no-invalid-aria-attributes.md | 47 + docs/rules/template-no-invalid-interactive.md | 52 + docs/rules/template-no-invalid-link-text.md | 72 + docs/rules/template-no-invalid-link-title.md | 43 + docs/rules/template-no-invalid-meta.md | 62 + docs/rules/template-no-invalid-role.md | 66 + .../template-no-link-to-positional-params.md | 40 + docs/rules/template-no-link-to-tagname.md | 45 + docs/rules/template-no-log.md | 60 + ...te-no-model-argument-in-route-templates.md | 63 + .../rules/template-no-multiple-empty-lines.md | 62 + docs/rules/template-no-mut-helper.md | 66 + docs/rules/template-no-negated-comparison.md | 53 + docs/rules/template-no-negated-condition.md | 45 + docs/rules/template-no-nested-interactive.md | 85 + docs/rules/template-no-nested-landmark.md | 83 + .../rules/template-no-nested-splattributes.md | 70 + .../rules/template-no-obscure-array-access.md | 67 + docs/rules/template-no-obsolete-elements.md | 13 + .../template-no-outlet-outside-routes.md | 39 + .../rules/template-no-page-title-component.md | 45 + docs/rules/template-no-partial.md | 52 + .../template-no-passed-in-event-handlers.md | 75 + .../template-no-pointer-down-event-binding.md | 74 + ...plate-no-positional-data-test-selectors.md | 45 + docs/rules/template-no-positive-tabindex.md | 59 + .../template-no-potential-path-strings.md | 39 + .../rules/template-no-quoteless-attributes.md | 13 + docs/rules/template-no-redundant-fn.md | 67 + .../template-no-redundant-landmark-role.md | 72 + docs/rules/template-no-route-action.md | 74 + ...emplate-no-scope-outside-table-headings.md | 66 + docs/rules/template-no-shadowed-elements.md | 65 + ...ate-no-this-in-template-only-components.md | 13 + docs/rules/template-no-trailing-spaces.md | 43 + docs/rules/template-no-triple-curlies.md | 64 + docs/rules/template-no-unbalanced-curlies.md | 69 + docs/rules/template-no-unbound.md | 13 + ...nknown-arguments-for-builtin-components.md | 43 + ...emplate-no-unnecessary-component-helper.md | 46 + docs/rules/template-no-unnecessary-concat.md | 15 + ...te-no-unnecessary-curly-in-string-attrs.md | 39 + .../template-no-unnecessary-curly-parens.md | 65 + .../template-no-unnecessary-curly-strings.md | 11 + ...-unnecessary-service-injection-argument.md | 39 + ...template-no-unsupported-role-attributes.md | 61 + docs/rules/template-no-unused-block-params.md | 57 + docs/rules/template-no-valueless-arguments.md | 13 + .../template-no-whitespace-for-layout.md | 65 + .../template-no-whitespace-within-word.md | 49 + docs/rules/template-no-with.md | 13 + docs/rules/template-no-yield-only.md | 42 + docs/rules/template-no-yield-to-default.md | 39 + docs/rules/template-quotes.md | 37 + ...-require-aria-activedescendant-tabindex.md | 57 + docs/rules/template-require-button-type.md | 60 + docs/rules/template-require-context-role.md | 76 + docs/rules/template-require-each-key.md | 45 + .../template-require-has-block-helper.md | 53 + docs/rules/template-require-iframe-title.md | 13 + docs/rules/template-require-input-label.md | 59 + docs/rules/template-require-lang-attribute.md | 55 + ...plate-require-mandatory-role-attributes.md | 79 + docs/rules/template-require-media-caption.md | 61 + ...emplate-require-presentational-children.md | 74 + docs/rules/template-require-valid-alt-text.md | 13 + .../template-self-closing-void-elements.md | 59 + docs/rules/template-simple-unless.md | 51 + docs/rules/template-splat-attributes-only.md | 13 + docs/rules/template-style-concatenation.md | 76 + docs/rules/template-table-groups.md | 64 + lib/config-legacy/strict-gjs.js | 7 + lib/config-legacy/strict-gts.js | 7 + lib/config/strict-gjs.js | 4 + lib/config/strict-gts.js | 4 + lib/rules/template-attribute-indentation.js | 23 + lib/rules/template-attribute-order.js | 103 + lib/rules/template-block-indentation.js | 23 + .../template-deprecated-inline-view-helper.js | 47 + .../template-deprecated-render-helper.js | 44 + lib/rules/template-eol-last.js | 96 + lib/rules/template-linebreak-style.js | 23 + lib/rules/template-link-href-attributes.js | 38 + lib/rules/template-link-rel-noopener.js | 57 + lib/rules/template-no-abstract-roles.js | 54 + lib/rules/template-no-accesskey-attribute.js | 48 + lib/rules/template-no-action-modifiers.js | 42 + .../template-no-action-on-submit-button.js | 62 + lib/rules/template-no-action.js | 70 + .../template-no-ambiguous-glimmer-paths.js | 74 + lib/rules/template-no-args-paths.js | 24 + ...template-no-arguments-for-html-elements.js | 152 ++ lib/rules/template-no-aria-hidden-body.js | 49 + .../template-no-aria-unsupported-elements.js | 58 + .../template-no-array-prototype-extensions.js | 41 + .../template-no-at-ember-render-modifiers.js | 44 + ...late-no-attribute-splat-on-html-element.js | 39 + lib/rules/template-no-attrs-in-components.js | 27 + lib/rules/template-no-autofocus-attribute.js | 48 + lib/rules/template-no-bare-strings.js | 102 + lib/rules/template-no-bare-yield.js | 34 + ...plate-no-block-params-for-html-elements.js | 150 ++ lib/rules/template-no-block-params.js | 29 + .../template-no-builtin-form-components.js | 34 + lib/rules/template-no-capital-arguments.js | 47 + lib/rules/template-no-chained-this.js | 36 + lib/rules/template-no-class-bindings.js | 48 + lib/rules/template-no-debugger.js | 43 + lib/rules/template-no-down-event-binding.js | 58 + lib/rules/template-no-duplicate-attributes.js | 80 + lib/rules/template-no-duplicate-id.js | 34 + ...template-no-duplicate-landmark-elements.js | 119 + ...te-no-dynamic-subexpression-invocations.js | 59 + .../template-no-element-event-actions.js | 38 + lib/rules/template-no-empty-headings.js | 63 + lib/rules/template-no-extra-mut-helpers.js | 41 + lib/rules/template-no-forbidden-elements.js | 25 + lib/rules/template-no-form-action.js | 37 + .../template-no-heading-inside-button.js | 47 + lib/rules/template-no-html-comments.js | 49 + lib/rules/template-no-implicit-this.js | 99 + .../template-no-inline-event-handlers.js | 58 + lib/rules/template-no-inline-linkto.js | 31 + lib/rules/template-no-inline-styles.js | 25 + lib/rules/template-no-input-block.js | 24 + lib/rules/template-no-input-placeholder.js | 36 + lib/rules/template-no-input-tagname.js | 38 + .../template-no-invalid-aria-attributes.js | 84 + lib/rules/template-no-invalid-interactive.js | 92 + lib/rules/template-no-invalid-link-text.js | 72 + lib/rules/template-no-invalid-link-title.js | 55 + lib/rules/template-no-invalid-meta.js | 61 + lib/rules/template-no-invalid-role.js | 110 + .../template-no-link-to-positional-params.js | 56 + lib/rules/template-no-link-to-tagname.js | 50 + lib/rules/template-no-log.js | 39 + ...te-no-model-argument-in-route-templates.js | 43 + lib/rules/template-no-multiple-empty-lines.js | 71 + lib/rules/template-no-mut-helper.js | 35 + lib/rules/template-no-negated-comparison.js | 35 + lib/rules/template-no-negated-condition.js | 38 + lib/rules/template-no-nested-interactive.js | 103 + lib/rules/template-no-nested-landmark.js | 73 + lib/rules/template-no-nested-splattributes.js | 44 + lib/rules/template-no-obscure-array-access.js | 36 + lib/rules/template-no-obsolete-elements.js | 55 + .../template-no-outlet-outside-routes.js | 30 + lib/rules/template-no-page-title-component.js | 31 + lib/rules/template-no-partial.js | 48 + .../template-no-passed-in-event-handlers.js | 47 + .../template-no-pointer-down-event-binding.js | 56 + ...plate-no-positional-data-test-selectors.js | 44 + lib/rules/template-no-positive-tabindex.js | 107 + .../template-no-potential-path-strings.js | 39 + lib/rules/template-no-quoteless-attributes.js | 44 + lib/rules/template-no-redundant-fn.js | 57 + .../template-no-redundant-landmark-role.js | 82 + lib/rules/template-no-route-action.js | 44 + ...emplate-no-scope-outside-table-headings.js | 37 + lib/rules/template-no-shadowed-elements.js | 149 ++ ...ate-no-this-in-template-only-components.js | 34 + lib/rules/template-no-trailing-spaces.js | 47 + lib/rules/template-no-triple-curlies.js | 35 + lib/rules/template-no-unbalanced-curlies.js | 42 + lib/rules/template-no-unbound.js | 27 + ...nknown-arguments-for-builtin-components.js | 57 + ...emplate-no-unnecessary-component-helper.js | 38 + lib/rules/template-no-unnecessary-concat.js | 38 + ...te-no-unnecessary-curly-in-string-attrs.js | 34 + .../template-no-unnecessary-curly-parens.js | 51 + .../template-no-unnecessary-curly-strings.js | 27 + ...-unnecessary-service-injection-argument.js | 43 + ...template-no-unsupported-role-attributes.js | 75 + lib/rules/template-no-unused-block-params.js | 93 + lib/rules/template-no-valueless-arguments.js | 28 + .../template-no-whitespace-for-layout.js | 33 + .../template-no-whitespace-within-word.js | 35 + lib/rules/template-no-with.js | 27 + lib/rules/template-no-yield-only.js | 72 + lib/rules/template-no-yield-to-default.js | 46 + lib/rules/template-quotes.js | 27 + ...-require-aria-activedescendant-tabindex.js | 42 + lib/rules/template-require-button-type.js | 81 + lib/rules/template-require-context-role.js | 84 + lib/rules/template-require-each-key.js | 33 + .../template-require-has-block-helper.js | 31 + lib/rules/template-require-iframe-title.js | 41 + lib/rules/template-require-input-label.js | 62 + lib/rules/template-require-lang-attribute.js | 34 + ...plate-require-mandatory-role-attributes.js | 68 + lib/rules/template-require-media-caption.js | 54 + ...emplate-require-presentational-children.js | 67 + lib/rules/template-require-valid-alt-text.js | 53 + .../template-self-closing-void-elements.js | 48 + lib/rules/template-simple-unless.js | 36 + lib/rules/template-splat-attributes-only.js | 26 + lib/rules/template-style-concatenation.js | 50 + lib/rules/template-table-groups.js | 48 + lib/strict-rules-gjs.js | 107 + lib/strict-rules-gts.js | 107 + scripts/update-rules.js | 2 + tests/__snapshots__/recommended.js.snap | 87 - .../rules/template-attribute-indentation.js | 31 + tests/lib/rules/template-attribute-order.js | 34 + tests/lib/rules/template-block-indentation.js | 33 + .../template-deprecated-inline-view-helper.js | 18 + .../template-deprecated-render-helper.js | 18 + tests/lib/rules/template-eol-last.js | 37 + tests/lib/rules/template-linebreak-style.js | 29 + .../rules/template-link-href-attributes.js | 33 + tests/lib/rules/template-link-rel-noopener.js | 17 + tests/lib/rules/template-no-abstract-roles.js | 23 + .../rules/template-no-accesskey-attribute.js | 57 + .../lib/rules/template-no-action-modifiers.js | 51 + .../template-no-action-on-submit-button.js | 52 + tests/lib/rules/template-no-action.js | 61 + .../template-no-ambiguous-glimmer-paths.js | 57 + tests/lib/rules/template-no-args-paths.js | 17 + ...template-no-arguments-for-html-elements.js | 53 + .../lib/rules/template-no-aria-hidden-body.js | 21 + .../template-no-aria-unsupported-elements.js | 33 + .../template-no-array-prototype-extensions.js | 54 + .../template-no-at-ember-render-modifiers.js | 71 + ...late-no-attribute-splat-on-html-element.js | 68 + .../rules/template-no-attrs-in-components.js | 23 + .../rules/template-no-autofocus-attribute.js | 57 + tests/lib/rules/template-no-bare-strings.js | 37 + tests/lib/rules/template-no-bare-yield.js | 26 + ...plate-no-block-params-for-html-elements.js | 49 + tests/lib/rules/template-no-block-params.js | 27 + .../template-no-builtin-form-components.js | 56 + .../rules/template-no-capital-arguments.js | 73 + tests/lib/rules/template-no-chained-this.js | 52 + tests/lib/rules/template-no-class-bindings.js | 34 + tests/lib/rules/template-no-debugger.js | 75 + .../rules/template-no-down-event-binding.js | 71 + .../rules/template-no-duplicate-attributes.js | 97 + tests/lib/rules/template-no-duplicate-id.js | 17 + ...template-no-duplicate-landmark-elements.js | 33 + ...te-no-dynamic-subexpression-invocations.js | 48 + .../template-no-element-event-actions.js | 73 + tests/lib/rules/template-no-empty-headings.js | 28 + .../rules/template-no-extra-mut-helpers.js | 68 + .../rules/template-no-forbidden-elements.js | 18 + tests/lib/rules/template-no-form-action.js | 66 + .../template-no-heading-inside-button.js | 27 + tests/lib/rules/template-no-html-comments.js | 26 + tests/lib/rules/template-no-implicit-this.js | 53 + .../template-no-inline-event-handlers.js | 71 + tests/lib/rules/template-no-inline-linkto.js | 70 + tests/lib/rules/template-no-inline-styles.js | 17 + tests/lib/rules/template-no-input-block.js | 17 + .../rules/template-no-input-placeholder.js | 74 + tests/lib/rules/template-no-input-tagname.js | 17 + .../template-no-invalid-aria-attributes.js | 31 + .../rules/template-no-invalid-interactive.js | 73 + .../rules/template-no-invalid-link-text.js | 33 + .../rules/template-no-invalid-link-title.js | 31 + tests/lib/rules/template-no-invalid-meta.js | 49 + tests/lib/rules/template-no-invalid-role.js | 80 + .../template-no-link-to-positional-params.js | 32 + .../lib/rules/template-no-link-to-tagname.js | 48 + tests/lib/rules/template-no-log.js | 75 + ...te-no-model-argument-in-route-templates.js | 48 + .../rules/template-no-multiple-empty-lines.js | 69 + tests/lib/rules/template-no-mut-helper.js | 49 + .../rules/template-no-negated-comparison.js | 76 + .../rules/template-no-negated-condition.js | 26 + .../rules/template-no-nested-interactive.js | 125 + .../lib/rules/template-no-nested-landmark.js | 84 + .../rules/template-no-nested-splattributes.js | 51 + .../rules/template-no-obscure-array-access.js | 28 + .../rules/template-no-obsolete-elements.js | 17 + .../template-no-outlet-outside-routes.js | 27 + .../rules/template-no-page-title-component.js | 68 + tests/lib/rules/template-no-partial.js | 54 + .../template-no-passed-in-event-handlers.js | 71 + .../template-no-pointer-down-event-binding.js | 58 + ...plate-no-positional-data-test-selectors.js | 68 + .../rules/template-no-positive-tabindex.js | 71 + .../template-no-potential-path-strings.js | 73 + .../rules/template-no-quoteless-attributes.js | 17 + tests/lib/rules/template-no-redundant-fn.js | 60 + .../template-no-redundant-landmark-role.js | 82 + tests/lib/rules/template-no-route-action.js | 74 + ...emplate-no-scope-outside-table-headings.js | 37 + .../rules/template-no-shadowed-elements.js | 71 + ...ate-no-this-in-template-only-components.js | 13 + .../lib/rules/template-no-trailing-spaces.js | 57 + tests/lib/rules/template-no-triple-curlies.js | 60 + .../rules/template-no-unbalanced-curlies.js | 26 + tests/lib/rules/template-no-unbound.js | 17 + ...nknown-arguments-for-builtin-components.js | 73 + ...emplate-no-unnecessary-component-helper.js | 35 + .../rules/template-no-unnecessary-concat.js | 17 + ...te-no-unnecessary-curly-in-string-attrs.js | 25 + .../template-no-unnecessary-curly-parens.js | 36 + .../template-no-unnecessary-curly-strings.js | 17 + ...-unnecessary-service-injection-argument.js | 68 + ...template-no-unsupported-role-attributes.js | 33 + .../rules/template-no-unused-block-params.js | 40 + .../rules/template-no-valueless-arguments.js | 17 + .../template-no-whitespace-for-layout.js | 36 + .../template-no-whitespace-within-word.js | 36 + tests/lib/rules/template-no-with.js | 17 + tests/lib/rules/template-no-yield-only.js | 74 + .../lib/rules/template-no-yield-to-default.js | 75 + tests/lib/rules/template-quotes.js | 31 + ...-require-aria-activedescendant-tabindex.js | 33 + .../lib/rules/template-require-button-type.js | 99 + .../rules/template-require-context-role.js | 80 + tests/lib/rules/template-require-each-key.js | 26 + .../template-require-has-block-helper.js | 76 + .../rules/template-require-iframe-title.js | 28 + .../lib/rules/template-require-input-label.js | 48 + .../rules/template-require-lang-attribute.js | 55 + ...plate-require-mandatory-role-attributes.js | 37 + .../rules/template-require-media-caption.js | 74 + ...emplate-require-presentational-children.js | 73 + .../rules/template-require-valid-alt-text.js | 33 + .../template-self-closing-void-elements.js | 68 + tests/lib/rules/template-simple-unless.js | 30 + .../rules/template-splat-attributes-only.js | 21 + .../lib/rules/template-style-concatenation.js | 58 + tests/lib/rules/template-table-groups.js | 79 + tests/plugin-exports.js | 4 + 385 files changed, 20211 insertions(+), 1111 deletions(-) create mode 100644 docs/rules/template-attribute-indentation.md create mode 100644 docs/rules/template-attribute-order.md create mode 100644 docs/rules/template-block-indentation.md create mode 100644 docs/rules/template-deprecated-inline-view-helper.md create mode 100644 docs/rules/template-deprecated-render-helper.md create mode 100644 docs/rules/template-eol-last.md create mode 100644 docs/rules/template-linebreak-style.md create mode 100644 docs/rules/template-link-href-attributes.md create mode 100644 docs/rules/template-link-rel-noopener.md create mode 100644 docs/rules/template-no-abstract-roles.md create mode 100644 docs/rules/template-no-accesskey-attribute.md create mode 100644 docs/rules/template-no-action-modifiers.md create mode 100644 docs/rules/template-no-action-on-submit-button.md create mode 100644 docs/rules/template-no-action.md create mode 100644 docs/rules/template-no-ambiguous-glimmer-paths.md create mode 100644 docs/rules/template-no-args-paths.md create mode 100644 docs/rules/template-no-arguments-for-html-elements.md create mode 100644 docs/rules/template-no-aria-hidden-body.md create mode 100644 docs/rules/template-no-aria-unsupported-elements.md create mode 100644 docs/rules/template-no-array-prototype-extensions.md create mode 100644 docs/rules/template-no-at-ember-render-modifiers.md create mode 100644 docs/rules/template-no-attribute-splat-on-html-element.md create mode 100644 docs/rules/template-no-attrs-in-components.md create mode 100644 docs/rules/template-no-autofocus-attribute.md create mode 100644 docs/rules/template-no-bare-strings.md create mode 100644 docs/rules/template-no-bare-yield.md create mode 100644 docs/rules/template-no-block-params-for-html-elements.md create mode 100644 docs/rules/template-no-block-params.md create mode 100644 docs/rules/template-no-builtin-form-components.md create mode 100644 docs/rules/template-no-capital-arguments.md create mode 100644 docs/rules/template-no-chained-this.md create mode 100644 docs/rules/template-no-class-bindings.md create mode 100644 docs/rules/template-no-debugger.md create mode 100644 docs/rules/template-no-down-event-binding.md create mode 100644 docs/rules/template-no-duplicate-attributes.md create mode 100644 docs/rules/template-no-duplicate-id.md create mode 100644 docs/rules/template-no-duplicate-landmark-elements.md create mode 100644 docs/rules/template-no-dynamic-subexpression-invocations.md create mode 100644 docs/rules/template-no-element-event-actions.md create mode 100644 docs/rules/template-no-empty-headings.md create mode 100644 docs/rules/template-no-extra-mut-helpers.md create mode 100644 docs/rules/template-no-forbidden-elements.md create mode 100644 docs/rules/template-no-form-action.md create mode 100644 docs/rules/template-no-heading-inside-button.md create mode 100644 docs/rules/template-no-html-comments.md create mode 100644 docs/rules/template-no-implicit-this.md create mode 100644 docs/rules/template-no-inline-event-handlers.md create mode 100644 docs/rules/template-no-inline-linkto.md create mode 100644 docs/rules/template-no-inline-styles.md create mode 100644 docs/rules/template-no-input-block.md create mode 100644 docs/rules/template-no-input-placeholder.md create mode 100644 docs/rules/template-no-input-tagname.md create mode 100644 docs/rules/template-no-invalid-aria-attributes.md create mode 100644 docs/rules/template-no-invalid-interactive.md create mode 100644 docs/rules/template-no-invalid-link-text.md create mode 100644 docs/rules/template-no-invalid-link-title.md create mode 100644 docs/rules/template-no-invalid-meta.md create mode 100644 docs/rules/template-no-invalid-role.md create mode 100644 docs/rules/template-no-link-to-positional-params.md create mode 100644 docs/rules/template-no-link-to-tagname.md create mode 100644 docs/rules/template-no-log.md create mode 100644 docs/rules/template-no-model-argument-in-route-templates.md create mode 100644 docs/rules/template-no-multiple-empty-lines.md create mode 100644 docs/rules/template-no-mut-helper.md create mode 100644 docs/rules/template-no-negated-comparison.md create mode 100644 docs/rules/template-no-negated-condition.md create mode 100644 docs/rules/template-no-nested-interactive.md create mode 100644 docs/rules/template-no-nested-landmark.md create mode 100644 docs/rules/template-no-nested-splattributes.md create mode 100644 docs/rules/template-no-obscure-array-access.md create mode 100644 docs/rules/template-no-obsolete-elements.md create mode 100644 docs/rules/template-no-outlet-outside-routes.md create mode 100644 docs/rules/template-no-page-title-component.md create mode 100644 docs/rules/template-no-partial.md create mode 100644 docs/rules/template-no-passed-in-event-handlers.md create mode 100644 docs/rules/template-no-pointer-down-event-binding.md create mode 100644 docs/rules/template-no-positional-data-test-selectors.md create mode 100644 docs/rules/template-no-positive-tabindex.md create mode 100644 docs/rules/template-no-potential-path-strings.md create mode 100644 docs/rules/template-no-quoteless-attributes.md create mode 100644 docs/rules/template-no-redundant-fn.md create mode 100644 docs/rules/template-no-redundant-landmark-role.md create mode 100644 docs/rules/template-no-route-action.md create mode 100644 docs/rules/template-no-scope-outside-table-headings.md create mode 100644 docs/rules/template-no-shadowed-elements.md create mode 100644 docs/rules/template-no-this-in-template-only-components.md create mode 100644 docs/rules/template-no-trailing-spaces.md create mode 100644 docs/rules/template-no-triple-curlies.md create mode 100644 docs/rules/template-no-unbalanced-curlies.md create mode 100644 docs/rules/template-no-unbound.md create mode 100644 docs/rules/template-no-unknown-arguments-for-builtin-components.md create mode 100644 docs/rules/template-no-unnecessary-component-helper.md create mode 100644 docs/rules/template-no-unnecessary-concat.md create mode 100644 docs/rules/template-no-unnecessary-curly-in-string-attrs.md create mode 100644 docs/rules/template-no-unnecessary-curly-parens.md create mode 100644 docs/rules/template-no-unnecessary-curly-strings.md create mode 100644 docs/rules/template-no-unnecessary-service-injection-argument.md create mode 100644 docs/rules/template-no-unsupported-role-attributes.md create mode 100644 docs/rules/template-no-unused-block-params.md create mode 100644 docs/rules/template-no-valueless-arguments.md create mode 100644 docs/rules/template-no-whitespace-for-layout.md create mode 100644 docs/rules/template-no-whitespace-within-word.md create mode 100644 docs/rules/template-no-with.md create mode 100644 docs/rules/template-no-yield-only.md create mode 100644 docs/rules/template-no-yield-to-default.md create mode 100644 docs/rules/template-quotes.md create mode 100644 docs/rules/template-require-aria-activedescendant-tabindex.md create mode 100644 docs/rules/template-require-button-type.md create mode 100644 docs/rules/template-require-context-role.md create mode 100644 docs/rules/template-require-each-key.md create mode 100644 docs/rules/template-require-has-block-helper.md create mode 100644 docs/rules/template-require-iframe-title.md create mode 100644 docs/rules/template-require-input-label.md create mode 100644 docs/rules/template-require-lang-attribute.md create mode 100644 docs/rules/template-require-mandatory-role-attributes.md create mode 100644 docs/rules/template-require-media-caption.md create mode 100644 docs/rules/template-require-presentational-children.md create mode 100644 docs/rules/template-require-valid-alt-text.md create mode 100644 docs/rules/template-self-closing-void-elements.md create mode 100644 docs/rules/template-simple-unless.md create mode 100644 docs/rules/template-splat-attributes-only.md create mode 100644 docs/rules/template-style-concatenation.md create mode 100644 docs/rules/template-table-groups.md create mode 100644 lib/config-legacy/strict-gjs.js create mode 100644 lib/config-legacy/strict-gts.js create mode 100644 lib/config/strict-gjs.js create mode 100644 lib/config/strict-gts.js create mode 100644 lib/rules/template-attribute-indentation.js create mode 100644 lib/rules/template-attribute-order.js create mode 100644 lib/rules/template-block-indentation.js create mode 100644 lib/rules/template-deprecated-inline-view-helper.js create mode 100644 lib/rules/template-deprecated-render-helper.js create mode 100644 lib/rules/template-eol-last.js create mode 100644 lib/rules/template-linebreak-style.js create mode 100644 lib/rules/template-link-href-attributes.js create mode 100644 lib/rules/template-link-rel-noopener.js create mode 100644 lib/rules/template-no-abstract-roles.js create mode 100644 lib/rules/template-no-accesskey-attribute.js create mode 100644 lib/rules/template-no-action-modifiers.js create mode 100644 lib/rules/template-no-action-on-submit-button.js create mode 100644 lib/rules/template-no-action.js create mode 100644 lib/rules/template-no-ambiguous-glimmer-paths.js create mode 100644 lib/rules/template-no-args-paths.js create mode 100644 lib/rules/template-no-arguments-for-html-elements.js create mode 100644 lib/rules/template-no-aria-hidden-body.js create mode 100644 lib/rules/template-no-aria-unsupported-elements.js create mode 100644 lib/rules/template-no-array-prototype-extensions.js create mode 100644 lib/rules/template-no-at-ember-render-modifiers.js create mode 100644 lib/rules/template-no-attribute-splat-on-html-element.js create mode 100644 lib/rules/template-no-attrs-in-components.js create mode 100644 lib/rules/template-no-autofocus-attribute.js create mode 100644 lib/rules/template-no-bare-strings.js create mode 100644 lib/rules/template-no-bare-yield.js create mode 100644 lib/rules/template-no-block-params-for-html-elements.js create mode 100644 lib/rules/template-no-block-params.js create mode 100644 lib/rules/template-no-builtin-form-components.js create mode 100644 lib/rules/template-no-capital-arguments.js create mode 100644 lib/rules/template-no-chained-this.js create mode 100644 lib/rules/template-no-class-bindings.js create mode 100644 lib/rules/template-no-debugger.js create mode 100644 lib/rules/template-no-down-event-binding.js create mode 100644 lib/rules/template-no-duplicate-attributes.js create mode 100644 lib/rules/template-no-duplicate-id.js create mode 100644 lib/rules/template-no-duplicate-landmark-elements.js create mode 100644 lib/rules/template-no-dynamic-subexpression-invocations.js create mode 100644 lib/rules/template-no-element-event-actions.js create mode 100644 lib/rules/template-no-empty-headings.js create mode 100644 lib/rules/template-no-extra-mut-helpers.js create mode 100644 lib/rules/template-no-forbidden-elements.js create mode 100644 lib/rules/template-no-form-action.js create mode 100644 lib/rules/template-no-heading-inside-button.js create mode 100644 lib/rules/template-no-html-comments.js create mode 100644 lib/rules/template-no-implicit-this.js create mode 100644 lib/rules/template-no-inline-event-handlers.js create mode 100644 lib/rules/template-no-inline-linkto.js create mode 100644 lib/rules/template-no-inline-styles.js create mode 100644 lib/rules/template-no-input-block.js create mode 100644 lib/rules/template-no-input-placeholder.js create mode 100644 lib/rules/template-no-input-tagname.js create mode 100644 lib/rules/template-no-invalid-aria-attributes.js create mode 100644 lib/rules/template-no-invalid-interactive.js create mode 100644 lib/rules/template-no-invalid-link-text.js create mode 100644 lib/rules/template-no-invalid-link-title.js create mode 100644 lib/rules/template-no-invalid-meta.js create mode 100644 lib/rules/template-no-invalid-role.js create mode 100644 lib/rules/template-no-link-to-positional-params.js create mode 100644 lib/rules/template-no-link-to-tagname.js create mode 100644 lib/rules/template-no-log.js create mode 100644 lib/rules/template-no-model-argument-in-route-templates.js create mode 100644 lib/rules/template-no-multiple-empty-lines.js create mode 100644 lib/rules/template-no-mut-helper.js create mode 100644 lib/rules/template-no-negated-comparison.js create mode 100644 lib/rules/template-no-negated-condition.js create mode 100644 lib/rules/template-no-nested-interactive.js create mode 100644 lib/rules/template-no-nested-landmark.js create mode 100644 lib/rules/template-no-nested-splattributes.js create mode 100644 lib/rules/template-no-obscure-array-access.js create mode 100644 lib/rules/template-no-obsolete-elements.js create mode 100644 lib/rules/template-no-outlet-outside-routes.js create mode 100644 lib/rules/template-no-page-title-component.js create mode 100644 lib/rules/template-no-partial.js create mode 100644 lib/rules/template-no-passed-in-event-handlers.js create mode 100644 lib/rules/template-no-pointer-down-event-binding.js create mode 100644 lib/rules/template-no-positional-data-test-selectors.js create mode 100644 lib/rules/template-no-positive-tabindex.js create mode 100644 lib/rules/template-no-potential-path-strings.js create mode 100644 lib/rules/template-no-quoteless-attributes.js create mode 100644 lib/rules/template-no-redundant-fn.js create mode 100644 lib/rules/template-no-redundant-landmark-role.js create mode 100644 lib/rules/template-no-route-action.js create mode 100644 lib/rules/template-no-scope-outside-table-headings.js create mode 100644 lib/rules/template-no-shadowed-elements.js create mode 100644 lib/rules/template-no-this-in-template-only-components.js create mode 100644 lib/rules/template-no-trailing-spaces.js create mode 100644 lib/rules/template-no-triple-curlies.js create mode 100644 lib/rules/template-no-unbalanced-curlies.js create mode 100644 lib/rules/template-no-unbound.js create mode 100644 lib/rules/template-no-unknown-arguments-for-builtin-components.js create mode 100644 lib/rules/template-no-unnecessary-component-helper.js create mode 100644 lib/rules/template-no-unnecessary-concat.js create mode 100644 lib/rules/template-no-unnecessary-curly-in-string-attrs.js create mode 100644 lib/rules/template-no-unnecessary-curly-parens.js create mode 100644 lib/rules/template-no-unnecessary-curly-strings.js create mode 100644 lib/rules/template-no-unnecessary-service-injection-argument.js create mode 100644 lib/rules/template-no-unsupported-role-attributes.js create mode 100644 lib/rules/template-no-unused-block-params.js create mode 100644 lib/rules/template-no-valueless-arguments.js create mode 100644 lib/rules/template-no-whitespace-for-layout.js create mode 100644 lib/rules/template-no-whitespace-within-word.js create mode 100644 lib/rules/template-no-with.js create mode 100644 lib/rules/template-no-yield-only.js create mode 100644 lib/rules/template-no-yield-to-default.js create mode 100644 lib/rules/template-quotes.js create mode 100644 lib/rules/template-require-aria-activedescendant-tabindex.js create mode 100644 lib/rules/template-require-button-type.js create mode 100644 lib/rules/template-require-context-role.js create mode 100644 lib/rules/template-require-each-key.js create mode 100644 lib/rules/template-require-has-block-helper.js create mode 100644 lib/rules/template-require-iframe-title.js create mode 100644 lib/rules/template-require-input-label.js create mode 100644 lib/rules/template-require-lang-attribute.js create mode 100644 lib/rules/template-require-mandatory-role-attributes.js create mode 100644 lib/rules/template-require-media-caption.js create mode 100644 lib/rules/template-require-presentational-children.js create mode 100644 lib/rules/template-require-valid-alt-text.js create mode 100644 lib/rules/template-self-closing-void-elements.js create mode 100644 lib/rules/template-simple-unless.js create mode 100644 lib/rules/template-splat-attributes-only.js create mode 100644 lib/rules/template-style-concatenation.js create mode 100644 lib/rules/template-table-groups.js create mode 100644 lib/strict-rules-gjs.js create mode 100644 lib/strict-rules-gts.js create mode 100644 tests/lib/rules/template-attribute-indentation.js create mode 100644 tests/lib/rules/template-attribute-order.js create mode 100644 tests/lib/rules/template-block-indentation.js create mode 100644 tests/lib/rules/template-deprecated-inline-view-helper.js create mode 100644 tests/lib/rules/template-deprecated-render-helper.js create mode 100644 tests/lib/rules/template-eol-last.js create mode 100644 tests/lib/rules/template-linebreak-style.js create mode 100644 tests/lib/rules/template-link-href-attributes.js create mode 100644 tests/lib/rules/template-link-rel-noopener.js create mode 100644 tests/lib/rules/template-no-abstract-roles.js create mode 100644 tests/lib/rules/template-no-accesskey-attribute.js create mode 100644 tests/lib/rules/template-no-action-modifiers.js create mode 100644 tests/lib/rules/template-no-action-on-submit-button.js create mode 100644 tests/lib/rules/template-no-action.js create mode 100644 tests/lib/rules/template-no-ambiguous-glimmer-paths.js create mode 100644 tests/lib/rules/template-no-args-paths.js create mode 100644 tests/lib/rules/template-no-arguments-for-html-elements.js create mode 100644 tests/lib/rules/template-no-aria-hidden-body.js create mode 100644 tests/lib/rules/template-no-aria-unsupported-elements.js create mode 100644 tests/lib/rules/template-no-array-prototype-extensions.js create mode 100644 tests/lib/rules/template-no-at-ember-render-modifiers.js create mode 100644 tests/lib/rules/template-no-attribute-splat-on-html-element.js create mode 100644 tests/lib/rules/template-no-attrs-in-components.js create mode 100644 tests/lib/rules/template-no-autofocus-attribute.js create mode 100644 tests/lib/rules/template-no-bare-strings.js create mode 100644 tests/lib/rules/template-no-bare-yield.js create mode 100644 tests/lib/rules/template-no-block-params-for-html-elements.js create mode 100644 tests/lib/rules/template-no-block-params.js create mode 100644 tests/lib/rules/template-no-builtin-form-components.js create mode 100644 tests/lib/rules/template-no-capital-arguments.js create mode 100644 tests/lib/rules/template-no-chained-this.js create mode 100644 tests/lib/rules/template-no-class-bindings.js create mode 100644 tests/lib/rules/template-no-debugger.js create mode 100644 tests/lib/rules/template-no-down-event-binding.js create mode 100644 tests/lib/rules/template-no-duplicate-attributes.js create mode 100644 tests/lib/rules/template-no-duplicate-id.js create mode 100644 tests/lib/rules/template-no-duplicate-landmark-elements.js create mode 100644 tests/lib/rules/template-no-dynamic-subexpression-invocations.js create mode 100644 tests/lib/rules/template-no-element-event-actions.js create mode 100644 tests/lib/rules/template-no-empty-headings.js create mode 100644 tests/lib/rules/template-no-extra-mut-helpers.js create mode 100644 tests/lib/rules/template-no-forbidden-elements.js create mode 100644 tests/lib/rules/template-no-form-action.js create mode 100644 tests/lib/rules/template-no-heading-inside-button.js create mode 100644 tests/lib/rules/template-no-html-comments.js create mode 100644 tests/lib/rules/template-no-implicit-this.js create mode 100644 tests/lib/rules/template-no-inline-event-handlers.js create mode 100644 tests/lib/rules/template-no-inline-linkto.js create mode 100644 tests/lib/rules/template-no-inline-styles.js create mode 100644 tests/lib/rules/template-no-input-block.js create mode 100644 tests/lib/rules/template-no-input-placeholder.js create mode 100644 tests/lib/rules/template-no-input-tagname.js create mode 100644 tests/lib/rules/template-no-invalid-aria-attributes.js create mode 100644 tests/lib/rules/template-no-invalid-interactive.js create mode 100644 tests/lib/rules/template-no-invalid-link-text.js create mode 100644 tests/lib/rules/template-no-invalid-link-title.js create mode 100644 tests/lib/rules/template-no-invalid-meta.js create mode 100644 tests/lib/rules/template-no-invalid-role.js create mode 100644 tests/lib/rules/template-no-link-to-positional-params.js create mode 100644 tests/lib/rules/template-no-link-to-tagname.js create mode 100644 tests/lib/rules/template-no-log.js create mode 100644 tests/lib/rules/template-no-model-argument-in-route-templates.js create mode 100644 tests/lib/rules/template-no-multiple-empty-lines.js create mode 100644 tests/lib/rules/template-no-mut-helper.js create mode 100644 tests/lib/rules/template-no-negated-comparison.js create mode 100644 tests/lib/rules/template-no-negated-condition.js create mode 100644 tests/lib/rules/template-no-nested-interactive.js create mode 100644 tests/lib/rules/template-no-nested-landmark.js create mode 100644 tests/lib/rules/template-no-nested-splattributes.js create mode 100644 tests/lib/rules/template-no-obscure-array-access.js create mode 100644 tests/lib/rules/template-no-obsolete-elements.js create mode 100644 tests/lib/rules/template-no-outlet-outside-routes.js create mode 100644 tests/lib/rules/template-no-page-title-component.js create mode 100644 tests/lib/rules/template-no-partial.js create mode 100644 tests/lib/rules/template-no-passed-in-event-handlers.js create mode 100644 tests/lib/rules/template-no-pointer-down-event-binding.js create mode 100644 tests/lib/rules/template-no-positional-data-test-selectors.js create mode 100644 tests/lib/rules/template-no-positive-tabindex.js create mode 100644 tests/lib/rules/template-no-potential-path-strings.js create mode 100644 tests/lib/rules/template-no-quoteless-attributes.js create mode 100644 tests/lib/rules/template-no-redundant-fn.js create mode 100644 tests/lib/rules/template-no-redundant-landmark-role.js create mode 100644 tests/lib/rules/template-no-route-action.js create mode 100644 tests/lib/rules/template-no-scope-outside-table-headings.js create mode 100644 tests/lib/rules/template-no-shadowed-elements.js create mode 100644 tests/lib/rules/template-no-this-in-template-only-components.js create mode 100644 tests/lib/rules/template-no-trailing-spaces.js create mode 100644 tests/lib/rules/template-no-triple-curlies.js create mode 100644 tests/lib/rules/template-no-unbalanced-curlies.js create mode 100644 tests/lib/rules/template-no-unbound.js create mode 100644 tests/lib/rules/template-no-unknown-arguments-for-builtin-components.js create mode 100644 tests/lib/rules/template-no-unnecessary-component-helper.js create mode 100644 tests/lib/rules/template-no-unnecessary-concat.js create mode 100644 tests/lib/rules/template-no-unnecessary-curly-in-string-attrs.js create mode 100644 tests/lib/rules/template-no-unnecessary-curly-parens.js create mode 100644 tests/lib/rules/template-no-unnecessary-curly-strings.js create mode 100644 tests/lib/rules/template-no-unnecessary-service-injection-argument.js create mode 100644 tests/lib/rules/template-no-unsupported-role-attributes.js create mode 100644 tests/lib/rules/template-no-unused-block-params.js create mode 100644 tests/lib/rules/template-no-valueless-arguments.js create mode 100644 tests/lib/rules/template-no-whitespace-for-layout.js create mode 100644 tests/lib/rules/template-no-whitespace-within-word.js create mode 100644 tests/lib/rules/template-no-with.js create mode 100644 tests/lib/rules/template-no-yield-only.js create mode 100644 tests/lib/rules/template-no-yield-to-default.js create mode 100644 tests/lib/rules/template-quotes.js create mode 100644 tests/lib/rules/template-require-aria-activedescendant-tabindex.js create mode 100644 tests/lib/rules/template-require-button-type.js create mode 100644 tests/lib/rules/template-require-context-role.js create mode 100644 tests/lib/rules/template-require-each-key.js create mode 100644 tests/lib/rules/template-require-has-block-helper.js create mode 100644 tests/lib/rules/template-require-iframe-title.js create mode 100644 tests/lib/rules/template-require-input-label.js create mode 100644 tests/lib/rules/template-require-lang-attribute.js create mode 100644 tests/lib/rules/template-require-mandatory-role-attributes.js create mode 100644 tests/lib/rules/template-require-media-caption.js create mode 100644 tests/lib/rules/template-require-presentational-children.js create mode 100644 tests/lib/rules/template-require-valid-alt-text.js create mode 100644 tests/lib/rules/template-self-closing-void-elements.js create mode 100644 tests/lib/rules/template-simple-unless.js create mode 100644 tests/lib/rules/template-splat-attributes-only.js create mode 100644 tests/lib/rules/template-style-concatenation.js create mode 100644 tests/lib/rules/template-table-groups.js diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f1f99bba26..1fe159450c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,44 +5,44 @@ name: CI on: push: - branches: [ master ] + branches: [master] pull_request: - branches: [ master ] + branches: [master] jobs: self-lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - with: - run_install: false - - uses: actions/setup-node@v6 - with: - node-version: 22.x - cache: 'pnpm' - - - run: pnpm install - - run: pnpm lint + - uses: actions/checkout@v6 + - uses: pnpm/action-setup@v4 + with: + run_install: false + - uses: actions/setup-node@v6 + with: + node-version: 22.x + cache: 'pnpm' + + - run: pnpm install + - run: pnpm lint build: runs-on: ${{ matrix.os }}-latest strategy: matrix: - os: [ ubuntu, windows ] + os: [ubuntu, windows] node-version: [18.x, 20.x, 22.x] steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - with: - run_install: false - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v6 - with: - node-version: ${{ matrix.node-version }} - cache: 'pnpm' - - - run: pnpm install - - run: pnpm test:coverage + - uses: actions/checkout@v6 + - uses: pnpm/action-setup@v4 + with: + run_install: false + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v6 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + + - run: pnpm install + - run: pnpm test:coverage diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index f8afe923d4..cfb6c67ba3 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -9,14 +9,14 @@ # the `language` matrix defined below to confirm you have the correct set of # supported CodeQL languages. # -name: "CodeQL" +name: 'CodeQL' on: push: - branches: [ master ] + branches: [master] pull_request: # The branches below must be a subset of the branches above - branches: [ master ] + branches: [master] schedule: - cron: '18 9 * * 2' @@ -32,40 +32,40 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'javascript' ] + language: ['javascript'] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] # Learn more: # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed steps: - - name: Checkout repository - uses: actions/checkout@v6 + - name: Checkout repository + uses: actions/checkout@v6 - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v3 + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v3 - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl - # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language + # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language - #- run: | - # make bootstrap - # make release + #- run: | + # make bootstrap + # make release - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/plan-release.yml b/.github/workflows/plan-release.yml index 866939778d..2ef1889327 100644 --- a/.github/workflows/plan-release.yml +++ b/.github/workflows/plan-release.yml @@ -35,7 +35,7 @@ jobs: contents: write issues: read pull-requests: write - if: needs.should-run-release-plan-prepare.outputs.should-prepare == 'true' + if: needs.should-run-release-plan-prepare.outputs.should-prepare == 'true' steps: - uses: release-plan/actions/prepare@v1 name: Run release-plan prepare @@ -49,7 +49,7 @@ jobs: name: Create Prepare Release PR with: commit-message: "Prepare Release ${{ steps.explanation.outputs.new-version}} using 'release-plan'" - labels: "internal" + labels: 'internal' sign-commits: true branch: release-preview title: Prepare Release ${{ steps.explanation.outputs.new-version }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2b225f5549..3617475fcf 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ concurrency: jobs: publish: - name: "NPM Publish" + name: 'NPM Publish' runs-on: ubuntu-latest permissions: contents: write diff --git a/.gitignore b/.gitignore index 3e88eb2cce..bc16c6be0c 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ npm-debug.log # eslint-remote-tester eslint-remote-tester-results +package-lock.json diff --git a/CHANGELOG.md b/CHANGELOG.md index aa47025e63..96ce999313 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,18 +2,21 @@ ## Release (2026-01-22) -* eslint-plugin-ember 12.7.6 (patch) +- eslint-plugin-ember 12.7.6 (patch) #### :bug: Bug Fix -* `eslint-plugin-ember` - * [#2363](https://github.com/ember-cli/eslint-plugin-ember/pull/2363) fix: classic-decorator-no-classic-methods matching private identifiers ([@c0rydoras](https://github.com/c0rydoras)) - * [#2364](https://github.com/ember-cli/eslint-plugin-ember/pull/2364) Consider .test.{js|ts|gjs|gts} as a test file pattern ([@lego-technix](https://github.com/lego-technix)) + +- `eslint-plugin-ember` + - [#2363](https://github.com/ember-cli/eslint-plugin-ember/pull/2363) fix: classic-decorator-no-classic-methods matching private identifiers ([@c0rydoras](https://github.com/c0rydoras)) + - [#2364](https://github.com/ember-cli/eslint-plugin-ember/pull/2364) Consider .test.{js|ts|gjs|gts} as a test file pattern ([@lego-technix](https://github.com/lego-technix)) #### :house: Internal -* `eslint-plugin-ember` - * [#2334](https://github.com/ember-cli/eslint-plugin-ember/pull/2334) pnpm dlx create-release-plan-setup@latest --update ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + +- `eslint-plugin-ember` + - [#2334](https://github.com/ember-cli/eslint-plugin-ember/pull/2334) pnpm dlx create-release-plan-setup@latest --update ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) #### Committers: 3 + - Arthur ([@c0rydoras](https://github.com/c0rydoras)) - LEGO Technix ([@lego-technix](https://github.com/lego-technix)) - [@NullVoxPopuli](https://github.com/NullVoxPopuli) @@ -23,10 +26,12 @@ eslint-plugin-ember 12.7.5 (patch) #### :bug: Bug Fix -* `eslint-plugin-ember` - * [#2349](https://github.com/ember-cli/eslint-plugin-ember/pull/2349) fix: allow decorated template-tag-only classes ([@CvX](https://github.com/CvX)) + +- `eslint-plugin-ember` + - [#2349](https://github.com/ember-cli/eslint-plugin-ember/pull/2349) fix: allow decorated template-tag-only classes ([@CvX](https://github.com/CvX)) #### Committers: 1 + - Jarek Radosz ([@CvX](https://github.com/CvX)) ## Release (2025-09-14) @@ -34,14 +39,17 @@ eslint-plugin-ember 12.7.5 (patch) eslint-plugin-ember 12.7.4 (patch) #### :bug: Bug Fix -* `eslint-plugin-ember` - * [#2331](https://github.com/ember-cli/eslint-plugin-ember/pull/2331) fix: Ignore `findBy` calls from `ember-cli-mirage` in `no-array-prototype-extensions` ([@VasylMarchuk](https://github.com/VasylMarchuk)) + +- `eslint-plugin-ember` + - [#2331](https://github.com/ember-cli/eslint-plugin-ember/pull/2331) fix: Ignore `findBy` calls from `ember-cli-mirage` in `no-array-prototype-extensions` ([@VasylMarchuk](https://github.com/VasylMarchuk)) #### :house: Internal -* `eslint-plugin-ember` - * [#2332](https://github.com/ember-cli/eslint-plugin-ember/pull/2332) chore: try actions/setup-node before pnpm/action-setup ([@bmish](https://github.com/bmish)) + +- `eslint-plugin-ember` + - [#2332](https://github.com/ember-cli/eslint-plugin-ember/pull/2332) chore: try actions/setup-node before pnpm/action-setup ([@bmish](https://github.com/bmish)) #### Committers: 2 + - Bryan Mishkin ([@bmish](https://github.com/bmish)) - Vasyl Marchuk ([@VasylMarchuk](https://github.com/VasylMarchuk)) @@ -50,10 +58,12 @@ eslint-plugin-ember 12.7.4 (patch) eslint-plugin-ember 12.7.3 (patch) #### :house: Internal -* `eslint-plugin-ember` - * [#2323](https://github.com/ember-cli/eslint-plugin-ember/pull/2323) chore: add npm provenance to publishing (second attempt) ([@bmish](https://github.com/bmish)) + +- `eslint-plugin-ember` + - [#2323](https://github.com/ember-cli/eslint-plugin-ember/pull/2323) chore: add npm provenance to publishing (second attempt) ([@bmish](https://github.com/bmish)) #### Committers: 1 + - Bryan Mishkin ([@bmish](https://github.com/bmish)) ## Release (2025-08-22) @@ -61,10 +71,12 @@ eslint-plugin-ember 12.7.3 (patch) eslint-plugin-ember 12.7.2 (patch) #### :house: Internal -* `eslint-plugin-ember` - * [#2321](https://github.com/ember-cli/eslint-plugin-ember/pull/2321) chore: add npm provenance to publishing ([@bmish](https://github.com/bmish)) + +- `eslint-plugin-ember` + - [#2321](https://github.com/ember-cli/eslint-plugin-ember/pull/2321) chore: add npm provenance to publishing ([@bmish](https://github.com/bmish)) #### Committers: 1 + - Bryan Mishkin ([@bmish](https://github.com/bmish)) ## Release (2025-08-22) @@ -72,15 +84,18 @@ eslint-plugin-ember 12.7.2 (patch) eslint-plugin-ember 12.7.1 (patch) #### :bug: Bug Fix -* `eslint-plugin-ember` - * [#2320](https://github.com/ember-cli/eslint-plugin-ember/pull/2320) fix: `no-array-prototype-extensions` rule to lint against `setObjects()` ([@MrChocolatine](https://github.com/MrChocolatine)) - * [#2315](https://github.com/ember-cli/eslint-plugin-ember/pull/2315) fix: no-runloop: catch namespace imports ([@Geodewd549](https://github.com/Geodewd549)) + +- `eslint-plugin-ember` + - [#2320](https://github.com/ember-cli/eslint-plugin-ember/pull/2320) fix: `no-array-prototype-extensions` rule to lint against `setObjects()` ([@MrChocolatine](https://github.com/MrChocolatine)) + - [#2315](https://github.com/ember-cli/eslint-plugin-ember/pull/2315) fix: no-runloop: catch namespace imports ([@Geodewd549](https://github.com/Geodewd549)) #### :memo: Documentation -* `eslint-plugin-ember` - * [#2313](https://github.com/ember-cli/eslint-plugin-ember/pull/2313) Remove name from CHANGELOG ([@rmachielse](https://github.com/rmachielse)) + +- `eslint-plugin-ember` + - [#2313](https://github.com/ember-cli/eslint-plugin-ember/pull/2313) Remove name from CHANGELOG ([@rmachielse](https://github.com/rmachielse)) #### Committers: 3 + - Richard ([@rmachielse](https://github.com/rmachielse)) - [@Geodewd549](https://github.com/Geodewd549) - [@MrChocolatine](https://github.com/MrChocolatine) @@ -90,14 +105,17 @@ eslint-plugin-ember 12.7.1 (patch) eslint-plugin-ember 12.7.0 (minor) #### :rocket: Enhancement -* `eslint-plugin-ember` - * [#2282](https://github.com/ember-cli/eslint-plugin-ember/pull/2282) Add no-builtin-form-components rule ([@wagenet](https://github.com/wagenet)) + +- `eslint-plugin-ember` + - [#2282](https://github.com/ember-cli/eslint-plugin-ember/pull/2282) Add no-builtin-form-components rule ([@wagenet](https://github.com/wagenet)) #### :bug: Bug Fix -* `eslint-plugin-ember` - * [#2308](https://github.com/ember-cli/eslint-plugin-ember/pull/2308) fix: disallow extra properties in rule options ([@andreww2012](https://github.com/andreww2012)) + +- `eslint-plugin-ember` + - [#2308](https://github.com/ember-cli/eslint-plugin-ember/pull/2308) fix: disallow extra properties in rule options ([@andreww2012](https://github.com/andreww2012)) #### Committers: 2 + - Andrew Kazakov ([@andreww2012](https://github.com/andreww2012)) - Peter Wagenet ([@wagenet](https://github.com/wagenet)) @@ -106,10 +124,12 @@ eslint-plugin-ember 12.7.0 (minor) eslint-plugin-ember 12.6.0 (minor) #### :rocket: Enhancement -* `eslint-plugin-ember` - * [#2306](https://github.com/ember-cli/eslint-plugin-ember/pull/2306) Add names for the eslint-inspector ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + +- `eslint-plugin-ember` + - [#2306](https://github.com/ember-cli/eslint-plugin-ember/pull/2306) Add names for the eslint-inspector ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) #### Committers: 1 + - [@NullVoxPopuli](https://github.com/NullVoxPopuli) ## Release (2025-01-30) @@ -117,14 +137,17 @@ eslint-plugin-ember 12.6.0 (minor) eslint-plugin-ember 12.5.0 (minor) #### :rocket: Enhancement -* `eslint-plugin-ember` - * [#2251](https://github.com/ember-cli/eslint-plugin-ember/pull/2251) Force bump the parser to latest, 0.5.9 ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + +- `eslint-plugin-ember` + - [#2251](https://github.com/ember-cli/eslint-plugin-ember/pull/2251) Force bump the parser to latest, 0.5.9 ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) #### :house: Internal -* `eslint-plugin-ember` - * [#2252](https://github.com/ember-cli/eslint-plugin-ember/pull/2252) Prepare Release ([@github-actions[bot]](https://github.com/apps/github-actions)) + +- `eslint-plugin-ember` + - [#2252](https://github.com/ember-cli/eslint-plugin-ember/pull/2252) Prepare Release ([@github-actions[bot]](https://github.com/apps/github-actions)) #### Committers: 2 + - [@NullVoxPopuli](https://github.com/NullVoxPopuli) - [@github-actions[bot]](https://github.com/apps/github-actions) @@ -133,10 +156,12 @@ eslint-plugin-ember 12.5.0 (minor) eslint-plugin-ember 12.4.0 (minor) #### :rocket: Enhancement -* `eslint-plugin-ember` - * [#2251](https://github.com/ember-cli/eslint-plugin-ember/pull/2251) Force bump the parser to latest, 0.5.9 ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + +- `eslint-plugin-ember` + - [#2251](https://github.com/ember-cli/eslint-plugin-ember/pull/2251) Force bump the parser to latest, 0.5.9 ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) #### Committers: 1 + - [@NullVoxPopuli](https://github.com/NullVoxPopuli) ## Release (2024-11-22) @@ -144,10 +169,12 @@ eslint-plugin-ember 12.4.0 (minor) eslint-plugin-ember 12.3.3 (patch) #### :bug: Bug Fix -* `eslint-plugin-ember` - * [#2220](https://github.com/ember-cli/eslint-plugin-ember/pull/2220) Bump minimum parser version (fixes SVGs, MathML, custom-elements) ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + +- `eslint-plugin-ember` + - [#2220](https://github.com/ember-cli/eslint-plugin-ember/pull/2220) Bump minimum parser version (fixes SVGs, MathML, custom-elements) ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) #### Committers: 1 + - [@NullVoxPopuli](https://github.com/NullVoxPopuli) ## Release (2024-11-21) @@ -155,10 +182,12 @@ eslint-plugin-ember 12.3.3 (patch) eslint-plugin-ember 12.3.2 (patch) #### :bug: Bug Fix -* `eslint-plugin-ember` - * [#2216](https://github.com/ember-cli/eslint-plugin-ember/pull/2216) upgrade parser ([@patricklx](https://github.com/patricklx)) + +- `eslint-plugin-ember` + - [#2216](https://github.com/ember-cli/eslint-plugin-ember/pull/2216) upgrade parser ([@patricklx](https://github.com/patricklx)) #### Committers: 1 + - Patrick Pircher ([@patricklx](https://github.com/patricklx)) ## Release (2024-10-25) @@ -166,10 +195,12 @@ eslint-plugin-ember 12.3.2 (patch) eslint-plugin-ember 12.3.1 (patch) #### :bug: Bug Fix -* `eslint-plugin-ember` - * [#2200](https://github.com/ember-cli/eslint-plugin-ember/pull/2200) Fix no-component-lifecycle-hook in double extended classic component ([@wagenet](https://github.com/wagenet)) + +- `eslint-plugin-ember` + - [#2200](https://github.com/ember-cli/eslint-plugin-ember/pull/2200) Fix no-component-lifecycle-hook in double extended classic component ([@wagenet](https://github.com/wagenet)) #### Committers: 1 + - Peter Wagenet ([@wagenet](https://github.com/wagenet)) ## Release (2024-10-23) @@ -177,983 +208,1105 @@ eslint-plugin-ember 12.3.1 (patch) eslint-plugin-ember 12.3.0 (minor) #### :rocket: Enhancement -* `eslint-plugin-ember` - * [#2191](https://github.com/ember-cli/eslint-plugin-ember/pull/2191) Provide better gjs/gts config support for eslint 9 ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + +- `eslint-plugin-ember` + - [#2191](https://github.com/ember-cli/eslint-plugin-ember/pull/2191) Provide better gjs/gts config support for eslint 9 ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) #### :bug: Bug Fix -* `eslint-plugin-ember` - * [#2195](https://github.com/ember-cli/eslint-plugin-ember/pull/2195) fix: Typo in error message ([@HeroicEric](https://github.com/HeroicEric)) + +- `eslint-plugin-ember` + - [#2195](https://github.com/ember-cli/eslint-plugin-ember/pull/2195) fix: Typo in error message ([@HeroicEric](https://github.com/HeroicEric)) #### :house: Internal -* `eslint-plugin-ember` - * [#2198](https://github.com/ember-cli/eslint-plugin-ember/pull/2198) Switch away from release-it to release-plan ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) - * [#2196](https://github.com/ember-cli/eslint-plugin-ember/pull/2196) Switch to pnpm + vitest (away from yarn @ 1 and jest) ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + +- `eslint-plugin-ember` + - [#2198](https://github.com/ember-cli/eslint-plugin-ember/pull/2198) Switch away from release-it to release-plan ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + - [#2196](https://github.com/ember-cli/eslint-plugin-ember/pull/2196) Switch to pnpm + vitest (away from yarn @ 1 and jest) ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) #### Committers: 2 + - Eric Kelly ([@HeroicEric](https://github.com/HeroicEric)) - [@NullVoxPopuli](https://github.com/NullVoxPopuli) - - - - - - - - - ## v12.2.1 (2024-09-25) #### :bug: Bug Fix -* [#2163](https://github.com/ember-cli/eslint-plugin-ember/pull/2163) Bump the parser ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) -* [#2162](https://github.com/ember-cli/eslint-plugin-ember/pull/2162) Allow imports from `ember-data/store` ([@Windvis](https://github.com/Windvis)) + +- [#2163](https://github.com/ember-cli/eslint-plugin-ember/pull/2163) Bump the parser ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) +- [#2162](https://github.com/ember-cli/eslint-plugin-ember/pull/2162) Allow imports from `ember-data/store` ([@Windvis](https://github.com/Windvis)) #### Committers: 2 + - Sam Van Campenhout ([@Windvis](https://github.com/Windvis)) - [@NullVoxPopuli](https://github.com/NullVoxPopuli) ## v12.2.0 (2024-08-17) #### :rocket: Enhancement -* [#2155](https://github.com/ember-cli/eslint-plugin-ember/pull/2155) Add new ember-data rule: `require-async-inverse-relationship` ([@wozny1989](https://github.com/wozny1989)) -* [#2157](https://github.com/ember-cli/eslint-plugin-ember/pull/2157) Consider `_test.{js|ts|gjs|gts}` as test file. ([@HEYGUL](https://github.com/HEYGUL)) + +- [#2155](https://github.com/ember-cli/eslint-plugin-ember/pull/2155) Add new ember-data rule: `require-async-inverse-relationship` ([@wozny1989](https://github.com/wozny1989)) +- [#2157](https://github.com/ember-cli/eslint-plugin-ember/pull/2157) Consider `_test.{js|ts|gjs|gts}` as test file. ([@HEYGUL](https://github.com/HEYGUL)) #### :bug: Bug Fix -* [#2159](https://github.com/ember-cli/eslint-plugin-ember/pull/2159) Fix deprecation blocking eslint v9 ([@LucasHill](https://github.com/LucasHill)) -* [#2151](https://github.com/ember-cli/eslint-plugin-ember/pull/2151) Fix false positive error for `no-runloop` ([@mkszepp](https://github.com/mkszepp)) + +- [#2159](https://github.com/ember-cli/eslint-plugin-ember/pull/2159) Fix deprecation blocking eslint v9 ([@LucasHill](https://github.com/LucasHill)) +- [#2151](https://github.com/ember-cli/eslint-plugin-ember/pull/2151) Fix false positive error for `no-runloop` ([@mkszepp](https://github.com/mkszepp)) #### :house: Internal -* [#2153](https://github.com/ember-cli/eslint-plugin-ember/pull/2153) Fix API deprecations blocking eslint v9 compatibility ([@LucasHill](https://github.com/LucasHill)) + +- [#2153](https://github.com/ember-cli/eslint-plugin-ember/pull/2153) Fix API deprecations blocking eslint v9 compatibility ([@LucasHill](https://github.com/LucasHill)) #### Committers: 4 + - Adam WoÅēny ([@wozny1989](https://github.com/wozny1989)) - GUL ([@HEYGUL](https://github.com/HEYGUL)) - Lucas Hill ([@LucasHill](https://github.com/LucasHill)) - Markus Sanin ([@mkszepp](https://github.com/mkszepp)) - ## v12.1.1 (2024-05-21) #### :bug: Bug Fix -* [#2149](https://github.com/ember-cli/eslint-plugin-ember/pull/2149) Bump parser version ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) -* [#2148](https://github.com/ember-cli/eslint-plugin-ember/pull/2148) fix test after parser update, resolves #2118 ([@patricklx](https://github.com/patricklx)) -* [#2147](https://github.com/ember-cli/eslint-plugin-ember/pull/2147) fix isTestFile - test-aware lints were not correctly identifying gjs and gts tests and test files ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + +- [#2149](https://github.com/ember-cli/eslint-plugin-ember/pull/2149) Bump parser version ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) +- [#2148](https://github.com/ember-cli/eslint-plugin-ember/pull/2148) fix test after parser update, resolves #2118 ([@patricklx](https://github.com/patricklx)) +- [#2147](https://github.com/ember-cli/eslint-plugin-ember/pull/2147) fix isTestFile - test-aware lints were not correctly identifying gjs and gts tests and test files ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) #### Committers: 1 -- [@NullVoxPopuli](https://github.com/NullVoxPopuli) +- [@NullVoxPopuli](https://github.com/NullVoxPopuli) ## v12.1.0 (2024-05-14) #### :rocket: Enhancement -* [#2117](https://github.com/ember-cli/eslint-plugin-ember/pull/2117) update ember eslint parser ([@patricklx](https://github.com/patricklx)) + +- [#2117](https://github.com/ember-cli/eslint-plugin-ember/pull/2117) update ember eslint parser ([@patricklx](https://github.com/patricklx)) #### :bug: Bug Fix -* [#2107](https://github.com/ember-cli/eslint-plugin-ember/pull/2107) include recommended ts-eslint rules for gts ([@patricklx](https://github.com/patricklx)) + +- [#2107](https://github.com/ember-cli/eslint-plugin-ember/pull/2107) include recommended ts-eslint rules for gts ([@patricklx](https://github.com/patricklx)) #### :memo: Documentation -* [#2142](https://github.com/ember-cli/eslint-plugin-ember/pull/2142) Fix spread operator sample in `no-array-prototype-extensions` rule doc ([@mkszepp](https://github.com/mkszepp)) + +- [#2142](https://github.com/ember-cli/eslint-plugin-ember/pull/2142) Fix spread operator sample in `no-array-prototype-extensions` rule doc ([@mkszepp](https://github.com/mkszepp)) #### Committers: 2 + - Markus Sanin ([@mkszepp](https://github.com/mkszepp)) - Patrick Pircher ([@patricklx](https://github.com/patricklx)) ## v12.0.2 (2024-02-15) #### :bug: Bug Fix -* [#2092](https://github.com/ember-cli/eslint-plugin-ember/pull/2092) Fix flat config for gts/gjs and `noop` parser name ([@bmish](https://github.com/bmish)) -* [#2091](https://github.com/ember-cli/eslint-plugin-ember/pull/2091) Upgrade ember-eslint-parser to 0.3.6 ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + +- [#2092](https://github.com/ember-cli/eslint-plugin-ember/pull/2092) Fix flat config for gts/gjs and `noop` parser name ([@bmish](https://github.com/bmish)) +- [#2091](https://github.com/ember-cli/eslint-plugin-ember/pull/2091) Upgrade ember-eslint-parser to 0.3.6 ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) #### :house: Internal -* [#2093](https://github.com/ember-cli/eslint-plugin-ember/pull/2093) Update linting ([@bmish](https://github.com/bmish)) + +- [#2093](https://github.com/ember-cli/eslint-plugin-ember/pull/2093) Update linting ([@bmish](https://github.com/bmish)) #### Committers: 2 + - Bryan Mishkin ([@bmish](https://github.com/bmish)) - [@NullVoxPopuli](https://github.com/NullVoxPopuli) - ## v12.0.1 (2024-02-13) #### :bug: Bug Fix -* [#2071](https://github.com/ember-cli/eslint-plugin-ember/pull/2071) Fix nested classes case in `no-ember-super-in-es-classes` ([@CvX](https://github.com/CvX)) + +- [#2071](https://github.com/ember-cli/eslint-plugin-ember/pull/2071) Fix nested classes case in `no-ember-super-in-es-classes` ([@CvX](https://github.com/CvX)) #### :memo: Documentation -* [#2088](https://github.com/ember-cli/eslint-plugin-ember/pull/2088) add doc about gts imports in ts files ([@patricklx](https://github.com/patricklx)) -* [#2068](https://github.com/ember-cli/eslint-plugin-ember/pull/2068) add `plugin:@typescript-eslint/recommended` to readme for GTS ([@evoactivity](https://github.com/evoactivity)) + +- [#2088](https://github.com/ember-cli/eslint-plugin-ember/pull/2088) add doc about gts imports in ts files ([@patricklx](https://github.com/patricklx)) +- [#2068](https://github.com/ember-cli/eslint-plugin-ember/pull/2068) add `plugin:@typescript-eslint/recommended` to readme for GTS ([@evoactivity](https://github.com/evoactivity)) #### :house: Internal -* [#2090](https://github.com/ember-cli/eslint-plugin-ember/pull/2090) Refresh lockfile ([@bmish](https://github.com/bmish)) + +- [#2090](https://github.com/ember-cli/eslint-plugin-ember/pull/2090) Refresh lockfile ([@bmish](https://github.com/bmish)) #### Committers: 4 + - Bryan Mishkin ([@bmish](https://github.com/bmish)) - Jarek Radosz ([@CvX](https://github.com/CvX)) - Liam Potter ([@evoactivity](https://github.com/evoactivity)) - Patrick Pircher ([@patricklx](https://github.com/patricklx)) - ## v12.0.0 (2024-01-13) #### :boom: Breaking Change -* [#1962](https://github.com/ember-cli/eslint-plugin-ember/pull/1962) Drop support for Node 14, 16, 19 ([@patricklx](https://github.com/patricklx)) -* [#1963](https://github.com/ember-cli/eslint-plugin-ember/pull/1963) Add new `recommended` rules: `no-at-ember-render-modifiers`, `no-deprecated-router-transition-methods`, `no-implicit-injections`, `no-runloop`, `no-tracked-properties-from-args`, ([@patricklx](https://github.com/patricklx)) -* [#1977](https://github.com/ember-cli/eslint-plugin-ember/pull/1977) Add new `recommended` rule: `template-no-let-reference` ([@bmish](https://github.com/bmish)) -* [#1981](https://github.com/ember-cli/eslint-plugin-ember/pull/1981) Add `template-no-let-reference` rule to `recommended-gjs` and `recommended-gts` configs ([@patricklx](https://github.com/patricklx)) -* [#1967](https://github.com/ember-cli/eslint-plugin-ember/pull/1967) Drop support for ESLint 7 ([@bmish](https://github.com/bmish)) -* [#1978](https://github.com/ember-cli/eslint-plugin-ember/pull/1978) Set config `ecmaVersion` to `2022` ([@bmish](https://github.com/bmish)) -* [#1965](https://github.com/ember-cli/eslint-plugin-ember/pull/1965) Change `useAt` option default to `true` at in `no-get` rule ([@patricklx](https://github.com/patricklx)) -* [#2028](https://github.com/ember-cli/eslint-plugin-ember/pull/2028) Move gjs/gts parser to `ember-eslint-parser` library ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) - -#### :rocket: Enhancement -* [#1939](https://github.com/ember-cli/eslint-plugin-ember/pull/1939) Add new rule `template-no-let-reference` ([@patricklx](https://github.com/patricklx)) -* [#1943](https://github.com/ember-cli/eslint-plugin-ember/pull/1943) Add new rule `template-indent` ([@patricklx](https://github.com/patricklx)) -* [#1971](https://github.com/ember-cli/eslint-plugin-ember/pull/1971) Add template block comment eslint directives ([@patricklx](https://github.com/patricklx)) -* [#1944](https://github.com/ember-cli/eslint-plugin-ember/pull/1944) Add gts/gjs configs ([@patricklx](https://github.com/patricklx)) -* [#1942](https://github.com/ember-cli/eslint-plugin-ember/pull/1942) Use custom parser for gts/gjs ([@patricklx](https://github.com/patricklx)) -* [#1975](https://github.com/ember-cli/eslint-plugin-ember/pull/1975) Update almost all dependencies ([@bmish](https://github.com/bmish)) -* [#1984](https://github.com/ember-cli/eslint-plugin-ember/pull/1984) Update `@typescript-eslint/` dependencies to v6 ([@patricklx](https://github.com/patricklx)) -* [#2020](https://github.com/ember-cli/eslint-plugin-ember/pull/2020) Support ESLint flat config ([@bmish](https://github.com/bmish)) - -#### :bug: Bug Fix -* [#1994](https://github.com/ember-cli/eslint-plugin-ember/pull/1994) [gjs/gts parser] fix locations for ast after templates ([@patricklx](https://github.com/patricklx)) -* [#1992](https://github.com/ember-cli/eslint-plugin-ember/pull/1992) [gjs/gts parser] fix references for tags with a dot & non standard html tags ([@patricklx](https://github.com/patricklx)) -* [#1996](https://github.com/ember-cli/eslint-plugin-ember/pull/1996) [gjs/gts parser] fix type aware linting when using ts+gts files ([@patricklx](https://github.com/patricklx)) -* [#2005](https://github.com/ember-cli/eslint-plugin-ember/pull/2005) [gjs/gts parser] fix parsing when there are multiple default `