gitextract_oxynmjan/ ├── .babelrc ├── .editorconfig ├── .eslint-doc-generatorrc.js ├── .gitattributes ├── .github/ │ ├── renovate.json5 │ └── workflows/ │ ├── bench-compare.yml │ ├── ci.yml │ ├── codeql-analysis.yml │ ├── plan-release.yml │ └── publish.yml ├── .gitignore ├── .markdownlint.json ├── .markdownlintignore ├── .npmpackagejsonlintrc.json ├── .npmrc ├── .prettierignore ├── .prettierrc.js ├── .release-plan.json ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── RELEASE.md ├── docs/ │ └── rules/ │ ├── _TEMPLATE_.md │ ├── alias-model-in-controller.md │ ├── avoid-leaking-state-in-ember-objects.md │ ├── avoid-using-needs-in-controllers.md │ ├── classic-decorator-hooks.md │ ├── classic-decorator-no-classic-methods.md │ ├── closure-actions.md │ ├── computed-property-getters.md │ ├── jquery-ember-run.md │ ├── named-functions-in-promises.md │ ├── new-module-imports.md │ ├── no-actions-hash.md │ ├── no-array-prototype-extensions.md │ ├── no-arrow-function-computed-properties.md │ ├── no-assignment-of-untracked-properties-used-in-tracking-contexts.md │ ├── no-at-ember-render-modifiers.md │ ├── no-attrs-in-components.md │ ├── no-attrs-snapshot.md │ ├── no-builtin-form-components.md │ ├── no-capital-letters-in-routes.md │ ├── no-classic-classes.md │ ├── no-classic-components.md │ ├── no-component-lifecycle-hooks.md │ ├── no-computed-properties-in-native-classes.md │ ├── no-controller-access-in-routes.md │ ├── no-controllers.md │ ├── no-current-route-name.md │ ├── no-deeply-nested-dependent-keys-with-each.md │ ├── no-deprecated-router-transition-methods.md │ ├── no-duplicate-dependent-keys.md │ ├── no-ember-super-in-es-classes.md │ ├── no-ember-testing-in-module-scope.md │ ├── no-empty-attrs.md │ ├── no-empty-glimmer-component-classes.md │ ├── no-function-prototype-extensions.md │ ├── no-get-with-default.md │ ├── no-get.md │ ├── no-global-jquery.md │ ├── no-html-safe.md │ ├── no-implicit-injections.md │ ├── no-implicit-service-injection-argument.md │ ├── no-incorrect-calls-with-inline-anonymous-functions.md │ ├── no-incorrect-computed-macros.md │ ├── no-invalid-debug-function-arguments.md │ ├── no-invalid-dependent-keys.md │ ├── no-invalid-test-waiters.md │ ├── no-jquery.md │ ├── no-legacy-test-waiters.md │ ├── no-mixins.md │ ├── no-modifier-argument-destructuring.md │ ├── no-new-mixins.md │ ├── no-noop-setup-on-error-in-before.md │ ├── no-observers.md │ ├── no-old-shims.md │ ├── no-on-calls-in-components.md │ ├── no-pause-test.md │ ├── no-private-routing-service.md │ ├── no-proxies.md │ ├── no-replace-test-comments.md │ ├── no-restricted-property-modifications.md │ ├── no-restricted-resolver-tests.md │ ├── no-restricted-service-injections.md │ ├── no-runloop.md │ ├── no-settled-after-test-helper.md │ ├── no-shadow-route-definition.md │ ├── no-side-effects.md │ ├── no-string-prototype-extensions.md │ ├── no-test-and-then.md │ ├── no-test-import-export.md │ ├── no-test-module-for.md │ ├── no-test-support-import.md │ ├── no-test-this-render.md │ ├── no-tracked-built-ins.md │ ├── no-tracked-properties-from-args.md │ ├── no-try-invoke.md │ ├── no-unnecessary-index-route.md │ ├── no-unnecessary-route-path-option.md │ ├── no-unnecessary-service-injection-argument.md │ ├── no-unused-services.md │ ├── no-volatile-computed-properties.md │ ├── order-in-components.md │ ├── order-in-controllers.md │ ├── order-in-models.md │ ├── order-in-routes.md │ ├── prefer-ember-test-helpers.md │ ├── require-async-inverse-relationship.md │ ├── require-computed-macros.md │ ├── require-computed-property-dependencies.md │ ├── require-fetch-import.md │ ├── require-return-from-computed.md │ ├── require-super-in-lifecycle-hooks.md │ ├── require-tagless-components.md │ ├── require-valid-css-selector-in-test-helpers.md │ ├── route-path-style.md │ ├── routes-segments-snake-case.md │ ├── template-attribute-indentation.md │ ├── template-attribute-order.md │ ├── template-block-indentation.md │ ├── template-builtin-component-arguments.md │ ├── template-deprecated-inline-view-helper.md │ ├── template-deprecated-render-helper.md │ ├── template-eol-last.md │ ├── template-linebreak-style.md │ ├── template-link-href-attributes.md │ ├── template-link-rel-noopener.md │ ├── template-modifier-name-case.md │ ├── template-no-abstract-roles.md │ ├── template-no-accesskey-attribute.md │ ├── template-no-action-modifiers.md │ ├── template-no-action-on-submit-button.md │ ├── template-no-action.md │ ├── template-no-args-paths.md │ ├── template-no-arguments-for-html-elements.md │ ├── template-no-aria-hidden-body.md │ ├── template-no-aria-unsupported-elements.md │ ├── template-no-array-prototype-extensions.md │ ├── template-no-at-ember-render-modifiers.md │ ├── template-no-attrs-in-components.md │ ├── template-no-autofocus-attribute.md │ ├── template-no-bare-strings.md │ ├── template-no-bare-yield.md │ ├── template-no-block-params-for-html-elements.md │ ├── template-no-builtin-form-components.md │ ├── template-no-capital-arguments.md │ ├── template-no-chained-this.md │ ├── template-no-class-bindings.md │ ├── template-no-curly-component-invocation.md │ ├── template-no-debugger.md │ ├── template-no-deprecated.md │ ├── template-no-duplicate-attributes.md │ ├── template-no-duplicate-id.md │ ├── template-no-duplicate-landmark-elements.md │ ├── template-no-dynamic-subexpression-invocations.md │ ├── template-no-element-event-actions.md │ ├── template-no-empty-headings.md │ ├── template-no-extra-mut-helper-argument.md │ ├── template-no-forbidden-elements.md │ ├── template-no-heading-inside-button.md │ ├── template-no-html-comments.md │ ├── template-no-implicit-this.md │ ├── template-no-index-component-invocation.md │ ├── template-no-inline-event-handlers.md │ ├── template-no-inline-linkto.md │ ├── template-no-inline-styles.md │ ├── template-no-input-block.md │ ├── template-no-input-tagname.md │ ├── template-no-invalid-aria-attributes.md │ ├── template-no-invalid-interactive.md │ ├── template-no-invalid-link-text.md │ ├── template-no-invalid-link-title.md │ ├── template-no-invalid-meta.md │ ├── template-no-invalid-role.md │ ├── template-no-jsx-attributes.md │ ├── template-no-let-reference.md │ ├── template-no-link-to-positional-params.md │ ├── template-no-link-to-tagname.md │ ├── template-no-log.md │ ├── template-no-model-argument-in-route-templates.md │ ├── template-no-multiple-empty-lines.md │ ├── template-no-mut-helper.md │ ├── template-no-negated-condition.md │ ├── template-no-nested-interactive.md │ ├── template-no-nested-landmark.md │ ├── template-no-nested-splattributes.md │ ├── template-no-obscure-array-access.md │ ├── template-no-obsolete-elements.md │ ├── template-no-only-default-slot.md │ ├── template-no-outlet-outside-routes.md │ ├── template-no-page-title-component.md │ ├── template-no-passed-in-event-handlers.md │ ├── template-no-pointer-down-event-binding.md │ ├── template-no-positional-data-test-selectors.md │ ├── template-no-positive-tabindex.md │ ├── template-no-potential-path-strings.md │ ├── template-no-quoteless-attributes.md │ ├── template-no-redundant-fn.md │ ├── template-no-redundant-role.md │ ├── template-no-restricted-invocations.md │ ├── template-no-route-action.md │ ├── template-no-scope-outside-table-headings.md │ ├── template-no-shadowed-elements.md │ ├── template-no-splattributes-with-class.md │ ├── template-no-this-in-template-only-components.md │ ├── template-no-trailing-spaces.md │ ├── template-no-triple-curlies.md │ ├── template-no-unavailable-this.md │ ├── template-no-unbalanced-curlies.md │ ├── template-no-unbound.md │ ├── template-no-unknown-arguments-for-builtin-components.md │ ├── template-no-unnecessary-component-helper.md │ ├── template-no-unnecessary-concat.md │ ├── template-no-unnecessary-curly-parens.md │ ├── template-no-unnecessary-curly-strings.md │ ├── template-no-unsupported-role-attributes.md │ ├── template-no-unused-block-params.md │ ├── template-no-valueless-arguments.md │ ├── template-no-whitespace-for-layout.md │ ├── template-no-whitespace-within-word.md │ ├── template-no-with.md │ ├── template-no-yield-block-params-to-else-inverse.md │ ├── template-no-yield-only.md │ ├── template-no-yield-to-default.md │ ├── template-quotes.md │ ├── template-require-aria-activedescendant-tabindex.md │ ├── template-require-button-type.md │ ├── template-require-context-role.md │ ├── template-require-each-key.md │ ├── template-require-form-method.md │ ├── template-require-has-block-helper.md │ ├── template-require-iframe-src-attribute.md │ ├── template-require-iframe-title.md │ ├── template-require-input-label.md │ ├── template-require-input-type.md │ ├── template-require-lang-attribute.md │ ├── template-require-mandatory-role-attributes.md │ ├── template-require-media-caption.md │ ├── template-require-presentational-children.md │ ├── template-require-splattributes.md │ ├── template-require-strict-mode.md │ ├── template-require-valid-alt-text.md │ ├── template-require-valid-form-groups.md │ ├── template-require-valid-named-block-naming-format.md │ ├── template-self-closing-void-elements.md │ ├── template-simple-modifiers.md │ ├── template-simple-unless.md │ ├── template-sort-invocations.md │ ├── template-splat-attributes-only.md │ ├── template-style-concatenation.md │ ├── template-table-groups.md │ ├── template-template-length.md │ ├── use-brace-expansion.md │ ├── use-ember-data-rfc-395-imports.md │ └── use-ember-get-and-set.md ├── eslint-remote-tester.config.js ├── eslint.config.js ├── lib/ │ ├── config/ │ │ ├── base.js │ │ ├── recommended-gjs.js │ │ ├── recommended-gts.js │ │ ├── recommended.js │ │ └── template-lint-migration.js │ ├── config-legacy/ │ │ ├── base.js │ │ ├── recommended-gjs.js │ │ ├── recommended-gts.js │ │ ├── recommended.js │ │ └── template-lint-migration.js │ ├── index.js │ ├── recommended-rules-gjs.js │ ├── recommended-rules-gts.js │ ├── recommended-rules.js │ ├── recommended.mjs │ ├── rules/ │ │ ├── alias-model-in-controller.js │ │ ├── avoid-leaking-state-in-ember-objects.js │ │ ├── avoid-using-needs-in-controllers.js │ │ ├── classic-decorator-hooks.js │ │ ├── classic-decorator-no-classic-methods.js │ │ ├── closure-actions.js │ │ ├── computed-property-getters.js │ │ ├── jquery-ember-run.js │ │ ├── named-functions-in-promises.js │ │ ├── new-module-imports.js │ │ ├── no-actions-hash.js │ │ ├── no-array-prototype-extensions.js │ │ ├── no-arrow-function-computed-properties.js │ │ ├── no-assignment-of-untracked-properties-used-in-tracking-contexts.js │ │ ├── no-at-ember-render-modifiers.js │ │ ├── no-attrs-in-components.js │ │ ├── no-attrs-snapshot.js │ │ ├── no-builtin-form-components.js │ │ ├── no-capital-letters-in-routes.js │ │ ├── no-classic-classes.js │ │ ├── no-classic-components.js │ │ ├── no-component-lifecycle-hooks.js │ │ ├── no-computed-properties-in-native-classes.js │ │ ├── no-controller-access-in-routes.js │ │ ├── no-controllers.js │ │ ├── no-current-route-name.js │ │ ├── no-deeply-nested-dependent-keys-with-each.js │ │ ├── no-deprecated-router-transition-methods.js │ │ ├── no-duplicate-dependent-keys.js │ │ ├── no-ember-super-in-es-classes.js │ │ ├── no-ember-testing-in-module-scope.js │ │ ├── no-empty-attrs.js │ │ ├── no-empty-glimmer-component-classes.js │ │ ├── no-function-prototype-extensions.js │ │ ├── no-get-with-default.js │ │ ├── no-get.js │ │ ├── no-global-jquery.js │ │ ├── no-html-safe.js │ │ ├── no-implicit-injections.js │ │ ├── no-implicit-service-injection-argument.js │ │ ├── no-incorrect-calls-with-inline-anonymous-functions.js │ │ ├── no-incorrect-computed-macros.js │ │ ├── no-invalid-debug-function-arguments.js │ │ ├── no-invalid-dependent-keys.js │ │ ├── no-invalid-test-waiters.js │ │ ├── no-jquery.js │ │ ├── no-legacy-test-waiters.js │ │ ├── no-mixins.js │ │ ├── no-modifier-argument-destructuring.js │ │ ├── no-new-mixins.js │ │ ├── no-noop-setup-on-error-in-before.js │ │ ├── no-observers.js │ │ ├── no-old-shims.js │ │ ├── no-on-calls-in-components.js │ │ ├── no-pause-test.js │ │ ├── no-private-routing-service.js │ │ ├── no-proxies.js │ │ ├── no-replace-test-comments.js │ │ ├── no-restricted-property-modifications.js │ │ ├── no-restricted-resolver-tests.js │ │ ├── no-restricted-service-injections.js │ │ ├── no-runloop.js │ │ ├── no-settled-after-test-helper.js │ │ ├── no-shadow-route-definition.js │ │ ├── no-side-effects.js │ │ ├── no-string-prototype-extensions.js │ │ ├── no-test-and-then.js │ │ ├── no-test-import-export.js │ │ ├── no-test-module-for.js │ │ ├── no-test-support-import.js │ │ ├── no-test-this-render.js │ │ ├── no-tracked-built-ins.js │ │ ├── no-tracked-properties-from-args.js │ │ ├── no-try-invoke.js │ │ ├── no-unnecessary-index-route.js │ │ ├── no-unnecessary-route-path-option.js │ │ ├── no-unnecessary-service-injection-argument.js │ │ ├── no-unused-services.js │ │ ├── no-volatile-computed-properties.js │ │ ├── order-in-components.js │ │ ├── order-in-controllers.js │ │ ├── order-in-models.js │ │ ├── order-in-routes.js │ │ ├── prefer-ember-test-helpers.js │ │ ├── require-async-inverse-relationship.js │ │ ├── require-computed-macros.js │ │ ├── require-computed-property-dependencies.js │ │ ├── require-fetch-import.js │ │ ├── require-return-from-computed.js │ │ ├── require-super-in-lifecycle-hooks.js │ │ ├── require-tagless-components.js │ │ ├── require-valid-css-selector-in-test-helpers.js │ │ ├── route-path-style.js │ │ ├── routes-segments-snake-case.js │ │ ├── template-attribute-indentation.js │ │ ├── template-attribute-order.js │ │ ├── template-block-indentation.js │ │ ├── template-builtin-component-arguments.js │ │ ├── template-deprecated-inline-view-helper.js │ │ ├── template-deprecated-render-helper.js │ │ ├── template-eol-last.js │ │ ├── template-linebreak-style.js │ │ ├── template-link-href-attributes.js │ │ ├── template-link-rel-noopener.js │ │ ├── template-modifier-name-case.js │ │ ├── template-no-abstract-roles.js │ │ ├── template-no-accesskey-attribute.js │ │ ├── template-no-action-modifiers.js │ │ ├── template-no-action-on-submit-button.js │ │ ├── template-no-action.js │ │ ├── template-no-args-paths.js │ │ ├── template-no-arguments-for-html-elements.js │ │ ├── template-no-aria-hidden-body.js │ │ ├── template-no-aria-unsupported-elements.js │ │ ├── template-no-array-prototype-extensions.js │ │ ├── template-no-at-ember-render-modifiers.js │ │ ├── template-no-attrs-in-components.js │ │ ├── template-no-autofocus-attribute.js │ │ ├── template-no-bare-strings.js │ │ ├── template-no-bare-yield.js │ │ ├── template-no-block-params-for-html-elements.js │ │ ├── template-no-builtin-form-components.js │ │ ├── template-no-capital-arguments.js │ │ ├── template-no-chained-this.js │ │ ├── template-no-class-bindings.js │ │ ├── template-no-curly-component-invocation.js │ │ ├── template-no-debugger.js │ │ ├── template-no-deprecated.js │ │ ├── template-no-duplicate-attributes.js │ │ ├── template-no-duplicate-id.js │ │ ├── template-no-duplicate-landmark-elements.js │ │ ├── template-no-dynamic-subexpression-invocations.js │ │ ├── template-no-element-event-actions.js │ │ ├── template-no-empty-headings.js │ │ ├── template-no-extra-mut-helper-argument.js │ │ ├── template-no-forbidden-elements.js │ │ ├── template-no-heading-inside-button.js │ │ ├── template-no-html-comments.js │ │ ├── template-no-implicit-this.js │ │ ├── template-no-index-component-invocation.js │ │ ├── template-no-inline-event-handlers.js │ │ ├── template-no-inline-linkto.js │ │ ├── template-no-inline-styles.js │ │ ├── template-no-input-block.js │ │ ├── template-no-input-tagname.js │ │ ├── template-no-invalid-aria-attributes.js │ │ ├── template-no-invalid-interactive.js │ │ ├── template-no-invalid-link-text.js │ │ ├── template-no-invalid-link-title.js │ │ ├── template-no-invalid-meta.js │ │ ├── template-no-invalid-role.js │ │ ├── template-no-jsx-attributes.js │ │ ├── template-no-let-reference.js │ │ ├── template-no-link-to-positional-params.js │ │ ├── template-no-link-to-tagname.js │ │ ├── template-no-log.js │ │ ├── template-no-model-argument-in-route-templates.js │ │ ├── template-no-multiple-empty-lines.js │ │ ├── template-no-mut-helper.js │ │ ├── template-no-negated-condition.js │ │ ├── template-no-nested-interactive.js │ │ ├── template-no-nested-landmark.js │ │ ├── template-no-nested-splattributes.js │ │ ├── template-no-obscure-array-access.js │ │ ├── template-no-obsolete-elements.js │ │ ├── template-no-only-default-slot.js │ │ ├── template-no-outlet-outside-routes.js │ │ ├── template-no-page-title-component.js │ │ ├── template-no-passed-in-event-handlers.js │ │ ├── template-no-pointer-down-event-binding.js │ │ ├── template-no-positional-data-test-selectors.js │ │ ├── template-no-positive-tabindex.js │ │ ├── template-no-potential-path-strings.js │ │ ├── template-no-quoteless-attributes.js │ │ ├── template-no-redundant-fn.js │ │ ├── template-no-redundant-role.js │ │ ├── template-no-restricted-invocations.js │ │ ├── template-no-route-action.js │ │ ├── template-no-scope-outside-table-headings.js │ │ ├── template-no-shadowed-elements.js │ │ ├── template-no-splattributes-with-class.js │ │ ├── template-no-this-in-template-only-components.js │ │ ├── template-no-trailing-spaces.js │ │ ├── template-no-triple-curlies.js │ │ ├── template-no-unavailable-this.js │ │ ├── template-no-unbalanced-curlies.js │ │ ├── template-no-unbound.js │ │ ├── template-no-unknown-arguments-for-builtin-components.js │ │ ├── template-no-unnecessary-component-helper.js │ │ ├── template-no-unnecessary-concat.js │ │ ├── template-no-unnecessary-curly-parens.js │ │ ├── template-no-unnecessary-curly-strings.js │ │ ├── template-no-unsupported-role-attributes.js │ │ ├── template-no-unused-block-params.js │ │ ├── template-no-valueless-arguments.js │ │ ├── template-no-whitespace-for-layout.js │ │ ├── template-no-whitespace-within-word.js │ │ ├── template-no-with.js │ │ ├── template-no-yield-block-params-to-else-inverse.js │ │ ├── template-no-yield-only.js │ │ ├── template-no-yield-to-default.js │ │ ├── template-quotes.js │ │ ├── template-require-aria-activedescendant-tabindex.js │ │ ├── template-require-button-type.js │ │ ├── template-require-context-role.js │ │ ├── template-require-each-key.js │ │ ├── template-require-form-method.js │ │ ├── template-require-has-block-helper.js │ │ ├── template-require-iframe-src-attribute.js │ │ ├── template-require-iframe-title.js │ │ ├── template-require-input-label.js │ │ ├── template-require-input-type.js │ │ ├── template-require-lang-attribute.js │ │ ├── template-require-mandatory-role-attributes.js │ │ ├── template-require-media-caption.js │ │ ├── template-require-presentational-children.js │ │ ├── template-require-splattributes.js │ │ ├── template-require-strict-mode.js │ │ ├── template-require-valid-alt-text.js │ │ ├── template-require-valid-form-groups.js │ │ ├── template-require-valid-named-block-naming-format.js │ │ ├── template-self-closing-void-elements.js │ │ ├── template-simple-modifiers.js │ │ ├── template-simple-unless.js │ │ ├── template-sort-invocations.js │ │ ├── template-splat-attributes-only.js │ │ ├── template-style-concatenation.js │ │ ├── template-table-groups.js │ │ ├── template-template-length.js │ │ ├── use-brace-expansion.js │ │ ├── use-ember-data-rfc-395-imports.js │ │ └── use-ember-get-and-set.js │ └── utils/ │ ├── computed-properties.js │ ├── computed-property-dependent-keys.js │ ├── computed-property-macros.js │ ├── decorators.js │ ├── editorconfig.js │ ├── ember-source-version.js │ ├── ember.js │ ├── fixer.js │ ├── html-interactive-content.js │ ├── import.js │ ├── interactive-roles.js │ ├── is-native-element.js │ ├── javascript.js │ ├── jquery-methods.js │ ├── jquery.js │ ├── landmark-roles.js │ ├── new-module.js │ ├── property-getter.js │ ├── property-order.js │ ├── property-setter.js │ ├── scope-references-this.js │ ├── stack.js │ ├── static-attr-value.js │ ├── types.js │ └── utils.js ├── package.json ├── scripts/ │ ├── bench-compare.mjs │ ├── bench-utils.mjs │ ├── format-bench-cli.mjs │ ├── format-bench-comment.mjs │ ├── list-jquery-methods.js │ ├── local-bench-summary.sh │ ├── run-bench.sh │ └── update-rules.js ├── tests/ │ ├── __snapshots__/ │ │ └── recommended.js.snap │ ├── bench/ │ │ ├── large.gjs │ │ ├── large.gts │ │ ├── large.js │ │ ├── medium.gjs │ │ ├── medium.gts │ │ ├── medium.js │ │ ├── small.gjs │ │ ├── small.gts │ │ └── small.js │ ├── config-setup.js │ ├── fixtures/ │ │ └── template-no-this-in-template-only-components/ │ │ └── app/ │ │ └── components/ │ │ ├── classic-with-class.js │ │ ├── with-class.js │ │ └── with-ts-class.ts │ ├── helpers/ │ │ ├── babel-eslint-parser.js │ │ ├── faux-context.js │ │ └── test-case.js │ ├── lib/ │ │ ├── eslint-directive-comments-test.js │ │ ├── rules/ │ │ │ ├── alias-model-in-controller.js │ │ │ ├── avoid-leaking-state-in-ember-objects.js │ │ │ ├── avoid-using-needs-in-controllers.js │ │ │ ├── classic-decorator-hooks.js │ │ │ ├── classic-decorator-no-classic-methods.js │ │ │ ├── closure-actions.js │ │ │ ├── computed-property-getters.js │ │ │ ├── jquery-ember-run.js │ │ │ ├── named-functions-in-promises.js │ │ │ ├── new-module-imports.js │ │ │ ├── no-actions-hash.js │ │ │ ├── no-array-prototype-extensions.js │ │ │ ├── no-arrow-function-computed-properties.js │ │ │ ├── no-assignment-of-untracked-properties-used-in-tracking-contexts.js │ │ │ ├── no-at-ember-render-modifiers.js │ │ │ ├── no-attrs-in-components.js │ │ │ ├── no-attrs-snapshot.js │ │ │ ├── no-builtin-form-components.js │ │ │ ├── no-capital-letters-in-routes.js │ │ │ ├── no-classic-classes.js │ │ │ ├── no-classic-components.js │ │ │ ├── no-component-lifecycle-hooks.js │ │ │ ├── no-computed-properties-in-native-classes.js │ │ │ ├── no-controller-access-in-routes.js │ │ │ ├── no-controllers.js │ │ │ ├── no-current-route-name.js │ │ │ ├── no-deeply-nested-dependent-keys-with-each.js │ │ │ ├── no-deprecated-router-transition-methods.js │ │ │ ├── no-duplicate-dependent-keys.js │ │ │ ├── no-ember-super-in-es-classes.js │ │ │ ├── no-ember-testing-in-module-scope.js │ │ │ ├── no-empty-attrs.js │ │ │ ├── no-empty-glimmer-component-classes.js │ │ │ ├── no-function-prototype-extensions.js │ │ │ ├── no-get-with-default.js │ │ │ ├── no-get.js │ │ │ ├── no-global-jquery.js │ │ │ ├── no-html-safe.js │ │ │ ├── no-implicit-injections.js │ │ │ ├── no-implicit-service-injection-argument.js │ │ │ ├── no-incorrect-calls-with-inline-anonymous-functions.js │ │ │ ├── no-incorrect-computed-macros.js │ │ │ ├── no-invalid-debug-function-arguments.js │ │ │ ├── no-invalid-dependent-keys.js │ │ │ ├── no-invalid-test-waiters.js │ │ │ ├── no-jquery.js │ │ │ ├── no-legacy-test-waiters.js │ │ │ ├── no-mixins.js │ │ │ ├── no-modifier-argument-destructuring.js │ │ │ ├── no-new-mixins.js │ │ │ ├── no-noop-setup-on-error-in-before.js │ │ │ ├── no-observers.js │ │ │ ├── no-old-shims.js │ │ │ ├── no-on-calls-in-components.js │ │ │ ├── no-pause-test.js │ │ │ ├── no-private-routing-service.js │ │ │ ├── no-proxies.js │ │ │ ├── no-replace-test-comments.js │ │ │ ├── no-restricted-property-modifications.js │ │ │ ├── no-restricted-resolver-tests.js │ │ │ ├── no-restricted-service-injections.js │ │ │ ├── no-runloop.js │ │ │ ├── no-settled-after-test-helper.js │ │ │ ├── no-shadow-route-definition.js │ │ │ ├── no-side-effects.js │ │ │ ├── no-string-prototype-extensions.js │ │ │ ├── no-test-and-then.js │ │ │ ├── no-test-import-export.js │ │ │ ├── no-test-module-for.js │ │ │ ├── no-test-support-import.js │ │ │ ├── no-test-this-render.js │ │ │ ├── no-tracked-built-ins.js │ │ │ ├── no-tracked-properties-from-args.js │ │ │ ├── no-try-invoke.js │ │ │ ├── no-unnecessary-index-route.js │ │ │ ├── no-unnecessary-route-path-option.js │ │ │ ├── no-unnecessary-service-injection-argument.js │ │ │ ├── no-unused-services.js │ │ │ ├── no-volatile-computed-properties.js │ │ │ ├── order-in-components.js │ │ │ ├── order-in-controllers.js │ │ │ ├── order-in-models.js │ │ │ ├── order-in-routes.js │ │ │ ├── prefer-ember-test-helpers.js │ │ │ ├── require-async-inverse-relationship.js │ │ │ ├── require-computed-macros.js │ │ │ ├── require-computed-property-dependencies.js │ │ │ ├── require-fetch-import.js │ │ │ ├── require-return-from-computed.js │ │ │ ├── require-super-in-lifecycle-hooks.js │ │ │ ├── require-tagless-components.js │ │ │ ├── require-valid-css-selector-in-test-helpers.js │ │ │ ├── route-path-style.js │ │ │ ├── routes-segments-snake-case.js │ │ │ ├── template-attribute-indentation.js │ │ │ ├── template-attribute-order.js │ │ │ ├── template-block-indentation.js │ │ │ ├── template-builtin-component-arguments.js │ │ │ ├── template-deprecated-inline-view-helper.js │ │ │ ├── template-deprecated-render-helper.js │ │ │ ├── template-eol-last.js │ │ │ ├── template-linebreak-style.js │ │ │ ├── template-link-href-attributes.js │ │ │ ├── template-link-rel-noopener.js │ │ │ ├── template-modifier-name-case.js │ │ │ ├── template-no-abstract-roles.js │ │ │ ├── template-no-accesskey-attribute.js │ │ │ ├── template-no-action-modifiers.js │ │ │ ├── template-no-action-on-submit-button.js │ │ │ ├── template-no-action.js │ │ │ ├── template-no-args-paths.js │ │ │ ├── template-no-arguments-for-html-elements.js │ │ │ ├── template-no-aria-hidden-body.js │ │ │ ├── template-no-aria-unsupported-elements.js │ │ │ ├── template-no-array-prototype-extensions.js │ │ │ ├── template-no-at-ember-render-modifiers.js │ │ │ ├── template-no-attrs-in-components.js │ │ │ ├── template-no-autofocus-attribute.js │ │ │ ├── template-no-bare-strings.js │ │ │ ├── template-no-bare-yield.js │ │ │ ├── template-no-block-params-for-html-elements.js │ │ │ ├── template-no-builtin-form-components.js │ │ │ ├── template-no-capital-arguments.js │ │ │ ├── template-no-chained-this.js │ │ │ ├── template-no-class-bindings.js │ │ │ ├── template-no-curly-component-invocation.js │ │ │ ├── template-no-debugger.js │ │ │ ├── template-no-deprecated.js │ │ │ ├── template-no-duplicate-attributes.js │ │ │ ├── template-no-duplicate-id.js │ │ │ ├── template-no-duplicate-landmark-elements.js │ │ │ ├── template-no-dynamic-subexpression-invocations.js │ │ │ ├── template-no-element-event-actions.js │ │ │ ├── template-no-empty-headings.js │ │ │ ├── template-no-extra-mut-helper-argument.js │ │ │ ├── template-no-forbidden-elements.js │ │ │ ├── template-no-heading-inside-button.js │ │ │ ├── template-no-html-comments.js │ │ │ ├── template-no-implicit-this.js │ │ │ ├── template-no-index-component-invocation.js │ │ │ ├── template-no-inline-event-handlers.js │ │ │ ├── template-no-inline-linkto.js │ │ │ ├── template-no-inline-styles.js │ │ │ ├── template-no-input-block.js │ │ │ ├── template-no-input-tagname.js │ │ │ ├── template-no-invalid-aria-attributes.js │ │ │ ├── template-no-invalid-interactive.js │ │ │ ├── template-no-invalid-link-text.js │ │ │ ├── template-no-invalid-link-title.js │ │ │ ├── template-no-invalid-meta.js │ │ │ ├── template-no-invalid-role.js │ │ │ ├── template-no-jsx-attributes.js │ │ │ ├── template-no-let-reference.js │ │ │ ├── template-no-link-to-positional-params.js │ │ │ ├── template-no-link-to-tagname.js │ │ │ ├── template-no-log.js │ │ │ ├── template-no-model-argument-in-route-templates.js │ │ │ ├── template-no-multiple-empty-lines.js │ │ │ ├── template-no-mut-helper.js │ │ │ ├── template-no-negated-condition.js │ │ │ ├── template-no-nested-interactive.js │ │ │ ├── template-no-nested-landmark.js │ │ │ ├── template-no-nested-splattributes.js │ │ │ ├── template-no-obscure-array-access.js │ │ │ ├── template-no-obsolete-elements.js │ │ │ ├── template-no-only-default-slot.js │ │ │ ├── template-no-outlet-outside-routes.js │ │ │ ├── template-no-page-title-component.js │ │ │ ├── template-no-passed-in-event-handlers.js │ │ │ ├── template-no-pointer-down-event-binding.js │ │ │ ├── template-no-positional-data-test-selectors.js │ │ │ ├── template-no-positive-tabindex.js │ │ │ ├── template-no-potential-path-strings.js │ │ │ ├── template-no-quoteless-attributes.js │ │ │ ├── template-no-redundant-fn.js │ │ │ ├── template-no-redundant-role.js │ │ │ ├── template-no-restricted-invocations.js │ │ │ ├── template-no-route-action.js │ │ │ ├── template-no-scope-outside-table-headings.js │ │ │ ├── template-no-shadowed-elements.js │ │ │ ├── template-no-splattributes-with-class.js │ │ │ ├── template-no-this-in-template-only-components.js │ │ │ ├── template-no-trailing-spaces.js │ │ │ ├── template-no-triple-curlies.js │ │ │ ├── template-no-unavailable-this.js │ │ │ ├── template-no-unbalanced-curlies.js │ │ │ ├── template-no-unbound.js │ │ │ ├── template-no-unknown-arguments-for-builtin-components.js │ │ │ ├── template-no-unnecessary-component-helper.js │ │ │ ├── template-no-unnecessary-concat.js │ │ │ ├── template-no-unnecessary-curly-parens.js │ │ │ ├── template-no-unnecessary-curly-strings.js │ │ │ ├── template-no-unsupported-role-attributes.js │ │ │ ├── template-no-unused-block-params.js │ │ │ ├── template-no-valueless-arguments.js │ │ │ ├── template-no-whitespace-for-layout.js │ │ │ ├── template-no-whitespace-within-word.js │ │ │ ├── template-no-with.js │ │ │ ├── template-no-yield-block-params-to-else-inverse.js │ │ │ ├── template-no-yield-only.js │ │ │ ├── template-no-yield-to-default.js │ │ │ ├── template-quotes.js │ │ │ ├── template-require-aria-activedescendant-tabindex.js │ │ │ ├── template-require-button-type.js │ │ │ ├── template-require-context-role.js │ │ │ ├── template-require-each-key.js │ │ │ ├── template-require-form-method.js │ │ │ ├── template-require-has-block-helper.js │ │ │ ├── template-require-iframe-src-attribute.js │ │ │ ├── template-require-iframe-title.js │ │ │ ├── template-require-input-label.js │ │ │ ├── template-require-input-type.js │ │ │ ├── template-require-lang-attribute.js │ │ │ ├── template-require-mandatory-role-attributes.js │ │ │ ├── template-require-media-caption.js │ │ │ ├── template-require-presentational-children.js │ │ │ ├── template-require-splattributes.js │ │ │ ├── template-require-strict-mode.js │ │ │ ├── template-require-valid-alt-text.js │ │ │ ├── template-require-valid-form-groups.js │ │ │ ├── template-require-valid-named-block-naming-format.js │ │ │ ├── template-self-closing-void-elements.js │ │ │ ├── template-simple-modifiers.js │ │ │ ├── template-simple-unless.js │ │ │ ├── template-sort-invocations.js │ │ │ ├── template-splat-attributes-only.js │ │ │ ├── template-style-concatenation.js │ │ │ ├── template-table-groups.js │ │ │ ├── template-template-length.js │ │ │ ├── use-brace-expansion.js │ │ │ ├── use-ember-data-rfc-395-imports.js │ │ │ └── use-ember-get-and-set.js │ │ ├── rules-preprocessor/ │ │ │ ├── ember_ts/ │ │ │ │ ├── bar.gts │ │ │ │ ├── baz.ts │ │ │ │ └── foo.gts │ │ │ ├── gjs-gts-parser-test.js │ │ │ ├── my-component.gts │ │ │ ├── template-no-deprecated/ │ │ │ │ ├── component-stub.ts │ │ │ │ ├── component-with-args.ts │ │ │ │ ├── current-component.ts │ │ │ │ ├── deprecated-component.ts │ │ │ │ ├── deprecated-helper.ts │ │ │ │ └── usage.gts │ │ │ └── tsconfig.eslint.json │ │ └── utils/ │ │ ├── computed-properties-test.js │ │ ├── computed-property-dependent-keys-test.js │ │ ├── computed-property-macros-test.js │ │ ├── decorators-test.js │ │ ├── editorconfig-test.js │ │ ├── ember-source-version-test.js │ │ ├── ember-test.js │ │ ├── html-interactive-content-test.js │ │ ├── import-test.js │ │ ├── interactive-roles-test.js │ │ ├── is-native-element-test.js │ │ ├── javascript-test.js │ │ ├── landmark-roles-test.js │ │ ├── new-module-test.js │ │ ├── property-getter-test.js │ │ ├── property-order-test.js │ │ ├── property-setter-test.js │ │ ├── scope-references-this-test.js │ │ ├── static-attr-value-test.js │ │ ├── types-test.js │ │ ├── utils/ │ │ │ └── get-source-module-name-for-identifier-test.js │ │ └── utils-test.js │ ├── lint.bench.mjs │ ├── plugin-exports.js │ ├── recommended.js │ └── rule-setup.js └── vitest.config.mjs