eslint-flat-config-airbnb
Version:
A mostly reasonable approach to JavaScript and React using Airbnb's ESLint config, updated for ESLint 9+
152 lines (151 loc) • 4.91 kB
TypeScript
export default bestPractices;
declare namespace bestPractices {
let plugins: {
'@stylistic': {
rules: import("@stylistic/eslint-plugin").Rules;
configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
};
};
let rules: {
'accessor-pairs': string;
'array-callback-return': (string | {
allowImplicit: boolean;
})[];
'block-scoped-var': string;
complexity: (string | number)[];
'class-methods-use-this': (string | {
exceptMethods: never[];
})[];
'consistent-return': string;
curly: string[];
'default-case': (string | {
commentPattern: string;
})[];
'default-case-last': string;
'default-param-last': string;
'dot-notation': (string | {
allowKeywords: boolean;
})[];
'@stylistic/dot-location': string[];
eqeqeq: (string | {
null: string;
})[];
'grouped-accessor-pairs': string;
'guard-for-in': string;
'max-classes-per-file': (string | number)[];
'no-alert': string;
'no-caller': string;
'no-case-declarations': string;
'no-constructor-return': string;
'no-div-regex': string;
'no-else-return': (string | {
allowElseIf: boolean;
})[];
'no-empty-function': (string | {
allow: string[];
})[];
'no-empty-pattern': string;
'no-empty-static-block': string;
'no-eq-null': string;
'no-eval': string;
'no-extend-native': string;
'no-extra-bind': string;
'no-extra-label': string;
'no-fallthrough': string;
'@stylistic/no-floating-decimal': string;
'no-global-assign': (string | {
exceptions: never[];
})[];
'@stylistic/no-native-reassign': string;
'no-implicit-coercion': (string | {
boolean: boolean;
number: boolean;
string: boolean;
allow: never[];
})[];
'no-implicit-globals': string;
'no-implied-eval': string;
'no-invalid-this': string;
'no-iterator': string;
'no-labels': (string | {
allowLoop: boolean;
allowSwitch: boolean;
})[];
'no-lone-blocks': string;
'no-loop-func': string;
'no-magic-numbers': (string | {
ignore: never[];
ignoreArrayIndexes: boolean;
enforceConst: boolean;
detectObjects: boolean;
})[];
'@stylistic/no-multi-spaces': (string | {
ignoreEOLComments: boolean;
})[];
'no-multi-str': string;
'no-new': string;
'no-new-func': string;
'no-new-wrappers': string;
'no-nonoctal-decimal-escape': string;
'no-object-constructor': string;
'no-octal': string;
'no-octal-escape': string;
'no-param-reassign': (string | {
props: boolean;
ignorePropertyModificationsFor: string[];
})[];
'no-proto': string;
'no-redeclare': string;
'no-restricted-properties': (string | {
object: string;
property: string;
message: string;
} | {
property: string;
message: string;
object?: undefined;
})[];
'no-return-assign': string[];
'no-script-url': string;
'no-self-assign': (string | {
props: boolean;
})[];
'no-self-compare': string;
'no-sequences': string;
'no-throw-literal': string;
'no-unmodified-loop-condition': string;
'no-unused-expressions': (string | {
allowShortCircuit: boolean;
allowTernary: boolean;
allowTaggedTemplates: boolean;
})[];
'no-unused-labels': string;
'no-useless-call': string;
'no-useless-catch': string;
'no-useless-concat': string;
'no-useless-escape': string;
'no-useless-return': string;
'no-void': string;
'no-warning-comments': (string | {
terms: string[];
location: string;
})[];
'no-with': string;
'prefer-promise-reject-errors': (string | {
allowEmptyReject: boolean;
})[];
'prefer-named-capture-group': string;
'prefer-object-has-own': string;
'prefer-regex-literals': (string | {
disallowRedundantWrapping: boolean;
})[];
radix: string;
'require-await': string;
'require-unicode-regexp': string;
'vars-on-top': string;
'@stylistic/wrap-iife': (string | {
functionPrototypeMethods: boolean;
})[];
yoda: string;
};
}