// Includes @antfu/eslint-config 9.5.1 declarations (MIT); see ANTFU-LICENSE. import { IcebreakerStylelintOptions } from "@icebreakers/stylelint-config"; import { ConfigWithExtends, FlatConfigComposer, FlatConfigComposer as FlatConfigComposer$1 } from "eslint-flat-config-utils"; import { Linter } from "eslint"; import { StylisticCustomizeOptions } from "@stylistic/eslint-plugin"; import { ParserOptions } from "@typescript-eslint/parser"; import { FlatGitignoreOptions } from "eslint-config-flat-gitignore"; import { Options } from "eslint-processor-vue-blocks"; //#region ../../node_modules/.pnpm/@antfu+eslint-config@9.5.1_088213cfee75c1da888b4076891063b0/node_modules/@antfu/eslint-config/dist/index.d.mts //#region src/typegen.d.ts interface RuleOptions { /** * Enforce getter and setter pairs in objects and classes * @see https://eslint.org/docs/latest/rules/accessor-pairs */ 'accessor-pairs'?: Linter.RuleEntry; /** * [Accessibility] Enforces alternate text for elements which require the alt, aria-label, aria-labelledby attributes. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/alt-text.md */ 'angular-template/alt-text'?: Linter.RuleEntry<[]>; /** * Ensures that HTML attributes and Angular bindings are sorted based on an expected order * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/attributes-order.md */ 'angular-template/attributes-order'?: Linter.RuleEntry; /** * Ensures that the two-way data binding syntax is correct * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/banana-in-box.md */ 'angular-template/banana-in-box'?: Linter.RuleEntry<[]>; /** * Ensures that a button has a valid type specified * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/button-has-type.md */ 'angular-template/button-has-type'?: Linter.RuleEntry; /** * [Accessibility] Ensures that the click event is accompanied with at least one key event keyup, keydown or keypress. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/click-events-have-key-events.md */ 'angular-template/click-events-have-key-events'?: Linter.RuleEntry; /** * The conditional complexity should not exceed a rational limit * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/conditional-complexity.md */ 'angular-template/conditional-complexity'?: Linter.RuleEntry; /** * Checks cyclomatic complexity against a specified limit. It is a quantitative measure of the number of linearly independent paths through a program's source code * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/cyclomatic-complexity.md */ 'angular-template/cyclomatic-complexity'?: Linter.RuleEntry; /** * [Accessibility] Ensures that the heading, anchor and button elements have content in them * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/elements-content.md */ 'angular-template/elements-content'?: Linter.RuleEntry; /** * Requires `===` and `!==` in place of `==` and `!=` * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/eqeqeq.md */ 'angular-template/eqeqeq'?: Linter.RuleEntry; /** * Ensures following best practices for i18n. Checks for missing i18n attributes on elements and attributes containing texts. Can also check for texts without i18n attribute, elements that do not use custom ID (@@) feature and duplicate custom IDs * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/i18n.md */ 'angular-template/i18n'?: Linter.RuleEntry; /** * [Accessibility] Ensures that elements with interactive handlers like `(click)` are focusable. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/interactive-supports-focus.md */ 'angular-template/interactive-supports-focus'?: Linter.RuleEntry; /** * [Accessibility] Ensures that a label element/component is associated with a form element * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/label-has-associated-control.md */ 'angular-template/label-has-associated-control'?: Linter.RuleEntry; /** * [Accessibility] Ensures that the mouse events `mouseout` and `mouseover` are accompanied by `focus` and `blur` events respectively. Coding for the keyboard is important for users with physical disabilities who cannot use a mouse, AT compatibility, and screenreader users. See more at https://www.w3.org/WAI/WCAG21/Understanding/keyboard * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/mouse-events-have-key-events.md */ 'angular-template/mouse-events-have-key-events'?: Linter.RuleEntry<[]>; /** * The use of "$any" nullifies the compile-time benefits of Angular's type system * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-any.md */ 'angular-template/no-any'?: Linter.RuleEntry<[]>; /** * [Accessibility] Ensures that the `autofocus` attribute is not used * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-autofocus.md */ 'angular-template/no-autofocus'?: Linter.RuleEntry<[]>; /** * Disallows calling expressions in templates, except for output handlers * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-call-expression.md */ 'angular-template/no-call-expression'?: Linter.RuleEntry; /** * [Accessibility] Enforces that no distracting elements are used * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-distracting-elements.md */ 'angular-template/no-distracting-elements'?: Linter.RuleEntry<[]>; /** * Ensures that there are no duplicate input properties or output event listeners * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-duplicate-attributes.md */ 'angular-template/no-duplicate-attributes'?: Linter.RuleEntry; /** * Ensures that control flow blocks are not empty. Empty control flow blocks usually occur due to refactoring that wasn't completed. They can cause confusion when reading code. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-empty-control-flow.md */ 'angular-template/no-empty-control-flow'?: Linter.RuleEntry<[]>; /** * Disallows the use of inline styles in HTML templates * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-inline-styles.md */ 'angular-template/no-inline-styles'?: Linter.RuleEntry; /** * Ensures that property-binding is used instead of interpolation in attributes. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-interpolation-in-attributes.md */ 'angular-template/no-interpolation-in-attributes'?: Linter.RuleEntry; /** * Ensures that async pipe results, as well as values used with the async pipe, are not negated * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-negated-async.md */ 'angular-template/no-negated-async'?: Linter.RuleEntry<[]>; /** * Denies nesting of `

