Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

eslint-define-config

Package Overview
Dependencies
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-define-config - npm Package Compare versions

Comparing version 1.0.9 to 1.1.0

src/extends/eslint-plugin-unicorn.d.ts

34

package.json
{
"name": "eslint-define-config",
"version": "1.0.9",
"version": "1.1.0",
"description": "Provide a defineConfig function for .eslintrc.js files",
"main": "src/index.js",
"scripts": {
"clean": "rm -Rf dist yarn.lock node_modules",
"clean": "rm -Rf dist pnpm-lock.yaml node_modules",
"check": "tsc",

@@ -12,3 +12,4 @@ "format": "prettier --write .",

"test": "echo \"No tests available\"",
"prepublishOnly": "yarn clean && yarn install --cache-folder .yarn && yarn check",
"prepublishOnly": "pnpm run clean && pnpm install && pnpm run check",
"generate:rules": "esno ./scripts/generate-rule-files.ts",
"generate": "node ./scripts/generate-rule.js"

@@ -42,17 +43,24 @@ },

"devDependencies": {
"@types/node": "~16.0.0",
"@typescript-eslint/eslint-plugin": "~4.28.1",
"@typescript-eslint/parser": "~4.28.1",
"eslint": "~7.30.0",
"@types/eslint": "~7.28.0",
"@types/node": "~16.10.2",
"@types/prettier": "~2.4.1",
"@typescript-eslint/eslint-plugin": "~4.32.0",
"@typescript-eslint/parser": "~4.32.0",
"change-case": "~4.1.2",
"eslint": "~7.32.0",
"eslint-config-prettier": "~8.3.0",
"eslint-define-config": "~1.0.8",
"eslint-plugin-inclusive-language": "~2.1.1",
"eslint-plugin-jsdoc": "~35.4.1",
"eslint-plugin-prettier": "~3.4.0",
"eslint-plugin-jsdoc": "~36.1.0",
"eslint-plugin-prettier": "~4.0.0",
"eslint-plugin-spellcheck": "~0.0.19",
"eslint-plugin-unicorn": "~36.0.0",
"eslint-plugin-vue": "~7.18.0",
"esno": "~0.10.0",
"json-schema-to-typescript": "~10.1.5",
"np": "~7.5.0",
"prettier": "2.3.2",
"prettier-plugin-organize-imports": "~2.2.0",
"typescript": "~4.3.5"
"prettier": "2.4.1",
"prettier-plugin-organize-imports": "~2.3.4",
"typescript": "~4.4.3",
"upper-case-first": "~2.0.2"
}
}

@@ -26,3 +26,4 @@ <p>

> This project is written by a human and not automatically generated!
> This project is written by a human and only partially automatically generated!
> Some rules are even enhanced by hand!
> Unfortunately, this has the disadvantage that not everything is immediately defined. For example, if a rule is not defined, it falls back to a basic definition.

@@ -37,5 +38,7 @@ > However, the advantage is that you get documentation for pretty much everything in the code and usually get a direct link to the respective plugin or eslint rule. The types are also strictly typed.

