@kazupon/eslint-config 0.27.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,12 @@
1
1
  import { FlatConfigComposer } from 'eslint-flat-config-utils';
2
2
  import { Awaitable } from '@kazupon/jts-utils/types';
3
3
  import { Linter, ESLint } from 'eslint';
4
+ import { StylisticCustomizeOptions } from '@stylistic/eslint-plugin';
5
+
6
+ /**
7
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
8
+ * @license MIT
9
+ */
4
10
 
5
11
  /**
6
12
  * define eslint configurations
@@ -9,6 +15,11 @@ import { Linter, ESLint } from 'eslint';
9
15
  */
10
16
  declare function defineConfig(...configs: Awaitable<Linter.Config | Linter.Config[]>[]): FlatConfigComposer;
11
17
 
18
+ /**
19
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
20
+ * @license MIT
21
+ */
22
+
12
23
  interface OverridesOptions<Rules = Linter.Config['rules']> {
13
24
  files?: Linter.Config['files'];
14
25
  ignores?: Linter.Config['ignores'];
@@ -63,6 +74,11 @@ interface CommentsRules {
63
74
  * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
64
75
  */
65
76
  '@eslint-community/eslint-comments/require-description'?: Linter.RuleEntry<EslintCommunityEslintCommentsRequireDescription>;
77
+ /**
78
+ * Enforce heading the comment in source code file
79
+ * @see https://eslint-plugin.kazupon.dev/rules/enforce-header-comment
80
+ */
81
+ '@kazupon/enforce-header-comment'?: Linter.RuleEntry<[]>;
66
82
  }
67
83
  type EslintCommunityEslintCommentsDisableEnablePair = [] | [
68
84
  {
@@ -6851,103 +6867,1823 @@ type RegexpNoMisleadingUnicodeCharacter = [] | [
6851
6867
  fixable?: boolean;
6852
6868
  }
6853
6869
  ];
6854
- type RegexpNoMissingGFlag = [] | [
6855
- {
6856
- strictTypes?: boolean;
6857
- }
6870
+ type RegexpNoMissingGFlag = [] | [
6871
+ {
6872
+ strictTypes?: boolean;
6873
+ }
6874
+ ];
6875
+ type RegexpNoObscureRange = [] | [
6876
+ {
6877
+ allowed?: (("all" | "alphanumeric") | [("all" | "alphanumeric")] | [("alphanumeric" | string), ...(("alphanumeric" | string))[]]);
6878
+ }
6879
+ ];
6880
+ type RegexpNoSuperLinearBacktracking = [] | [
6881
+ {
6882
+ report?: ("certain" | "potential");
6883
+ }
6884
+ ];
6885
+ type RegexpNoSuperLinearMove = [] | [
6886
+ {
6887
+ report?: ("certain" | "potential");
6888
+ ignoreSticky?: boolean;
6889
+ ignorePartial?: boolean;
6890
+ }
6891
+ ];
6892
+ type RegexpNoUnusedCapturingGroup = [] | [
6893
+ {
6894
+ fixable?: boolean;
6895
+ allowNamed?: boolean;
6896
+ }
6897
+ ];
6898
+ type RegexpNoUselessCharacterClass = [] | [
6899
+ {
6900
+ ignores?: string[];
6901
+ }
6902
+ ];
6903
+ type RegexpNoUselessFlag = [] | [
6904
+ {
6905
+ ignore?: ("i" | "m" | "s" | "g" | "y")[];
6906
+ strictTypes?: boolean;
6907
+ }
6908
+ ];
6909
+ type RegexpNoUselessNonCapturingGroup = [] | [
6910
+ {
6911
+ allowTop?: (boolean | ("always" | "never" | "partial"));
6912
+ }
6913
+ ];
6914
+ type RegexpOptimalQuantifierConcatenation = [] | [
6915
+ {
6916
+ capturingGroups?: ("ignore" | "report");
6917
+ }
6918
+ ];
6919
+ type RegexpPreferCharacterClass = [] | [
6920
+ {
6921
+ minAlternatives?: number;
6922
+ }
6923
+ ];
6924
+ type RegexpPreferD = [] | [
6925
+ {
6926
+ insideCharacterClass?: ("ignore" | "range" | "d");
6927
+ }
6928
+ ];
6929
+ type RegexpPreferLookaround = [] | [
6930
+ {
6931
+ lookbehind?: boolean;
6932
+ strictTypes?: boolean;
6933
+ }
6934
+ ];
6935
+ type RegexpPreferNamedReplacement = [] | [
6936
+ {
6937
+ strictTypes?: boolean;
6938
+ }
6939
+ ];
6940
+ type RegexpPreferRange = [] | [
6941
+ {
6942
+ target?: (("all" | "alphanumeric") | [("all" | "alphanumeric")] | [("alphanumeric" | string), ...(("alphanumeric" | string))[]]);
6943
+ }
6944
+ ];
6945
+ type RegexpPreferResultArrayGroups = [] | [
6946
+ {
6947
+ strictTypes?: boolean;
6948
+ }
6949
+ ];
6950
+ type RegexpSortCharacterClassElements = [] | [
6951
+ {
6952
+ order?: ("\\s" | "\\w" | "\\d" | "\\p" | "*" | "\\q" | "[]")[];
6953
+ }
6954
+ ];
6955
+ type RegexpUnicodeEscape = [] | [("unicodeCodePointEscape" | "unicodeEscape")];
6956
+ type RegexpUnicodeProperty = [] | [
6957
+ {
6958
+ generalCategory?: ("always" | "never" | "ignore");
6959
+ key?: ("short" | "long" | "ignore");
6960
+ property?: (("short" | "long" | "ignore") | {
6961
+ binary?: ("short" | "long" | "ignore");
6962
+ generalCategory?: ("short" | "long" | "ignore");
6963
+ script?: ("short" | "long" | "ignore");
6964
+ });
6965
+ }
6966
+ ];
6967
+
6968
+ interface StylisticRules {
6969
+ /**
6970
+ * Enforce linebreaks after opening and before closing array brackets
6971
+ * @see https://eslint.style/rules/js/array-bracket-newline
6972
+ */
6973
+ '@stylistic/array-bracket-newline'?: Linter.RuleEntry<StylisticArrayBracketNewline>;
6974
+ /**
6975
+ * Enforce consistent spacing inside array brackets
6976
+ * @see https://eslint.style/rules/js/array-bracket-spacing
6977
+ */
6978
+ '@stylistic/array-bracket-spacing'?: Linter.RuleEntry<StylisticArrayBracketSpacing>;
6979
+ /**
6980
+ * Enforce line breaks after each array element
6981
+ * @see https://eslint.style/rules/js/array-element-newline
6982
+ */
6983
+ '@stylistic/array-element-newline'?: Linter.RuleEntry<StylisticArrayElementNewline>;
6984
+ /**
6985
+ * Require parentheses around arrow function arguments
6986
+ * @see https://eslint.style/rules/js/arrow-parens
6987
+ */
6988
+ '@stylistic/arrow-parens'?: Linter.RuleEntry<StylisticArrowParens>;
6989
+ /**
6990
+ * Enforce consistent spacing before and after the arrow in arrow functions
6991
+ * @see https://eslint.style/rules/js/arrow-spacing
6992
+ */
6993
+ '@stylistic/arrow-spacing'?: Linter.RuleEntry<StylisticArrowSpacing>;
6994
+ /**
6995
+ * Disallow or enforce spaces inside of blocks after opening block and before closing block
6996
+ * @see https://eslint.style/rules/ts/block-spacing
6997
+ */
6998
+ '@stylistic/block-spacing'?: Linter.RuleEntry<StylisticBlockSpacing>;
6999
+ /**
7000
+ * Enforce consistent brace style for blocks
7001
+ * @see https://eslint.style/rules/ts/brace-style
7002
+ */
7003
+ '@stylistic/brace-style'?: Linter.RuleEntry<StylisticBraceStyle>;
7004
+ /**
7005
+ * Require or disallow trailing commas
7006
+ * @see https://eslint.style/rules/ts/comma-dangle
7007
+ */
7008
+ '@stylistic/comma-dangle'?: Linter.RuleEntry<StylisticCommaDangle>;
7009
+ /**
7010
+ * Enforce consistent spacing before and after commas
7011
+ * @see https://eslint.style/rules/ts/comma-spacing
7012
+ */
7013
+ '@stylistic/comma-spacing'?: Linter.RuleEntry<StylisticCommaSpacing>;
7014
+ /**
7015
+ * Enforce consistent comma style
7016
+ * @see https://eslint.style/rules/js/comma-style
7017
+ */
7018
+ '@stylistic/comma-style'?: Linter.RuleEntry<StylisticCommaStyle>;
7019
+ /**
7020
+ * Enforce consistent spacing inside computed property brackets
7021
+ * @see https://eslint.style/rules/js/computed-property-spacing
7022
+ */
7023
+ '@stylistic/computed-property-spacing'?: Linter.RuleEntry<StylisticComputedPropertySpacing>;
7024
+ /**
7025
+ * Enforce consistent line breaks after opening and before closing braces
7026
+ * @see https://eslint.style/rules/plus/curly-newline
7027
+ */
7028
+ '@stylistic/curly-newline'?: Linter.RuleEntry<StylisticCurlyNewline>;
7029
+ /**
7030
+ * Enforce consistent newlines before and after dots
7031
+ * @see https://eslint.style/rules/js/dot-location
7032
+ */
7033
+ '@stylistic/dot-location'?: Linter.RuleEntry<StylisticDotLocation>;
7034
+ /**
7035
+ * Require or disallow newline at the end of files
7036
+ * @see https://eslint.style/rules/js/eol-last
7037
+ */
7038
+ '@stylistic/eol-last'?: Linter.RuleEntry<StylisticEolLast>;
7039
+ /**
7040
+ * Require or disallow spacing between function identifiers and their invocations
7041
+ * @see https://eslint.style/rules/ts/function-call-spacing
7042
+ */
7043
+ '@stylistic/func-call-spacing'?: Linter.RuleEntry<StylisticFuncCallSpacing>;
7044
+ /**
7045
+ * Enforce line breaks between arguments of a function call
7046
+ * @see https://eslint.style/rules/js/function-call-argument-newline
7047
+ */
7048
+ '@stylistic/function-call-argument-newline'?: Linter.RuleEntry<StylisticFunctionCallArgumentNewline>;
7049
+ /**
7050
+ * Require or disallow spacing between function identifiers and their invocations
7051
+ * @see https://eslint.style/rules/ts/function-call-spacing
7052
+ */
7053
+ '@stylistic/function-call-spacing'?: Linter.RuleEntry<StylisticFunctionCallSpacing>;
7054
+ /**
7055
+ * Enforce consistent line breaks inside function parentheses
7056
+ * @see https://eslint.style/rules/js/function-paren-newline
7057
+ */
7058
+ '@stylistic/function-paren-newline'?: Linter.RuleEntry<StylisticFunctionParenNewline>;
7059
+ /**
7060
+ * Enforce consistent spacing around `*` operators in generator functions
7061
+ * @see https://eslint.style/rules/js/generator-star-spacing
7062
+ */
7063
+ '@stylistic/generator-star-spacing'?: Linter.RuleEntry<StylisticGeneratorStarSpacing>;
7064
+ /**
7065
+ * Enforce the location of arrow function bodies
7066
+ * @see https://eslint.style/rules/js/implicit-arrow-linebreak
7067
+ */
7068
+ '@stylistic/implicit-arrow-linebreak'?: Linter.RuleEntry<StylisticImplicitArrowLinebreak>;
7069
+ /**
7070
+ * Enforce consistent indentation
7071
+ * @see https://eslint.style/rules/ts/indent
7072
+ */
7073
+ '@stylistic/indent'?: Linter.RuleEntry<StylisticIndent>;
7074
+ /**
7075
+ * Indentation for binary operators
7076
+ * @see https://eslint.style/rules/plus/indent-binary-ops
7077
+ */
7078
+ '@stylistic/indent-binary-ops'?: Linter.RuleEntry<StylisticIndentBinaryOps>;
7079
+ /**
7080
+ * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
7081
+ * @see https://eslint.style/rules/jsx/jsx-child-element-spacing
7082
+ */
7083
+ '@stylistic/jsx-child-element-spacing'?: Linter.RuleEntry<[]>;
7084
+ /**
7085
+ * Enforce closing bracket location in JSX
7086
+ * @see https://eslint.style/rules/jsx/jsx-closing-bracket-location
7087
+ */
7088
+ '@stylistic/jsx-closing-bracket-location'?: Linter.RuleEntry<StylisticJsxClosingBracketLocation>;
7089
+ /**
7090
+ * Enforce closing tag location for multiline JSX
7091
+ * @see https://eslint.style/rules/jsx/jsx-closing-tag-location
7092
+ */
7093
+ '@stylistic/jsx-closing-tag-location'?: Linter.RuleEntry<StylisticJsxClosingTagLocation>;
7094
+ /**
7095
+ * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
7096
+ * @see https://eslint.style/rules/jsx/jsx-curly-brace-presence
7097
+ */
7098
+ '@stylistic/jsx-curly-brace-presence'?: Linter.RuleEntry<StylisticJsxCurlyBracePresence>;
7099
+ /**
7100
+ * Enforce consistent linebreaks in curly braces in JSX attributes and expressions
7101
+ * @see https://eslint.style/rules/jsx/jsx-curly-newline
7102
+ */
7103
+ '@stylistic/jsx-curly-newline'?: Linter.RuleEntry<StylisticJsxCurlyNewline>;
7104
+ /**
7105
+ * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
7106
+ * @see https://eslint.style/rules/jsx/jsx-curly-spacing
7107
+ */
7108
+ '@stylistic/jsx-curly-spacing'?: Linter.RuleEntry<StylisticJsxCurlySpacing>;
7109
+ /**
7110
+ * Enforce or disallow spaces around equal signs in JSX attributes
7111
+ * @see https://eslint.style/rules/jsx/jsx-equals-spacing
7112
+ */
7113
+ '@stylistic/jsx-equals-spacing'?: Linter.RuleEntry<StylisticJsxEqualsSpacing>;
7114
+ /**
7115
+ * Enforce proper position of the first property in JSX
7116
+ * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
7117
+ */
7118
+ '@stylistic/jsx-first-prop-new-line'?: Linter.RuleEntry<StylisticJsxFirstPropNewLine>;
7119
+ /**
7120
+ * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
7121
+ * @see https://eslint.style/rules/jsx/jsx-function-call-newline
7122
+ */
7123
+ '@stylistic/jsx-function-call-newline'?: Linter.RuleEntry<StylisticJsxFunctionCallNewline>;
7124
+ /**
7125
+ * Enforce JSX indentation. Deprecated, use `indent` rule instead.
7126
+ * @see https://eslint.style/rules/jsx/jsx-indent
7127
+ * @deprecated
7128
+ */
7129
+ '@stylistic/jsx-indent'?: Linter.RuleEntry<StylisticJsxIndent>;
7130
+ /**
7131
+ * Enforce props indentation in JSX
7132
+ * @see https://eslint.style/rules/jsx/jsx-indent-props
7133
+ */
7134
+ '@stylistic/jsx-indent-props'?: Linter.RuleEntry<StylisticJsxIndentProps>;
7135
+ /**
7136
+ * Enforce maximum of props on a single line in JSX
7137
+ * @see https://eslint.style/rules/jsx/jsx-max-props-per-line
7138
+ */
7139
+ '@stylistic/jsx-max-props-per-line'?: Linter.RuleEntry<StylisticJsxMaxPropsPerLine>;
7140
+ /**
7141
+ * Require or prevent a new line after jsx elements and expressions.
7142
+ * @see https://eslint.style/rules/jsx/jsx-newline
7143
+ */
7144
+ '@stylistic/jsx-newline'?: Linter.RuleEntry<StylisticJsxNewline>;
7145
+ /**
7146
+ * Require one JSX element per line
7147
+ * @see https://eslint.style/rules/jsx/jsx-one-expression-per-line
7148
+ */
7149
+ '@stylistic/jsx-one-expression-per-line'?: Linter.RuleEntry<StylisticJsxOneExpressionPerLine>;
7150
+ /**
7151
+ * Enforce PascalCase for user-defined JSX components
7152
+ * @see https://eslint.style/rules/jsx/jsx-pascal-case
7153
+ */
7154
+ '@stylistic/jsx-pascal-case'?: Linter.RuleEntry<StylisticJsxPascalCase>;
7155
+ /**
7156
+ * Disallow multiple spaces between inline JSX props
7157
+ * @see https://eslint.style/rules/jsx/jsx-props-no-multi-spaces
7158
+ */
7159
+ '@stylistic/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>;
7160
+ /**
7161
+ * Enforce the consistent use of either double or single quotes in JSX attributes
7162
+ * @see https://eslint.style/rules/js/jsx-quotes
7163
+ */
7164
+ '@stylistic/jsx-quotes'?: Linter.RuleEntry<StylisticJsxQuotes>;
7165
+ /**
7166
+ * Disallow extra closing tags for components without children
7167
+ * @see https://eslint.style/rules/jsx/jsx-self-closing-comp
7168
+ */
7169
+ '@stylistic/jsx-self-closing-comp'?: Linter.RuleEntry<StylisticJsxSelfClosingComp>;
7170
+ /**
7171
+ * Enforce props alphabetical sorting
7172
+ * @see https://eslint.style/rules/jsx/jsx-sort-props
7173
+ */
7174
+ '@stylistic/jsx-sort-props'?: Linter.RuleEntry<StylisticJsxSortProps>;
7175
+ /**
7176
+ * Enforce whitespace in and around the JSX opening and closing brackets
7177
+ * @see https://eslint.style/rules/jsx/jsx-tag-spacing
7178
+ */
7179
+ '@stylistic/jsx-tag-spacing'?: Linter.RuleEntry<StylisticJsxTagSpacing>;
7180
+ /**
7181
+ * Disallow missing parentheses around multiline JSX
7182
+ * @see https://eslint.style/rules/jsx/jsx-wrap-multilines
7183
+ */
7184
+ '@stylistic/jsx-wrap-multilines'?: Linter.RuleEntry<StylisticJsxWrapMultilines>;
7185
+ /**
7186
+ * Enforce consistent spacing between property names and type annotations in types and interfaces
7187
+ * @see https://eslint.style/rules/ts/key-spacing
7188
+ */
7189
+ '@stylistic/key-spacing'?: Linter.RuleEntry<StylisticKeySpacing>;
7190
+ /**
7191
+ * Enforce consistent spacing before and after keywords
7192
+ * @see https://eslint.style/rules/ts/keyword-spacing
7193
+ */
7194
+ '@stylistic/keyword-spacing'?: Linter.RuleEntry<StylisticKeywordSpacing>;
7195
+ /**
7196
+ * Enforce position of line comments
7197
+ * @see https://eslint.style/rules/js/line-comment-position
7198
+ */
7199
+ '@stylistic/line-comment-position'?: Linter.RuleEntry<StylisticLineCommentPosition>;
7200
+ /**
7201
+ * Enforce consistent linebreak style
7202
+ * @see https://eslint.style/rules/js/linebreak-style
7203
+ */
7204
+ '@stylistic/linebreak-style'?: Linter.RuleEntry<StylisticLinebreakStyle>;
7205
+ /**
7206
+ * Require empty lines around comments
7207
+ * @see https://eslint.style/rules/ts/lines-around-comment
7208
+ */
7209
+ '@stylistic/lines-around-comment'?: Linter.RuleEntry<StylisticLinesAroundComment>;
7210
+ /**
7211
+ * Require or disallow an empty line between class members
7212
+ * @see https://eslint.style/rules/ts/lines-between-class-members
7213
+ */
7214
+ '@stylistic/lines-between-class-members'?: Linter.RuleEntry<StylisticLinesBetweenClassMembers>;
7215
+ /**
7216
+ * Enforce a maximum line length
7217
+ * @see https://eslint.style/rules/js/max-len
7218
+ */
7219
+ '@stylistic/max-len'?: Linter.RuleEntry<StylisticMaxLen>;
7220
+ /**
7221
+ * Enforce a maximum number of statements allowed per line
7222
+ * @see https://eslint.style/rules/js/max-statements-per-line
7223
+ */
7224
+ '@stylistic/max-statements-per-line'?: Linter.RuleEntry<StylisticMaxStatementsPerLine>;
7225
+ /**
7226
+ * Require a specific member delimiter style for interfaces and type literals
7227
+ * @see https://eslint.style/rules/ts/member-delimiter-style
7228
+ */
7229
+ '@stylistic/member-delimiter-style'?: Linter.RuleEntry<StylisticMemberDelimiterStyle>;
7230
+ /**
7231
+ * Enforce a particular style for multiline comments
7232
+ * @see https://eslint.style/rules/js/multiline-comment-style
7233
+ */
7234
+ '@stylistic/multiline-comment-style'?: Linter.RuleEntry<StylisticMultilineCommentStyle>;
7235
+ /**
7236
+ * Enforce newlines between operands of ternary expressions
7237
+ * @see https://eslint.style/rules/js/multiline-ternary
7238
+ */
7239
+ '@stylistic/multiline-ternary'?: Linter.RuleEntry<StylisticMultilineTernary>;
7240
+ /**
7241
+ * Enforce or disallow parentheses when invoking a constructor with no arguments
7242
+ * @see https://eslint.style/rules/js/new-parens
7243
+ */
7244
+ '@stylistic/new-parens'?: Linter.RuleEntry<StylisticNewParens>;
7245
+ /**
7246
+ * Require a newline after each call in a method chain
7247
+ * @see https://eslint.style/rules/js/newline-per-chained-call
7248
+ */
7249
+ '@stylistic/newline-per-chained-call'?: Linter.RuleEntry<StylisticNewlinePerChainedCall>;
7250
+ /**
7251
+ * Disallow arrow functions where they could be confused with comparisons
7252
+ * @see https://eslint.style/rules/js/no-confusing-arrow
7253
+ */
7254
+ '@stylistic/no-confusing-arrow'?: Linter.RuleEntry<StylisticNoConfusingArrow>;
7255
+ /**
7256
+ * Disallow unnecessary parentheses
7257
+ * @see https://eslint.style/rules/ts/no-extra-parens
7258
+ */
7259
+ '@stylistic/no-extra-parens'?: Linter.RuleEntry<StylisticNoExtraParens>;
7260
+ /**
7261
+ * Disallow unnecessary semicolons
7262
+ * @see https://eslint.style/rules/ts/no-extra-semi
7263
+ */
7264
+ '@stylistic/no-extra-semi'?: Linter.RuleEntry<[]>;
7265
+ /**
7266
+ * Disallow leading or trailing decimal points in numeric literals
7267
+ * @see https://eslint.style/rules/js/no-floating-decimal
7268
+ */
7269
+ '@stylistic/no-floating-decimal'?: Linter.RuleEntry<[]>;
7270
+ /**
7271
+ * Disallow mixed binary operators
7272
+ * @see https://eslint.style/rules/js/no-mixed-operators
7273
+ */
7274
+ '@stylistic/no-mixed-operators'?: Linter.RuleEntry<StylisticNoMixedOperators>;
7275
+ /**
7276
+ * Disallow mixed spaces and tabs for indentation
7277
+ * @see https://eslint.style/rules/js/no-mixed-spaces-and-tabs
7278
+ */
7279
+ '@stylistic/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StylisticNoMixedSpacesAndTabs>;
7280
+ /**
7281
+ * Disallow multiple spaces
7282
+ * @see https://eslint.style/rules/js/no-multi-spaces
7283
+ */
7284
+ '@stylistic/no-multi-spaces'?: Linter.RuleEntry<StylisticNoMultiSpaces>;
7285
+ /**
7286
+ * Disallow multiple empty lines
7287
+ * @see https://eslint.style/rules/js/no-multiple-empty-lines
7288
+ */
7289
+ '@stylistic/no-multiple-empty-lines'?: Linter.RuleEntry<StylisticNoMultipleEmptyLines>;
7290
+ /**
7291
+ * Disallow all tabs
7292
+ * @see https://eslint.style/rules/js/no-tabs
7293
+ */
7294
+ '@stylistic/no-tabs'?: Linter.RuleEntry<StylisticNoTabs>;
7295
+ /**
7296
+ * Disallow trailing whitespace at the end of lines
7297
+ * @see https://eslint.style/rules/js/no-trailing-spaces
7298
+ */
7299
+ '@stylistic/no-trailing-spaces'?: Linter.RuleEntry<StylisticNoTrailingSpaces>;
7300
+ /**
7301
+ * Disallow whitespace before properties
7302
+ * @see https://eslint.style/rules/js/no-whitespace-before-property
7303
+ */
7304
+ '@stylistic/no-whitespace-before-property'?: Linter.RuleEntry<[]>;
7305
+ /**
7306
+ * Enforce the location of single-line statements
7307
+ * @see https://eslint.style/rules/js/nonblock-statement-body-position
7308
+ */
7309
+ '@stylistic/nonblock-statement-body-position'?: Linter.RuleEntry<StylisticNonblockStatementBodyPosition>;
7310
+ /**
7311
+ * Enforce consistent line breaks after opening and before closing braces
7312
+ * @see https://eslint.style/rules/ts/object-curly-newline
7313
+ */
7314
+ '@stylistic/object-curly-newline'?: Linter.RuleEntry<StylisticObjectCurlyNewline>;
7315
+ /**
7316
+ * Enforce consistent spacing inside braces
7317
+ * @see https://eslint.style/rules/ts/object-curly-spacing
7318
+ */
7319
+ '@stylistic/object-curly-spacing'?: Linter.RuleEntry<StylisticObjectCurlySpacing>;
7320
+ /**
7321
+ * Enforce placing object properties on separate lines
7322
+ * @see https://eslint.style/rules/ts/object-property-newline
7323
+ */
7324
+ '@stylistic/object-property-newline'?: Linter.RuleEntry<StylisticObjectPropertyNewline>;
7325
+ /**
7326
+ * Require or disallow newlines around variable declarations
7327
+ * @see https://eslint.style/rules/js/one-var-declaration-per-line
7328
+ */
7329
+ '@stylistic/one-var-declaration-per-line'?: Linter.RuleEntry<StylisticOneVarDeclarationPerLine>;
7330
+ /**
7331
+ * Enforce consistent linebreak style for operators
7332
+ * @see https://eslint.style/rules/js/operator-linebreak
7333
+ */
7334
+ '@stylistic/operator-linebreak'?: Linter.RuleEntry<StylisticOperatorLinebreak>;
7335
+ /**
7336
+ * Require or disallow padding within blocks
7337
+ * @see https://eslint.style/rules/js/padded-blocks
7338
+ */
7339
+ '@stylistic/padded-blocks'?: Linter.RuleEntry<StylisticPaddedBlocks>;
7340
+ /**
7341
+ * Require or disallow padding lines between statements
7342
+ * @see https://eslint.style/rules/ts/padding-line-between-statements
7343
+ */
7344
+ '@stylistic/padding-line-between-statements'?: Linter.RuleEntry<StylisticPaddingLineBetweenStatements>;
7345
+ /**
7346
+ * Require quotes around object literal, type literal, interfaces and enums property names
7347
+ * @see https://eslint.style/rules/ts/quote-props
7348
+ */
7349
+ '@stylistic/quote-props'?: Linter.RuleEntry<StylisticQuoteProps>;
7350
+ /**
7351
+ * Enforce the consistent use of either backticks, double, or single quotes
7352
+ * @see https://eslint.style/rules/ts/quotes
7353
+ */
7354
+ '@stylistic/quotes'?: Linter.RuleEntry<StylisticQuotes>;
7355
+ /**
7356
+ * Enforce spacing between rest and spread operators and their expressions
7357
+ * @see https://eslint.style/rules/js/rest-spread-spacing
7358
+ */
7359
+ '@stylistic/rest-spread-spacing'?: Linter.RuleEntry<StylisticRestSpreadSpacing>;
7360
+ /**
7361
+ * Require or disallow semicolons instead of ASI
7362
+ * @see https://eslint.style/rules/ts/semi
7363
+ */
7364
+ '@stylistic/semi'?: Linter.RuleEntry<StylisticSemi>;
7365
+ /**
7366
+ * Enforce consistent spacing before and after semicolons
7367
+ * @see https://eslint.style/rules/ts/semi-spacing
7368
+ */
7369
+ '@stylistic/semi-spacing'?: Linter.RuleEntry<StylisticSemiSpacing>;
7370
+ /**
7371
+ * Enforce location of semicolons
7372
+ * @see https://eslint.style/rules/js/semi-style
7373
+ */
7374
+ '@stylistic/semi-style'?: Linter.RuleEntry<StylisticSemiStyle>;
7375
+ /**
7376
+ * Enforce consistent spacing before blocks
7377
+ * @see https://eslint.style/rules/ts/space-before-blocks
7378
+ */
7379
+ '@stylistic/space-before-blocks'?: Linter.RuleEntry<StylisticSpaceBeforeBlocks>;
7380
+ /**
7381
+ * Enforce consistent spacing before function parenthesis
7382
+ * @see https://eslint.style/rules/ts/space-before-function-paren
7383
+ */
7384
+ '@stylistic/space-before-function-paren'?: Linter.RuleEntry<StylisticSpaceBeforeFunctionParen>;
7385
+ /**
7386
+ * Enforce consistent spacing inside parentheses
7387
+ * @see https://eslint.style/rules/js/space-in-parens
7388
+ */
7389
+ '@stylistic/space-in-parens'?: Linter.RuleEntry<StylisticSpaceInParens>;
7390
+ /**
7391
+ * Require spacing around infix operators
7392
+ * @see https://eslint.style/rules/ts/space-infix-ops
7393
+ */
7394
+ '@stylistic/space-infix-ops'?: Linter.RuleEntry<StylisticSpaceInfixOps>;
7395
+ /**
7396
+ * Enforce consistent spacing before or after unary operators
7397
+ * @see https://eslint.style/rules/js/space-unary-ops
7398
+ */
7399
+ '@stylistic/space-unary-ops'?: Linter.RuleEntry<StylisticSpaceUnaryOps>;
7400
+ /**
7401
+ * Enforce consistent spacing after the `//` or `/*` in a comment
7402
+ * @see https://eslint.style/rules/js/spaced-comment
7403
+ */
7404
+ '@stylistic/spaced-comment'?: Linter.RuleEntry<StylisticSpacedComment>;
7405
+ /**
7406
+ * Enforce spacing around colons of switch statements
7407
+ * @see https://eslint.style/rules/js/switch-colon-spacing
7408
+ */
7409
+ '@stylistic/switch-colon-spacing'?: Linter.RuleEntry<StylisticSwitchColonSpacing>;
7410
+ /**
7411
+ * Require or disallow spacing around embedded expressions of template strings
7412
+ * @see https://eslint.style/rules/js/template-curly-spacing
7413
+ */
7414
+ '@stylistic/template-curly-spacing'?: Linter.RuleEntry<StylisticTemplateCurlySpacing>;
7415
+ /**
7416
+ * Require or disallow spacing between template tags and their literals
7417
+ * @see https://eslint.style/rules/js/template-tag-spacing
7418
+ */
7419
+ '@stylistic/template-tag-spacing'?: Linter.RuleEntry<StylisticTemplateTagSpacing>;
7420
+ /**
7421
+ * Require consistent spacing around type annotations
7422
+ * @see https://eslint.style/rules/ts/type-annotation-spacing
7423
+ */
7424
+ '@stylistic/type-annotation-spacing'?: Linter.RuleEntry<StylisticTypeAnnotationSpacing>;
7425
+ /**
7426
+ * Enforces consistent spacing inside TypeScript type generics
7427
+ * @see https://eslint.style/rules/plus/type-generic-spacing
7428
+ */
7429
+ '@stylistic/type-generic-spacing'?: Linter.RuleEntry<[]>;
7430
+ /**
7431
+ * Expect space before the type declaration in the named tuple
7432
+ * @see https://eslint.style/rules/plus/type-named-tuple-spacing
7433
+ */
7434
+ '@stylistic/type-named-tuple-spacing'?: Linter.RuleEntry<[]>;
7435
+ /**
7436
+ * Require parentheses around immediate `function` invocations
7437
+ * @see https://eslint.style/rules/js/wrap-iife
7438
+ */
7439
+ '@stylistic/wrap-iife'?: Linter.RuleEntry<StylisticWrapIife>;
7440
+ /**
7441
+ * Require parenthesis around regex literals
7442
+ * @see https://eslint.style/rules/js/wrap-regex
7443
+ */
7444
+ '@stylistic/wrap-regex'?: Linter.RuleEntry<[]>;
7445
+ /**
7446
+ * Require or disallow spacing around the `*` in `yield*` expressions
7447
+ * @see https://eslint.style/rules/js/yield-star-spacing
7448
+ */
7449
+ '@stylistic/yield-star-spacing'?: Linter.RuleEntry<StylisticYieldStarSpacing>;
7450
+ }
7451
+ type StylisticArrayBracketNewline = [] | [
7452
+ (("always" | "never" | "consistent") | {
7453
+ multiline?: boolean;
7454
+ minItems?: (number | null);
7455
+ })
7456
+ ];
7457
+ type StylisticArrayBracketSpacing = [] | [("always" | "never")] | [
7458
+ ("always" | "never"),
7459
+ {
7460
+ singleValue?: boolean;
7461
+ objectsInArrays?: boolean;
7462
+ arraysInArrays?: boolean;
7463
+ }
7464
+ ];
7465
+ type StylisticArrayElementNewline = [] | [
7466
+ (_StylisticArrayElementNewlineBasicConfig | {
7467
+ ArrayExpression?: _StylisticArrayElementNewlineBasicConfig;
7468
+ ArrayPattern?: _StylisticArrayElementNewlineBasicConfig;
7469
+ })
7470
+ ];
7471
+ type _StylisticArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
7472
+ consistent?: boolean;
7473
+ multiline?: boolean;
7474
+ minItems?: (number | null);
7475
+ });
7476
+ type StylisticArrowParens = [] | [("always" | "as-needed")] | [
7477
+ ("always" | "as-needed"),
7478
+ {
7479
+ requireForBlockBody?: boolean;
7480
+ }
7481
+ ];
7482
+ type StylisticArrowSpacing = [] | [
7483
+ {
7484
+ before?: boolean;
7485
+ after?: boolean;
7486
+ }
7487
+ ];
7488
+ type StylisticBlockSpacing = [] | [("always" | "never")];
7489
+ type StylisticBraceStyle = [] | [("1tbs" | "stroustrup" | "allman")] | [
7490
+ ("1tbs" | "stroustrup" | "allman"),
7491
+ {
7492
+ allowSingleLine?: boolean;
7493
+ }
7494
+ ];
7495
+ type StylisticCommaDangle = [] | [
7496
+ (_StylisticCommaDangleValue | {
7497
+ arrays?: _StylisticCommaDangleValueWithIgnore;
7498
+ objects?: _StylisticCommaDangleValueWithIgnore;
7499
+ imports?: _StylisticCommaDangleValueWithIgnore;
7500
+ exports?: _StylisticCommaDangleValueWithIgnore;
7501
+ functions?: _StylisticCommaDangleValueWithIgnore;
7502
+ importAttributes?: _StylisticCommaDangleValueWithIgnore;
7503
+ dynamicImports?: _StylisticCommaDangleValueWithIgnore;
7504
+ enums?: _StylisticCommaDangleValueWithIgnore;
7505
+ generics?: _StylisticCommaDangleValueWithIgnore;
7506
+ tuples?: _StylisticCommaDangleValueWithIgnore;
7507
+ })
7508
+ ];
7509
+ type _StylisticCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
7510
+ type _StylisticCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore");
7511
+ type StylisticCommaSpacing = [] | [
7512
+ {
7513
+ before?: boolean;
7514
+ after?: boolean;
7515
+ }
7516
+ ];
7517
+ type StylisticCommaStyle = [] | [("first" | "last")] | [
7518
+ ("first" | "last"),
7519
+ {
7520
+ exceptions?: {
7521
+ [k: string]: boolean | undefined;
7522
+ };
7523
+ }
7524
+ ];
7525
+ type StylisticComputedPropertySpacing = [] | [("always" | "never")] | [
7526
+ ("always" | "never"),
7527
+ {
7528
+ enforceForClassMembers?: boolean;
7529
+ }
7530
+ ];
7531
+ type StylisticCurlyNewline = [] | [
7532
+ (("always" | "never") | {
7533
+ IfStatementConsequent?: (("always" | "never") | {
7534
+ multiline?: boolean;
7535
+ minElements?: number;
7536
+ consistent?: boolean;
7537
+ });
7538
+ IfStatementAlternative?: (("always" | "never") | {
7539
+ multiline?: boolean;
7540
+ minElements?: number;
7541
+ consistent?: boolean;
7542
+ });
7543
+ DoWhileStatement?: (("always" | "never") | {
7544
+ multiline?: boolean;
7545
+ minElements?: number;
7546
+ consistent?: boolean;
7547
+ });
7548
+ ForInStatement?: (("always" | "never") | {
7549
+ multiline?: boolean;
7550
+ minElements?: number;
7551
+ consistent?: boolean;
7552
+ });
7553
+ ForOfStatement?: (("always" | "never") | {
7554
+ multiline?: boolean;
7555
+ minElements?: number;
7556
+ consistent?: boolean;
7557
+ });
7558
+ ForStatement?: (("always" | "never") | {
7559
+ multiline?: boolean;
7560
+ minElements?: number;
7561
+ consistent?: boolean;
7562
+ });
7563
+ WhileStatement?: (("always" | "never") | {
7564
+ multiline?: boolean;
7565
+ minElements?: number;
7566
+ consistent?: boolean;
7567
+ });
7568
+ SwitchStatement?: (("always" | "never") | {
7569
+ multiline?: boolean;
7570
+ minElements?: number;
7571
+ consistent?: boolean;
7572
+ });
7573
+ SwitchCase?: (("always" | "never") | {
7574
+ multiline?: boolean;
7575
+ minElements?: number;
7576
+ consistent?: boolean;
7577
+ });
7578
+ TryStatementBlock?: (("always" | "never") | {
7579
+ multiline?: boolean;
7580
+ minElements?: number;
7581
+ consistent?: boolean;
7582
+ });
7583
+ TryStatementHandler?: (("always" | "never") | {
7584
+ multiline?: boolean;
7585
+ minElements?: number;
7586
+ consistent?: boolean;
7587
+ });
7588
+ TryStatementFinalizer?: (("always" | "never") | {
7589
+ multiline?: boolean;
7590
+ minElements?: number;
7591
+ consistent?: boolean;
7592
+ });
7593
+ BlockStatement?: (("always" | "never") | {
7594
+ multiline?: boolean;
7595
+ minElements?: number;
7596
+ consistent?: boolean;
7597
+ });
7598
+ ArrowFunctionExpression?: (("always" | "never") | {
7599
+ multiline?: boolean;
7600
+ minElements?: number;
7601
+ consistent?: boolean;
7602
+ });
7603
+ FunctionDeclaration?: (("always" | "never") | {
7604
+ multiline?: boolean;
7605
+ minElements?: number;
7606
+ consistent?: boolean;
7607
+ });
7608
+ FunctionExpression?: (("always" | "never") | {
7609
+ multiline?: boolean;
7610
+ minElements?: number;
7611
+ consistent?: boolean;
7612
+ });
7613
+ Property?: (("always" | "never") | {
7614
+ multiline?: boolean;
7615
+ minElements?: number;
7616
+ consistent?: boolean;
7617
+ });
7618
+ ClassBody?: (("always" | "never") | {
7619
+ multiline?: boolean;
7620
+ minElements?: number;
7621
+ consistent?: boolean;
7622
+ });
7623
+ StaticBlock?: (("always" | "never") | {
7624
+ multiline?: boolean;
7625
+ minElements?: number;
7626
+ consistent?: boolean;
7627
+ });
7628
+ WithStatement?: (("always" | "never") | {
7629
+ multiline?: boolean;
7630
+ minElements?: number;
7631
+ consistent?: boolean;
7632
+ });
7633
+ TSEnumBody?: (("always" | "never") | {
7634
+ multiline?: boolean;
7635
+ minElements?: number;
7636
+ consistent?: boolean;
7637
+ });
7638
+ TSInterfaceBody?: (("always" | "never") | {
7639
+ multiline?: boolean;
7640
+ minElements?: number;
7641
+ consistent?: boolean;
7642
+ });
7643
+ TSModuleBlock?: (("always" | "never") | {
7644
+ multiline?: boolean;
7645
+ minElements?: number;
7646
+ consistent?: boolean;
7647
+ });
7648
+ multiline?: boolean;
7649
+ minElements?: number;
7650
+ consistent?: boolean;
7651
+ })
7652
+ ];
7653
+ type StylisticDotLocation = [] | [("object" | "property")];
7654
+ type StylisticEolLast = [] | [("always" | "never" | "unix" | "windows")];
7655
+ type StylisticFuncCallSpacing = ([] | ["never"] | [] | ["always"] | [
7656
+ "always",
7657
+ {
7658
+ allowNewlines?: boolean;
7659
+ optionalChain?: {
7660
+ before?: boolean;
7661
+ after?: boolean;
7662
+ };
7663
+ }
7664
+ ]);
7665
+ type StylisticFunctionCallArgumentNewline = [] | [("always" | "never" | "consistent")];
7666
+ type StylisticFunctionCallSpacing = ([] | ["never"] | [] | ["always"] | [
7667
+ "always",
7668
+ {
7669
+ allowNewlines?: boolean;
7670
+ optionalChain?: {
7671
+ before?: boolean;
7672
+ after?: boolean;
7673
+ };
7674
+ }
7675
+ ]);
7676
+ type StylisticFunctionParenNewline = [] | [
7677
+ (("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
7678
+ minItems?: number;
7679
+ })
7680
+ ];
7681
+ type StylisticGeneratorStarSpacing = [] | [
7682
+ (("before" | "after" | "both" | "neither") | {
7683
+ before?: boolean;
7684
+ after?: boolean;
7685
+ named?: (("before" | "after" | "both" | "neither") | {
7686
+ before?: boolean;
7687
+ after?: boolean;
7688
+ });
7689
+ anonymous?: (("before" | "after" | "both" | "neither") | {
7690
+ before?: boolean;
7691
+ after?: boolean;
7692
+ });
7693
+ method?: (("before" | "after" | "both" | "neither") | {
7694
+ before?: boolean;
7695
+ after?: boolean;
7696
+ });
7697
+ })
7698
+ ];
7699
+ type StylisticImplicitArrowLinebreak = [] | [("beside" | "below")];
7700
+ type StylisticIndent = [] | [("tab" | number)] | [
7701
+ ("tab" | number),
7702
+ {
7703
+ SwitchCase?: number;
7704
+ VariableDeclarator?: ((number | ("first" | "off")) | {
7705
+ var?: (number | ("first" | "off"));
7706
+ let?: (number | ("first" | "off"));
7707
+ const?: (number | ("first" | "off"));
7708
+ });
7709
+ outerIIFEBody?: (number | "off");
7710
+ MemberExpression?: (number | "off");
7711
+ FunctionDeclaration?: {
7712
+ parameters?: (number | ("first" | "off"));
7713
+ body?: number;
7714
+ };
7715
+ FunctionExpression?: {
7716
+ parameters?: (number | ("first" | "off"));
7717
+ body?: number;
7718
+ };
7719
+ StaticBlock?: {
7720
+ body?: number;
7721
+ };
7722
+ CallExpression?: {
7723
+ arguments?: (number | ("first" | "off"));
7724
+ };
7725
+ ArrayExpression?: (number | ("first" | "off"));
7726
+ ObjectExpression?: (number | ("first" | "off"));
7727
+ ImportDeclaration?: (number | ("first" | "off"));
7728
+ flatTernaryExpressions?: boolean;
7729
+ offsetTernaryExpressions?: boolean;
7730
+ offsetTernaryExpressionsOffsetCallExpressions?: boolean;
7731
+ ignoredNodes?: string[];
7732
+ ignoreComments?: boolean;
7733
+ tabLength?: number;
7734
+ }
7735
+ ];
7736
+ type StylisticIndentBinaryOps = [] | [(number | "tab")];
7737
+ type StylisticJsxClosingBracketLocation = [] | [
7738
+ (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | {
7739
+ location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned");
7740
+ } | {
7741
+ nonEmpty?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false);
7742
+ selfClosing?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false);
7743
+ })
7744
+ ];
7745
+ type StylisticJsxClosingTagLocation = [] | [("tag-aligned" | "line-aligned")];
7746
+ type StylisticJsxCurlyBracePresence = [] | [
7747
+ ({
7748
+ props?: ("always" | "never" | "ignore");
7749
+ children?: ("always" | "never" | "ignore");
7750
+ propElementValues?: ("always" | "never" | "ignore");
7751
+ } | ("always" | "never" | "ignore"))
7752
+ ];
7753
+ type StylisticJsxCurlyNewline = [] | [
7754
+ (("consistent" | "never") | {
7755
+ singleline?: ("consistent" | "require" | "forbid");
7756
+ multiline?: ("consistent" | "require" | "forbid");
7757
+ })
7758
+ ];
7759
+ type StylisticJsxCurlySpacing = [] | [
7760
+ ((_StylisticJsxCurlySpacing_BasicConfig & {
7761
+ attributes?: _StylisticJsxCurlySpacingBasicConfigOrBoolean;
7762
+ children?: _StylisticJsxCurlySpacingBasicConfigOrBoolean;
7763
+ [k: string]: unknown | undefined;
7764
+ }) | ("always" | "never"))
7765
+ ] | [
7766
+ ((_StylisticJsxCurlySpacing_BasicConfig & {
7767
+ attributes?: _StylisticJsxCurlySpacingBasicConfigOrBoolean;
7768
+ children?: _StylisticJsxCurlySpacingBasicConfigOrBoolean;
7769
+ [k: string]: unknown | undefined;
7770
+ }) | ("always" | "never")),
7771
+ {
7772
+ allowMultiline?: boolean;
7773
+ spacing?: {
7774
+ objectLiterals?: ("always" | "never");
7775
+ [k: string]: unknown | undefined;
7776
+ };
7777
+ }
7778
+ ];
7779
+ type _StylisticJsxCurlySpacingBasicConfigOrBoolean = (_StylisticJsxCurlySpacing_BasicConfig | boolean);
7780
+ interface _StylisticJsxCurlySpacing_BasicConfig {
7781
+ when?: ("always" | "never");
7782
+ allowMultiline?: boolean;
7783
+ spacing?: {
7784
+ objectLiterals?: ("always" | "never");
7785
+ [k: string]: unknown | undefined;
7786
+ };
7787
+ [k: string]: unknown | undefined;
7788
+ }
7789
+ type StylisticJsxEqualsSpacing = [] | [("always" | "never")];
7790
+ type StylisticJsxFirstPropNewLine = [] | [("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")];
7791
+ type StylisticJsxFunctionCallNewline = [] | [("always" | "multiline")];
7792
+ type StylisticJsxIndent = [] | [("tab" | number)] | [
7793
+ ("tab" | number),
7794
+ {
7795
+ checkAttributes?: boolean;
7796
+ indentLogicalExpressions?: boolean;
7797
+ }
7798
+ ];
7799
+ type StylisticJsxIndentProps = [] | [
7800
+ (("tab" | "first") | number | {
7801
+ indentMode?: (("tab" | "first") | number);
7802
+ ignoreTernaryOperator?: boolean;
7803
+ [k: string]: unknown | undefined;
7804
+ })
7805
+ ];
7806
+ type StylisticJsxMaxPropsPerLine = [] | [
7807
+ ({
7808
+ maximum?: {
7809
+ single?: number;
7810
+ multi?: number;
7811
+ [k: string]: unknown | undefined;
7812
+ };
7813
+ } | {
7814
+ maximum?: number;
7815
+ when?: ("always" | "multiline");
7816
+ })
7817
+ ];
7818
+ type StylisticJsxNewline = [] | [
7819
+ {
7820
+ prevent?: boolean;
7821
+ allowMultilines?: boolean;
7822
+ }
7823
+ ];
7824
+ type StylisticJsxOneExpressionPerLine = [] | [
7825
+ {
7826
+ allow?: ("none" | "literal" | "single-child" | "single-line" | "non-jsx");
7827
+ }
7828
+ ];
7829
+ type StylisticJsxPascalCase = [] | [
7830
+ {
7831
+ allowAllCaps?: boolean;
7832
+ allowLeadingUnderscore?: boolean;
7833
+ allowNamespace?: boolean;
7834
+ ignore?: string[];
7835
+ }
7836
+ ];
7837
+ type StylisticJsxQuotes = [] | [("prefer-single" | "prefer-double")];
7838
+ type StylisticJsxSelfClosingComp = [] | [
7839
+ {
7840
+ component?: boolean;
7841
+ html?: boolean;
7842
+ }
7843
+ ];
7844
+ type StylisticJsxSortProps = [] | [
7845
+ {
7846
+ callbacksLast?: boolean;
7847
+ shorthandFirst?: boolean;
7848
+ shorthandLast?: boolean;
7849
+ multiline?: ("ignore" | "first" | "last");
7850
+ ignoreCase?: boolean;
7851
+ noSortAlphabetically?: boolean;
7852
+ reservedFirst?: (unknown[] | boolean);
7853
+ locale?: string;
7854
+ }
7855
+ ];
7856
+ type StylisticJsxTagSpacing = [] | [
7857
+ {
7858
+ closingSlash?: ("always" | "never" | "allow");
7859
+ beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow");
7860
+ afterOpening?: ("always" | "allow-multiline" | "never" | "allow");
7861
+ beforeClosing?: ("always" | "proportional-always" | "never" | "allow");
7862
+ }
7863
+ ];
7864
+ type StylisticJsxWrapMultilines = [] | [
7865
+ {
7866
+ declaration?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
7867
+ assignment?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
7868
+ return?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
7869
+ arrow?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
7870
+ condition?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
7871
+ logical?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
7872
+ prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
7873
+ propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
7874
+ }
7875
+ ];
7876
+ type StylisticKeySpacing = [] | [
7877
+ ({
7878
+ align?: (("colon" | "value") | {
7879
+ mode?: ("strict" | "minimum");
7880
+ on?: ("colon" | "value");
7881
+ beforeColon?: boolean;
7882
+ afterColon?: boolean;
7883
+ });
7884
+ mode?: ("strict" | "minimum");
7885
+ beforeColon?: boolean;
7886
+ afterColon?: boolean;
7887
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[];
7888
+ } | {
7889
+ singleLine?: {
7890
+ mode?: ("strict" | "minimum");
7891
+ beforeColon?: boolean;
7892
+ afterColon?: boolean;
7893
+ };
7894
+ multiLine?: {
7895
+ align?: (("colon" | "value") | {
7896
+ mode?: ("strict" | "minimum");
7897
+ on?: ("colon" | "value");
7898
+ beforeColon?: boolean;
7899
+ afterColon?: boolean;
7900
+ });
7901
+ mode?: ("strict" | "minimum");
7902
+ beforeColon?: boolean;
7903
+ afterColon?: boolean;
7904
+ };
7905
+ } | {
7906
+ singleLine?: {
7907
+ mode?: ("strict" | "minimum");
7908
+ beforeColon?: boolean;
7909
+ afterColon?: boolean;
7910
+ };
7911
+ multiLine?: {
7912
+ mode?: ("strict" | "minimum");
7913
+ beforeColon?: boolean;
7914
+ afterColon?: boolean;
7915
+ };
7916
+ align?: {
7917
+ mode?: ("strict" | "minimum");
7918
+ on?: ("colon" | "value");
7919
+ beforeColon?: boolean;
7920
+ afterColon?: boolean;
7921
+ };
7922
+ })
7923
+ ];
7924
+ type StylisticKeywordSpacing = [] | [
7925
+ {
7926
+ before?: boolean;
7927
+ after?: boolean;
7928
+ overrides?: {
7929
+ abstract?: {
7930
+ before?: boolean;
7931
+ after?: boolean;
7932
+ };
7933
+ as?: {
7934
+ before?: boolean;
7935
+ after?: boolean;
7936
+ };
7937
+ async?: {
7938
+ before?: boolean;
7939
+ after?: boolean;
7940
+ };
7941
+ await?: {
7942
+ before?: boolean;
7943
+ after?: boolean;
7944
+ };
7945
+ boolean?: {
7946
+ before?: boolean;
7947
+ after?: boolean;
7948
+ };
7949
+ break?: {
7950
+ before?: boolean;
7951
+ after?: boolean;
7952
+ };
7953
+ byte?: {
7954
+ before?: boolean;
7955
+ after?: boolean;
7956
+ };
7957
+ case?: {
7958
+ before?: boolean;
7959
+ after?: boolean;
7960
+ };
7961
+ catch?: {
7962
+ before?: boolean;
7963
+ after?: boolean;
7964
+ };
7965
+ char?: {
7966
+ before?: boolean;
7967
+ after?: boolean;
7968
+ };
7969
+ class?: {
7970
+ before?: boolean;
7971
+ after?: boolean;
7972
+ };
7973
+ const?: {
7974
+ before?: boolean;
7975
+ after?: boolean;
7976
+ };
7977
+ continue?: {
7978
+ before?: boolean;
7979
+ after?: boolean;
7980
+ };
7981
+ debugger?: {
7982
+ before?: boolean;
7983
+ after?: boolean;
7984
+ };
7985
+ default?: {
7986
+ before?: boolean;
7987
+ after?: boolean;
7988
+ };
7989
+ delete?: {
7990
+ before?: boolean;
7991
+ after?: boolean;
7992
+ };
7993
+ do?: {
7994
+ before?: boolean;
7995
+ after?: boolean;
7996
+ };
7997
+ double?: {
7998
+ before?: boolean;
7999
+ after?: boolean;
8000
+ };
8001
+ else?: {
8002
+ before?: boolean;
8003
+ after?: boolean;
8004
+ };
8005
+ enum?: {
8006
+ before?: boolean;
8007
+ after?: boolean;
8008
+ };
8009
+ export?: {
8010
+ before?: boolean;
8011
+ after?: boolean;
8012
+ };
8013
+ extends?: {
8014
+ before?: boolean;
8015
+ after?: boolean;
8016
+ };
8017
+ false?: {
8018
+ before?: boolean;
8019
+ after?: boolean;
8020
+ };
8021
+ final?: {
8022
+ before?: boolean;
8023
+ after?: boolean;
8024
+ };
8025
+ finally?: {
8026
+ before?: boolean;
8027
+ after?: boolean;
8028
+ };
8029
+ float?: {
8030
+ before?: boolean;
8031
+ after?: boolean;
8032
+ };
8033
+ for?: {
8034
+ before?: boolean;
8035
+ after?: boolean;
8036
+ };
8037
+ from?: {
8038
+ before?: boolean;
8039
+ after?: boolean;
8040
+ };
8041
+ function?: {
8042
+ before?: boolean;
8043
+ after?: boolean;
8044
+ };
8045
+ get?: {
8046
+ before?: boolean;
8047
+ after?: boolean;
8048
+ };
8049
+ goto?: {
8050
+ before?: boolean;
8051
+ after?: boolean;
8052
+ };
8053
+ if?: {
8054
+ before?: boolean;
8055
+ after?: boolean;
8056
+ };
8057
+ implements?: {
8058
+ before?: boolean;
8059
+ after?: boolean;
8060
+ };
8061
+ import?: {
8062
+ before?: boolean;
8063
+ after?: boolean;
8064
+ };
8065
+ in?: {
8066
+ before?: boolean;
8067
+ after?: boolean;
8068
+ };
8069
+ instanceof?: {
8070
+ before?: boolean;
8071
+ after?: boolean;
8072
+ };
8073
+ int?: {
8074
+ before?: boolean;
8075
+ after?: boolean;
8076
+ };
8077
+ interface?: {
8078
+ before?: boolean;
8079
+ after?: boolean;
8080
+ };
8081
+ let?: {
8082
+ before?: boolean;
8083
+ after?: boolean;
8084
+ };
8085
+ long?: {
8086
+ before?: boolean;
8087
+ after?: boolean;
8088
+ };
8089
+ native?: {
8090
+ before?: boolean;
8091
+ after?: boolean;
8092
+ };
8093
+ new?: {
8094
+ before?: boolean;
8095
+ after?: boolean;
8096
+ };
8097
+ null?: {
8098
+ before?: boolean;
8099
+ after?: boolean;
8100
+ };
8101
+ of?: {
8102
+ before?: boolean;
8103
+ after?: boolean;
8104
+ };
8105
+ package?: {
8106
+ before?: boolean;
8107
+ after?: boolean;
8108
+ };
8109
+ private?: {
8110
+ before?: boolean;
8111
+ after?: boolean;
8112
+ };
8113
+ protected?: {
8114
+ before?: boolean;
8115
+ after?: boolean;
8116
+ };
8117
+ public?: {
8118
+ before?: boolean;
8119
+ after?: boolean;
8120
+ };
8121
+ return?: {
8122
+ before?: boolean;
8123
+ after?: boolean;
8124
+ };
8125
+ satisfies?: {
8126
+ before?: boolean;
8127
+ after?: boolean;
8128
+ };
8129
+ set?: {
8130
+ before?: boolean;
8131
+ after?: boolean;
8132
+ };
8133
+ short?: {
8134
+ before?: boolean;
8135
+ after?: boolean;
8136
+ };
8137
+ static?: {
8138
+ before?: boolean;
8139
+ after?: boolean;
8140
+ };
8141
+ super?: {
8142
+ before?: boolean;
8143
+ after?: boolean;
8144
+ };
8145
+ switch?: {
8146
+ before?: boolean;
8147
+ after?: boolean;
8148
+ };
8149
+ synchronized?: {
8150
+ before?: boolean;
8151
+ after?: boolean;
8152
+ };
8153
+ this?: {
8154
+ before?: boolean;
8155
+ after?: boolean;
8156
+ };
8157
+ throw?: {
8158
+ before?: boolean;
8159
+ after?: boolean;
8160
+ };
8161
+ throws?: {
8162
+ before?: boolean;
8163
+ after?: boolean;
8164
+ };
8165
+ transient?: {
8166
+ before?: boolean;
8167
+ after?: boolean;
8168
+ };
8169
+ true?: {
8170
+ before?: boolean;
8171
+ after?: boolean;
8172
+ };
8173
+ try?: {
8174
+ before?: boolean;
8175
+ after?: boolean;
8176
+ };
8177
+ typeof?: {
8178
+ before?: boolean;
8179
+ after?: boolean;
8180
+ };
8181
+ var?: {
8182
+ before?: boolean;
8183
+ after?: boolean;
8184
+ };
8185
+ void?: {
8186
+ before?: boolean;
8187
+ after?: boolean;
8188
+ };
8189
+ volatile?: {
8190
+ before?: boolean;
8191
+ after?: boolean;
8192
+ };
8193
+ while?: {
8194
+ before?: boolean;
8195
+ after?: boolean;
8196
+ };
8197
+ with?: {
8198
+ before?: boolean;
8199
+ after?: boolean;
8200
+ };
8201
+ yield?: {
8202
+ before?: boolean;
8203
+ after?: boolean;
8204
+ };
8205
+ type?: {
8206
+ before?: boolean;
8207
+ after?: boolean;
8208
+ };
8209
+ };
8210
+ }
8211
+ ];
8212
+ type StylisticLineCommentPosition = [] | [
8213
+ (("above" | "beside") | {
8214
+ position?: ("above" | "beside");
8215
+ ignorePattern?: string;
8216
+ applyDefaultPatterns?: boolean;
8217
+ applyDefaultIgnorePatterns?: boolean;
8218
+ })
8219
+ ];
8220
+ type StylisticLinebreakStyle = [] | [("unix" | "windows")];
8221
+ type StylisticLinesAroundComment = [] | [
8222
+ {
8223
+ beforeBlockComment?: boolean;
8224
+ afterBlockComment?: boolean;
8225
+ beforeLineComment?: boolean;
8226
+ afterLineComment?: boolean;
8227
+ allowBlockStart?: boolean;
8228
+ allowBlockEnd?: boolean;
8229
+ allowClassStart?: boolean;
8230
+ allowClassEnd?: boolean;
8231
+ allowObjectStart?: boolean;
8232
+ allowObjectEnd?: boolean;
8233
+ allowArrayStart?: boolean;
8234
+ allowArrayEnd?: boolean;
8235
+ allowInterfaceStart?: boolean;
8236
+ allowInterfaceEnd?: boolean;
8237
+ allowTypeStart?: boolean;
8238
+ allowTypeEnd?: boolean;
8239
+ allowEnumStart?: boolean;
8240
+ allowEnumEnd?: boolean;
8241
+ allowModuleStart?: boolean;
8242
+ allowModuleEnd?: boolean;
8243
+ ignorePattern?: string;
8244
+ applyDefaultIgnorePatterns?: boolean;
8245
+ afterHashbangComment?: boolean;
8246
+ }
8247
+ ];
8248
+ type StylisticLinesBetweenClassMembers = [] | [
8249
+ ({
8250
+ enforce: [
8251
+ {
8252
+ blankLine: ("always" | "never");
8253
+ prev: ("method" | "field" | "*");
8254
+ next: ("method" | "field" | "*");
8255
+ },
8256
+ ...({
8257
+ blankLine: ("always" | "never");
8258
+ prev: ("method" | "field" | "*");
8259
+ next: ("method" | "field" | "*");
8260
+ })[]
8261
+ ];
8262
+ } | ("always" | "never"))
8263
+ ] | [
8264
+ ({
8265
+ enforce: [
8266
+ {
8267
+ blankLine: ("always" | "never");
8268
+ prev: ("method" | "field" | "*");
8269
+ next: ("method" | "field" | "*");
8270
+ },
8271
+ ...({
8272
+ blankLine: ("always" | "never");
8273
+ prev: ("method" | "field" | "*");
8274
+ next: ("method" | "field" | "*");
8275
+ })[]
8276
+ ];
8277
+ } | ("always" | "never")),
8278
+ {
8279
+ exceptAfterSingleLine?: boolean;
8280
+ exceptAfterOverload?: boolean;
8281
+ }
8282
+ ];
8283
+ type StylisticMaxLen = [] | [
8284
+ ({
8285
+ code?: number;
8286
+ comments?: number;
8287
+ tabWidth?: number;
8288
+ ignorePattern?: string;
8289
+ ignoreComments?: boolean;
8290
+ ignoreStrings?: boolean;
8291
+ ignoreUrls?: boolean;
8292
+ ignoreTemplateLiterals?: boolean;
8293
+ ignoreRegExpLiterals?: boolean;
8294
+ ignoreTrailingComments?: boolean;
8295
+ } | number)
8296
+ ] | [
8297
+ ({
8298
+ code?: number;
8299
+ comments?: number;
8300
+ tabWidth?: number;
8301
+ ignorePattern?: string;
8302
+ ignoreComments?: boolean;
8303
+ ignoreStrings?: boolean;
8304
+ ignoreUrls?: boolean;
8305
+ ignoreTemplateLiterals?: boolean;
8306
+ ignoreRegExpLiterals?: boolean;
8307
+ ignoreTrailingComments?: boolean;
8308
+ } | number),
8309
+ ({
8310
+ code?: number;
8311
+ comments?: number;
8312
+ tabWidth?: number;
8313
+ ignorePattern?: string;
8314
+ ignoreComments?: boolean;
8315
+ ignoreStrings?: boolean;
8316
+ ignoreUrls?: boolean;
8317
+ ignoreTemplateLiterals?: boolean;
8318
+ ignoreRegExpLiterals?: boolean;
8319
+ ignoreTrailingComments?: boolean;
8320
+ } | number)
8321
+ ] | [
8322
+ ({
8323
+ code?: number;
8324
+ comments?: number;
8325
+ tabWidth?: number;
8326
+ ignorePattern?: string;
8327
+ ignoreComments?: boolean;
8328
+ ignoreStrings?: boolean;
8329
+ ignoreUrls?: boolean;
8330
+ ignoreTemplateLiterals?: boolean;
8331
+ ignoreRegExpLiterals?: boolean;
8332
+ ignoreTrailingComments?: boolean;
8333
+ } | number),
8334
+ ({
8335
+ code?: number;
8336
+ comments?: number;
8337
+ tabWidth?: number;
8338
+ ignorePattern?: string;
8339
+ ignoreComments?: boolean;
8340
+ ignoreStrings?: boolean;
8341
+ ignoreUrls?: boolean;
8342
+ ignoreTemplateLiterals?: boolean;
8343
+ ignoreRegExpLiterals?: boolean;
8344
+ ignoreTrailingComments?: boolean;
8345
+ } | number),
8346
+ {
8347
+ code?: number;
8348
+ comments?: number;
8349
+ tabWidth?: number;
8350
+ ignorePattern?: string;
8351
+ ignoreComments?: boolean;
8352
+ ignoreStrings?: boolean;
8353
+ ignoreUrls?: boolean;
8354
+ ignoreTemplateLiterals?: boolean;
8355
+ ignoreRegExpLiterals?: boolean;
8356
+ ignoreTrailingComments?: boolean;
8357
+ }
8358
+ ];
8359
+ type StylisticMaxStatementsPerLine = [] | [
8360
+ {
8361
+ max?: number;
8362
+ ignoredNodes?: ("BreakStatement" | "ClassDeclaration" | "ContinueStatement" | "DebuggerStatement" | "DoWhileStatement" | "ExpressionStatement" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "IfStatement" | "ImportDeclaration" | "LabeledStatement" | "ReturnStatement" | "SwitchStatement" | "ThrowStatement" | "TryStatement" | "VariableDeclaration" | "WhileStatement" | "WithStatement" | "ExportNamedDeclaration" | "ExportDefaultDeclaration" | "ExportAllDeclaration")[];
8363
+ }
8364
+ ];
8365
+ type StylisticMemberDelimiterStyle = [] | [
8366
+ {
8367
+ multiline?: {
8368
+ delimiter?: ("none" | "semi" | "comma");
8369
+ requireLast?: boolean;
8370
+ };
8371
+ singleline?: {
8372
+ delimiter?: ("semi" | "comma");
8373
+ requireLast?: boolean;
8374
+ };
8375
+ overrides?: {
8376
+ interface?: _StylisticMemberDelimiterStyle_DelimiterConfig;
8377
+ typeLiteral?: _StylisticMemberDelimiterStyle_DelimiterConfig;
8378
+ };
8379
+ multilineDetection?: ("brackets" | "last-member");
8380
+ }
8381
+ ];
8382
+ interface _StylisticMemberDelimiterStyle_DelimiterConfig {
8383
+ multiline?: {
8384
+ delimiter?: ("none" | "semi" | "comma");
8385
+ requireLast?: boolean;
8386
+ };
8387
+ singleline?: {
8388
+ delimiter?: ("semi" | "comma");
8389
+ requireLast?: boolean;
8390
+ };
8391
+ }
8392
+ type StylisticMultilineCommentStyle = ([] | [("starred-block" | "bare-block")] | [] | ["separate-lines"] | [
8393
+ "separate-lines",
8394
+ {
8395
+ checkJSDoc?: boolean;
8396
+ }
8397
+ ]);
8398
+ type StylisticMultilineTernary = [] | [("always" | "always-multiline" | "never")] | [
8399
+ ("always" | "always-multiline" | "never"),
8400
+ {
8401
+ ignoreJSX?: boolean;
8402
+ [k: string]: unknown | undefined;
8403
+ }
8404
+ ];
8405
+ type StylisticNewParens = [] | [("always" | "never")];
8406
+ type StylisticNewlinePerChainedCall = [] | [
8407
+ {
8408
+ ignoreChainWithDepth?: number;
8409
+ }
8410
+ ];
8411
+ type StylisticNoConfusingArrow = [] | [
8412
+ {
8413
+ allowParens?: boolean;
8414
+ onlyOneSimpleParam?: boolean;
8415
+ }
8416
+ ];
8417
+ type StylisticNoExtraParens = ([] | ["functions"] | [] | ["all"] | [
8418
+ "all",
8419
+ {
8420
+ conditionalAssign?: boolean;
8421
+ ternaryOperandBinaryExpressions?: boolean;
8422
+ nestedBinaryExpressions?: boolean;
8423
+ returnAssign?: boolean;
8424
+ ignoreJSX?: ("none" | "all" | "single-line" | "multi-line");
8425
+ enforceForArrowConditionals?: boolean;
8426
+ enforceForSequenceExpressions?: boolean;
8427
+ enforceForNewInMemberExpressions?: boolean;
8428
+ enforceForFunctionPrototypeMethods?: boolean;
8429
+ allowParensAfterCommentPattern?: string;
8430
+ nestedConditionalExpressions?: boolean;
8431
+ }
8432
+ ]);
8433
+ type StylisticNoMixedOperators = [] | [
8434
+ {
8435
+ groups?: [("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ...(("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"))[]][];
8436
+ allowSamePrecedence?: boolean;
8437
+ }
8438
+ ];
8439
+ type StylisticNoMixedSpacesAndTabs = [] | [("smart-tabs" | boolean)];
8440
+ type StylisticNoMultiSpaces = [] | [
8441
+ {
8442
+ exceptions?: {
8443
+ [k: string]: boolean;
8444
+ };
8445
+ ignoreEOLComments?: boolean;
8446
+ includeTabs?: boolean;
8447
+ }
8448
+ ];
8449
+ type StylisticNoMultipleEmptyLines = [] | [
8450
+ {
8451
+ max: number;
8452
+ maxEOF?: number;
8453
+ maxBOF?: number;
8454
+ }
8455
+ ];
8456
+ type StylisticNoTabs = [] | [
8457
+ {
8458
+ allowIndentationTabs?: boolean;
8459
+ }
8460
+ ];
8461
+ type StylisticNoTrailingSpaces = [] | [
8462
+ {
8463
+ skipBlankLines?: boolean;
8464
+ ignoreComments?: boolean;
8465
+ }
8466
+ ];
8467
+ type StylisticNonblockStatementBodyPosition = [] | [("beside" | "below" | "any")] | [
8468
+ ("beside" | "below" | "any"),
8469
+ {
8470
+ overrides?: {
8471
+ if?: ("beside" | "below" | "any");
8472
+ else?: ("beside" | "below" | "any");
8473
+ while?: ("beside" | "below" | "any");
8474
+ do?: ("beside" | "below" | "any");
8475
+ for?: ("beside" | "below" | "any");
8476
+ };
8477
+ }
8478
+ ];
8479
+ type StylisticObjectCurlyNewline = [] | [
8480
+ ((("always" | "never") | {
8481
+ multiline?: boolean;
8482
+ minProperties?: number;
8483
+ consistent?: boolean;
8484
+ }) | {
8485
+ ObjectExpression?: (("always" | "never") | {
8486
+ multiline?: boolean;
8487
+ minProperties?: number;
8488
+ consistent?: boolean;
8489
+ });
8490
+ ObjectPattern?: (("always" | "never") | {
8491
+ multiline?: boolean;
8492
+ minProperties?: number;
8493
+ consistent?: boolean;
8494
+ });
8495
+ ImportDeclaration?: (("always" | "never") | {
8496
+ multiline?: boolean;
8497
+ minProperties?: number;
8498
+ consistent?: boolean;
8499
+ });
8500
+ ExportDeclaration?: (("always" | "never") | {
8501
+ multiline?: boolean;
8502
+ minProperties?: number;
8503
+ consistent?: boolean;
8504
+ });
8505
+ TSTypeLiteral?: (("always" | "never") | {
8506
+ multiline?: boolean;
8507
+ minProperties?: number;
8508
+ consistent?: boolean;
8509
+ });
8510
+ TSInterfaceBody?: (("always" | "never") | {
8511
+ multiline?: boolean;
8512
+ minProperties?: number;
8513
+ consistent?: boolean;
8514
+ });
8515
+ })
6858
8516
  ];
6859
- type RegexpNoObscureRange = [] | [
8517
+ type StylisticObjectCurlySpacing = [] | [("always" | "never")] | [
8518
+ ("always" | "never"),
6860
8519
  {
6861
- allowed?: (("all" | "alphanumeric") | [("all" | "alphanumeric")] | [("alphanumeric" | string), ...(("alphanumeric" | string))[]]);
8520
+ arraysInObjects?: boolean;
8521
+ objectsInObjects?: boolean;
6862
8522
  }
6863
8523
  ];
6864
- type RegexpNoSuperLinearBacktracking = [] | [
8524
+ type StylisticObjectPropertyNewline = [] | [
6865
8525
  {
6866
- report?: ("certain" | "potential");
8526
+ allowAllPropertiesOnSameLine?: boolean;
8527
+ allowMultiplePropertiesPerLine?: boolean;
6867
8528
  }
6868
8529
  ];
6869
- type RegexpNoSuperLinearMove = [] | [
8530
+ type StylisticOneVarDeclarationPerLine = [] | [("always" | "initializations")];
8531
+ type StylisticOperatorLinebreak = [] | [(("after" | "before" | "none") | null)] | [
8532
+ (("after" | "before" | "none") | null),
6870
8533
  {
6871
- report?: ("certain" | "potential");
6872
- ignoreSticky?: boolean;
6873
- ignorePartial?: boolean;
8534
+ overrides?: {
8535
+ [k: string]: ("after" | "before" | "none" | "ignore") | undefined;
8536
+ };
6874
8537
  }
6875
8538
  ];
6876
- type RegexpNoUnusedCapturingGroup = [] | [
8539
+ type StylisticPaddedBlocks = [] | [
8540
+ (("always" | "never" | "start" | "end") | {
8541
+ blocks?: ("always" | "never" | "start" | "end");
8542
+ switches?: ("always" | "never" | "start" | "end");
8543
+ classes?: ("always" | "never" | "start" | "end");
8544
+ })
8545
+ ] | [
8546
+ (("always" | "never" | "start" | "end") | {
8547
+ blocks?: ("always" | "never" | "start" | "end");
8548
+ switches?: ("always" | "never" | "start" | "end");
8549
+ classes?: ("always" | "never" | "start" | "end");
8550
+ }),
6877
8551
  {
6878
- fixable?: boolean;
6879
- allowNamed?: boolean;
8552
+ allowSingleLineBlocks?: boolean;
6880
8553
  }
6881
8554
  ];
6882
- type RegexpNoUselessCharacterClass = [] | [
8555
+ type _StylisticPaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
8556
+ type _StylisticPaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]]);
8557
+ type StylisticPaddingLineBetweenStatements = {
8558
+ blankLine: _StylisticPaddingLineBetweenStatementsPaddingType;
8559
+ prev: _StylisticPaddingLineBetweenStatementsStatementType;
8560
+ next: _StylisticPaddingLineBetweenStatementsStatementType;
8561
+ }[];
8562
+ type StylisticQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [
8563
+ ("always" | "as-needed" | "consistent" | "consistent-as-needed"),
6883
8564
  {
6884
- ignores?: string[];
8565
+ keywords?: boolean;
8566
+ unnecessary?: boolean;
8567
+ numbers?: boolean;
6885
8568
  }
8569
+ ]);
8570
+ type StylisticQuotes = [] | [("single" | "double" | "backtick")] | [
8571
+ ("single" | "double" | "backtick"),
8572
+ ("avoid-escape" | {
8573
+ avoidEscape?: boolean;
8574
+ allowTemplateLiterals?: (boolean | ("never" | "avoidEscape" | "always"));
8575
+ ignoreStringLiterals?: boolean;
8576
+ })
6886
8577
  ];
6887
- type RegexpNoUselessFlag = [] | [
8578
+ type StylisticRestSpreadSpacing = [] | [("always" | "never")];
8579
+ type StylisticSemi = ([] | ["never"] | [
8580
+ "never",
6888
8581
  {
6889
- ignore?: ("i" | "m" | "s" | "g" | "y")[];
6890
- strictTypes?: boolean;
8582
+ beforeStatementContinuationChars?: ("always" | "any" | "never");
6891
8583
  }
6892
- ];
6893
- type RegexpNoUselessNonCapturingGroup = [] | [
8584
+ ] | [] | ["always"] | [
8585
+ "always",
6894
8586
  {
6895
- allowTop?: (boolean | ("always" | "never" | "partial"));
8587
+ omitLastInOneLineBlock?: boolean;
8588
+ omitLastInOneLineClassBody?: boolean;
6896
8589
  }
6897
- ];
6898
- type RegexpOptimalQuantifierConcatenation = [] | [
8590
+ ]);
8591
+ type StylisticSemiSpacing = [] | [
6899
8592
  {
6900
- capturingGroups?: ("ignore" | "report");
8593
+ before?: boolean;
8594
+ after?: boolean;
6901
8595
  }
6902
8596
  ];
6903
- type RegexpPreferCharacterClass = [] | [
6904
- {
6905
- minAlternatives?: number;
6906
- }
8597
+ type StylisticSemiStyle = [] | [("last" | "first")];
8598
+ type StylisticSpaceBeforeBlocks = [] | [
8599
+ (("always" | "never") | {
8600
+ keywords?: ("always" | "never" | "off");
8601
+ functions?: ("always" | "never" | "off");
8602
+ classes?: ("always" | "never" | "off");
8603
+ })
6907
8604
  ];
6908
- type RegexpPreferD = [] | [
8605
+ type StylisticSpaceBeforeFunctionParen = [] | [
8606
+ (("always" | "never") | {
8607
+ anonymous?: ("always" | "never" | "ignore");
8608
+ named?: ("always" | "never" | "ignore");
8609
+ asyncArrow?: ("always" | "never" | "ignore");
8610
+ })
8611
+ ];
8612
+ type StylisticSpaceInParens = [] | [("always" | "never")] | [
8613
+ ("always" | "never"),
6909
8614
  {
6910
- insideCharacterClass?: ("ignore" | "range" | "d");
8615
+ exceptions?: ("{}" | "[]" | "()" | "empty")[];
6911
8616
  }
6912
8617
  ];
6913
- type RegexpPreferLookaround = [] | [
8618
+ type StylisticSpaceInfixOps = [] | [
6914
8619
  {
6915
- lookbehind?: boolean;
6916
- strictTypes?: boolean;
8620
+ int32Hint?: boolean;
8621
+ ignoreTypes?: boolean;
6917
8622
  }
6918
8623
  ];
6919
- type RegexpPreferNamedReplacement = [] | [
8624
+ type StylisticSpaceUnaryOps = [] | [
6920
8625
  {
6921
- strictTypes?: boolean;
8626
+ words?: boolean;
8627
+ nonwords?: boolean;
8628
+ overrides?: {
8629
+ [k: string]: boolean | undefined;
8630
+ };
6922
8631
  }
6923
8632
  ];
6924
- type RegexpPreferRange = [] | [
8633
+ type StylisticSpacedComment = [] | [("always" | "never")] | [
8634
+ ("always" | "never"),
6925
8635
  {
6926
- target?: (("all" | "alphanumeric") | [("all" | "alphanumeric")] | [("alphanumeric" | string), ...(("alphanumeric" | string))[]]);
8636
+ exceptions?: string[];
8637
+ markers?: string[];
8638
+ line?: {
8639
+ exceptions?: string[];
8640
+ markers?: string[];
8641
+ };
8642
+ block?: {
8643
+ exceptions?: string[];
8644
+ markers?: string[];
8645
+ balanced?: boolean;
8646
+ };
6927
8647
  }
6928
8648
  ];
6929
- type RegexpPreferResultArrayGroups = [] | [
8649
+ type StylisticSwitchColonSpacing = [] | [
6930
8650
  {
6931
- strictTypes?: boolean;
8651
+ before?: boolean;
8652
+ after?: boolean;
6932
8653
  }
6933
8654
  ];
6934
- type RegexpSortCharacterClassElements = [] | [
8655
+ type StylisticTemplateCurlySpacing = [] | [("always" | "never")];
8656
+ type StylisticTemplateTagSpacing = [] | [("always" | "never")];
8657
+ type StylisticTypeAnnotationSpacing = [] | [
6935
8658
  {
6936
- order?: ("\\s" | "\\w" | "\\d" | "\\p" | "*" | "\\q" | "[]")[];
8659
+ before?: boolean;
8660
+ after?: boolean;
8661
+ overrides?: {
8662
+ colon?: _StylisticTypeAnnotationSpacing_SpacingConfig;
8663
+ arrow?: _StylisticTypeAnnotationSpacing_SpacingConfig;
8664
+ variable?: _StylisticTypeAnnotationSpacing_SpacingConfig;
8665
+ parameter?: _StylisticTypeAnnotationSpacing_SpacingConfig;
8666
+ property?: _StylisticTypeAnnotationSpacing_SpacingConfig;
8667
+ returnType?: _StylisticTypeAnnotationSpacing_SpacingConfig;
8668
+ };
6937
8669
  }
6938
8670
  ];
6939
- type RegexpUnicodeEscape = [] | [("unicodeCodePointEscape" | "unicodeEscape")];
6940
- type RegexpUnicodeProperty = [] | [
8671
+ interface _StylisticTypeAnnotationSpacing_SpacingConfig {
8672
+ before?: boolean;
8673
+ after?: boolean;
8674
+ }
8675
+ type StylisticWrapIife = [] | [("outside" | "inside" | "any")] | [
8676
+ ("outside" | "inside" | "any"),
6941
8677
  {
6942
- generalCategory?: ("always" | "never" | "ignore");
6943
- key?: ("short" | "long" | "ignore");
6944
- property?: (("short" | "long" | "ignore") | {
6945
- binary?: ("short" | "long" | "ignore");
6946
- generalCategory?: ("short" | "long" | "ignore");
6947
- script?: ("short" | "long" | "ignore");
6948
- });
8678
+ functionPrototypeMethods?: boolean;
6949
8679
  }
6950
8680
  ];
8681
+ type StylisticYieldStarSpacing = [] | [
8682
+ (("before" | "after" | "both" | "neither") | {
8683
+ before?: boolean;
8684
+ after?: boolean;
8685
+ })
8686
+ ];
6951
8687
 
6952
8688
  interface SvelteRules {
6953
8689
  /**
@@ -11083,7 +12819,7 @@ interface VueRules {
11083
12819
  */
11084
12820
  'vue/jsx-uses-vars'?: Linter.RuleEntry<[]>;
11085
12821
  /**
11086
- * Enforce consistent spacing between keys and values in object literal properties in `<template>`
12822
+ * Enforce consistent spacing between property names and type annotations in types and interfaces in `<template>`
11087
12823
  * @see https://eslint.vuejs.org/rules/key-spacing.html
11088
12824
  */
11089
12825
  'vue/key-spacing'?: Linter.RuleEntry<VueKeySpacing>;
@@ -11770,7 +13506,7 @@ interface VueRules {
11770
13506
  */
11771
13507
  'vue/prop-name-casing'?: Linter.RuleEntry<VuePropNameCasing>;
11772
13508
  /**
11773
- * Require quotes around object literal property names in `<template>`
13509
+ * Require quotes around object literal, type literal, interfaces and enums property names in `<template>`
11774
13510
  * @see https://eslint.vuejs.org/rules/quote-props.html
11775
13511
  */
11776
13512
  'vue/quote-props'?: Linter.RuleEntry<VueQuoteProps>;
@@ -12292,6 +14028,7 @@ type VueArrayElementNewline = [] | [
12292
14028
  })
12293
14029
  ];
12294
14030
  type _VueArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
14031
+ consistent?: boolean;
12295
14032
  multiline?: boolean;
12296
14033
  minItems?: (number | null);
12297
14034
  });
@@ -12368,10 +14105,15 @@ type VueCommaDangle = [] | [
12368
14105
  imports?: _VueCommaDangleValueWithIgnore;
12369
14106
  exports?: _VueCommaDangleValueWithIgnore;
12370
14107
  functions?: _VueCommaDangleValueWithIgnore;
14108
+ importAttributes?: _VueCommaDangleValueWithIgnore;
14109
+ dynamicImports?: _VueCommaDangleValueWithIgnore;
14110
+ enums?: _VueCommaDangleValueWithIgnore;
14111
+ generics?: _VueCommaDangleValueWithIgnore;
14112
+ tuples?: _VueCommaDangleValueWithIgnore;
12371
14113
  })
12372
14114
  ];
12373
14115
  type _VueCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
12374
- type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline");
14116
+ type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore");
12375
14117
  type VueCommaSpacing = [] | [
12376
14118
  {
12377
14119
  before?: boolean;
@@ -12444,6 +14186,10 @@ type VueFuncCallSpacing = ([] | ["never"] | [] | ["always"] | [
12444
14186
  "always",
12445
14187
  {
12446
14188
  allowNewlines?: boolean;
14189
+ optionalChain?: {
14190
+ before?: boolean;
14191
+ after?: boolean;
14192
+ };
12447
14193
  }
12448
14194
  ]);
12449
14195
  type VueHtmlButtonHasType = [] | [
@@ -12539,6 +14285,7 @@ type VueKeySpacing = [] | [
12539
14285
  mode?: ("strict" | "minimum");
12540
14286
  beforeColon?: boolean;
12541
14287
  afterColon?: boolean;
14288
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[];
12542
14289
  } | {
12543
14290
  singleLine?: {
12544
14291
  mode?: ("strict" | "minimum");
@@ -12776,6 +14523,10 @@ type VueKeywordSpacing = [] | [
12776
14523
  before?: boolean;
12777
14524
  after?: boolean;
12778
14525
  };
14526
+ satisfies?: {
14527
+ before?: boolean;
14528
+ after?: boolean;
14529
+ };
12779
14530
  set?: {
12780
14531
  before?: boolean;
12781
14532
  after?: boolean;
@@ -12852,6 +14603,10 @@ type VueKeywordSpacing = [] | [
12852
14603
  before?: boolean;
12853
14604
  after?: boolean;
12854
14605
  };
14606
+ type?: {
14607
+ before?: boolean;
14608
+ after?: boolean;
14609
+ };
12855
14610
  };
12856
14611
  }
12857
14612
  ];
@@ -12995,7 +14750,13 @@ type VueMultilineHtmlElementContentNewline = [] | [
12995
14750
  allowEmptyLines?: boolean;
12996
14751
  }
12997
14752
  ];
12998
- type VueMultilineTernary = [] | [("always" | "always-multiline" | "never")];
14753
+ type VueMultilineTernary = [] | [("always" | "always-multiline" | "never")] | [
14754
+ ("always" | "always-multiline" | "never"),
14755
+ {
14756
+ ignoreJSX?: boolean;
14757
+ [k: string]: unknown | undefined;
14758
+ }
14759
+ ];
12999
14760
  type VueMustacheInterpolationSpacing = [] | [("always" | "never")];
13000
14761
  type VueNewLineBetweenMultiLineProperty = [] | [
13001
14762
  {
@@ -13077,6 +14838,7 @@ type VueNoExtraParens = ([] | ["functions"] | [] | ["all"] | [
13077
14838
  enforceForNewInMemberExpressions?: boolean;
13078
14839
  enforceForFunctionPrototypeMethods?: boolean;
13079
14840
  allowParensAfterCommentPattern?: string;
14841
+ nestedConditionalExpressions?: boolean;
13080
14842
  }
13081
14843
  ]);
13082
14844
  type VueNoImplicitCoercion = [] | [
@@ -13337,6 +15099,16 @@ type VueObjectCurlyNewline = [] | [
13337
15099
  minProperties?: number;
13338
15100
  consistent?: boolean;
13339
15101
  });
15102
+ TSTypeLiteral?: (("always" | "never") | {
15103
+ multiline?: boolean;
15104
+ minProperties?: number;
15105
+ consistent?: boolean;
15106
+ });
15107
+ TSInterfaceBody?: (("always" | "never") | {
15108
+ multiline?: boolean;
15109
+ minProperties?: number;
15110
+ consistent?: boolean;
15111
+ });
13340
15112
  })
13341
15113
  ];
13342
15114
  type VueObjectCurlySpacing = [] | [("always" | "never")] | [
@@ -13366,8 +15138,8 @@ type VueObjectShorthand = ([] | [("always" | "methods" | "properties" | "never"
13366
15138
  avoidExplicitReturnArrows?: boolean;
13367
15139
  }
13368
15140
  ]);
13369
- type VueOperatorLinebreak = [] | [("after" | "before" | "none" | null)] | [
13370
- ("after" | "before" | "none" | null),
15141
+ type VueOperatorLinebreak = [] | [(("after" | "before" | "none") | null)] | [
15142
+ (("after" | "before" | "none") | null),
13371
15143
  {
13372
15144
  overrides?: {
13373
15145
  [k: string]: ("after" | "before" | "none" | "ignore") | undefined;
@@ -13498,6 +15270,7 @@ type VueSpaceInParens = [] | [("always" | "never")] | [
13498
15270
  type VueSpaceInfixOps = [] | [
13499
15271
  {
13500
15272
  int32Hint?: boolean;
15273
+ ignoreTypes?: boolean;
13501
15274
  }
13502
15275
  ];
13503
15276
  type VueSpaceUnaryOps = [] | [
@@ -14016,24 +15789,41 @@ type YmlSpacedComment = [] | [("always" | "never")] | [
14016
15789
 
14017
15790
  declare module 'eslint' {
14018
15791
  namespace Linter {
14019
- interface RulesRecord extends CommentsRules, CssRules, ImportsRules, JavascriptRules, JsdocRules, JsoncRules, MarkdownRules, PrettierRules, PromiseRules, ReactRules, RegexpRules, SvelteRules, TomlRules, TypescriptRules, UnicornRules, VitestRules, VueRules, YmlRules {
15792
+ interface RulesRecord extends CommentsRules, CssRules, ImportsRules, JavascriptRules, JsdocRules, JsoncRules, MarkdownRules, PrettierRules, PromiseRules, ReactRules, RegexpRules, StylisticRules, SvelteRules, TomlRules, TypescriptRules, UnicornRules, VitestRules, VueRules, YmlRules {
14020
15793
  }
14021
15794
  }
14022
15795
  }
14023
15796
 
14024
15797
  /**
14025
- * eslint comments configuration options
15798
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
15799
+ * @license MIT
15800
+ */
15801
+
15802
+ /**
15803
+ * comments preset options
14026
15804
  */
14027
15805
  interface CommentsOptions {
15806
+ /**
15807
+ * An options for `@eslint-community/eslint-plugin-eslint-comments`
15808
+ */
15809
+ directives?: OverridesOptions<CommentsRules>;
15810
+ /**
15811
+ * An options for `@kazupon/eslint-plugin` comment config
15812
+ */
15813
+ kazupon?: OverridesOptions<CommentsRules>;
14028
15814
  }
14029
15815
  /**
14030
- * `@eslint-community/eslint-plugin-eslint-comments` and overrides configuration options
14031
- * @param {CommentsOptions & OverridesOptions} options
14032
- * eslint comments configuration options for eslint comment directives
14033
- * @returns {Promise<Linter.Config[]>}
14034
- * eslint flat configurations with `@eslint-community/eslint-plugin-eslint-comments` and overrides
15816
+ * configure comments preset for the below plugins
15817
+ * - `@eslint-community/eslint-plugin-eslint-comments`
15818
+ * @param {CommentsOptions} options {@link CommentsOptions | comments preset options}
15819
+ * @returns {Promise<Linter.Config[]>} resolved eslint flat configurations
15820
+ */
15821
+ declare function comments(options?: CommentsOptions): Promise<Linter.Config[]>;
15822
+
15823
+ /**
15824
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
15825
+ * @license MIT
14035
15826
  */
14036
- declare function comments(options?: CommentsOptions & OverridesOptions<CommentsRules>): Promise<Linter.Config[]>;
14037
15827
 
14038
15828
  /**
14039
15829
  * eslint css configuration options
@@ -14050,6 +15840,10 @@ interface CssOptions {
14050
15840
  * @description if 'tailwind', it will enable [Tailwind Syntax](https://github.com/eslint/css?tab=readme-ov-file#configuring-tailwind-syntax), otherwise it will enable [custom syntax](https://github.com/eslint/css?tab=readme-ov-file#configuring-custom-syntax)
14051
15841
  * @default false
14052
15842
  */
15843
+ /**
15844
+ * TODO: If this issue is resolved, we should define more strict types for customSyntax
15845
+ * https://github.com/eslint/css/issues/56
15846
+ */
14053
15847
  customSyntax?: false | 'tailwind' | Record<string, any>;
14054
15848
  }
14055
15849
  /**
@@ -14061,6 +15855,11 @@ interface CssOptions {
14061
15855
  */
14062
15856
  declare function css(options?: CssOptions & OverridesOptions<CssRules>): Promise<Linter.Config[]>;
14063
15857
 
15858
+ /**
15859
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
15860
+ * @license MIT
15861
+ */
15862
+
14064
15863
  /**
14065
15864
  * imports configuration options
14066
15865
  */
@@ -14078,7 +15877,7 @@ interface ImportsOptions {
14078
15877
  }
14079
15878
  /**
14080
15879
  * `eslint-plugin-import-x`, `eslint-plugin-unused-imports` and overrides configuration options
14081
- * @description **if you want to use this preset, you need to put after `javascirpt` and `typescript` presets**
15880
+ * @description if you want to use this preset, you need to put after `javascript` and `typescript` presets**
14082
15881
  * @param {ImportsOptions & OverridesOptions} options
14083
15882
  * import configuration options
14084
15883
  * @returns {Promise<Linter.Config[]>}
@@ -14086,6 +15885,11 @@ interface ImportsOptions {
14086
15885
  */
14087
15886
  declare function imports(options?: ImportsOptions & OverridesOptions<ImportsRules>): Promise<Linter.Config[]>;
14088
15887
 
15888
+ /**
15889
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
15890
+ * @license MIT
15891
+ */
15892
+
14089
15893
  /**
14090
15894
  * JavaScript configuration options
14091
15895
  */
@@ -14093,13 +15897,16 @@ interface JavaScriptOptions {
14093
15897
  }
14094
15898
  /**
14095
15899
  * `@eslint/js` and overrides configuration options
14096
- * @param {JavaScriptOptions & OverridesOptions} options
14097
- * eslint configuration options for JavaScript
14098
- * @returns {Promise<Linter.Config[]>}
14099
- * eslint flat configurations with `@eslint/js` and overrides
15900
+ * @param {JavaScriptOptions & OverridesOptions} options eslint configuration options for JavaScript
15901
+ * @returns {Promise<Linter.Config[]>} eslint flat configurations with `@eslint/js` and overrides
14100
15902
  */
14101
15903
  declare function javascript(options?: JavaScriptOptions & OverridesOptions<JavascriptRules>): Promise<Linter.Config[]>;
14102
15904
 
15905
+ /**
15906
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
15907
+ * @license MIT
15908
+ */
15909
+
14103
15910
  /**
14104
15911
  * jsdoc configuration options
14105
15912
  */
@@ -14126,6 +15933,11 @@ interface JsDocumentOptions {
14126
15933
  */
14127
15934
  declare function jsdoc(options?: JsDocumentOptions & OverridesOptions<JsdocRules>): Promise<Linter.Config[]>;
14128
15935
 
15936
+ /**
15937
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
15938
+ * @license MIT
15939
+ */
15940
+
14129
15941
  /**
14130
15942
  * eslint jsonc configuration options
14131
15943
  */
@@ -14164,6 +15976,11 @@ interface JsoncOptions {
14164
15976
  */
14165
15977
  declare function jsonc(options?: JsoncOptions & OverridesOptions<JsoncRules>): Promise<Linter.Config[]>;
14166
15978
 
15979
+ /**
15980
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
15981
+ * @license MIT
15982
+ */
15983
+
14167
15984
  /**
14168
15985
  * eslint unicorn configuration options
14169
15986
  */
@@ -14195,6 +16012,11 @@ interface MarkdownOptions {
14195
16012
  declare function markdown(options?: MarkdownOptions & OverridesOptions): Promise<Linter.Config[]>;
14196
16013
  declare const md: typeof markdown;
14197
16014
 
16015
+ /**
16016
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16017
+ * @license MIT
16018
+ */
16019
+
14198
16020
  /**
14199
16021
  * Prettier configuration options
14200
16022
  */
@@ -14209,6 +16031,11 @@ interface PrettierOptions {
14209
16031
  */
14210
16032
  declare function prettier(options?: PrettierOptions & OverridesOptions<PrettierRules>): Promise<Linter.Config[]>;
14211
16033
 
16034
+ /**
16035
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16036
+ * @license MIT
16037
+ */
16038
+
14212
16039
  /**
14213
16040
  * eslint promise configuration options
14214
16041
  */
@@ -14281,6 +16108,11 @@ interface TypeScriptProjectServiceOptions {
14281
16108
  */
14282
16109
  declare function typescript(options?: TypeScriptOptions & OverridesOptions<TypescriptRules>): Promise<Linter.Config[]>;
14283
16110
 
16111
+ /**
16112
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16113
+ * @license MIT
16114
+ */
16115
+
14284
16116
  /**
14285
16117
  * eslint react configuration options
14286
16118
  */
@@ -14305,6 +16137,11 @@ interface ReactOptions {
14305
16137
  */
14306
16138
  declare function react(options?: ReactOptions & TypeScriptOptions & OverridesOptions<ReactRules>): Promise<Linter.Config[]>;
14307
16139
 
16140
+ /**
16141
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16142
+ * @license MIT
16143
+ */
16144
+
14308
16145
  /**
14309
16146
  * eslint regexp configuration options
14310
16147
  */
@@ -14319,6 +16156,35 @@ interface RegexpOptions {
14319
16156
  */
14320
16157
  declare function regexp(options?: RegexpOptions & OverridesOptions<RegexpRules>): Promise<Linter.Config[]>;
14321
16158
 
16159
+ /**
16160
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16161
+ * @license MIT
16162
+ */
16163
+
16164
+ /**
16165
+ * stylistic eslint plugin configuration options
16166
+ */
16167
+ interface StylisticOptions {
16168
+ /**
16169
+ * stylistic customize options
16170
+ * @see https://eslint.style/guide/config-presets#configuration-factory
16171
+ */
16172
+ customize?: StylisticCustomizeOptions;
16173
+ }
16174
+ /**
16175
+ * `@stylistic/eslint-plugin` and overrides configuration options
16176
+ * @param {StylisticOptions & OverridesOptions} options
16177
+ * stylistic eslint plugin configuration options
16178
+ * @returns {Promise<Linter.Config[]>}
16179
+ * eslint flat configurations with `@stylistic/eslint-plugin` and overrides
16180
+ */
16181
+ declare function stylistic(options?: StylisticOptions & OverridesOptions<StylisticRules>): Promise<Linter.Config[]>;
16182
+
16183
+ /**
16184
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16185
+ * @license MIT
16186
+ */
16187
+
14322
16188
  /**
14323
16189
  * Svelte configuration options
14324
16190
  */
@@ -14338,6 +16204,11 @@ interface SvelteScriptOptions {
14338
16204
  */
14339
16205
  declare function svelte(options?: SvelteScriptOptions & TypeScriptOptions & OverridesOptions<SvelteRules>): Promise<Linter.Config[]>;
14340
16206
 
16207
+ /**
16208
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16209
+ * @license MIT
16210
+ */
16211
+
14341
16212
  /**
14342
16213
  * eslint toml configuration options
14343
16214
  */
@@ -14352,6 +16223,11 @@ interface TomlOptions {
14352
16223
  */
14353
16224
  declare function toml(options?: TomlOptions & OverridesOptions<TomlRules>): Promise<Linter.Config[]>;
14354
16225
 
16226
+ /**
16227
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16228
+ * @license MIT
16229
+ */
16230
+
14355
16231
  /**
14356
16232
  * eslint unicorn configuration options
14357
16233
  */
@@ -14371,6 +16247,11 @@ interface UnicornOptions {
14371
16247
  */
14372
16248
  declare function unicorn(options?: UnicornOptions & OverridesOptions<UnicornRules>): Promise<Linter.Config[]>;
14373
16249
 
16250
+ /**
16251
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16252
+ * @license MIT
16253
+ */
16254
+
14374
16255
  /**
14375
16256
  * eslint vitest configuration options
14376
16257
  */
@@ -14392,6 +16273,11 @@ interface VitestOptions {
14392
16273
  */
14393
16274
  declare function vitest(options?: VitestOptions & OverridesOptions<VitestRules>): Promise<Linter.Config[]>;
14394
16275
 
16276
+ /**
16277
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16278
+ * @license MIT
16279
+ */
16280
+
14395
16281
  /**
14396
16282
  * Vue configuration options
14397
16283
  */
@@ -14440,6 +16326,11 @@ interface VueI18nOptions {
14440
16326
  */
14441
16327
  declare function vue(options?: VueScriptOptions & TypeScriptOptions & OverridesOptions<VueRules>): Promise<Linter.Config[]>;
14442
16328
 
16329
+ /**
16330
+ * @author kazuya kawaguchi (a.k.a. @kazupon)
16331
+ * @license MIT
16332
+ */
16333
+
14443
16334
  /**
14444
16335
  * eslint yml configuration options
14445
16336
  */
@@ -14461,4 +16352,4 @@ interface YmlOptions {
14461
16352
  declare function yml(options?: YmlOptions & OverridesOptions<YmlRules>): Promise<Linter.Config[]>;
14462
16353
  declare const yaml: typeof yml;
14463
16354
 
14464
- export { type CommentsOptions, type CommentsRules, type CssOptions, type CssRules, type ImportsOptions, type ImportsRules, type JavaScriptOptions, type JavascriptRules, type JsDocumentOptions, type JsdocRules, type JsoncOptions, type JsoncRules, type MarkdownOptions, type MarkdownRules, type OverridesOptions, type PrettierOptions, type PrettierRules, type PromiseOptions, type PromiseRules, type ReactOptions, type ReactRules, type RegexpOptions, type RegexpRules, type SvelteRules, type SvelteScriptOptions, type TomlOptions, type TomlRules, type TypeScriptOptions, type TypeScriptParserOptions, type TypeScriptProjectServiceOptions, type TypescriptRules, type UnicornOptions, type UnicornRules, type VitestOptions, type VitestRules, type VueI18nOptions, type VueRules, type VueScriptOptions, type YmlOptions, type YmlRules, comments, css, defineConfig, imports, javascript, jsdoc, jsonc, markdown, md, prettier, promise, react, regexp, svelte, toml, typescript, unicorn, vitest, vue, yaml, yml };
16355
+ export { type CommentsOptions, type CommentsRules, type CssOptions, type CssRules, type ImportsOptions, type ImportsRules, type JavaScriptOptions, type JavascriptRules, type JsDocumentOptions, type JsdocRules, type JsoncOptions, type JsoncRules, type MarkdownOptions, type MarkdownRules, type OverridesOptions, type PrettierOptions, type PrettierRules, type PromiseOptions, type PromiseRules, type ReactOptions, type ReactRules, type RegexpOptions, type RegexpRules, type StylisticOptions, type StylisticRules, type SvelteRules, type SvelteScriptOptions, type TomlOptions, type TomlRules, type TypeScriptOptions, type TypeScriptParserOptions, type TypeScriptProjectServiceOptions, type TypescriptRules, type UnicornOptions, type UnicornRules, type VitestOptions, type VitestRules, type VueI18nOptions, type VueRules, type VueScriptOptions, type YmlOptions, type YmlRules, comments, css, defineConfig, imports, javascript, jsdoc, jsonc, markdown, md, prettier, promise, react, regexp, stylistic, svelte, toml, typescript, unicorn, vitest, vue, yaml, yml };