` and `` tags. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-nested-tags.md */ 'angular-template/no-nested-tags'?: Linter.RuleEntry<[]>; /** * Disallows the non-null assertion operator (!) in templates * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-non-null-assertion.md */ 'angular-template/no-non-null-assertion'?: Linter.RuleEntry<[]>; /** * Disallows using `outerHTML` on elements, which breaks change detection and detaches the element from the Angular view * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-outerhtml.md */ 'angular-template/no-outerhtml'?: Linter.RuleEntry<[]>; /** * Ensures that the `tabindex` attribute is not positive * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-positive-tabindex.md */ 'angular-template/no-positive-tabindex'?: Linter.RuleEntry<[]>; /** * Prefer using `@else` instead of a second `@if` with the opposite condition to reduce code and make it easier to read. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/prefer-at-else.md */ 'angular-template/prefer-at-else'?: Linter.RuleEntry<[]>; /** * Prefer using `@empty` with `@for` loops instead of a separate `@if` or `@else` block to reduce code and make it easier to read. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/prefer-at-empty.md */ 'angular-template/prefer-at-empty'?: Linter.RuleEntry<[]>; /** * Encourages the use of Angular built-in pipes (e.g. lowercase, uppercase, titlecase) instead of certain JavaScript methods in Angular templates. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/prefer-built-in-pipes.md */ 'angular-template/prefer-built-in-pipes'?: Linter.RuleEntry; /** * Suggests using [class] bindings over ngClass where applicable * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/prefer-class-binding.md */ 'angular-template/prefer-class-binding'?: Linter.RuleEntry<[]>; /** * Ensures that contextual variables are used in @for blocks where possible instead of aliasing them. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/prefer-contextual-for-variables.md */ 'angular-template/prefer-contextual-for-variables'?: Linter.RuleEntry; /** * Ensures that the built-in control flow is used. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/prefer-control-flow.md */ 'angular-template/prefer-control-flow'?: Linter.RuleEntry<[]>; /** * Ensures ngSrc is used instead of src for img elements * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/prefer-ngsrc.md */ 'angular-template/prefer-ngsrc'?: Linter.RuleEntry<[]>; /** * Ensures that self-closing tags are used for elements with a closing tag but no content. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/prefer-self-closing-tags.md */ 'angular-template/prefer-self-closing-tags'?: Linter.RuleEntry<[]>; /** * Ensures that static string values use property assignment instead of property binding. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/prefer-static-string-properties.md */ 'angular-template/prefer-static-string-properties'?: Linter.RuleEntry; /** * Ensure that template literals are used instead of concatenating strings or expressions. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/prefer-template-literal.md */ 'angular-template/prefer-template-literal'?: Linter.RuleEntry<[]>; /** * Requires a `@default` block on every `@switch` to ensure all cases are handled. This is the template equivalent of the `@typescript-eslint/switch-exhaustiveness-check` rule. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/require-switch-default.md */ 'angular-template/require-switch-default'?: Linter.RuleEntry<[]>; /** * [Accessibility] Ensures elements with ARIA roles have all required properties for that role. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/role-has-required-aria.md */ 'angular-template/role-has-required-aria'?: Linter.RuleEntry<[]>; /** * [Accessibility] Ensures that the `scope` attribute is only used on the `` element * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/table-scope.md */ 'angular-template/table-scope'?: Linter.RuleEntry<[]>; /** * Ensures trackBy function is used * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/use-track-by-function.md */ 'angular-template/use-track-by-function'?: Linter.RuleEntry; /** * [Accessibility] Ensures that correct ARIA attributes and respective values are used * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/valid-aria.md */ 'angular-template/valid-aria'?: Linter.RuleEntry<[]>; /** * Classes decorated with @Component must have suffix "Component" (or custom) in their name. Note: As of v20, this is no longer recommended by the Angular Team. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-class-suffix.md */ 'angular/component-class-suffix'?: Linter.RuleEntry; /** * Enforces a maximum number of lines in inline template, styles and animations. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-max-inline-declarations.md */ 'angular/component-max-inline-declarations'?: Linter.RuleEntry; /** * Component selectors should follow given naming rules. See more at https://angular.dev/style-guide#choosing-component-selectors. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-selector.md */ 'angular/component-selector'?: Linter.RuleEntry; /** * Ensures that computed() returns a value. Omitting the value is likely a mistake. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/computed-must-return.md */ 'angular/computed-must-return'?: Linter.RuleEntry<[]>; /** * Ensures consistent usage of `styles`/`styleUrls`/`styleUrl` within Component metadata * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-component-styles.md */ 'angular/consistent-component-styles'?: Linter.RuleEntry; /** * Ensures that classes use contextual decorators in their body * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/contextual-decorator.md */ 'angular/contextual-decorator'?: Linter.RuleEntry<[]>; /** * Ensures that lifecycle methods are used in a correct context * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/contextual-lifecycle.md */ 'angular/contextual-lifecycle'?: Linter.RuleEntry<[]>; /** * Classes decorated with @Directive must have suffix "Directive" (or custom) in their name. Note: As of v20, this is no longer recommended by the Angular Team. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/directive-class-suffix.md */ 'angular/directive-class-suffix'?: Linter.RuleEntry; /** * Directive selectors should follow given naming rules. See more at https://angular.dev/style-guide#choosing-directive-selectors. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/directive-selector.md */ 'angular/directive-selector'?: Linter.RuleEntry; /** * Requires inject() calls to be declared at the top of the class, before any other member * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/inject-at-top.md */ 'angular/inject-at-top'?: Linter.RuleEntry<[]>; /** * Angular Lifecycle methods should not be async. Angular does not wait for async lifecycle but the code incorrectly suggests it does. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-async-lifecycle-method.md */ 'angular/no-async-lifecycle-method'?: Linter.RuleEntry<[]>; /** * The @Attribute decorator is used to obtain a single value for an attribute. This is a much less common use case than getting a stream of values (using @Input), so the @Attribute decorator is often mistakenly used when @Input is intended. This rule disallows the usage of @Attribute decorator entirely to prevent these mistakes. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-attribute-decorator.md */ 'angular/no-attribute-decorator'?: Linter.RuleEntry<[]>; /** * Disallow using code which is marked as developer preview * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-developer-preview.md */ 'angular/no-developer-preview'?: Linter.RuleEntry<[]>; /** * Ensures that metadata arrays do not contain duplicate entries. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-duplicates-in-metadata-arrays.md */ 'angular/no-duplicates-in-metadata-arrays'?: Linter.RuleEntry<[]>; /** * Disallows declaring empty lifecycle methods * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-empty-lifecycle-method.md */ 'angular/no-empty-lifecycle-method'?: Linter.RuleEntry<[]>; /** * Disallow using code which is marked as experimental * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-experimental.md */ 'angular/no-experimental'?: Linter.RuleEntry<[]>; /** * Disallows usage of `forwardRef` references for DI * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-forward-ref.md */ 'angular/no-forward-ref'?: Linter.RuleEntry<[]>; /** * Ensures that `takeUntilDestroyed()` is called with an explicit `DestroyRef` when used outside of an injection context * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-implicit-take-until-destroyed.md */ 'angular/no-implicit-take-until-destroyed'?: Linter.RuleEntry<[]>; /** * Ensures that input bindings, including aliases, are not named or prefixed by the configured disallowed prefixes * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-input-prefix.md */ 'angular/no-input-prefix'?: Linter.RuleEntry; /** * Ensures that input bindings are not aliased * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-input-rename.md */ 'angular/no-input-rename'?: Linter.RuleEntry; /** * Disallows usage of the `inputs` metadata property * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-inputs-metadata-property.md */ 'angular/no-inputs-metadata-property'?: Linter.RuleEntry<[]>; /** * Disallows explicit calls to lifecycle methods * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-lifecycle-call.md */ 'angular/no-lifecycle-call'?: Linter.RuleEntry<[]>; /** * Ensures that output bindings, including aliases, are not named as standard DOM events * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-native.md */ 'angular/no-output-native'?: Linter.RuleEntry<[]>; /** * Ensures that output bindings, including aliases, are not named "on", nor prefixed with it. See more at https://angular.dev/guide/components/outputs#choosing-event-names * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-on-prefix.md */ 'angular/no-output-on-prefix'?: Linter.RuleEntry<[]>; /** * Ensures that output bindings are not aliased * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-rename.md */ 'angular/no-output-rename'?: Linter.RuleEntry<[]>; /** * Disallows usage of the `outputs` metadata property * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-outputs-metadata-property.md */ 'angular/no-outputs-metadata-property'?: Linter.RuleEntry<[]>; /** * Disallows the declaration of impure pipes * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-pipe-impure.md */ 'angular/no-pipe-impure'?: Linter.RuleEntry<[]>; /** * Disallows usage of the `queries` metadata property. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-queries-metadata-property.md */ 'angular/no-queries-metadata-property'?: Linter.RuleEntry<[]>; /** * Warns user about unintentionally doing logic on the signal, rather than the signal's value * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-uncalled-signals.md */ 'angular/no-uncalled-signals'?: Linter.RuleEntry<[]>; /** * Enforce consistent prefix for pipes. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/pipe-prefix.md */ 'angular/pipe-prefix'?: Linter.RuleEntry; /** * Use `host` metadata property instead of `@HostBinding` and `HostListener` * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-host-metadata-property.md */ 'angular/prefer-host-metadata-property'?: Linter.RuleEntry<[]>; /** * Prefer using the inject() function over constructor parameter injection * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-inject.md */ 'angular/prefer-inject'?: Linter.RuleEntry<[]>; /** * Ensures components do not opt out of the default `ChangeDetectionStrategy.OnPush` change detection strategy * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-on-push-component-change-detection.md */ 'angular/prefer-on-push-component-change-detection'?: Linter.RuleEntry; /** * Use `OutputEmitterRef` instead of `@Output()` * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-output-emitter-ref.md */ 'angular/prefer-output-emitter-ref'?: Linter.RuleEntry<[]>; /** * Prefer to declare `@Output`, `OutputEmitterRef` and `OutputRef` as `readonly` since they are not supposed to be reassigned * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-output-readonly.md */ 'angular/prefer-output-readonly'?: Linter.RuleEntry<[]>; /** * Prefer the `@Service()` decorator over `@Injectable({ providedIn: 'root' })` * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-service-decorator.md */ 'angular/prefer-service-decorator'?: Linter.RuleEntry<[]>; /** * Use `model` instead of `input` and `output` for two-way bindings * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-signal-model.md */ 'angular/prefer-signal-model'?: Linter.RuleEntry<[]>; /** * Use readonly signals instead of `@Input()`, `@ViewChild()` and other legacy decorators * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-signals.md */ 'angular/prefer-signals'?: Linter.RuleEntry; /** * Ensures Components, Directives and Pipes do not opt out of standalone. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-standalone.md */ 'angular/prefer-standalone'?: Linter.RuleEntry<[]>; /** * The ./ and ../ prefix is standard syntax for relative URLs; don't depend on Angular's current ability to do without that prefix. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/relative-url-prefix.md */ 'angular/relative-url-prefix'?: Linter.RuleEntry<[]>; /** * Ensures that lifecycle methods are defined on the object's prototype instead of on an instance. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/require-lifecycle-on-prototype.md */ 'angular/require-lifecycle-on-prototype'?: Linter.RuleEntry<[]>; /** * Ensures that $localize tagged messages contain helpful metadata to aid with translations. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/require-localize-metadata.md */ 'angular/require-localize-metadata'?: Linter.RuleEntry; /** * Ensures that $localize tagged messages can use runtime-loaded translations. * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/runtime-localize.md */ 'angular/runtime-localize'?: Linter.RuleEntry<[]>; /** * Ensures that keys in type decorators (Component, Directive, NgModule, Pipe) are sorted in a consistent order * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/sort-keys-in-type-decorator.md */ 'angular/sort-keys-in-type-decorator'?: Linter.RuleEntry; /** * Ensures that lifecycle methods are declared in order of execution * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/sort-lifecycle-methods.md */ 'angular/sort-lifecycle-methods'?: Linter.RuleEntry<[]>; /** * Component selector must be declared * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-component-selector.md */ 'angular/use-component-selector'?: Linter.RuleEntry<[]>; /** * Disallows using `ViewEncapsulation.None` * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-component-view-encapsulation.md */ 'angular/use-component-view-encapsulation'?: Linter.RuleEntry<[]>; /** * Using the `providedIn` property makes `Injectables` tree-shakable * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-injectable-provided-in.md */ 'angular/use-injectable-provided-in'?: Linter.RuleEntry; /** * Ensures that classes implement lifecycle interfaces corresponding to the declared lifecycle methods. See more at https://angular.dev/style-guide#use-lifecycle-hook-interfaces * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-lifecycle-interface.md */ 'angular/use-lifecycle-interface'?: Linter.RuleEntry<[]>; /** * Ensures that `Pipes` implement `PipeTransform` interface * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-pipe-transform-interface.md */ 'angular/use-pipe-transform-interface'?: Linter.RuleEntry<[]>; /** * Enforce consistent line breaks for chaining member access * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-chaining.md */ 'antfu/consistent-chaining'?: Linter.RuleEntry; /** * Enforce consistent line breaks inside braces and parentheses * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-list-newline.md */ 'antfu/consistent-list-newline'?: Linter.RuleEntry; /** * Enforce Anthony's style of curly bracket * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/curly.md */ 'antfu/curly'?: Linter.RuleEntry<[]>; /** * Newline after if * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/if-newline.md */ 'antfu/if-newline'?: Linter.RuleEntry<[]>; /** * Fix duplication in imports * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/import-dedupe.md */ 'antfu/import-dedupe'?: Linter.RuleEntry<[]>; /** * Enforce consistent indentation in `unindent` template tag * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/indent-unindent.md */ 'antfu/indent-unindent'?: Linter.RuleEntry; /** * Prevent importing modules in `dist` folder * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-import-dist.md */ 'antfu/no-import-dist'?: Linter.RuleEntry<[]>; /** * Prevent importing modules in `node_modules` folder by relative or absolute path * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-import-node-modules-by-path.md */ 'antfu/no-import-node-modules-by-path'?: Linter.RuleEntry<[]>; /** * Prevent using top-level await * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-top-level-await.md */ 'antfu/no-top-level-await'?: Linter.RuleEntry<[]>; /** * Do not use `exports =` * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-ts-export-equal.md */ 'antfu/no-ts-export-equal'?: Linter.RuleEntry<[]>; /** * Enforce top-level functions to be declared with function keyword * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/top-level-function.md */ 'antfu/top-level-function'?: Linter.RuleEntry<[]>; /** * Enforce linebreaks after opening and before closing array brackets * @see https://eslint.org/docs/latest/rules/array-bracket-newline * @deprecated */ 'array-bracket-newline'?: Linter.RuleEntry; /** * Enforce consistent spacing inside array brackets * @see https://eslint.org/docs/latest/rules/array-bracket-spacing * @deprecated */ 'array-bracket-spacing'?: Linter.RuleEntry; /** * Enforce `return` statements in callbacks of array methods * @see https://eslint.org/docs/latest/rules/array-callback-return */ 'array-callback-return'?: Linter.RuleEntry; /** * Enforce line breaks after each array element * @see https://eslint.org/docs/latest/rules/array-element-newline * @deprecated */ 'array-element-newline'?: Linter.RuleEntry; /** * Require braces around arrow function bodies * @see https://eslint.org/docs/latest/rules/arrow-body-style */ 'arrow-body-style'?: Linter.RuleEntry; /** * Require parentheses around arrow function arguments * @see https://eslint.org/docs/latest/rules/arrow-parens * @deprecated */ 'arrow-parens'?: Linter.RuleEntry; /** * Enforce consistent spacing before and after the arrow in arrow functions * @see https://eslint.org/docs/latest/rules/arrow-spacing * @deprecated */ 'arrow-spacing'?: Linter.RuleEntry; /** * apply `jsx-a11y/alt-text` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/alt-text/ */ 'astro/jsx-a11y/alt-text'?: Linter.RuleEntry; /** * apply `jsx-a11y/anchor-ambiguous-text` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-ambiguous-text/ */ 'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry; /** * apply `jsx-a11y/anchor-has-content` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-has-content/ */ 'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry; /** * apply `jsx-a11y/anchor-is-valid` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-is-valid/ */ 'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry; /** * apply `jsx-a11y/aria-activedescendant-has-tabindex` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-activedescendant-has-tabindex/ */ 'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry; /** * apply `jsx-a11y/aria-props` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-props/ */ 'astro/jsx-a11y/aria-props'?: Linter.RuleEntry; /** * apply `jsx-a11y/aria-proptypes` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-proptypes/ */ 'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry; /** * apply `jsx-a11y/aria-role` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-role/ */ 'astro/jsx-a11y/aria-role'?: Linter.RuleEntry; /** * apply `jsx-a11y/aria-unsupported-elements` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-unsupported-elements/ */ 'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry; /** * apply `jsx-a11y/autocomplete-valid` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/autocomplete-valid/ */ 'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry; /** * apply `jsx-a11y/click-events-have-key-events` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/click-events-have-key-events/ */ 'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry; /** * apply `jsx-a11y/control-has-associated-label` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/control-has-associated-label/ */ 'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry; /** * apply `jsx-a11y/heading-has-content` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/heading-has-content/ */ 'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry; /** * apply `jsx-a11y/html-has-lang` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/html-has-lang/ */ 'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry; /** * apply `jsx-a11y/iframe-has-title` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/iframe-has-title/ */ 'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry; /** * apply `jsx-a11y/img-redundant-alt` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/img-redundant-alt/ */ 'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry; /** * apply `jsx-a11y/interactive-supports-focus` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/interactive-supports-focus/ */ 'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry; /** * apply `jsx-a11y/label-has-associated-control` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/label-has-associated-control/ */ 'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry; /** * apply `jsx-a11y/lang` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/lang/ */ 'astro/jsx-a11y/lang'?: Linter.RuleEntry; /** * apply `jsx-a11y/media-has-caption` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/media-has-caption/ */ 'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry; /** * apply `jsx-a11y/mouse-events-have-key-events` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/mouse-events-have-key-events/ */ 'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry; /** * apply `jsx-a11y/no-access-key` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-access-key/ */ 'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry; /** * apply `jsx-a11y/no-aria-hidden-on-focusable` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-aria-hidden-on-focusable/ */ 'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry; /** * apply `jsx-a11y/no-autofocus` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-autofocus/ */ 'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry; /** * apply `jsx-a11y/no-distracting-elements` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-distracting-elements/ */ 'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry; /** * apply `jsx-a11y/no-interactive-element-to-noninteractive-role` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-interactive-element-to-noninteractive-role/ */ 'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry; /** * apply `jsx-a11y/no-noninteractive-element-interactions` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-interactions/ */ 'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry; /** * apply `jsx-a11y/no-noninteractive-element-to-interactive-role` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-to-interactive-role/ */ 'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry; /** * apply `jsx-a11y/no-noninteractive-tabindex` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-tabindex/ */ 'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry; /** * apply `jsx-a11y/no-redundant-roles` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-redundant-roles/ */ 'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry; /** * apply `jsx-a11y/no-static-element-interactions` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-static-element-interactions/ */ 'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry; /** * apply `jsx-a11y/prefer-tag-over-role` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/prefer-tag-over-role/ */ 'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry; /** * apply `jsx-a11y/role-has-required-aria-props` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-has-required-aria-props/ */ 'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry; /** * apply `jsx-a11y/role-supports-aria-props` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-supports-aria-props/ */ 'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry; /** * apply `jsx-a11y/scope` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/scope/ */ 'astro/jsx-a11y/scope'?: Linter.RuleEntry; /** * apply `jsx-a11y/tabindex-no-positive` rule to Astro components * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/tabindex-no-positive/ */ 'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry; /** * the client:only directive is missing the correct component's framework value * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/missing-client-only-directive-value/ */ 'astro/missing-client-only-directive-value'?: Linter.RuleEntry<[]>; /** * disallow conflicting set directives and child contents * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-conflict-set-directives/ */ 'astro/no-conflict-set-directives'?: Linter.RuleEntry<[]>; /** * disallow using deprecated `Astro.canonicalURL` * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-astro-canonicalurl/ */ 'astro/no-deprecated-astro-canonicalurl'?: Linter.RuleEntry<[]>; /** * disallow using deprecated `Astro.fetchContent()` * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-astro-fetchcontent/ */ 'astro/no-deprecated-astro-fetchcontent'?: Linter.RuleEntry<[]>; /** * disallow using deprecated `Astro.resolve()` * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-astro-resolve/ */ 'astro/no-deprecated-astro-resolve'?: Linter.RuleEntry<[]>; /** * disallow using deprecated `getEntryBySlug()` * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-getentrybyslug/ */ 'astro/no-deprecated-getentrybyslug'?: Linter.RuleEntry<[]>; /** * disallow value export * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-exports-from-components/ */ 'astro/no-exports-from-components'?: Linter.RuleEntry<[]>; /** * disallow omitted end tags * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-omitted-end-tags/ * @deprecated */ 'astro/no-omitted-end-tags'?: Linter.RuleEntry<[]>; /** * disallow `prerender` export outside of pages/ directory * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-prerender-export-outside-pages/ */ 'astro/no-prerender-export-outside-pages'?: Linter.RuleEntry<[]>; /** * disallow use of `set:html` to prevent XSS attack * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-html-directive/ */ 'astro/no-set-html-directive'?: Linter.RuleEntry<[]>; /** * disallow use of `set:text` * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-text-directive/ */ 'astro/no-set-text-directive'?: Linter.RuleEntry<[]>; /** * disallow inline `