# add eslint and eslint-define-config to project’s dev dependencies
npm install --save-dev eslint eslint-define-config
npm add --save-dev eslint eslint-define-config
# or
yarn add --dev eslint eslint-define-config
# or
pnpm add --save-dev eslint eslint-define-config
```

@@ -42,0 +45,0 @@

@@ -71,3 +71,2 @@ /**

qunit?: boolean;
// eslint-disable-next-line jsdoc/match-description
/**

@@ -74,0 +73,0 @@ * jQuery global variables.

@@ -7,2 +7,3 @@ import type { LiteralUnion } from '../utility-types';

import type { PrettierExtensions } from './eslint-plugin-prettier';
import type { UnicornExtensions } from './eslint-plugin-unicorn';
import type { VueExtensions } from './eslint-plugin-vue';

@@ -16,7 +17,8 @@ import type { TypescriptEslintExtensions } from './typescript-eslint';

| EslintExtensions
| TypescriptEslintExtensions
| PrettierExtensions
| NodeExtensions
| ImportExtensions
| JsdocExtensions
| NodeExtensions
| PrettierExtensions
| TypescriptEslintExtensions
| UnicornExtensions
| VueExtensions

@@ -23,0 +25,0 @@ >;

@@ -5,3 +5,3 @@ import type { LiteralUnion } from './utility-types';

export type Plugin = LiteralUnion<
'@typescript-eslint' | 'prettier' | 'import' | 'jsdoc' | 'spellcheck' | 'inclusive-language'
'@typescript-eslint' | 'import' | 'inclusive-language' | 'jsdoc' | 'prettier' | 'spellcheck' | 'unicorn' | 'vue'
>;
import type { RuleConfig } from '../rule-config';
/**
* Values for comma dangle.
* Option.
*/
export type CommaDangleOptionValue = 'never' | 'always' | 'always-multiline' | 'only-multiline' | 'ignore';
export type CommaDangleOption =
| []
| [
| Value
| {
arrays?: ValueWithIgnore;
objects?: ValueWithIgnore;
imports?: ValueWithIgnore;
exports?: ValueWithIgnore;
functions?: ValueWithIgnore;
}
];
export type Value = 'always-multiline' | 'always' | 'never' | 'only-multiline';
export type ValueWithIgnore = 'always-multiline' | 'always' | 'ignore' | 'never' | 'only-multiline';

@@ -11,11 +24,3 @@ /**

*/
export type CommaDangleOption =
| CommaDangleOptionValue
| {
arrays?: CommaDangleOptionValue;
objects?: CommaDangleOptionValue;
imports?: CommaDangleOptionValue;
exports?: CommaDangleOptionValue;
functions?: CommaDangleOptionValue;
};
export type CommaDangleOptions = CommaDangleOption;

@@ -27,3 +32,3 @@ /**

*/
export type CommaDangleRuleConfig = RuleConfig<[CommaDangleOption?]>;
export type CommaDangleRuleConfig = RuleConfig<CommaDangleOptions>;

@@ -30,0 +35,0 @@ /**

@@ -6,3 +6,8 @@ import type { RuleConfig } from '../rule-config';

*/
export type CurlyOption = 'all' | 'multi' | 'multi-line' | 'multi-or-nest' | 'ignore';
export type CurlyOption =
| []
| ['all']
| []
| ['multi' | 'multi-line' | 'multi-or-nest']
| ['multi' | 'multi-line' | 'multi-or-nest', 'consistent'];

@@ -12,6 +17,6 @@ /**

*/
export type CurlyOptions = [CurlyOption?] | [('multi' | 'multi-line' | 'multi-or-nest')?, 'consistent'?];
export type CurlyOptions = CurlyOption;
/**
* Require Following Curly Brace Conventions.
* Enforce consistent brace style for all control statements.
*

@@ -23,3 +28,3 @@ * @see [curly](https://eslint.org/docs/rules/curly)

/**
* Require Following Curly Brace Conventions.
* Enforce consistent brace style for all control statements.
*

@@ -30,3 +35,3 @@ * @see [curly](https://eslint.org/docs/rules/curly)

/**
* Require Following Curly Brace Conventions.
* Enforce consistent brace style for all control statements.
*

@@ -33,0 +38,0 @@ * @see [curly](https://eslint.org/docs/rules/curly)

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type DotNotationOption = {
export interface DotNotationOption {
/**

@@ -23,4 +23,4 @@ * Set to `false` to follow ECMAScript version 3 compatible style, avoiding dot notation for reserved word properties.

*/
allowPattern?: boolean;
};
allowPattern?: string;
}

@@ -33,3 +33,3 @@ /**

/**
* Require Dot Notation.
* Enforce dot notation whenever possible.
*

@@ -41,3 +41,3 @@ * @see [dot-notation](https://eslint.org/docs/rules/dot-notation)

/**
* Require Dot Notation.
* Enforce dot notation whenever possible.
*

@@ -48,3 +48,3 @@ * @see [dot-notation](https://eslint.org/docs/rules/dot-notation)

/**
* Require Dot Notation.
* Enforce dot notation whenever possible.
*

@@ -51,0 +51,0 @@ * @see [dot-notation](https://eslint.org/docs/rules/dot-notation)

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type GroupedAccessorPairsOption = 'getBeforeSet' | 'setBeforeGet';
export type GroupedAccessorPairsOption = 'anyOrder' | 'getBeforeSet' | 'setBeforeGet';

@@ -9,0 +9,0 @@ /**

import type { RuleConfig } from '../rule-config';
/**
* Option.
*/
export type IdDenylistOption = string[];
/**
* Options.
*/
export type IdDenylistOptions = IdDenylistOption;
/**
* Disallow specified identifiers.

@@ -8,3 +18,3 @@ *

*/
export type IdDenylistRuleConfig = RuleConfig<string[]>;
export type IdDenylistRuleConfig = RuleConfig<IdDenylistOptions>;

@@ -23,6 +33,2 @@ /**

'id-denylist': IdDenylistRuleConfig;
/**
* @deprecated Use `id-denylist` instead.
*/
'id-blacklist'?: IdDenylistRuleConfig;
}
import type { RuleConfig } from '../rule-config';
/**
* Indent Config.
* Config.
*/
export interface IndentConfig {
/**
* @see [ignoredNodes](https://eslint.org/docs/rules/indent#ignorednodes)
*/
ignoredNodes?: string[];
/**
* @see [SwitchCase](https://eslint.org/docs/rules/indent#switchcase)
*/
SwitchCase?: number;
/**
* @see [VariableDeclarator](https://eslint.org/docs/rules/indent#variabledeclarator)
*/
VariableDeclarator?: number | 'first' | { var?: number; let?: number; const?: number };
/**
* @see [outerIIFEBody](https://eslint.org/docs/rules/indent#outeriifebody)
*/
VariableDeclarator?:
| (number | ('first' | 'off'))
| {
var?: number | ('first' | 'off');
let?: number | ('first' | 'off');
const?: number | ('first' | 'off');
};
outerIIFEBody?: number | 'off';
/**
* @see [MemberExpression](https://eslint.org/docs/rules/indent#memberexpression)
*/
MemberExpression?: number;
/**
* @see [FunctionDeclaration](https://eslint.org/docs/rules/indent#functiondeclaration)
*/
FunctionDeclaration?: { body?: number; parameters?: number | 'first' };
/**
* @see [CallExpression](https://eslint.org/docs/rules/indent#callexpression)
*/
CallExpression?: { arguments?: number | 'first' };
/**
* @see [ArrayExpression](https://eslint.org/docs/rules/indent#arrayexpression)
*/
ArrayExpression?: number | 'first';
/**
* @see [ObjectExpression](https://eslint.org/docs/rules/indent#objectexpression)
*/
ObjectExpression?: number | 'first';
/**
* @see [ImportDeclaration](https://eslint.org/docs/rules/indent#importdeclaration)
*/
ImportDeclaration?: number | 'first';
/**
* @see [flatTernaryExpressions](https://eslint.org/docs/rules/indent#flatternaryexpressions)
*/
MemberExpression?: number | 'off';
FunctionDeclaration?: {
parameters?: number | ('first' | 'off');
body?: number;
};
FunctionExpression?: {
parameters?: number | ('first' | 'off');
body?: number;
};
CallExpression?: {
arguments?: number | ('first' | 'off');
};
ArrayExpression?: number | ('first' | 'off');
ObjectExpression?: number | ('first' | 'off');
ImportDeclaration?: number | ('first' | 'off');
flatTernaryExpressions?: boolean;
/**
* @see [offsetTernaryExpressions](https://eslint.org/docs/rules/indent#offsetternaryexpressions)
*/
offsetTernaryExpressions?: boolean;
/**
* @see [ignoreComments](https://eslint.org/docs/rules/indent#ignorecomments)
*/
ignoredNodes?: string[];
ignoreComments?: boolean;

@@ -64,3 +40,3 @@ }

*/
export type IndentOption = number | 'tab';
export type IndentOption = 'tab' | number;

@@ -67,0 +43,0 @@ /**

@@ -0,48 +1,568 @@

import type { AccessorPairsRule } from './accessor-pairs';
import type { ArrayBracketNewlineRule } from './array-bracket-newline';
import type { ArrayBracketSpacingRule } from './array-bracket-spacing';
import type { ArrayCallbackReturnRule } from './array-callback-return';
import type { ArrayElementNewlineRule } from './array-element-newline';
import type { ArrowBodyStyleRule } from './arrow-body-style';
import type { ArrowParensRule } from './arrow-parens';
import type { ArrowSpacingRule } from './arrow-spacing';
import type { BlockScopedVarRule } from './block-scoped-var';
import type { BlockSpacingRule } from './block-spacing';
import type { BraceStyleRule } from './brace-style';
import type { CallbackReturnRule } from './callback-return';
import type { CamelcaseRule } from './camelcase';
import type { CapitalizedCommentsRule } from './capitalized-comments';
import type { ClassMethodsUseThisRule } from './class-methods-use-this';
import type { CommaDangleRule } from './comma-dangle';
import type { CommaSpacingRule } from './comma-spacing';
import type { CommaStyleRule } from './comma-style';
import type { ComplexityRule } from './complexity';
import type { ComputedPropertySpacingRule } from './computed-property-spacing';
import type { ConsistentReturnRule } from './consistent-return';
import type { ConsistentThisRule } from './consistent-this';
import type { ConstructorSuperRule } from './constructor-super';
import type { CurlyRule } from './curly';
import type { DefaultCaseRule } from './default-case';
import type { DefaultCaseLastRule } from './default-case-last';
import type { DefaultParamLastRule } from './default-param-last';
import type { DotLocationRule } from './dot-location';
import type { DotNotationRule } from './dot-notation';
import type { EolLastRule } from './eol-last';
import type { EqeqeqRule } from './eqeqeq';
import type { ForDirectionRule } from './for-direction';
import type { FuncCallSpacingRule } from './func-call-spacing';
import type { FuncNameMatchingRule } from './func-name-matching';
import type { FuncNamesRule } from './func-names';
import type { FuncStyleRule } from './func-style';
import type { FunctionCallArgumentNewlineRule } from './function-call-argument-newline';
import type { FunctionParenNewlineRule } from './function-paren-newline';
import type { GeneratorStarSpacingRule } from './generator-star-spacing';
import type { GetterReturnRule } from './getter-return';
import type { GlobalRequireRule } from './global-require';
import type { GroupedAccessorPairsRule } from './grouped-accessor-pairs';
import type { GuardForInRule } from './guard-for-in';
import type { HandleCallbackErrRule } from './handle-callback-err';
import type { IdBlacklistRule } from './id-blacklist';
import type { IdDenylistRule } from './id-denylist';
import type { IdLengthRule } from './id-length';
import type { IdMatchRule } from './id-match';
import type { ImplicitArrowLinebreakRule } from './implicit-arrow-linebreak';
import type { IndentRule } from './indent';
import type { IndentLegacyRule } from './indent-legacy';
import type { InitDeclarationsRule } from './init-declarations';
import type { JsxQuotesRule } from './jsx-quotes';
import type { KeySpacingRule } from './key-spacing';
import type { KeywordSpacingRule } from './keyword-spacing';
import type { LineCommentPositionRule } from './line-comment-position';
import type { LinebreakStyleRule } from './linebreak-style';
import type { LinesAroundCommentRule } from './lines-around-comment';
import type { LinesAroundDirectiveRule } from './lines-around-directive';
import type { LinesBetweenClassMembersRule } from './lines-between-class-members';
import type { MaxClassesPerFileRule } from './max-classes-per-file';
import type { MaxDepthRule } from './max-depth';
import type { MaxLenRule } from './max-len';
import type { MaxLinesRule } from './max-lines';
import type { MaxLinesPerFunctionRule } from './max-lines-per-function';
import type { MaxNestedCallbacksRule } from './max-nested-callbacks';
import type { MaxParamsRule } from './max-params';
import type { MaxStatementsRule } from './max-statements';
import type { MaxStatementsPerLineRule } from './max-statements-per-line';
import type { MultilineCommentStyleRule } from './multiline-comment-style';
import type { MultilineTernaryRule } from './multiline-ternary';
import type { NewCapRule } from './new-cap';
import type { NewParensRule } from './new-parens';
import type { NewlineAfterVarRule } from './newline-after-var';
import type { NewlineBeforeReturnRule } from './newline-before-return';
import type { NewlinePerChainedCallRule } from './newline-per-chained-call';
import type { NoAlertRule } from './no-alert';
import type { NoArrayConstructorRule } from './no-array-constructor';
import type { NoAsyncPromiseExecutorRule } from './no-async-promise-executor';
import type { NoAwaitInLoopRule } from './no-await-in-loop';
import type { NoBitwiseRule } from './no-bitwise';
import type { NoBufferConstructorRule } from './no-buffer-constructor';
import type { NoCallerRule } from './no-caller';
import type { NoCaseDeclarationsRule } from './no-case-declarations';
import type { NoCatchShadowRule } from './no-catch-shadow';
import type { NoClassAssignRule } from './no-class-assign';
import type { NoCompareNegZeroRule } from './no-compare-neg-zero';
import type { NoCondAssignRule } from './no-cond-assign';
import type { NoConfusingArrowRule } from './no-confusing-arrow';
import type { NoConsoleRule } from './no-console';
import type { NoConstAssignRule } from './no-const-assign';
import type { NoConstantConditionRule } from './no-constant-condition';
import type { NoConstructorReturnRule } from './no-constructor-return';
import type { NoContinueRule } from './no-continue';
import type { NoControlRegexRule } from './no-control-regex';
import type { NoDebuggerRule } from './no-debugger';
import type { NoEmptyFunctionRule } from './no-empty-function';
import type { NoDeleteVarRule } from './no-delete-var';
import type { NoDivRegexRule } from './no-div-regex';
import type { NoDupeArgsRule } from './no-dupe-args';
import type { NoDupeClassMembersRule } from './no-dupe-class-members';
import type { NoDupeElseIfRule } from './no-dupe-else-if';
import type { NoDupeKeysRule } from './no-dupe-keys';
import type { NoDuplicateCaseRule } from './no-duplicate-case';
import type { NoDuplicateImportsRule } from './no-duplicate-imports';
import type { NoElseReturnRule } from './no-else-return';
import type { NoEmptyRule } from './no-empty';
import type { NoEmptyCharacterClassRule } from './no-empty-character-class';
import type { NoEmptyPatternRule } from './no-empty-pattern';
import type { NoEqNullRule } from './no-eq-null';
import type { NoEvalRule } from './no-eval';
import type { NoExAssignRule } from './no-ex-assign';
import type { NoExtendNativeRule } from './no-extend-native';
import type { NoExtraBindRule } from './no-extra-bind';
import type { NoExtraBooleanCastRule } from './no-extra-boolean-cast';
import type { NoExtraLabelRule } from './no-extra-label';
import type { NoExtraParensRule } from './no-extra-parens';
import type { NoExtraSemiRule } from './no-extra-semi';
import type { NoFallthroughRule } from './no-fallthrough';
import type { NoFloatingDecimalRule } from './no-floating-decimal';
import type { NoFuncAssignRule } from './no-func-assign';
import type { NoGlobalAssignRule } from './no-global-assign';
import type { NoImplicitCoercionRule } from './no-implicit-coercion';
import type { NoImplicitGlobalsRule } from './no-implicit-globals';
import type { NoImpliedEvalRule } from './no-implied-eval';
import type { NoImportAssignRule } from './no-import-assign';
import type { NoInlineCommentsRule } from './no-inline-comments';
import type { NoInnerDeclarationsRule } from './no-inner-declarations';
import type { NoInvalidRegexpRule } from './no-invalid-regexp';
import type { NoInvalidThisRule } from './no-invalid-this';
import type { NoIrregularWhitespaceRule } from './no-irregular-whitespace';
import type { NoIteratorRule } from './no-iterator';
import type { NoLabelVarRule } from './no-label-var';
import type { NoLabelsRule } from './no-labels';
import type { NoLoneBlocksRule } from './no-lone-blocks';
import type { NoLonelyIfRule } from './no-lonely-if';
import type { NoLoopFuncRule } from './no-loop-func';
import type { NoLossOfPrecisionRule } from './no-loss-of-precision';
import type { NoMagicNumbersRule } from './no-magic-numbers';
import type { NoMisleadingCharacterClassRule } from './no-misleading-character-class';
import type { NoMixedOperatorsRule } from './no-mixed-operators';
import type { NoMixedRequiresRule } from './no-mixed-requires';
import type { NoMixedSpacesAndTabsRule } from './no-mixed-spaces-and-tabs';
import type { NoMultiAssignRule } from './no-multi-assign';
import type { NoMultiSpacesRule } from './no-multi-spaces';
import type { NoMultiStrRule } from './no-multi-str';
import type { NoMultipleEmptyLinesRule } from './no-multiple-empty-lines';
import type { NoNativeReassignRule } from './no-native-reassign';
import type { NoNegatedConditionRule } from './no-negated-condition';
import type { NoNegatedInLhsRule } from './no-negated-in-lhs';
import type { NoNestedTernaryRule } from './no-nested-ternary';
import type { NoNewRule } from './no-new';
import type { NoNewFuncRule } from './no-new-func';
import type { NoNewObjectRule } from './no-new-object';
import type { NoNewRequireRule } from './no-new-require';
import type { NoNewSymbolRule } from './no-new-symbol';
import type { NoNewWrappersRule } from './no-new-wrappers';
import type { NoNonoctalDecimalEscapeRule } from './no-nonoctal-decimal-escape';
import type { NoObjCallsRule } from './no-obj-calls';
import type { NoOctalRule } from './no-octal';
import type { NoOctalEscapeRule } from './no-octal-escape';
import type { NoParamReassignRule } from './no-param-reassign';
import type { NoPathConcatRule } from './no-path-concat';
import type { NoPlusplusRule } from './no-plusplus';
import type { NoProcessEnvRule } from './no-process-env';
import type { NoProcessExitRule } from './no-process-exit';
import type { NoPromiseExecutorReturnRule } from './no-promise-executor-return';
import type { NoProtoRule } from './no-proto';
import type { NoPrototypeBuiltinsRule } from './no-prototype-builtins';
import type { NoRedeclareRule } from './no-redeclare';
import type { NoRegexSpacesRule } from './no-regex-spaces';
import type { NoRestrictedExportsRule } from './no-restricted-exports';
import type { NoRestrictedGlobalsRule } from './no-restricted-globals';
import type { NoRestrictedImportsRule } from './no-restricted-imports';
import type { NoRestrictedModulesRule } from './no-restricted-modules';
import type { NoRestrictedPropertiesRule } from './no-restricted-properties';
import type { NoRestrictedSyntaxRule } from './no-restricted-syntax';
import type { NoReturnAssignRule } from './no-return-assign';
import type { NoReturnAwaitRule } from './no-return-await';
import type { NoScriptUrlRule } from './no-script-url';
import type { NoSelfAssignRule } from './no-self-assign';
import type { NoSelfCompareRule } from './no-self-compare';
import type { NoSequencesRule } from './no-sequences';
import type { NoSetterReturnRule } from './no-setter-return';
import type { NoShadowRule } from './no-shadow';
import type { NoShadowRestrictedNamesRule } from './no-shadow-restricted-names';
import type { NoSpacedFuncRule } from './no-spaced-func';
import type { NoSparseArraysRule } from './no-sparse-arrays';
import type { NoSyncRule } from './no-sync';
import type { NoTabsRule } from './no-tabs';
import type { NoTemplateCurlyInStringRule } from './no-template-curly-in-string';
import type { NoTernaryRule } from './no-ternary';
import type { NoThisBeforeSuperRule } from './no-this-before-super';
import type { NoThrowLiteralRule } from './no-throw-literal';
import type { NoTrailingSpacesRule } from './no-trailing-spaces';
import type { NoUndefInitRule } from './no-undef-init';
import type { NoUndefinedRule } from './no-undefined';
import type { NoUnderscoreDangleRule } from './no-underscore-dangle';
import type { NoUnexpectedMultilineRule } from './no-unexpected-multiline';
import type { NoUnmodifiedLoopConditionRule } from './no-unmodified-loop-condition';
import type { NoUnneededTernaryRule } from './no-unneeded-ternary';
import type { NoUnreachableRule } from './no-unreachable';
import type { NoUnreachableLoopRule } from './no-unreachable-loop';
import type { NoUnsafeFinallyRule } from './no-unsafe-finally';
import type { NoUnsafeNegationRule } from './no-unsafe-negation';
import type { NoUnsafeOptionalChainingRule } from './no-unsafe-optional-chaining';
import type { NoUnusedExpressionsRule } from './no-unused-expressions';
import type { NoUnusedLabelsRule } from './no-unused-labels';
import type { NoUnusedVarsRule } from './no-unused-vars';
import type { NoUseBeforeDefineRule } from './no-use-before-define';
import type { NoUselessBackreferenceRule } from './no-useless-backreference';
import type { NoUselessCallRule } from './no-useless-call';
import type { NoUselessCatchRule } from './no-useless-catch';
import type { NoUselessComputedKeyRule } from './no-useless-computed-key';
import type { NoUselessConcatRule } from './no-useless-concat';
import type { NoUselessConstructorRule } from './no-useless-constructor';
import type { NoUselessEscapeRule } from './no-useless-escape';
import type { NoUselessRenameRule } from './no-useless-rename';
import type { NoUselessReturnRule } from './no-useless-return';
import type { NoVarRule } from './no-var';
import type { NoVoidRule } from './no-void';
import type { NoWarningCommentsRule } from './no-warning-comments';
import type { NoWhitespaceBeforePropertyRule } from './no-whitespace-before-property';
import type { NoWithRule } from './no-with';
import type { NonblockStatementBodyPositionRule } from './nonblock-statement-body-position';
import type { ObjectCurlyNewlineRule } from './object-curly-newline';
import type { ObjectCurlySpacingRule } from './object-curly-spacing';
import type { ObjectPropertyNewlineRule } from './object-property-newline';
import type { ObjectShorthandRule } from './object-shorthand';
import type { OneVarRule } from './one-var';
import type { OneVarDeclarationPerLineRule } from './one-var-declaration-per-line';
import type { OperatorAssignmentRule } from './operator-assignment';
import type { OperatorLinebreakRule } from './operator-linebreak';
import type { PaddedBlocksRule } from './padded-blocks';
import type { PaddingLineBetweenStatementsRule } from './padding-line-between-statements';
import type { PreferArrowCallbackRule } from './prefer-arrow-callback';
import type { PreferConstRule } from './prefer-const';
import type { PreferDestructuringRule } from './prefer-destructuring';
import type { PreferExponentiationOperatorRule } from './prefer-exponentiation-operator';
import type { PreferNamedCaptureGroupRule } from './prefer-named-capture-group';
import type { PreferNumericLiteralsRule } from './prefer-numeric-literals';
import type { PreferObjectSpreadRule } from './prefer-object-spread';
import type { PreferPromiseRejectErrorsRule } from './prefer-promise-reject-errors';
import type { PreferReflectRule } from './prefer-reflect';
import type { PreferRegexLiteralsRule } from './prefer-regex-literals';
import type { PreferRestParamsRule } from './prefer-rest-params';
import type { PreferSpreadRule } from './prefer-spread';
import type { PreferTemplateRule } from './prefer-template';
import type { QuotePropsRule } from './quote-props';
import type { QuotesRule } from './quotes';
import type { RadixRule } from './radix';
import type { RequireAtomicUpdatesRule } from './require-atomic-updates';
import type { RequireAwaitRule } from './require-await';
import type { RequireJsdocRule } from './require-jsdoc';
import type { RequireUnicodeRegexpRule } from './require-unicode-regexp';
import type { RequireYieldRule } from './require-yield';
import type { RestSpreadSpacingRule } from './rest-spread-spacing';
import type { SemiRule } from './semi';
import type { SemiSpacingRule } from './semi-spacing';
import type { SemiStyleRule } from './semi-style';
import type { SortImportsRule } from './sort-imports';
import type { SortKeysRule } from './sort-keys';
import type { SortVarsRule } from './sort-vars';
import type { SpaceBeforeBlocksRule } from './space-before-blocks';
import type { SpaceBeforeFunctionParenRule } from './space-before-function-paren';
import type { SpaceInParensRule } from './space-in-parens';
import type { SpaceInfixOpsRule } from './space-infix-ops';
import type { SpaceUnaryOpsRule } from './space-unary-ops';
import type { SpacedCommentRule } from './spaced-comment';
import type { StrictRule } from './strict';
import type { SwitchColonSpacingRule } from './switch-colon-spacing';
import type { SymbolDescriptionRule } from './symbol-description';
import type { TemplateCurlySpacingRule } from './template-curly-spacing';
import type { TemplateTagSpacingRule } from './template-tag-spacing';
import type { UnicodeBomRule } from './unicode-bom';
import type { UseIsnanRule } from './use-isnan';
import type { ValidJsdocRule } from './valid-jsdoc';
import type { ValidTypeofRule } from './valid-typeof';
import type { VarsOnTopRule } from './vars-on-top';
import type { WrapIifeRule } from './wrap-iife';
import type { WrapRegexRule } from './wrap-regex';
import type { YieldStarSpacingRule } from './yield-star-spacing';
import type { YodaRule } from './yoda';
/**
* All eslint rules.
* All Eslint rules.
*/
export type EslintRules = CommaDangleRule &
export type EslintRules = AccessorPairsRule &
ArrayBracketNewlineRule &
ArrayBracketSpacingRule &
ArrayCallbackReturnRule &
ArrayElementNewlineRule &
ArrowBodyStyleRule &
ArrowParensRule &
ArrowSpacingRule &
BlockScopedVarRule &
BlockSpacingRule &
BraceStyleRule &
CallbackReturnRule &
CamelcaseRule &
CapitalizedCommentsRule &
ClassMethodsUseThisRule &
CommaDangleRule &
CommaSpacingRule &
CommaStyleRule &
ComplexityRule &
ComputedPropertySpacingRule &
ConsistentReturnRule &
ConsistentThisRule &
ConstructorSuperRule &
CurlyRule &
DefaultCaseRule &
DefaultCaseLastRule &
DefaultParamLastRule &
DotLocationRule &
DotNotationRule &
EolLastRule &
EqeqeqRule &
ForDirectionRule &
FuncCallSpacingRule &
FuncNameMatchingRule &
FuncNamesRule &
FuncStyleRule &
FunctionCallArgumentNewlineRule &
FunctionParenNewlineRule &
GeneratorStarSpacingRule &
GetterReturnRule &
GlobalRequireRule &
GroupedAccessorPairsRule &
GuardForInRule &
HandleCallbackErrRule &
IdBlacklistRule &
IdDenylistRule &
IdLengthRule &
IdMatchRule &
ImplicitArrowLinebreakRule &
IndentRule &
IndentLegacyRule &
InitDeclarationsRule &
JsxQuotesRule &
KeySpacingRule &
KeywordSpacingRule &
LineCommentPositionRule &
LinebreakStyleRule &
LinesAroundCommentRule &
LinesAroundDirectiveRule &
LinesBetweenClassMembersRule &
MaxClassesPerFileRule &
MaxDepthRule &
MaxLenRule &
MaxLinesRule &
MaxLinesPerFunctionRule &
MaxNestedCallbacksRule &
MaxParamsRule &
MaxStatementsRule &
MaxStatementsPerLineRule &
MultilineCommentStyleRule &
MultilineTernaryRule &
NewCapRule &
NewParensRule &
NewlineAfterVarRule &
NewlineBeforeReturnRule &
NewlinePerChainedCallRule &
NoAlertRule &
NoArrayConstructorRule &
NoAsyncPromiseExecutorRule &
NoAwaitInLoopRule &
NoBitwiseRule &
NoBufferConstructorRule &
NoCallerRule &
NoCaseDeclarationsRule &
NoCatchShadowRule &
NoClassAssignRule &
NoCompareNegZeroRule &
NoCondAssignRule &
NoConfusingArrowRule &
NoConsoleRule &
NoConstAssignRule &
NoConstantConditionRule &
NoConstructorReturnRule &
NoContinueRule &
NoControlRegexRule &
NoDebuggerRule &
NoEmptyFunctionRule &
NoDeleteVarRule &
NoDivRegexRule &
NoDupeArgsRule &
NoDupeClassMembersRule &
NoDupeElseIfRule &
NoDupeKeysRule &
NoDuplicateCaseRule &
NoDuplicateImportsRule &
NoElseReturnRule &
NoEmptyRule &
NoEmptyCharacterClassRule &
NoEmptyPatternRule &
NoEqNullRule &
NoEvalRule &
NoExAssignRule &
NoExtendNativeRule &
NoExtraBindRule &
NoExtraBooleanCastRule &
NoExtraLabelRule &
NoExtraParensRule &
NoExtraSemiRule &
NoFallthroughRule &
NoFloatingDecimalRule &
NoFuncAssignRule &
NoGlobalAssignRule &
NoImplicitCoercionRule &
NoImplicitGlobalsRule &
NoImpliedEvalRule &
NoImportAssignRule &
NoInlineCommentsRule &
NoInnerDeclarationsRule &
NoInvalidRegexpRule &
NoInvalidThisRule &
NoIrregularWhitespaceRule &
NoIteratorRule &
NoLabelVarRule &
NoLabelsRule &
NoLoneBlocksRule &
NoLonelyIfRule &
NoLoopFuncRule &
NoLossOfPrecisionRule &
NoMagicNumbersRule &
NoMisleadingCharacterClassRule &
NoMixedOperatorsRule &
NoMixedRequiresRule &
NoMixedSpacesAndTabsRule &
NoMultiAssignRule &
NoMultiSpacesRule &
NoMultiStrRule &
NoMultipleEmptyLinesRule &
NoNativeReassignRule &
NoNegatedConditionRule &
NoNegatedInLhsRule &
NoNestedTernaryRule &
NoNewRule &
NoNewFuncRule &
NoNewObjectRule &
NoNewRequireRule &
NoNewSymbolRule &
NoNewWrappersRule &
NoNonoctalDecimalEscapeRule &
NoObjCallsRule &
NoOctalRule &
NoOctalEscapeRule &
NoParamReassignRule &
NoPathConcatRule &
NoPlusplusRule &
NoProcessEnvRule &
NoProcessExitRule &
NoPromiseExecutorReturnRule &
NoProtoRule &
NoPrototypeBuiltinsRule &
NoRedeclareRule &
NoRegexSpacesRule &
NoRestrictedExportsRule &
NoRestrictedGlobalsRule &
NoRestrictedImportsRule &
NoRestrictedModulesRule &
NoRestrictedPropertiesRule &
NoRestrictedSyntaxRule &
NoReturnAssignRule &
NoReturnAwaitRule &
NoScriptUrlRule &
NoSelfAssignRule &
NoSelfCompareRule &
NoSequencesRule &
NoSetterReturnRule &
NoShadowRule &
NoShadowRestrictedNamesRule &
NoSpacedFuncRule &
NoSparseArraysRule &
NoSyncRule &
NoTabsRule &
NoTemplateCurlyInStringRule &
NoTernaryRule &
NoThisBeforeSuperRule &
NoThrowLiteralRule &
NoTrailingSpacesRule &
NoUndefInitRule &
NoUndefinedRule &
NoUnderscoreDangleRule &
NoUnexpectedMultilineRule &
NoUnmodifiedLoopConditionRule &
NoUnneededTernaryRule &
NoUnreachableRule &
NoUnreachableLoopRule &
NoUnsafeFinallyRule &
NoUnsafeNegationRule &
NoUnsafeOptionalChainingRule &
NoUnusedExpressionsRule &
NoUnusedLabelsRule &
NoUnusedVarsRule &
NoUseBeforeDefineRule &
NoUselessBackreferenceRule &
NoUselessCallRule &
NoUselessCatchRule &
NoUselessComputedKeyRule &
NoUselessConcatRule &
NoUselessConstructorRule &
NoUselessEscapeRule &
NoUselessRenameRule &
NoUselessReturnRule &
NoVarRule &
NoVoidRule &
NoWarningCommentsRule &
NoWhitespaceBeforePropertyRule &
NoWithRule &
NonblockStatementBodyPositionRule &
ObjectCurlyNewlineRule &
ObjectCurlySpacingRule &
ObjectPropertyNewlineRule &
ObjectShorthandRule &
OneVarRule &
OneVarDeclarationPerLineRule &
OperatorAssignmentRule &
OperatorLinebreakRule &
PaddedBlocksRule &
PaddingLineBetweenStatementsRule &
PreferArrowCallbackRule &
PreferConstRule &
PreferDestructuringRule &
PreferExponentiationOperatorRule &
PreferNamedCaptureGroupRule &
PreferNumericLiteralsRule &
PreferObjectSpreadRule &
PreferPromiseRejectErrorsRule &
PreferReflectRule &
PreferRegexLiteralsRule &
PreferRestParamsRule &
PreferSpreadRule &
PreferTemplateRule &
QuotePropsRule &
QuotesRule &
SemiRule;
RadixRule &
RequireAtomicUpdatesRule &
RequireAwaitRule &
RequireJsdocRule &
RequireUnicodeRegexpRule &
RequireYieldRule &
RestSpreadSpacingRule &
SemiRule &
SemiSpacingRule &
SemiStyleRule &
SortImportsRule &
SortKeysRule &
SortVarsRule &
SpaceBeforeBlocksRule &
SpaceBeforeFunctionParenRule &
SpaceInParensRule &
SpaceInfixOpsRule &
SpaceUnaryOpsRule &
SpacedCommentRule &
StrictRule &
SwitchColonSpacingRule &
SymbolDescriptionRule &
TemplateCurlySpacingRule &
TemplateTagSpacingRule &
UnicodeBomRule &
UseIsnanRule &
ValidJsdocRule &
ValidTypeofRule &
VarsOnTopRule &
WrapIifeRule &
WrapRegexRule &
YieldStarSpacingRule &
YodaRule;
import type { RuleConfig } from '../rule-config';
/**
* Option.
*/
export type MaxClassesPerFileOption = number;
/**
* Options.
*/
export type MaxClassesPerFileOptions = [number?];
export type MaxClassesPerFileOptions = [MaxClassesPerFileOption?];

@@ -8,0 +13,0 @@ /**

import type { RuleConfig } from '../rule-config';
/**
* Option.
* Setting.
*/
export type MaxLenOption = {
export interface MaxLenSetting {
/**

@@ -16,2 +16,10 @@ * Enforces a maximum line length.

/**
* Enforces a maximum line length for comments.
*
* @default - to value of code.
*
* @see [comments](https://eslint.org/docs/rules/max-len#comments)
*/
comments?: number;
/**
* Specifies the character width for tab characters.

@@ -25,10 +33,2 @@ *

/**
* Enforces a maximum line length for comments.
*
* @default - to value of code.
*
* @see [comments](https://eslint.org/docs/rules/max-len#comments)
*/
comments?: number;
/**
* Ignores lines matching a regular expression

@@ -50,9 +50,9 @@ *

/**
* Ignores only trailing comments.
* Ignores lines that contain a double-quoted or single-quoted string.
*
* @default true
*
* @see [ignoreTrailingComments](https://eslint.org/docs/rules/max-len#ignoretrailingcomments)
* @see [ignoreStrings](https://eslint.org/docs/rules/max-len#ignorestrings)
*/
ignoreTrailingComments?: boolean;
ignoreStrings?: boolean;
/**

@@ -67,10 +67,2 @@ * Ignores lines that contain a URL.

/**
* Ignores lines that contain a double-quoted or single-quoted string.
*
* @default true
*
* @see [ignoreStrings](https://eslint.org/docs/rules/max-len#ignorestrings)
*/
ignoreStrings?: boolean;
/**
* Ignores lines that contain a template literal.

@@ -91,8 +83,26 @@ *

ignoreRegExpLiterals?: boolean;
};
/**
* Ignores only trailing comments.
*
* @default true
*
* @see [ignoreTrailingComments](https://eslint.org/docs/rules/max-len#ignoretrailingcomments)
*/
ignoreTrailingComments?: boolean;
}
/**
* Config.
*/
export type MaxLenConfig = MaxLenSetting | number;
/**
* Option.
*/
export type MaxLenOption = MaxLenSetting | number;
/**
* Options.
*/
export type MaxLenOptions = [MaxLenOption?];
export type MaxLenOptions = [MaxLenOption?, MaxLenConfig?, MaxLenSetting?];

@@ -99,0 +109,0 @@ /**

@@ -18,17 +18,17 @@ import type { RuleConfig } from '../rule-config';

/**
* Ignore lines made up purely of whitespace.
* Ignore lines containing just comments.
*
* @default true
*
* @see [skipBlankLines](https://eslint.org/docs/rules/max-lines#skipblanklines)
* @see [skipComments](https://eslint.org/docs/rules/max-lines#skipcomments)
*/
skipBlankLines?: boolean;
skipComments?: boolean;
/**
* Ignore lines containing just comments.
* Ignore lines made up purely of whitespace.
*
* @default true
*
* @see [skipComments](https://eslint.org/docs/rules/max-lines#skipcomments)
* @see [skipBlankLines](https://eslint.org/docs/rules/max-lines#skipblanklines)
*/
skipComments?: boolean;
skipBlankLines?: boolean;
};

@@ -42,3 +42,3 @@

/**
* Enforce a maximum file length.
* Enforce a maximum number of lines per file.
*

@@ -50,3 +50,3 @@ * @see [max-lines](https://eslint.org/docs/rules/max-lines)

/**
* Enforce a maximum file length.
* Enforce a maximum number of lines per file.
*

@@ -57,3 +57,3 @@ * @see [max-lines](https://eslint.org/docs/rules/max-lines)

/**
* Enforce a maximum file length.
* Enforce a maximum number of lines per file.
*

@@ -60,0 +60,0 @@ * @see [max-lines](https://eslint.org/docs/rules/max-lines)

import type { RuleConfig } from '../rule-config';
/**
* Disallow lexical declarations in case/default clauses.
* Disallow lexical declarations in case clauses.
*

@@ -11,3 +11,3 @@ * @see [no-case-declarations](https://eslint.org/docs/rules/no-case-declarations)

/**
* Disallow lexical declarations in case/default clauses.
* Disallow lexical declarations in case clauses.
*

@@ -18,3 +18,3 @@ * @see [no-case-declarations](https://eslint.org/docs/rules/no-case-declarations)

/**
* Disallow lexical declarations in case/default clauses.
* Disallow lexical declarations in case clauses.
*

@@ -21,0 +21,0 @@ * @see [no-case-declarations](https://eslint.org/docs/rules/no-case-declarations)

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type NoConstantConditionOption = {
export interface NoConstantConditionOption {
/**

@@ -16,3 +16,3 @@ * Setting this option to `false` allows constant expressions in loops.

checkLoops?: boolean;
};
}

@@ -19,0 +19,0 @@ /**

import type { RuleConfig } from '../rule-config';
/**
* Disallow the use of debugger.
* Disallow the use of `debugger`.
*

@@ -11,3 +11,3 @@ * @see [no-debugger](https://eslint.org/docs/rules/no-debugger)

/**
* Disallow the use of debugger.
* Disallow the use of `debugger`.
*

@@ -18,3 +18,3 @@ * @see [no-debugger](https://eslint.org/docs/rules/no-debugger)

/**
* Disallow the use of debugger.
* Disallow the use of `debugger`.
*

@@ -21,0 +21,0 @@ * @see [no-debugger](https://eslint.org/docs/rules/no-debugger)

import type { RuleConfig } from '../rule-config';
/**
* Disallow `process.exit()`.
* Disallow the use of `process.exit()`.
*
* @deprecated This rule was **deprecated** in ESLint `v7.0.0`. Please use the corresponding rule in [`eslint-plugin-node`](https://github.com/mysticatea/eslint-plugin-node).
*
* @see [no-process-exit](https://eslint.org/docs/rules/no-process-exit)
*
* @deprecated This rule was **deprecated** in ESLint `v7.0.0`. Please use the corresponding rule in [`eslint-plugin-node`](https://github.com/mysticatea/eslint-plugin-node).
*/

@@ -13,17 +13,17 @@ export type NoProcessExitRuleConfig = RuleConfig<[]>;

/**
* Disallow `process.exit()`.
* Disallow the use of `process.exit()`.
*
* @deprecated This rule was **deprecated** in ESLint `v7.0.0`. Please use the corresponding rule in [`eslint-plugin-node`](https://github.com/mysticatea/eslint-plugin-node).
*
* @see [no-process-exit](https://eslint.org/docs/rules/no-process-exit)
*
* @deprecated This rule was **deprecated** in ESLint `v7.0.0`. Please use the corresponding rule in [`eslint-plugin-node`](https://github.com/mysticatea/eslint-plugin-node).
*/
export interface NoProcessExitRule {
/**
* Disallow `process.exit()`.
* Disallow the use of `process.exit()`.
*
* @deprecated This rule was **deprecated** in ESLint `v7.0.0`. Please use the corresponding rule in [`eslint-plugin-node`](https://github.com/mysticatea/eslint-plugin-node).
*
* @see [no-process-exit](https://eslint.org/docs/rules/no-process-exit)
*
* @deprecated This rule was **deprecated** in ESLint `v7.0.0`. Please use the corresponding rule in [`eslint-plugin-node`](https://github.com/mysticatea/eslint-plugin-node).
*/
'no-process-exit'?: NoProcessExitRuleConfig;
'no-process-exit': NoProcessExitRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type NoUnusedExpressionsOption = {
export interface NoUnusedExpressionsOption {
/**

@@ -40,3 +40,3 @@ * Set to `true` will allow you to use short circuit evaluations in your expressions.

enforceForJSX?: boolean;
};
}

@@ -43,0 +43,0 @@ /**

import type { RuleConfig } from '../rule-config';
/**
* Disallow unnecessary concatenation of strings.
* Disallow unnecessary concatenation of literals or template literals.
*

@@ -11,3 +11,3 @@ * @see [no-useless-concat](https://eslint.org/docs/rules/no-useless-concat)

/**
* Disallow unnecessary concatenation of strings.
* Disallow unnecessary concatenation of literals or template literals.
*

@@ -18,3 +18,3 @@ * @see [no-useless-concat](https://eslint.org/docs/rules/no-useless-concat)

/**
* Disallow unnecessary concatenation of strings.
* Disallow unnecessary concatenation of literals or template literals.
*

@@ -21,0 +21,0 @@ * @see [no-useless-concat](https://eslint.org/docs/rules/no-useless-concat)

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type PreferConstOption = {
export interface PreferConstOption {
/**

@@ -26,3 +26,3 @@ * The kind of the way to address variables in destructuring.

ignoreReadBeforeAssign?: boolean;
};
}

@@ -35,3 +35,3 @@ /**

/**
* Suggest using `const`.
* Require `const` declarations for variables that are never reassigned after declared.
*

@@ -43,3 +43,3 @@ * @see [prefer-const](https://eslint.org/docs/rules/prefer-const)

/**
* Suggest using `const`.
* Require `const` declarations for variables that are never reassigned after declared.
*

@@ -50,3 +50,3 @@ * @see [prefer-const](https://eslint.org/docs/rules/prefer-const)

/**
* Suggest using `const`.
* Require `const` declarations for variables that are never reassigned after declared.
*

@@ -53,0 +53,0 @@ * @see [prefer-const](https://eslint.org/docs/rules/prefer-const)

import type { RuleConfig } from '../rule-config';
/**
* Suggest using template literals instead of string concatenation.
* Require template literals instead of string concatenation.
*

@@ -11,3 +11,3 @@ * @see [prefer-template](https://eslint.org/docs/rules/prefer-template)

/**
* Suggest using template literals instead of string concatenation.
* Require template literals instead of string concatenation.
*

@@ -18,3 +18,3 @@ * @see [prefer-template](https://eslint.org/docs/rules/prefer-template)

/**
* Suggest using template literals instead of string concatenation.
* Require template literals instead of string concatenation.
*

@@ -21,0 +21,0 @@ * @see [prefer-template](https://eslint.org/docs/rules/prefer-template)

import type { RuleConfig } from '../rule-config';
/**
* As Needed Config.
*/
export interface QuotePropsAsNeededConfig {
/**
* Dis-/allows quotes around object literal property names that are not strictly required.
*
* @default true
*
* @see [unnecessary](https://eslint.org/docs/rules/quote-props#unnecessary)
*/
unnecessary?: boolean;
/**
* Requires quotes around numbers used as object property names.
*
* @default true
*
* @see [numbers](https://eslint.org/docs/rules/quote-props#numbers)
*/
numbers?: boolean;
}
/**
* Consistent As Needed Config.
*/
export interface QuotePropsConsistentAsNeededConfig extends QuotePropsAsNeededConfig {
/**
* Requires quotes around language keywords used as object property names.
*
* @default true
*
* @see [keywords](https://eslint.org/docs/rules/quote-props#keywords)
*/
keywords?: boolean;
}
/**
* Option.
*/
export type QuotePropsOption = 'always' | 'as-needed' | 'consistent' | 'consistent-as-needed';
export type QuotePropsOption =
| []
| ['always' | 'as-needed' | 'consistent' | 'consistent-as-needed']
| []
| ['always' | 'as-needed' | 'consistent' | 'consistent-as-needed']
| [
'always' | 'as-needed' | 'consistent' | 'consistent-as-needed',
{
/**
* Requires quotes around language keywords used as object property names.
*
* @default true
*
* @see [keywords](https://eslint.org/docs/rules/quote-props#keywords)
*/
keywords?: boolean;
/**
* Dis-/allows quotes around object literal property names that are not strictly required.
*
* @default true
*
* @see [unnecessary](https://eslint.org/docs/rules/quote-props#unnecessary)
*/
unnecessary?: boolean;
/**
* Requires quotes around numbers used as object property names.
*
* @default true
*
* @see [numbers](https://eslint.org/docs/rules/quote-props#numbers)
*/
numbers?: boolean;
}
];

@@ -47,6 +44,3 @@ /**

*/
export type QuotePropsOptions =
| [QuotePropsOption?]
| ['as-needed'?, QuotePropsAsNeededConfig?]
| ['consistent-as-needed'?, QuotePropsConsistentAsNeededConfig?];
export type QuotePropsOptions = QuotePropsOption;

@@ -53,0 +47,0 @@ /**

import type { RuleConfig } from '../rule-config';
/**
* Options.
* Config.
*/
export type QuotesOption = 'double' | 'single' | 'backtick';
export type QuotesConfig =
| 'avoid-escape'
| {
/**
* Allows strings to use single-quotes or double-quotes so long as the string contains a quote that would have to be escaped otherwise.
*/
avoidEscape?: boolean;
/**
* Allows strings to use backticks.
*/
allowTemplateLiterals?: boolean;
};
/**
* Config.
* Option.
*/
export interface QuotesConfig {
/**
* Allows strings to use single-quotes or double-quotes so long as the string contains a quote that would have to be escaped otherwise.
*/
avoidEscape?: boolean;
/**
* Allows strings to use backticks.
*/
allowTemplateLiterals?: boolean;
}
export type QuotesOption = 'single' | 'double' | 'backtick';
/**
* Options.
*/
export type QuotesOptions = [QuotesOption?, QuotesConfig?];
/**
* Enforce the consistent use of either backticks, double, or single quotes.

@@ -27,3 +34,3 @@ *

*/
export type QuotesRuleConfig = RuleConfig<[QuotesOption?, QuotesConfig?]>;
export type QuotesRuleConfig = RuleConfig<QuotesOptions>;

@@ -30,0 +37,0 @@ /**

import type { RuleConfig } from '../rule-config';
/**
* Always Config.
* Option.
*/
export interface SemiAlwaysConfig {
/**
* Ignores the last semicolon in a block in which its braces (and therefore the content of the block) are in the same line.
*/
omitLastInOneLineBlock?: boolean;
}
export type SemiOption =
| []
| ['never']
| [
'never',
{
/**
* - `'any'` - Ignores semicolons (or lacking semicolon) at the end of statements if the next line starts with `[`, `(`, `/`, `+`, or `-`.
* - `'always'` - Requires semicolons at the end of statements if the next line starts with `[`, `(`, `/`, `+`, or `-`.
* - `'never'` - Disallows semicolons as the end of statements if it doesn't make ASI hazard even if the next line starts with `[`, `(`, `/`, `+`, or `-`.
*/
beforeStatementContinuationChars?: 'always' | 'any' | 'never';
}
]
| []
| ['always']
| [
'always',
{
/**
* Ignores the last semicolon in a block in which its braces (and therefore the content of the block) are in the same line.
*/
omitLastInOneLineBlock?: boolean;
}
];
/**
* Always Options.
*/
export type SemiAlwaysOptions = ['always'?, SemiAlwaysConfig?];
/**
* Never Config.
*/
export interface SemiNeverConfig {
// eslint-disable-next-line jsdoc/match-description
/**
* - `'any'` - Ignores semicolons (or lacking semicolon) at the end of statements if the next line starts with `[`, `(`, `/`, `+`, or `-`.
* - `'always'` - Requires semicolons at the end of statements if the next line starts with `[`, `(`, `/`, `+`, or `-`.
* - `'never'` - Disallows semicolons as the end of statements if it doesn't make ASI hazard even if the next line starts with `[`, `(`, `/`, `+`, or `-`.
*/
beforeStatementContinuationChars?: 'any' | 'always' | 'never';
}
/**
* Never Options.
*/
export type SemiNeverOptions = ['never'?, SemiNeverConfig?];
/**
* Options.
*/
export type SemiOptions = SemiAlwaysOptions | SemiNeverOptions;
export type SemiOptions = SemiOption;

@@ -41,0 +37,0 @@ /**

@@ -7,3 +7,5 @@ import type { EslintRules } from './eslint';

import type { SpellcheckRules } from './spellcheck';
import type { TypeScriptEslintRules } from './typescript-eslint';
import type { TypeScriptRules } from './typescript-eslint';
import type { UnicornRules } from './unicorn';
import type { VueRules } from './vue';

@@ -17,8 +19,10 @@ /**

EslintRules &
TypeScriptEslintRules &
NodeRules &
ImportRules &
JSDocRules &
NodeRules &
SpellcheckRules &
TypeScriptRules &
UnicornRules &
VueRules &
Record<string, RuleConfig>
>;

@@ -0,16 +1,100 @@

import type { CheckAccessRule } from './check-access';
import type { CheckAlignmentRule } from './check-alignment';
import type { CheckExamplesRule } from './check-examples';
import type { CheckIndentationRule } from './check-indentation';
import type { CheckLineAlignmentRule } from './check-line-alignment';
import type { CheckParamNamesRule } from './check-param-names';
import type { CheckPropertyNamesRule } from './check-property-names';
import type { CheckSyntaxRule } from './check-syntax';
import type { CheckTagNamesRule } from './check-tag-names';
import type { CheckTypesRule } from './check-types';
import type { CheckValuesRule } from './check-values';
import type { EmptyTagsRule } from './empty-tags';
import type { ImplementsOnClassesRule } from './implements-on-classes';
import type { MatchDescriptionRule } from './match-description';
import type { MatchNameRule } from './match-name';
import type { MultilineBlocksRule } from './multiline-blocks';
import type { NewlineAfterDescriptionRule } from './newline-after-description';
import type { NoBadBlocksRule } from './no-bad-blocks';
import type { NoDefaultsRule } from './no-defaults';
import type { NoMissingSyntaxRule } from './no-missing-syntax';
import type { NoMultiAsterisksRule } from './no-multi-asterisks';
import type { NoRestrictedSyntaxRule } from './no-restricted-syntax';
import type { NoTypesRule } from './no-types';
import type { NoUndefinedTypesRule } from './no-undefined-types';
import type { RequireAsteriskPrefixRule } from './require-asterisk-prefix';
import type { RequireDescriptionRule } from './require-description';
import type { RequireDescriptionCompleteSentenceRule } from './require-description-complete-sentence';
import type { RequireExampleRule } from './require-example';
import type { RequireFileOverviewRule } from './require-file-overview';
import type { RequireHyphenBeforeParamDescriptionRule } from './require-hyphen-before-param-description';
import type { RequireJsdocRule } from './require-jsdoc';
import type { RequireParamRule } from './require-param';
import type { RequireParamDescriptionRule } from './require-param-description';
import type { RequireParamNameRule } from './require-param-name';
import type { RequireParamTypeRule } from './require-param-type';
import type { RequirePropertyRule } from './require-property';
import type { RequirePropertyDescriptionRule } from './require-property-description';
import type { RequirePropertyNameRule } from './require-property-name';
import type { RequirePropertyTypeRule } from './require-property-type';
import type { RequireReturnsRule } from './require-returns';
import type { RequireReturnsCheckRule } from './require-returns-check';
import type { RequireReturnsDescriptionRule } from './require-returns-description';
import type { RequireReturnsTypeRule } from './require-returns-type';
import type { RequireThrowsRule } from './require-throws';
import type { RequireYieldsRule } from './require-yields';
import type { RequireYieldsCheckRule } from './require-yields-check';
import type { TagLinesRule } from './tag-lines';
import type { ValidTypesRule } from './valid-types';
/**
* All jsdoc rules.
* All JSDoc rules.
*/
export type JSDocRules = MatchDescriptionRule &
export type JSDocRules = CheckAccessRule &
CheckAlignmentRule &
CheckExamplesRule &
CheckIndentationRule &
CheckLineAlignmentRule &
CheckParamNamesRule &
CheckPropertyNamesRule &
CheckSyntaxRule &
CheckTagNamesRule &
CheckTypesRule &
CheckValuesRule &
EmptyTagsRule &
ImplementsOnClassesRule &
MatchDescriptionRule &
MatchNameRule &
MultilineBlocksRule &
NewlineAfterDescriptionRule &
NoBadBlocksRule &
NoDefaultsRule &
NoMissingSyntaxRule &
NoMultiAsterisksRule &
NoRestrictedSyntaxRule &
NoTypesRule &
NoUndefinedTypesRule &
RequireAsteriskPrefixRule &
RequireDescriptionRule &
RequireDescriptionCompleteSentenceRule &
RequireExampleRule &
RequireFileOverviewRule &
RequireHyphenBeforeParamDescriptionRule &
RequireJsdocRule &
RequireParamRule &
RequireParamDescriptionRule &
RequireParamNameRule &
RequireParamTypeRule &
RequirePropertyRule &
RequirePropertyDescriptionRule &
RequirePropertyNameRule &
RequirePropertyTypeRule &
RequireReturnsRule &
RequireReturnsCheckRule &
RequireReturnsDescriptionRule &
RequireReturnsTypeRule &
TagLinesRule;
RequireThrowsRule &
RequireYieldsRule &
RequireYieldsCheckRule &
TagLinesRule &
ValidTypesRule;

@@ -6,4 +6,18 @@ import type { RuleConfig } from '../rule-config';

*/
export type MatchDescriptionOption = {
export interface MatchDescriptionOption {
/**
* Set this to an array of strings representing the AST context where you wish the rule to be applied (e.g., `ClassDeclaration` for ES6 classes).
*
* Set to `"any"` if you want the rule to apply to any jsdoc block throughout your files.
*
* @see [contexts](https://github.com/gajus/eslint-plugin-jsdoc#contexts-1)
*/
contexts?: (
| string
| {
comment?: string;
context?: string;
}
)[];
/**
* If you wish to override the main function description without changing the default `match-description`, you may use `mainDescription`.

@@ -13,3 +27,9 @@ *

*/
mainDescription?: string;
mainDescription?:
| string
| boolean
| {
match?: string | boolean;
message?: string;
};
/**

@@ -21,11 +41,4 @@ * You can supply your own expression to override the default, passing a `matchDescription` string on the options object.

matchDescription?: string;
message?: string;
/**
* Set this to an array of strings representing the AST context where you wish the rule to be applied (e.g., `ClassDeclaration` for ES6 classes).
*
* Set to `"any"` if you want the rule to apply to any jsdoc block throughout your files.
*
* @see [contexts](https://github.com/gajus/eslint-plugin-jsdoc#contexts-1)
*/
contexts?: string[];
/**
* If you want different regular expressions to apply to tags, you may use the `tags` option object.

@@ -35,4 +48,12 @@ *

*/
tags?: Record<string, boolean>;
};
tags?: {
[k: string]:
| string
| true
| {
match?: string | true;
message?: string;
};
};
}

@@ -47,3 +68,3 @@ /**

*
* @see [match-description](https://github.com/gajus/eslint-plugin-jsdoc#match-description)
* @see [match-description](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-match-description)
*/

@@ -55,3 +76,3 @@ export type MatchDescriptionRuleConfig = RuleConfig<MatchDescriptionOptions>;

*
* @see [match-description](https://github.com/gajus/eslint-plugin-jsdoc#match-description)
* @see [match-description](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-match-description)
*/

@@ -62,5 +83,5 @@ export interface MatchDescriptionRule {

*
* @see [match-description](https://github.com/gajus/eslint-plugin-jsdoc#match-description)
* @see [match-description](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-match-description)
*/
'jsdoc/match-description': MatchDescriptionRuleConfig;
}

@@ -6,8 +6,14 @@ import type { RuleConfig } from '../rule-config';

*/
export type NoTypesOption = {
export interface NoTypesOption {
/**
* @see [contexts](https://github.com/gajus/eslint-plugin-jsdoc#contexts-3)
*/
contexts?: string[];
};
contexts?: (
| string
| {
comment?: string;
context?: string;
}
)[];
}

@@ -22,5 +28,3 @@ /**

*
* The rule is intended to prevent the indication of types on tags where the type information would be redundant with TypeScript.
*
* @see [no-types](https://github.com/gajus/eslint-plugin-jsdoc#no-types)
* @see [no-types](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-types)
*/

@@ -32,5 +36,3 @@ export type NoTypesRuleConfig = RuleConfig<NoTypesOptions>;

*
* The rule is intended to prevent the indication of types on tags where the type information would be redundant with TypeScript.
*
* @see [no-types](https://github.com/gajus/eslint-plugin-jsdoc#no-types)
* @see [no-types](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-types)
*/

@@ -41,7 +43,5 @@ export interface NoTypesRule {

*
* The rule is intended to prevent the indication of types on tags where the type information would be redundant with TypeScript.
*
* @see [no-types](https://github.com/gajus/eslint-plugin-jsdoc#no-types)
* @see [no-types](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-types)
*/
'jsdoc/no-types': NoTypesRuleConfig;
}

@@ -6,4 +6,34 @@ import type { RuleConfig } from '../rule-config';

*/
export type RequireJsdocOption = {
export interface RequireJsdocOption {
/**
* A value indicating whether `constructors` should be checked.
*
* When `true`, `exemptEmptyConstructors` may still avoid reporting when no parameters or return values are found.
*
* @default true
*
* @see [checkConstructors](https://github.com/gajus/eslint-plugin-jsdoc#checkconstructors)
*/
checkConstructors?: boolean;
/**
* A value indicating whether getters should be checked.
*
* Besides setting as a boolean, this option can be set to the string `"no-setter"` to indicate that getters should be checked but only when there is no setter. This may be useful if one only wishes documentation on one of the two accessors.
*
* @default false
*
* @see [checkGetters](https://github.com/gajus/eslint-plugin-jsdoc#checkgetters)
*/
checkGetters?: boolean | 'no-setter';
/**
* A value indicating whether setters should be checked.
*
* Besides setting as a boolean, this option can be set to the string `"no-getter"` to indicate that setters should be checked but only when there is no getter. This may be useful if one only wishes documentation on one of the two accessors.
*
* @default false
*
* @see [checkSetters](https://github.com/gajus/eslint-plugin-jsdoc#checksetters)
*/
checkSetters?: boolean | 'no-getter';
/**
* Set this to an array of strings or objects representing the additional AST contexts where you wish the rule to be applied (e.g., `Property` for properties).

@@ -21,38 +51,65 @@ *

*/
contexts?: Array<
contexts?: (
| string
| {
context: string;
context?: string;
inlineCommentBlock?: boolean;
}
>;
)[];
/**
* A boolean on whether to enable the fixer (which adds an empty jsdoc block).
*
* @default true
*
* @see [enableFixer](https://github.com/gajus/eslint-plugin-jsdoc#enablefixer)
*/
enableFixer?: boolean;
/**
* When `true`, the rule will not report missing jsdoc blocks above constructors with no parameters or return values (this is enabled by default as the class name or description should be seen as sufficient to convey intent).
*
* @default true
*
* @see [exemptEmptyConstructors](https://github.com/gajus/eslint-plugin-jsdoc#exemptemptyconstructors)
*/
exemptEmptyConstructors?: boolean;
/**
* When `true`, the rule will not report missing jsdoc blocks above functions/methods with no parameters or return values (intended where function/method names are sufficient for themselves as documentation).
*
* @default false
*
* @see [exemptEmptyFunctions](https://github.com/gajus/eslint-plugin-jsdoc#exemptemptyfunctions)
*/
exemptEmptyFunctions?: boolean;
fixerMessage?: string;
/**
* @see [publicOnly](https://github.com/gajus/eslint-plugin-jsdoc#publiconly)
*/
publicOnly?: {
/**
* Only check node ancestors to check if node is exported.
*
* @default false
*/
ancestorsOnly?: boolean;
/**
* ESM exports are checked for JSDoc comments.
*
* @default true
*/
esm?: boolean;
/**
* CommonJS exports are checked for JSDoc comments.
*
* @default true
*/
cjs?: boolean;
/**
* Window global exports are checked for JSDoc comments.
*
* @default false
*/
window?: boolean;
};
publicOnly?:
| boolean
| {
/**
* Only check node ancestors to check if node is exported.
*
* @default false
*/
ancestorsOnly?: boolean;
/**
* CommonJS exports are checked for JSDoc comments.
*
* @default true
*/
cjs?: boolean;
/**
* ESM exports are checked for JSDoc comments.
*
* @default true
*/
esm?: boolean;
/**
* Window global exports are checked for JSDoc comments.
*
* @default false
*/
window?: boolean;
};
/**

@@ -89,57 +146,3 @@ * An object with the following optional boolean keys which all default to `false` except as noted, indicating the contexts where the rule will apply.

};
/**
* When `true`, the rule will not report missing jsdoc blocks above constructors with no parameters or return values (this is enabled by default as the class name or description should be seen as sufficient to convey intent).
*
* @default true
*
* @see [exemptEmptyConstructors](https://github.com/gajus/eslint-plugin-jsdoc#exemptemptyconstructors)
*/
exemptEmptyConstructors?: boolean;
/**
* When `true`, the rule will not report missing jsdoc blocks above functions/methods with no parameters or return values (intended where function/method names are sufficient for themselves as documentation).
*
* @default false
*
* @see [exemptEmptyFunctions](https://github.com/gajus/eslint-plugin-jsdoc#exemptemptyfunctions)
*/
exemptEmptyFunctions?: boolean;
/**
* A value indicating whether `constructors` should be checked.
*
* When `true`, `exemptEmptyConstructors` may still avoid reporting when no parameters or return values are found.
*
* @default true
*
* @see [checkConstructors](https://github.com/gajus/eslint-plugin-jsdoc#checkconstructors)
*/
checkConstructors?: boolean;
/**
* A value indicating whether getters should be checked.
*
* Besides setting as a boolean, this option can be set to the string `"no-setter"` to indicate that getters should be checked but only when there is no setter. This may be useful if one only wishes documentation on one of the two accessors.
*
* @default false
*
* @see [checkGetters](https://github.com/gajus/eslint-plugin-jsdoc#checkgetters)
*/
checkGetters?: boolean;
/**
* A value indicating whether setters should be checked.
*
* Besides setting as a boolean, this option can be set to the string `"no-getter"` to indicate that setters should be checked but only when there is no getter. This may be useful if one only wishes documentation on one of the two accessors.
*
* @default false
*
* @see [checkSetters](https://github.com/gajus/eslint-plugin-jsdoc#checksetters)
*/
checkSetters?: boolean;
/**
* A boolean on whether to enable the fixer (which adds an empty jsdoc block).
*
* @default true
*
* @see [enableFixer](https://github.com/gajus/eslint-plugin-jsdoc#enablefixer)
*/
enableFixer?: boolean;
};
}

@@ -154,3 +157,3 @@ /**

*
* @see [require-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc#require-jsdoc)
* @see [require-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-jsdoc)
*/

@@ -162,3 +165,3 @@ export type RequireJsdocRuleConfig = RuleConfig<RequireJsdocOptions>;

*
* @see [require-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc#require-jsdoc)
* @see [require-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-jsdoc)
*/

@@ -169,5 +172,5 @@ export interface RequireJsdocRule {

*
* @see [require-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc#require-jsdoc)
* @see [require-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-jsdoc)
*/
'jsdoc/require-jsdoc': RequireJsdocRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type RequireParamTypeOption = {
export interface RequireParamTypeOption {
/**

@@ -17,4 +17,10 @@ * Set this to an array of strings representing the AST context where you wish the rule to be applied.

*/
contexts?: string[];
};
contexts?: (
| string
| {
comment?: string;
context?: string;
}
)[];
}

@@ -29,3 +35,3 @@ /**

*
* @see [require-param-type](https://github.com/gajus/eslint-plugin-jsdoc#require-param-type)
* @see [require-param-type](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-type)
*/

@@ -37,3 +43,3 @@ export type RequireParamTypeRuleConfig = RuleConfig<RequireParamTypeOptions>;

*
* @see [require-param-type](https://github.com/gajus/eslint-plugin-jsdoc#require-param-type)
* @see [require-param-type](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-type)
*/

@@ -44,5 +50,5 @@ export interface RequireParamTypeRule {

*
* @see [require-param-type](https://github.com/gajus/eslint-plugin-jsdoc#require-param-type)
* @see [require-param-type](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-type)
*/
'jsdoc/require-param-type': RequireParamTypeRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type RequireReturnsTypeOption = {
export interface RequireReturnsTypeOption {
/**

@@ -17,4 +17,10 @@ * Set this to an array of strings representing the AST context where you wish the rule to be applied.

*/
contexts?: string[];
};
contexts?: (
| string
| {
comment?: string;
context?: string;
}
)[];
}

@@ -29,3 +35,3 @@ /**

*
* @see [require-returns-type](https://github.com/gajus/eslint-plugin-jsdoc#require-returns-type)
* @see [require-returns-type](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-type)
*/

@@ -37,3 +43,3 @@ export type RequireReturnsTypeRuleConfig = RuleConfig<RequireReturnsTypeOptions>;

*
* @see [require-returns-type](https://github.com/gajus/eslint-plugin-jsdoc#require-returns-type)
* @see [require-returns-type](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-type)
*/

@@ -44,5 +50,5 @@ export interface RequireReturnsTypeRule {

*
* @see [require-returns-type](https://github.com/gajus/eslint-plugin-jsdoc#require-returns-type)
* @see [require-returns-type](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-type)
*/
'jsdoc/require-returns-type': RequireReturnsTypeRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type TagLinesConfig = {
export interface TagLinesConfig {
/**

@@ -24,13 +24,15 @@ * Use with "always" to indicate the number of lines to require be present.

noEndLines?: boolean;
};
tags?: {
[k: string]: {
count?: number;
lines?: 'always' | 'never' | 'any';
};
};
[k: string]: any;
}
/**
* Values for tag lines.
*/
export type TagLinesOptionValue = 'always' | 'never';
/**
* Option.
*/
export type TagLinesOption = TagLinesOptionValue;
export type TagLinesOption = 'always' | 'any' | 'never';

@@ -37,0 +39,0 @@ /**

@@ -6,3 +6,2 @@ import { LiteralUnion } from '../../utility-types';

export type NoDeprecatedApiModuleItem =
/* eslint-disable spellcheck/spell-checker */
| '_linklist'

@@ -89,3 +88,2 @@ | '_stream_wrap'

| 'vm.runInDebugContext';
/* eslint-enable spellcheck/spell-checker */

@@ -92,0 +90,0 @@ /** NoDeprecatedApiGlobalItem. */

import type { RuleConfig } from '../rule-config';
/**
* Options.
*/
export type NoProcessExitRuleOptions = [];
/**
* Disallow the use of `process.exit()`.

@@ -8,3 +13,3 @@ *

*/
export type NoProcessExitRuleConfig = RuleConfig<[]>;
export type NoProcessExitRuleConfig = RuleConfig<NoProcessExitRuleOptions>;

@@ -11,0 +16,0 @@ /**

@@ -6,3 +6,2 @@ import type { LiteralUnion } from '../../../utility-types';

export type IgnoreValue =
/* eslint-disable spellcheck/spell-checker */
// ES2020:

@@ -49,3 +48,2 @@ | 'bigint'

| 'unicodeCodePointEscapes';
/* eslint-enable spellcheck/spell-checker */

@@ -52,0 +50,0 @@ /**

import type { SpellCheckerRule } from './spell-checker';
/**
* All spellcheck rules.
* All Spellcheck rules.
*/
export type SpellcheckRules = SpellCheckerRule;

@@ -1,2 +0,2 @@

import { LiteralUnion } from '../../utility-types';
import type { LiteralUnion } from '../../utility-types';
import type { RuleConfig } from '../rule-config';

@@ -7,3 +7,3 @@

*/
export type SpellCheckerOption = {
export interface SpellCheckerOption {
/** Check Spelling inside comments. */

@@ -29,2 +29,3 @@ comments?: boolean;

lang?: LiteralUnion<'en_US' | 'en_CA' | 'en_AU' | 'en_GB'>;
langDir?: string;
/** Array of words that will not be checked. */

@@ -47,3 +48,3 @@ skipWords?: string[];

minLength?: number;
};
}

@@ -50,0 +51,0 @@ /**

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*
* @see [adjacent-overload-signatures](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md)
* @see [adjacent-overload-signatures](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md)
*/

@@ -14,3 +14,3 @@ export type AdjacentOverloadSignaturesRuleConfig = RuleConfig<[]>;

*
* @see [adjacent-overload-signatures](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md)
* @see [adjacent-overload-signatures](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md)
*/

@@ -21,5 +21,5 @@ export interface AdjacentOverloadSignaturesRule {

*
* @see [adjacent-overload-signatures](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md)
* @see [adjacent-overload-signatures](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md)
*/
'@typescript-eslint/adjacent-overload-signatures': AdjacentOverloadSignaturesRuleConfig;
}
import type { RuleConfig } from '../rule-config';
/**
* Array Option.
*/
export type ArrayOption = 'array' | 'generic' | 'array-simple';
/**
* Option.
*/
export type ArrayTypeOption = {
export interface ArrayTypeOption {
/**

@@ -19,3 +14,3 @@ * Sets the array type expected for mutable cases.

*/
default: ArrayOption;
default?: 'array' | 'generic' | 'array-simple';
/**

@@ -26,4 +21,5 @@ * Sets the array type expected for readonly arrays. If this is omitted, then the value for default will be used.

*/
readonly?: ArrayOption;
};
readonly?: 'array' | 'generic' | 'array-simple';
[k: string]: any;
}

@@ -38,3 +34,3 @@ /**

*
* @see [array-type](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/array-type.md)
* @see [array-type](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/array-type.md)
*/

@@ -46,3 +42,3 @@ export type ArrayTypeRuleConfig = RuleConfig<ArrayTypeOptions>;

*
* @see [array-type](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/array-type.md)
* @see [array-type](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/array-type.md)
*/

@@ -53,5 +49,5 @@ export interface ArrayTypeRule {

*
* @see [array-type](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/array-type.md)
* @see [array-type](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/array-type.md)
*/
'@typescript-eslint/array-type': ArrayTypeRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*
* @see [await-thenable](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/await-thenable.md)
* @see [await-thenable](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/await-thenable.md)
*/

@@ -14,3 +14,3 @@ export type AwaitThenableRuleConfig = RuleConfig<[]>;

*
* @see [await-thenable](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/await-thenable.md)
* @see [await-thenable](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/await-thenable.md)
*/

@@ -21,5 +21,5 @@ export interface AwaitThenableRule {

*
* @see [await-thenable](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/await-thenable.md)
* @see [await-thenable](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/await-thenable.md)
*/
'@typescript-eslint/await-thenable': AwaitThenableRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type BanTsCommentOption = {
export interface BanTsCommentOption {
'ts-expect-error'?: boolean | 'allow-with-description';

@@ -13,3 +13,3 @@ 'ts-ignore'?: boolean | 'allow-with-description';

minimumDescriptionLength?: number;
};
}

@@ -24,3 +24,3 @@ /**

*
* @see [ban-ts-comment](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-ts-comment.md)
* @see [ban-ts-comment](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/ban-ts-comment.md)
*/

@@ -32,3 +32,3 @@ export type BanTsCommentRuleConfig = RuleConfig<BanTsCommentOptions>;

*
* @see [ban-ts-comment](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-ts-comment.md)
* @see [ban-ts-comment](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/ban-ts-comment.md)
*/

@@ -39,5 +39,5 @@ export interface BanTsCommentRule {

*
* @see [ban-ts-comment](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-ts-comment.md)
* @see [ban-ts-comment](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/ban-ts-comment.md)
*/
'@typescript-eslint/ban-ts-comment': BanTsCommentRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type BanTypesOption = {
export interface BanTypesOption {
/**

@@ -13,22 +13,22 @@ * An object whose keys are the types you want to ban, and the values are error messages.

*/
types?: Record<
string,
| false
| string
| {
/**
* The message to display when the type is matched.
*
* @see [types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-types.md)
*/
message: string;
/**
* A string to replace the banned type with when the fixer is run. If this is omitted, no fix will be done.
*
* @see [types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-types.md)
*/
fixWith?: string;
}
>;
types?: {
[k: string]:
| null
| boolean
| string
| {
/**
* The message to display when the type is matched.
*
* @see [types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-types.md)
*/
message?: string;
/**
* A string to replace the banned type with when the fixer is run. If this is omitted, no fix will be done.
*
* @see [types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-types.md)
*/
fixWith?: string;
};
};
/**

@@ -40,3 +40,3 @@ * If you're specifying custom `types`, you can set this to `true` to extend the default types configuration.

extendDefaults?: boolean;
};
}

@@ -51,3 +51,3 @@ /**

*
* @see [ban-types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-types.md)
* @see [ban-types](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/ban-types.md)
*/

@@ -59,3 +59,3 @@ export type BanTypesRuleConfig = RuleConfig<BanTypesOptions>;

*
* @see [ban-types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-types.md)
* @see [ban-types](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/ban-types.md)
*/

@@ -66,5 +66,5 @@ export interface BanTypesRule {

*
* @see [ban-types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-types.md)
* @see [ban-types](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/ban-types.md)
*/
'@typescript-eslint/ban-types': BanTypesRuleConfig;
}

@@ -8,3 +8,8 @@ import type { RuleConfig } from '../rule-config';

| {
/* Empty option */
/**
* This option defines the expected assertion style.
*
* @see [assertionStyle](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-assertions.md#assertionstyle)
*/
assertionStyle: 'never';
}

@@ -30,10 +35,2 @@ | {

objectLiteralTypeAssertions?: 'allow' | 'allow-as-parameter' | 'never';
}
| {
/**
* This option defines the expected assertion style.
*
* @see [assertionStyle](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-assertions.md#assertionstyle)
*/
assertionStyle: 'never';
};

@@ -49,3 +46,3 @@

*
* @see [consistent-type-assertions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-assertions.md)
* @see [consistent-type-assertions](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/consistent-type-assertions.md)
*/

@@ -57,3 +54,3 @@ export type ConsistentTypeAssertionsRuleConfig = RuleConfig<ConsistentTypeAssertionsOptions>;

*
* @see [consistent-type-assertions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-assertions.md)
* @see [consistent-type-assertions](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/consistent-type-assertions.md)
*/

@@ -64,5 +61,5 @@ export interface ConsistentTypeAssertionsRule {

*
* @see [consistent-type-assertions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-assertions.md)
* @see [consistent-type-assertions](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/consistent-type-assertions.md)
*/
'@typescript-eslint/consistent-type-assertions': ConsistentTypeAssertionsRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type ConsistentTypeDefinitionsOption = 'type' | 'interface';
export type ConsistentTypeDefinitionsOption = 'interface' | 'type';

@@ -19,3 +19,3 @@ /**

*
* @see [consistent-type-definitions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-definitions.md)
* @see [consistent-type-definitions](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/consistent-type-definitions.md)
*/

@@ -29,3 +29,3 @@ export type ConsistentTypeDefinitionsRuleConfig = RuleConfig<ConsistentTypeDefinitionsOptions>;

*
* @see [consistent-type-definitions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-definitions.md)
* @see [consistent-type-definitions](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/consistent-type-definitions.md)
*/

@@ -38,5 +38,5 @@ export interface ConsistentTypeDefinitionsRule {

*
* @see [consistent-type-definitions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-definitions.md)
* @see [consistent-type-definitions](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/consistent-type-definitions.md)
*/
'@typescript-eslint/consistent-type-definitions': ConsistentTypeDefinitionsRuleConfig;
}

@@ -7,3 +7,3 @@ import { DotNotationOption as BaseDotNotationOption } from '../eslint/dot-notation';

*/
export type DotNotationOption = BaseDotNotationOption & {
export interface DotNotationOption extends BaseDotNotationOption {
/**

@@ -21,3 +21,4 @@ * @default false

allowProtectedClassPropertyAccess?: boolean;
};
allowIndexSignaturePropertyAccess?: boolean;
}

@@ -32,3 +33,3 @@ /**

*
* @see [dot-notation](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/dot-notation.md)
* @see [dot-notation](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/dot-notation.md)
*/

@@ -40,3 +41,3 @@ export type DotNotationRuleConfig = RuleConfig<DotNotationOptions>;

*
* @see [dot-notation](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/dot-notation.md)
* @see [dot-notation](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/dot-notation.md)
*/

@@ -47,5 +48,5 @@ export interface DotNotationRule {

*
* @see [dot-notation](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/dot-notation.md)
* @see [dot-notation](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/dot-notation.md)
*/
'@typescript-eslint/dot-notation': DotNotationRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type ExplicitFunctionReturnTypeOption = {
export interface ExplicitFunctionReturnTypeOption {
/**

@@ -38,3 +38,3 @@ * If `true`, only functions which are part of a declaration will be checked.

allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean;
};
}

@@ -49,3 +49,3 @@ /**

*
* @see [explicit-function-return-type](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-function-return-type.md)
* @see [explicit-function-return-type](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/explicit-function-return-type.md)
*/

@@ -57,3 +57,3 @@ export type ExplicitFunctionReturnTypeRuleConfig = RuleConfig<ExplicitFunctionReturnTypeOptions>;

*
* @see [explicit-function-return-type](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-function-return-type.md)
* @see [explicit-function-return-type](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/explicit-function-return-type.md)
*/

@@ -64,5 +64,5 @@ export interface ExplicitFunctionReturnTypeRule {

*
* @see [explicit-function-return-type](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-function-return-type.md)
* @see [explicit-function-return-type](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/explicit-function-return-type.md)
*/
'@typescript-eslint/explicit-function-return-type': ExplicitFunctionReturnTypeRuleConfig;
}

@@ -14,3 +14,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type ExplicitMemberAccessibilityOption = {
export interface ExplicitMemberAccessibilityOption {
/**

@@ -25,6 +25,2 @@ * This rule in its default state requires no configuration and will enforce that every class member has an accessibility modifier.

/**
* @see [ignoredMethodNames](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md#except-specific-methods)
*/
ignoredMethodNames?: string[];
/**
* @see [overrides](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md#overrides)

@@ -39,3 +35,7 @@ */

};
};
/**
* @see [ignoredMethodNames](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md#except-specific-methods)
*/
ignoredMethodNames?: string[];
}

@@ -50,3 +50,3 @@ /**

*
* @see [explicit-member-accessibility](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md)
* @see [explicit-member-accessibility](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md)
*/

@@ -58,3 +58,3 @@ export type ExplicitMemberAccessibilityRuleConfig = RuleConfig<ExplicitMemberAccessibilityOptions>;

*
* @see [explicit-member-accessibility](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md)
* @see [explicit-member-accessibility](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md)
*/

@@ -65,5 +65,5 @@ export interface ExplicitMemberAccessibilityRule {

*
* @see [explicit-member-accessibility](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md)
* @see [explicit-member-accessibility](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md)
*/
'@typescript-eslint/explicit-member-accessibility': ExplicitMemberAccessibilityRuleConfig;
}

@@ -7,3 +7,3 @@ import type { IndentOptions } from '../eslint/indent';

*
* @see [indent](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/indent.md)
* @see [indent](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/indent.md)
*/

@@ -15,3 +15,3 @@ export type IndentRuleConfig = RuleConfig<IndentOptions>;

*
* @see [indent](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/indent.md)
* @see [indent](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/indent.md)
*/

@@ -22,5 +22,5 @@ export interface IndentRule {

*
* @see [indent](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/indent.md)
* @see [indent](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/indent.md)
*/
'@typescript-eslint/indent': IndentRuleConfig;
}

@@ -5,59 +5,239 @@ import type { AdjacentOverloadSignaturesRule } from './adjacent-overload-signatures';

import type { BanTsCommentRule } from './ban-ts-comment';
import type { BanTslintCommentRule } from './ban-tslint-comment';
import type { BanTypesRule } from './ban-types';
import type { BraceStyleRule } from './brace-style';
import type { ClassLiteralPropertyStyleRule } from './class-literal-property-style';
import type { CommaDangleRule } from './comma-dangle';
import type { CommaSpacingRule } from './comma-spacing';
import type { ConsistentIndexedObjectStyleRule } from './consistent-indexed-object-style';
import type { ConsistentTypeAssertionsRule } from './consistent-type-assertions';
import type { ConsistentTypeDefinitionsRule } from './consistent-type-definitions';
import type { ConsistentTypeImportsRule } from './consistent-type-imports';
import type { DefaultParamLastRule } from './default-param-last';
import type { DotNotationRule } from './dot-notation';
import type { ExplicitFunctionReturnTypeRule } from './explicit-function-return-type';
import type { ExplicitMemberAccessibilityRule } from './explicit-member-accessibility';
import type { ExplicitModuleBoundaryTypesRule } from './explicit-module-boundary-types';
import type { FuncCallSpacingRule } from './func-call-spacing';
import type { IndentRule } from './indent';
import type { InterfaceNamePrefixRule } from './interface-name-prefix';
import type { InitDeclarationsRule } from './init-declarations';
import type { KeywordSpacingRule } from './keyword-spacing';
import type { LinesBetweenClassMembersRule } from './lines-between-class-members';
import type { MemberDelimiterStyleRule } from './member-delimiter-style';
import type { MemberOrderingRule } from './member-ordering';
import type { MethodSignatureStyleRule } from './method-signature-style';
import type { NamingConventionRule } from './naming-convention';
import type { NoArrayConstructorRule } from './no-array-constructor';
import type { NoBaseToStringRule } from './no-base-to-string';
import type { NoConfusingNonNullAssertionRule } from './no-confusing-non-null-assertion';
import type { NoConfusingVoidExpressionRule } from './no-confusing-void-expression';
import type { NoDupeClassMembersRule } from './no-dupe-class-members';
import type { NoDuplicateImportsRule } from './no-duplicate-imports';
import type { NoDynamicDeleteRule } from './no-dynamic-delete';
import type { NoEmptyFunctionRule } from './no-empty-function';
import type { NoEmptyInterfaceRule } from './no-empty-interface';
import type { NoExplicitAnyRule } from './no-explicit-any';
import type { NoExtraNonNullAssertionRule } from './no-extra-non-null-assertion';
import type { NoExtraParensRule } from './no-extra-parens';
import type { NoExtraSemiRule } from './no-extra-semi';
import type { NoExtraneousClassRule } from './no-extraneous-class';
import type { NoFloatingPromisesRule } from './no-floating-promises';
import type { NoForInArrayRule } from './no-for-in-array';
import type { NoImplicitAnyCatchRule } from './no-implicit-any-catch';
import type { NoImpliedEvalRule } from './no-implied-eval';
import type { NoInferrableTypesRule } from './no-inferrable-types';
import type { NoInvalidThisRule } from './no-invalid-this';
import type { NoInvalidVoidTypeRule } from './no-invalid-void-type';
import type { NoLoopFuncRule } from './no-loop-func';
import type { NoLossOfPrecisionRule } from './no-loss-of-precision';
import type { NoMagicNumbersRule } from './no-magic-numbers';
import type { NoMeaninglessVoidOperatorRule } from './no-meaningless-void-operator';
import type { NoMisusedNewRule } from './no-misused-new';
import type { NoMisusedPromisesRule } from './no-misused-promises';
import type { NoNamespaceRule } from './no-namespace';
import type { NoNonNullAssertedOptionalChainRule } from './no-non-null-asserted-optional-chain';
import type { NoNonNullAssertionRule } from './no-non-null-assertion';
import type { NoParameterPropertiesRule } from './no-parameter-properties';
import type { NoRedeclareRule } from './no-redeclare';
import type { NoRequireImportsRule } from './no-require-imports';
import type { NoShadowRule } from './no-shadow';
import type { NoThisAliasRule } from './no-this-alias';
import type { NoThrowLiteralRule } from './no-throw-literal';
import type { NoTypeAliasRule } from './no-type-alias';
import type { NoUnnecessaryBooleanLiteralCompareRule } from './no-unnecessary-boolean-literal-compare';
import type { NoUnnecessaryConditionRule } from './no-unnecessary-condition';
import type { NoUnnecessaryQualifierRule } from './no-unnecessary-qualifier';
import type { NoUnnecessaryTypeArgumentsRule } from './no-unnecessary-type-arguments';
import type { NoUnnecessaryTypeAssertionRule } from './no-unnecessary-type-assertion';
import type { NoUnnecessaryTypeConstraintRule } from './no-unnecessary-type-constraint';
import type { NoUnsafeArgumentRule } from './no-unsafe-argument';
import type { NoUnsafeAssignmentRule } from './no-unsafe-assignment';
import type { NoUnsafeCallRule } from './no-unsafe-call';
import type { NoUnsafeMemberAccessRule } from './no-unsafe-member-access';
import type { NoUnsafeReturnRule } from './no-unsafe-return';
import type { NoUnusedExpressionsRule } from './no-unused-expressions';
import type { NoUnusedVarsRule } from './no-unused-vars';
import type { NoUnusedVarsExperimentalRule } from './no-unused-vars-experimental';
import type { NoUseBeforeDefineRule } from './no-use-before-define';
import type { NoUselessConstructorRule } from './no-useless-constructor';
import type { NoVarRequiresRule } from './no-var-requires';
import type { NonNullableTypeAssertionStyleRule } from './non-nullable-type-assertion-style';
import type { ObjectCurlySpacingRule } from './object-curly-spacing';
import type { PaddingLineBetweenStatementsRule } from './padding-line-between-statements';
import type { PreferAsConstRule } from './prefer-as-const';
import type { PreferEnumInitializersRule } from './prefer-enum-initializers';
import type { PreferForOfRule } from './prefer-for-of';
import type { PreferFunctionTypeRule } from './prefer-function-type';
import type { PreferIncludesRule } from './prefer-includes';
import type { PreferLiteralEnumMemberRule } from './prefer-literal-enum-member';
import type { PreferNamespaceKeywordRule } from './prefer-namespace-keyword';
import type { PreferNullishCoalescingRule } from './prefer-nullish-coalescing';
import type { PreferOptionalChainRule } from './prefer-optional-chain';
import type { PreferReadonlyRule } from './prefer-readonly';
import type { PreferReadonlyParameterTypesRule } from './prefer-readonly-parameter-types';
import type { PreferReduceTypeParameterRule } from './prefer-reduce-type-parameter';
import type { PreferRegexpExecRule } from './prefer-regexp-exec';
import type { PreferReturnThisTypeRule } from './prefer-return-this-type';
import type { PreferStringStartsEndsWithRule } from './prefer-string-starts-ends-with';
import type { PreferTsExpectErrorRule } from './prefer-ts-expect-error';
import type { PromiseFunctionAsyncRule } from './promise-function-async';
import type { QuotesRule } from './quotes';
import type { RequireArraySortCompareRule } from './require-array-sort-compare';
import type { RequireAwaitRule } from './require-await';
import type { RestrictPlusOperandsRule } from './restrict-plus-operands';
import type { RestrictTemplateExpressionsRule } from './restrict-template-expressions';
import type { ReturnAwaitRule } from './return-await';
import type { SemiRule } from './semi';
import type { SortTypeUnionIntersectionMembersRule } from './sort-type-union-intersection-members';
import type { SpaceBeforeFunctionParenRule } from './space-before-function-paren';
import type { SpaceInfixOpsRule } from './space-infix-ops';
import type { StrictBooleanExpressionsRule } from './strict-boolean-expressions';
import type { SwitchExhaustivenessCheckRule } from './switch-exhaustiveness-check';
import type { TripleSlashReferenceRule } from './triple-slash-reference';
import type { TypeAnnotationSpacingRule } from './type-annotation-spacing';
import type { TypedefRule } from './typedef';
import type { UnboundMethodRule } from './unbound-method';
import type { UnifiedSignaturesRule } from './unified-signatures';
/**
* All @typescript-eslint rules.
* All TypeScript rules.
*/
export type TypeScriptEslintRules = AdjacentOverloadSignaturesRule &
export type TypeScriptRules = AdjacentOverloadSignaturesRule &
ArrayTypeRule &
AwaitThenableRule &
BanTsCommentRule &
BanTslintCommentRule &
BanTypesRule &
BraceStyleRule &
ClassLiteralPropertyStyleRule &
CommaDangleRule &
CommaSpacingRule &
ConsistentIndexedObjectStyleRule &
ConsistentTypeAssertionsRule &
ConsistentTypeDefinitionsRule &
ConsistentTypeImportsRule &
DefaultParamLastRule &
DotNotationRule &
ExplicitFunctionReturnTypeRule &
ExplicitMemberAccessibilityRule &
ExplicitModuleBoundaryTypesRule &
FuncCallSpacingRule &
IndentRule &
InterfaceNamePrefixRule &
InitDeclarationsRule &
KeywordSpacingRule &
LinesBetweenClassMembersRule &
MemberDelimiterStyleRule &
MemberOrderingRule &
MethodSignatureStyleRule &
NamingConventionRule &
NoArrayConstructorRule &
NoBaseToStringRule &
NoConfusingNonNullAssertionRule &
NoConfusingVoidExpressionRule &
NoDupeClassMembersRule &
NoDuplicateImportsRule &
NoDynamicDeleteRule &
NoEmptyFunctionRule &
NoEmptyInterfaceRule &
NoExplicitAnyRule &
NoExtraNonNullAssertionRule &
NoExtraParensRule &
NoExtraSemiRule &
NoExtraneousClassRule &
NoFloatingPromisesRule &
NoForInArrayRule &
NoImplicitAnyCatchRule &
NoImpliedEvalRule &
NoInferrableTypesRule &
NoInvalidThisRule &
NoInvalidVoidTypeRule &
NoLoopFuncRule &
NoLossOfPrecisionRule &
NoMagicNumbersRule &
NoMeaninglessVoidOperatorRule &
NoMisusedNewRule &
NoMisusedPromisesRule &
NoNamespaceRule &
NoNonNullAssertedOptionalChainRule &
NoNonNullAssertionRule &
NoParameterPropertiesRule &
NoRedeclareRule &
NoRequireImportsRule &
NoShadowRule &
NoThisAliasRule &
NoThrowLiteralRule &
NoTypeAliasRule &
NoUnnecessaryBooleanLiteralCompareRule &
NoUnnecessaryConditionRule &
NoUnnecessaryQualifierRule &
NoUnnecessaryTypeArgumentsRule &
NoUnnecessaryTypeAssertionRule &
NoUnnecessaryTypeConstraintRule &
NoUnsafeArgumentRule &
NoUnsafeAssignmentRule &
NoUnsafeCallRule &
NoUnsafeMemberAccessRule &
NoUnsafeReturnRule &
NoUnusedExpressionsRule &
NoUnusedVarsRule &
NoUnusedVarsExperimentalRule &
NoUseBeforeDefineRule &
NoUselessConstructorRule &
NoVarRequiresRule &
NonNullableTypeAssertionStyleRule &
ObjectCurlySpacingRule &
PaddingLineBetweenStatementsRule &
PreferAsConstRule &
PreferEnumInitializersRule &
PreferForOfRule &
PreferFunctionTypeRule &
PreferIncludesRule &
PreferLiteralEnumMemberRule &
PreferNamespaceKeywordRule &
PreferNullishCoalescingRule &
PreferOptionalChainRule &
PreferReadonlyRule &
PreferReadonlyParameterTypesRule &
PreferReduceTypeParameterRule &
PreferRegexpExecRule &
PreferReturnThisTypeRule &
PreferStringStartsEndsWithRule &
PreferTsExpectErrorRule &
PromiseFunctionAsyncRule &
QuotesRule &
RequireArraySortCompareRule &
RequireAwaitRule &
RestrictPlusOperandsRule &
RestrictTemplateExpressionsRule &
ReturnAwaitRule &
SemiRule &
TypedefRule;
SortTypeUnionIntersectionMembersRule &
SpaceBeforeFunctionParenRule &
SpaceInfixOpsRule &
StrictBooleanExpressionsRule &
SwitchExhaustivenessCheckRule &
TripleSlashReferenceRule &
TypeAnnotationSpacingRule &
TypedefRule &
UnboundMethodRule &
UnifiedSignaturesRule;
import type { RuleConfig } from '../rule-config';
/** Base Config. */
export interface BaseConfig {
/**
* Option.
*/
export interface MemberDelimiterStyleOption {
multiline?: {
/**
* @default 'semi'
*
* @see [delimiter](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-delimiter-style.md#delimiter)
*/
delimiter?: 'none' | 'semi' | 'comma';
/**
* @default true
*
* @see [requireLast](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-delimiter-style.md#requirelast)
*/
requireLast?: boolean;
};
singleline?: {
/**
* @default 'semi'
*
* @see [delimiter](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-delimiter-style.md#delimiter)
*/
delimiter?: 'semi' | 'comma';
/**
* @default false
*
* @see [requireLast](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-delimiter-style.md#requirelast)
*/
requireLast?: boolean;
};
}
/**
* Option.
*/
export type MemberDelimiterStyleOption = BaseConfig & {
/**
* Allows you to specify options specifically for either `interfaces` or `type` definitions / inline `type`s.
*
* @see [overrides](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-delimiter-style.md#overrides)
*/
overrides?: {
interface?: BaseConfig;
typeLiteral?: BaseConfig;
interface?: {
multiline?: {
delimiter?: 'none' | 'semi' | 'comma';
requireLast?: boolean;
};
singleline?: {
delimiter?: 'semi' | 'comma';
requireLast?: boolean;
};
};
typeLiteral?: {
multiline?: {
delimiter?: 'none' | 'semi' | 'comma';
requireLast?: boolean;
};
singleline?: {
delimiter?: 'semi' | 'comma';
requireLast?: boolean;
};
};
};
/**
* @default 'brackets'
*
* @see [multilineDetection](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-delimiter-style.md#options)
*/
multilineDetection?: 'brackets' | 'last-member';
};
}

@@ -64,3 +48,3 @@ /**

*
* @see [member-delimiter-style](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-delimiter-style.md)
* @see [member-delimiter-style](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/member-delimiter-style.md)
*/

@@ -72,3 +56,3 @@ export type MemberDelimiterStyleRuleConfig = RuleConfig<MemberDelimiterStyleOptions>;

*
* @see [member-delimiter-style](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-delimiter-style.md)
* @see [member-delimiter-style](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/member-delimiter-style.md)
*/

@@ -79,5 +63,5 @@ export interface MemberDelimiterStyleRule {

*
* @see [member-delimiter-style](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-delimiter-style.md)
* @see [member-delimiter-style](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/member-delimiter-style.md)
*/
'@typescript-eslint/member-delimiter-style': MemberDelimiterStyleRuleConfig;
}
import type { RuleConfig } from '../rule-config';
/** Signature. */
export type Signature = 'signature';
/** Visibility. */
export type Visibility = 'public' | 'protected' | 'private';
/** Static. */
export type Static = 'static';
/** Decorated. */
export type Decorated = 'decorated';
/** Instance. */
export type Instance = 'instance';
/** Abstract. */
export type Abstract = 'abstract';
/** Field. */
export type Field = 'field';
/** Constructor. */
export type Constructor = 'constructor';
/** Method. */
export type Method = 'method';
/**
* @see [Member types (granular form)](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-ordering.md#member-types-granular-form)
*/
export type MemberTypes =
// Index signature
| Signature
// Fields
| `${Visibility}-${Static}-${Field}`
| `${Visibility}-${Decorated}-${Field}`
| `${Visibility}-${Instance}-${Field}`
| `${Visibility}-${Abstract}-${Field}`
| `${Visibility}-${Field}`
| `${Static}-${Field}`
| `${Instance}-${Field}`
| `${Decorated}-${Field}`
| `${Abstract}-${Field}`
| Field
// Constructors
| `${Visibility}-${Constructor}`
| Constructor
// Methods
| `${Visibility}-${Static}-${Method}`
| `${Visibility}-${Decorated}-${Method}`
| `${Visibility}-${Instance}-${Method}`
| `${Visibility}-${Abstract}-${Method}`
| `${Visibility}-${Method}`
| `${Static}-${Method}`
| `${Decorated}-${Method}`
| `${Instance}-${Method}`
| `${Abstract}-${Method}`
| Method;
/**
* @see [TypeOptions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-ordering.md#options)
*/
export type TypeOptions<T extends MemberTypes> =
| MemberTypes[]
| { memberTypes: Array<T> | 'never'; order?: 'alphabetically' | 'as-written' }
| { order: 'alphabetically' };
/**
* Option.
*/
export type MemberOrderingOption = {
default?: TypeOptions<MemberTypes>;
export interface MemberOrderingOption {
default?:
| 'never'
| (
| 'signature'
| 'field'
| 'public-field'
| 'public-decorated-field'
| 'decorated-field'
| 'static-field'
| 'public-static-field'
| 'instance-field'
| 'public-instance-field'
| 'abstract-field'
| 'public-abstract-field'
| 'protected-field'
| 'protected-decorated-field'
| 'protected-static-field'
| 'protected-instance-field'
| 'protected-abstract-field'
| 'private-field'
| 'private-decorated-field'
| 'private-static-field'
| 'private-instance-field'
| 'private-abstract-field'
| 'method'
| 'public-method'
| 'public-decorated-method'
| 'decorated-method'
| 'static-method'
| 'public-static-method'
| 'instance-method'
| 'public-instance-method'
| 'abstract-method'
| 'public-abstract-method'
| 'protected-method'
| 'protected-decorated-method'
| 'protected-static-method'
| 'protected-instance-method'
| 'protected-abstract-method'
| 'private-method'
| 'private-decorated-method'
| 'private-static-method'
| 'private-instance-method'
| 'private-abstract-method'
| 'call-signature'
| 'public-call-signature'
| 'static-call-signature'
| 'public-static-call-signature'
| 'instance-call-signature'
| 'public-instance-call-signature'
| 'abstract-call-signature'
| 'public-abstract-call-signature'
| 'protected-call-signature'
| 'protected-static-call-signature'
| 'protected-instance-call-signature'
| 'protected-abstract-call-signature'
| 'private-call-signature'
| 'private-static-call-signature'
| 'private-instance-call-signature'
| 'private-abstract-call-signature'
| 'constructor'
| 'public-constructor'
| 'protected-constructor'
| 'private-constructor'
)[]
| {
memberTypes?:
| (
| 'signature'
| 'field'
| 'public-field'
| 'public-decorated-field'
| 'decorated-field'
| 'static-field'
| 'public-static-field'
| 'instance-field'
| 'public-instance-field'
| 'abstract-field'
| 'public-abstract-field'
| 'protected-field'
| 'protected-decorated-field'
| 'protected-static-field'
| 'protected-instance-field'
| 'protected-abstract-field'
| 'private-field'
| 'private-decorated-field'
| 'private-static-field'
| 'private-instance-field'
| 'private-abstract-field'
| 'method'
| 'public-method'
| 'public-decorated-method'
| 'decorated-method'
| 'static-method'
| 'public-static-method'
| 'instance-method'
| 'public-instance-method'
| 'abstract-method'
| 'public-abstract-method'
| 'protected-method'
| 'protected-decorated-method'
| 'protected-static-method'
| 'protected-instance-method'
| 'protected-abstract-method'
| 'private-method'
| 'private-decorated-method'
| 'private-static-method'
| 'private-instance-method'
| 'private-abstract-method'
| 'call-signature'
| 'public-call-signature'
| 'static-call-signature'
| 'public-static-call-signature'
| 'instance-call-signature'
| 'public-instance-call-signature'
| 'abstract-call-signature'
| 'public-abstract-call-signature'
| 'protected-call-signature'
| 'protected-static-call-signature'
| 'protected-instance-call-signature'
| 'protected-abstract-call-signature'
| 'private-call-signature'
| 'private-static-call-signature'
| 'private-instance-call-signature'
| 'private-abstract-call-signature'
| 'constructor'
| 'public-constructor'
| 'protected-constructor'
| 'private-constructor'
)[]
| 'never';
order?: 'alphabetically' | 'as-written';
};
classes?:
| 'never'
| (
| 'signature'
| 'field'
| 'public-field'
| 'public-decorated-field'
| 'decorated-field'
| 'static-field'
| 'public-static-field'
| 'instance-field'
| 'public-instance-field'
| 'abstract-field'
| 'public-abstract-field'
| 'protected-field'
| 'protected-decorated-field'
| 'protected-static-field'
| 'protected-instance-field'
| 'protected-abstract-field'
| 'private-field'
| 'private-decorated-field'
| 'private-static-field'
| 'private-instance-field'
| 'private-abstract-field'
| 'method'
| 'public-method'
| 'public-decorated-method'
| 'decorated-method'
| 'static-method'
| 'public-static-method'
| 'instance-method'
| 'public-instance-method'
| 'abstract-method'
| 'public-abstract-method'
| 'protected-method'
| 'protected-decorated-method'
| 'protected-static-method'
| 'protected-instance-method'
| 'protected-abstract-method'
| 'private-method'
| 'private-decorated-method'
| 'private-static-method'
| 'private-instance-method'
| 'private-abstract-method'
| 'call-signature'
| 'public-call-signature'
| 'static-call-signature'
| 'public-static-call-signature'
| 'instance-call-signature'
| 'public-instance-call-signature'
| 'abstract-call-signature'
| 'public-abstract-call-signature'
| 'protected-call-signature'
| 'protected-static-call-signature'
| 'protected-instance-call-signature'
| 'protected-abstract-call-signature'
| 'private-call-signature'
| 'private-static-call-signature'
| 'private-instance-call-signature'
| 'private-abstract-call-signature'
| 'constructor'
| 'public-constructor'
| 'protected-constructor'
| 'private-constructor'
)[]
| {
memberTypes?:
| (
| 'signature'
| 'field'
| 'public-field'
| 'public-decorated-field'
| 'decorated-field'
| 'static-field'
| 'public-static-field'
| 'instance-field'
| 'public-instance-field'
| 'abstract-field'
| 'public-abstract-field'
| 'protected-field'
| 'protected-decorated-field'
| 'protected-static-field'
| 'protected-instance-field'
| 'protected-abstract-field'
| 'private-field'
| 'private-decorated-field'
| 'private-static-field'
| 'private-instance-field'
| 'private-abstract-field'
| 'method'
| 'public-method'
| 'public-decorated-method'
| 'decorated-method'
| 'static-method'
| 'public-static-method'
| 'instance-method'
| 'public-instance-method'
| 'abstract-method'
| 'public-abstract-method'
| 'protected-method'
| 'protected-decorated-method'
| 'protected-static-method'
| 'protected-instance-method'
| 'protected-abstract-method'
| 'private-method'
| 'private-decorated-method'
| 'private-static-method'
| 'private-instance-method'
| 'private-abstract-method'
| 'call-signature'
| 'public-call-signature'
| 'static-call-signature'
| 'public-static-call-signature'
| 'instance-call-signature'
| 'public-instance-call-signature'
| 'abstract-call-signature'
| 'public-abstract-call-signature'
| 'protected-call-signature'
| 'protected-static-call-signature'
| 'protected-instance-call-signature'
| 'protected-abstract-call-signature'
| 'private-call-signature'
| 'private-static-call-signature'
| 'private-instance-call-signature'
| 'private-abstract-call-signature'
| 'constructor'
| 'public-constructor'
| 'protected-constructor'
| 'private-constructor'
)[]
| 'never';
order?: 'alphabetically' | 'as-written';
};
classExpressions?:
| 'never'
| (
| 'signature'
| 'field'
| 'public-field'
| 'public-decorated-field'
| 'decorated-field'
| 'static-field'
| 'public-static-field'
| 'instance-field'
| 'public-instance-field'
| 'abstract-field'
| 'public-abstract-field'
| 'protected-field'
| 'protected-decorated-field'
| 'protected-static-field'
| 'protected-instance-field'
| 'protected-abstract-field'
| 'private-field'
| 'private-decorated-field'
| 'private-static-field'
| 'private-instance-field'
| 'private-abstract-field'
| 'method'
| 'public-method'
| 'public-decorated-method'
| 'decorated-method'
| 'static-method'
| 'public-static-method'
| 'instance-method'
| 'public-instance-method'
| 'abstract-method'
| 'public-abstract-method'
| 'protected-method'
| 'protected-decorated-method'
| 'protected-static-method'
| 'protected-instance-method'
| 'protected-abstract-method'
| 'private-method'
| 'private-decorated-method'
| 'private-static-method'
| 'private-instance-method'
| 'private-abstract-method'
| 'call-signature'
| 'public-call-signature'
| 'static-call-signature'
| 'public-static-call-signature'
| 'instance-call-signature'
| 'public-instance-call-signature'
| 'abstract-call-signature'
| 'public-abstract-call-signature'
| 'protected-call-signature'
| 'protected-static-call-signature'
| 'protected-instance-call-signature'
| 'protected-abstract-call-signature'
| 'private-call-signature'
| 'private-static-call-signature'
| 'private-instance-call-signature'
| 'private-abstract-call-signature'
| 'constructor'
| 'public-constructor'
| 'protected-constructor'
| 'private-constructor'
)[]
| {
memberTypes?:
| (
| 'signature'
| 'field'
| 'public-field'
| 'public-decorated-field'
| 'decorated-field'
| 'static-field'
| 'public-static-field'
| 'instance-field'
| 'public-instance-field'
| 'abstract-field'
| 'public-abstract-field'
| 'protected-field'
| 'protected-decorated-field'
| 'protected-static-field'
| 'protected-instance-field'
| 'protected-abstract-field'
| 'private-field'
| 'private-decorated-field'
| 'private-static-field'
| 'private-instance-field'
| 'private-abstract-field'
| 'method'
| 'public-method'
| 'public-decorated-method'
| 'decorated-method'
| 'static-method'
| 'public-static-method'
| 'instance-method'
| 'public-instance-method'
| 'abstract-method'
| 'public-abstract-method'
| 'protected-method'
| 'protected-decorated-method'
| 'protected-static-method'
| 'protected-instance-method'
| 'protected-abstract-method'
| 'private-method'
| 'private-decorated-method'
| 'private-static-method'
| 'private-instance-method'
| 'private-abstract-method'
| 'call-signature'
| 'public-call-signature'
| 'static-call-signature'
| 'public-static-call-signature'
| 'instance-call-signature'
| 'public-instance-call-signature'
| 'abstract-call-signature'
| 'public-abstract-call-signature'
| 'protected-call-signature'
| 'protected-static-call-signature'
| 'protected-instance-call-signature'
| 'protected-abstract-call-signature'
| 'private-call-signature'
| 'private-static-call-signature'
| 'private-instance-call-signature'
| 'private-abstract-call-signature'
| 'constructor'
| 'public-constructor'
| 'protected-constructor'
| 'private-constructor'
)[]
| 'never';
order?: 'alphabetically' | 'as-written';
};
interfaces?:
| 'never'
| ('signature' | 'field' | 'method' | 'constructor')[]
| {
memberTypes?: ('signature' | 'field' | 'method' | 'constructor')[] | 'never';
order?: 'alphabetically' | 'as-written';
};
typeLiterals?:
| 'never'
| ('signature' | 'field' | 'method' | 'constructor')[]
| {
memberTypes?: ('signature' | 'field' | 'method' | 'constructor')[] | 'never';
order?: 'alphabetically' | 'as-written';
};
}
classes?: TypeOptions<MemberTypes>;
classExpressions?: TypeOptions<MemberTypes>;
interfaces?: TypeOptions<Signature | Field | Method | Constructor>;
typeLiterals?: TypeOptions<Signature | Field | Method | Constructor>;
};
/**

@@ -86,3 +430,3 @@ * Options.

*
* @see [member-ordering](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-ordering.md)
* @see [member-ordering](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/member-ordering.md)
*/

@@ -94,3 +438,3 @@ export type MemberOrderingRuleConfig = RuleConfig<MemberOrderingOptions>;

*
* @see [member-ordering](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-ordering.md)
* @see [member-ordering](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/member-ordering.md)
*/

@@ -101,5 +445,5 @@ export interface MemberOrderingRule {

*
* @see [member-ordering](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-ordering.md)
* @see [member-ordering](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/member-ordering.md)
*/
'@typescript-eslint/member-ordering': MemberOrderingRuleConfig;
}
import type { RuleConfig } from '../rule-config';
// TODO: Define @typescript-eslint/naming-convention option.
/**
* Option.
*/
// export type NamingConventionOption = {
// // format options
// format: ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[] | null;
// custom?: {
// regex: string;
// match: boolean;
// };
// leadingUnderscore?: 'forbid' | 'require' | 'requireDouble' | 'allow' | 'allowDouble' | 'allowSingleOrDouble';
// trailingUnderscore?: 'forbid' | 'require' | 'requireDouble' | 'allow' | 'allowDouble' | 'allowSingleOrDouble';
// prefix?: string[];
// suffix?: string[];
export type NamingConventionOption = (
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: (
| 'default'
| 'variableLike'
| 'memberLike'
| 'typeLike'
| 'method'
| 'property'
| 'variable'
| 'function'
| 'parameter'
| 'parameterProperty'
| 'accessor'
| 'enumMember'
| 'classMethod'
| 'objectLiteralMethod'
| 'typeMethod'
| 'classProperty'
| 'objectLiteralProperty'
| 'typeProperty'
| 'class'
| 'interface'
| 'typeAlias'
| 'enum'
| 'typeParameter'
)[];
modifiers?: (
| 'const'
| 'readonly'
| 'static'
| 'public'
| 'protected'
| 'private'
| 'abstract'
| 'destructured'
| 'global'
| 'exported'
| 'unused'
| 'requiresQuotes'
)[];
types?: ('boolean' | 'string' | 'number' | 'function' | 'array')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'default';
modifiers?: (
| 'const'
| 'readonly'
| 'static'
| 'public'
| 'protected'
| 'private'
| 'abstract'
| 'destructured'
| 'global'
| 'exported'
| 'unused'
| 'requiresQuotes'
)[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'variableLike';
modifiers?: 'unused'[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'variable';
modifiers?: ('const' | 'destructured' | 'exported' | 'global' | 'unused')[];
types?: ('boolean' | 'string' | 'number' | 'function' | 'array')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'function';
modifiers?: ('exported' | 'global' | 'unused')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'parameter';
modifiers?: ('destructured' | 'unused')[];
types?: ('boolean' | 'string' | 'number' | 'function' | 'array')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'memberLike';
modifiers?: ('abstract' | 'private' | 'protected' | 'public' | 'readonly' | 'requiresQuotes' | 'static')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'classProperty';
modifiers?: ('abstract' | 'private' | 'protected' | 'public' | 'readonly' | 'requiresQuotes' | 'static')[];
types?: ('boolean' | 'string' | 'number' | 'function' | 'array')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'objectLiteralProperty';
modifiers?: ('public' | 'requiresQuotes')[];
types?: ('boolean' | 'string' | 'number' | 'function' | 'array')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'typeProperty';
modifiers?: ('public' | 'readonly' | 'requiresQuotes')[];
types?: ('boolean' | 'string' | 'number' | 'function' | 'array')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'parameterProperty';
modifiers?: ('private' | 'protected' | 'public' | 'readonly')[];
types?: ('boolean' | 'string' | 'number' | 'function' | 'array')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'property';
modifiers?: ('abstract' | 'private' | 'protected' | 'public' | 'readonly' | 'requiresQuotes' | 'static')[];
types?: ('boolean' | 'string' | 'number' | 'function' | 'array')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'classMethod';
modifiers?: ('abstract' | 'private' | 'protected' | 'public' | 'requiresQuotes' | 'static')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'objectLiteralMethod';
modifiers?: ('public' | 'requiresQuotes')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'typeMethod';
modifiers?: ('public' | 'requiresQuotes')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'method';
modifiers?: ('abstract' | 'private' | 'protected' | 'public' | 'requiresQuotes' | 'static')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'accessor';
modifiers?: ('abstract' | 'private' | 'protected' | 'public' | 'requiresQuotes' | 'static')[];
types?: ('boolean' | 'string' | 'number' | 'function' | 'array')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'enumMember';
modifiers?: 'requiresQuotes'[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'typeLike';
modifiers?: ('abstract' | 'exported' | 'unused')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'class';
modifiers?: ('abstract' | 'exported' | 'unused')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'interface';
modifiers?: ('exported' | 'unused')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'typeAlias';
modifiers?: ('exported' | 'unused')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'enum';
modifiers?: ('exported' | 'unused')[];
}
| {
format:
| ('camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE')[]
| null;
custom?: {
match: boolean;
regex: string;
[k: string]: any;
};
leadingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
trailingUnderscore?: 'forbid' | 'allow' | 'require' | 'requireDouble' | 'allowDouble' | 'allowSingleOrDouble';
prefix?: string[];
suffix?: string[];
failureMessage?: string;
filter?:
| string
| {
match: boolean;
regex: string;
[k: string]: any;
};
selector: 'typeParameter';
modifiers?: 'unused'[];
}
)[];
// // selector options
// selector: Selector | Selector[];
// filter?:
// | string
// | {
// regex: string;
// match: boolean;
// };
// // the allowed values for these are dependent on the selector - see below
// modifiers?: Modifiers<Selector>[];
// types?: Types<Selector>[];
// }[];
/**
* Options.
*/
// export type NamingConventionOptions = [NamingConventionOption?];
export type NamingConventionOptions = NamingConventionOption;

@@ -41,5 +652,5 @@ /**

*
* @see [naming-convention](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/naming-convention.md)
* @see [naming-convention](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/naming-convention.md)
*/
export type NamingConventionRuleConfig = RuleConfig; //<NamingConventionOptions>;
export type NamingConventionRuleConfig = RuleConfig<NamingConventionOptions>;

@@ -49,3 +660,3 @@ /**

*
* @see [naming-convention](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/naming-convention.md)
* @see [naming-convention](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/naming-convention.md)
*/

@@ -56,5 +667,5 @@ export interface NamingConventionRule {

*
* @see [naming-convention](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/naming-convention.md)
* @see [naming-convention](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/naming-convention.md)
*/
'@typescript-eslint/naming-convention': NamingConventionRuleConfig;
}

@@ -1,24 +0,23 @@

import { AllowOptionEntries } from '../eslint/no-empty-function';
import type { RuleConfig } from '../rule-config';
/** Additional Allow Option Entries. */
export type AdditionalAllowOptionEntries =
| AllowOptionEntries
| 'private-constructors'
| 'protected-constructors'
| 'decoratedFunctions';
/**
* Option.
*/
export type NoEmptyFunctionOption = {
/**
* Allow specific kinds of functions to be empty.
*
* @default []
*
* @see [allow](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-function.md#options)
*/
allow?: AdditionalAllowOptionEntries[];
};
export interface NoEmptyFunctionOption {
allow?: (
| 'functions'
| 'arrowFunctions'
| 'generatorFunctions'
| 'methods'
| 'generatorMethods'
| 'getters'
| 'setters'
| 'constructors'
| 'private-constructors'
| 'protected-constructors'
| 'asyncFunctions'
| 'asyncMethods'
| 'decoratedFunctions'
)[];
}

@@ -33,3 +32,3 @@ /**

*
* @see [no-empty-function](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-function.md)
* @see [no-empty-function](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-empty-function.md)
*/

@@ -41,3 +40,3 @@ export type NoEmptyFunctionRuleConfig = RuleConfig<NoEmptyFunctionOptions>;

*
* @see [no-empty-function](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-function.md)
* @see [no-empty-function](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-empty-function.md)
*/

@@ -48,5 +47,5 @@ export interface NoEmptyFunctionRule {

*
* @see [no-empty-function](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-function.md)
* @see [no-empty-function](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-empty-function.md)
*/
'@typescript-eslint/no-empty-function': NoEmptyFunctionRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type NoEmptyInterfaceOption = {
export interface NoEmptyInterfaceOption {
/**

@@ -16,3 +16,3 @@ * `true` will silence warnings about extending a single interface without adding additional members.

allowSingleExtends?: boolean;
};
}

@@ -27,3 +27,3 @@ /**

*
* @see [no-empty-interface](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-interface.md)
* @see [no-empty-interface](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-empty-interface.md)
*/

@@ -35,3 +35,3 @@ export type NoEmptyInterfaceRuleConfig = RuleConfig<NoEmptyInterfaceOptions>;

*
* @see [no-empty-interface](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-interface.md)
* @see [no-empty-interface](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-empty-interface.md)
*/

@@ -42,5 +42,5 @@ export interface NoEmptyInterfaceRule {

*
* @see [no-empty-interface](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-interface.md)
* @see [no-empty-interface](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-empty-interface.md)
*/
'@typescript-eslint/no-empty-interface': NoEmptyInterfaceRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type NoExplicitAnyOption = {
export interface NoExplicitAnyOption {
/**

@@ -20,3 +20,3 @@ * If `true`, auto-fixing will be made available in which the "any" type is converted to an "unknown" type.

ignoreRestArgs?: boolean;
};
}

@@ -31,3 +31,3 @@ /**

*
* @see [no-explicit-any](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-explicit-any.md)
* @see [no-explicit-any](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-explicit-any.md)
*/

@@ -39,3 +39,3 @@ export type NoExplicitAnyRuleConfig = RuleConfig<NoExplicitAnyOptions>;

*
* @see [no-explicit-any](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-explicit-any.md)
* @see [no-explicit-any](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-explicit-any.md)
*/

@@ -46,5 +46,5 @@ export interface NoExplicitAnyRule {

*
* @see [no-explicit-any](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-explicit-any.md)
* @see [no-explicit-any](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-explicit-any.md)
*/
'@typescript-eslint/no-explicit-any': NoExplicitAnyRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type NoFloatingPromisesOption = {
export interface NoFloatingPromisesOption {
/**

@@ -24,3 +24,3 @@ * This allows you to stop the rule reporting promises consumed with void operator. This can be a good way to explicitly mark a promise as intentionally not awaited.

ignoreIIFE?: boolean;
};
}

@@ -39,3 +39,3 @@ /**

*
* @see [no-floating-promises](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-floating-promises.md)
* @see [no-floating-promises](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-floating-promises.md)
*/

@@ -51,3 +51,3 @@ export type NoFloatingPromisesRuleConfig = RuleConfig<NoFloatingPromisesOptions>;

*
* @see [no-floating-promises](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-floating-promises.md)
* @see [no-floating-promises](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-floating-promises.md)
*/

@@ -62,5 +62,5 @@ export interface NoFloatingPromisesRule {

*
* @see [no-floating-promises](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-floating-promises.md)
* @see [no-floating-promises](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-floating-promises.md)
*/
'@typescript-eslint/no-floating-promises': NoFloatingPromisesRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type NoInferrableTypesOption = {
export interface NoInferrableTypesOption {
/**

@@ -20,3 +20,3 @@ * @default false

ignoreProperties?: boolean;
};
}

@@ -31,3 +31,3 @@ /**

*
* @see [no-inferrable-types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-inferrable-types.md)
* @see [no-inferrable-types](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-inferrable-types.md)
*/

@@ -39,3 +39,3 @@ export type NoInferrableTypesRuleConfig = RuleConfig<NoInferrableTypesOptions>;

*
* @see [no-inferrable-types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-inferrable-types.md)
* @see [no-inferrable-types](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-inferrable-types.md)
*/

@@ -46,5 +46,5 @@ export interface NoInferrableTypesRule {

*
* @see [no-inferrable-types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-inferrable-types.md)
* @see [no-inferrable-types](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-inferrable-types.md)
*/
'@typescript-eslint/no-inferrable-types': NoInferrableTypesRuleConfig;
}

@@ -6,8 +6,19 @@ import type { RuleConfig } from '../rule-config';

*/
export type NoParameterPropertiesOption = {
export interface NoParameterPropertiesOption {
/**
* @see [allows](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-parameter-properties.md#options)
*/
allows?: ['readonly', 'private', 'protected', 'public', 'private readonly', 'protected readonly', 'public readonly'];
};
allows?: [
'readonly' | 'private' | 'protected' | 'public' | 'private readonly' | 'protected readonly' | 'public readonly',
...(
| 'readonly'
| 'private'
| 'protected'
| 'public'
| 'private readonly'
| 'protected readonly'
| 'public readonly'
)[]
];
}

@@ -22,3 +33,3 @@ /**

*
* @see [no-parameter-properties](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-parameter-properties.md)
* @see [no-parameter-properties](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-parameter-properties.md)
*/

@@ -30,3 +41,3 @@ export type NoParameterPropertiesRuleConfig = RuleConfig<NoParameterPropertiesOptions>;

*
* @see [no-parameter-properties](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-parameter-properties.md)
* @see [no-parameter-properties](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-parameter-properties.md)
*/

@@ -37,5 +48,5 @@ export interface NoParameterPropertiesRule {

*
* @see [no-parameter-properties](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-parameter-properties.md)
* @see [no-parameter-properties](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-parameter-properties.md)
*/
'@typescript-eslint/no-parameter-properties': NoParameterPropertiesRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*
* @see [no-unsafe-assignment](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md)
* @see [no-unsafe-assignment](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md)
*/

@@ -14,3 +14,3 @@ export type NoUnsafeAssignmentRuleConfig = RuleConfig<[]>;

*
* @see [no-unsafe-assignment](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md)
* @see [no-unsafe-assignment](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md)
*/

@@ -21,5 +21,5 @@ export interface NoUnsafeAssignmentRule {

*
* @see [no-unsafe-assignment](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md)
* @see [no-unsafe-assignment](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md)
*/
'@typescript-eslint/no-unsafe-assignment': NoUnsafeAssignmentRuleConfig;
}

@@ -6,32 +6,34 @@ import type { RuleConfig } from '../rule-config';

*/
export type NoUnusedVarsOption = {
/**
* @see [vars](https://eslint.org/docs/rules/no-unused-vars#vars)
*/
vars?: 'all' | 'local';
/**
* @see [varsIgnorePattern](https://eslint.org/docs/rules/no-unused-vars#varsignorepattern)
*/
varsIgnorePattern?: string;
/**
* @see [ignoreRestSiblings](https://eslint.org/docs/rules/no-unused-vars#ignorerestsiblings)
*/
ignoreRestSiblings?: boolean;
/**
* @see [args](https://eslint.org/docs/rules/no-unused-vars#args)
*/
args?: 'after-used' | 'all' | 'none';
/**
* @see [argsIgnorePattern](https://eslint.org/docs/rules/no-unused-vars#argsignorepattern)
*/
argsIgnorePattern?: string;
/**
* @see [caughtErrors](https://eslint.org/docs/rules/no-unused-vars#caughterrors)
*/
caughtErrors?: 'all' | 'none';
/**
* @see [caughtErrorsIgnorePattern](https://eslint.org/docs/rules/no-unused-vars#caughterrorsignorepattern)
*/
caughtErrorsIgnorePattern?: string;
};
export type NoUnusedVarsOption =
| ('all' | 'local')
| {
/**
* @see [vars](https://eslint.org/docs/rules/no-unused-vars#vars)
*/
vars?: 'all' | 'local';
/**
* @see [varsIgnorePattern](https://eslint.org/docs/rules/no-unused-vars#varsignorepattern)
*/
varsIgnorePattern?: string;
/**
* @see [args](https://eslint.org/docs/rules/no-unused-vars#args)
*/
args?: 'all' | 'after-used' | 'none';
/**
* @see [ignoreRestSiblings](https://eslint.org/docs/rules/no-unused-vars#ignorerestsiblings)
*/
ignoreRestSiblings?: boolean;
/**
* @see [argsIgnorePattern](https://eslint.org/docs/rules/no-unused-vars#argsignorepattern)
*/
argsIgnorePattern?: string;
/**
* @see [caughtErrors](https://eslint.org/docs/rules/no-unused-vars#caughterrors)
*/
caughtErrors?: 'all' | 'none';
/**
* @see [caughtErrorsIgnorePattern](https://eslint.org/docs/rules/no-unused-vars#caughterrorsignorepattern)
*/
caughtErrorsIgnorePattern?: string;
};

@@ -46,3 +48,3 @@ /**

*
* @see [no-unused-vars](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unused-vars.md)
* @see [no-unused-vars](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-unused-vars.md)
*/

@@ -54,3 +56,3 @@ export type NoUnusedVarsRuleConfig = RuleConfig<NoUnusedVarsOptions>;

*
* @see [no-unused-vars](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unused-vars.md)
* @see [no-unused-vars](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-unused-vars.md)
*/

@@ -61,5 +63,5 @@ export interface NoUnusedVarsRule {

*
* @see [no-unused-vars](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unused-vars.md)
* @see [no-unused-vars](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/no-unused-vars.md)
*/
'@typescript-eslint/no-unused-vars': NoUnusedVarsRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type PreferNullishCoalescingOption = {
export interface PreferNullishCoalescingOption {
/**

@@ -24,3 +24,4 @@ * Setting this option to `true` (the default) will cause the rule to ignore any cases that are located within a conditional test.

ignoreMixedLogicalExpressions?: boolean;
};
forceSuggestionFixer?: boolean;
}

@@ -35,3 +36,3 @@ /**

*
* @see [prefer-nullish-coalescing](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md)
* @see [prefer-nullish-coalescing](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md)
*/

@@ -43,3 +44,3 @@ export type PreferNullishCoalescingRuleConfig = RuleConfig<PreferNullishCoalescingOptions>;

*
* @see [prefer-nullish-coalescing](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md)
* @see [prefer-nullish-coalescing](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md)
*/

@@ -50,5 +51,5 @@ export interface PreferNullishCoalescingRule {

*
* @see [prefer-nullish-coalescing](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md)
* @see [prefer-nullish-coalescing](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md)
*/
'@typescript-eslint/prefer-nullish-coalescing': PreferNullishCoalescingRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*
* @see [prefer-optional-chain](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-optional-chain.md)
* @see [prefer-optional-chain](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/prefer-optional-chain.md)
*/

@@ -14,3 +14,3 @@ export type PreferOptionalChainRuleConfig = RuleConfig<[]>;

*
* @see [prefer-optional-chain](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-optional-chain.md)
* @see [prefer-optional-chain](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/prefer-optional-chain.md)
*/

@@ -21,5 +21,5 @@ export interface PreferOptionalChainRule {

*
* @see [prefer-optional-chain](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-optional-chain.md)
* @see [prefer-optional-chain](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/prefer-optional-chain.md)
*/
'@typescript-eslint/prefer-optional-chain': PreferOptionalChainRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type PreferReadonlyOption = {
export interface PreferReadonlyOption {
/**

@@ -14,3 +14,4 @@ * You may pass `"onlyInlineLambdas": true` as a rule option within an object to restrict checking only to members immediately assigned a lambda value.

onlyInlineLambdas?: boolean;
};
[k: string]: any;
}

@@ -25,3 +26,3 @@ /**

*
* @see [prefer-readonly](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-readonly.md)
* @see [prefer-readonly](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/prefer-readonly.md)
*/

@@ -33,3 +34,3 @@ export type PreferReadonlyRuleConfig = RuleConfig<PreferReadonlyOptions>;

*
* @see [prefer-readonly](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-readonly.md)
* @see [prefer-readonly](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/prefer-readonly.md)
*/

@@ -40,5 +41,5 @@ export interface PreferReadonlyRule {

*
* @see [prefer-readonly](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-readonly.md)
* @see [prefer-readonly](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/prefer-readonly.md)
*/
'@typescript-eslint/prefer-readonly': PreferReadonlyRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type RestrictTemplateExpressionsOption = {
export interface RestrictTemplateExpressionsOption {
/**

@@ -40,3 +40,5 @@ * If `true`, also allow number type in template expressions.

allowNullish?: boolean;
};
allowRegExp?: boolean;
[k: string]: any;
}

@@ -51,3 +53,3 @@ /**

*
* @see [restrict-template-expressions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/restrict-template-expressions.md)
* @see [restrict-template-expressions](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/restrict-template-expressions.md)
*/

@@ -59,3 +61,3 @@ export type RestrictTemplateExpressionsRuleConfig = RuleConfig<RestrictTemplateExpressionsOptions>;

*
* @see [restrict-template-expressions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/restrict-template-expressions.md)
* @see [restrict-template-expressions](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/restrict-template-expressions.md)
*/

@@ -66,5 +68,5 @@ export interface RestrictTemplateExpressionsRule {

*
* @see [restrict-template-expressions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/restrict-template-expressions.md)
* @see [restrict-template-expressions](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/restrict-template-expressions.md)
*/
'@typescript-eslint/restrict-template-expressions': RestrictTemplateExpressionsRuleConfig;
}

@@ -7,3 +7,3 @@ import type { SemiOptions } from '../eslint/semi';

*
* @see [semi](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/semi.md)
* @see [semi](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/semi.md)
*/

@@ -15,3 +15,3 @@ export type SemiRuleConfig = RuleConfig<SemiOptions>;

*
* @see [semi](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/semi.md)
* @see [semi](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/semi.md)
*/

@@ -22,5 +22,5 @@ export interface SemiRule {

*
* @see [semi](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/semi.md)
* @see [semi](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/semi.md)
*/
'@typescript-eslint/semi': SemiRuleConfig;
}

@@ -6,3 +6,3 @@ import type { RuleConfig } from '../rule-config';

*/
export type TypedefOption = {
export interface TypedefOption {
/**

@@ -72,3 +72,4 @@ * Whether to enforce type annotations on variables declared using array destructuring.

variableDeclarationIgnoreFunction?: boolean;
};
[k: string]: any;
}

@@ -83,3 +84,3 @@ /**

*
* @see [typedef](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/typedef.md)
* @see [typedef](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/typedef.md)
*/

@@ -91,3 +92,3 @@ export type TypedefRuleConfig = RuleConfig<TypedefOptions>;

*
* @see [typedef](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/typedef.md)
* @see [typedef](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/typedef.md)
*/

@@ -98,5 +99,5 @@ export interface TypedefRule {

*
* @see [typedef](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/typedef.md)
* @see [typedef](https://github.com/typescript-eslint/typescript-eslint/blob/v4.31.2/packages/eslint-plugin/docs/rules/typedef.md)
*/
'@typescript-eslint/typedef': TypedefRuleConfig;
}
{
"compilerOptions": {
"target": "ES2015",
"moduleResolution": "Node",
"rootDir": ".",

@@ -4,0 +6,0 @@ "strict": true,

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc