@anolilab/eslint-config 16.2.22 → 16.2.24

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.mts CHANGED
@@ -191,8 +191,9 @@ interface RuleOptions {
191
191
  */
192
192
  '@stylistic/jsx-pascal-case'?: Linter.RuleEntry<StylisticJsxPascalCase>
193
193
  /**
194
- * Disallow multiple spaces between inline JSX props
194
+ * Disallow multiple spaces between inline JSX props. Deprecated, use `no-multi-spaces` rule instead.
195
195
  * @see https://eslint.style/rules/jsx-props-no-multi-spaces
196
+ * @deprecated
196
197
  */
197
198
  '@stylistic/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
198
199
  /**
@@ -2513,7 +2514,7 @@ interface RuleOptions {
2513
2514
  * Enforce heading levels increment by one
2514
2515
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
2515
2516
  */
2516
- 'markdown/heading-increment'?: Linter.RuleEntry<[]>
2517
+ 'markdown/heading-increment'?: Linter.RuleEntry<MarkdownHeadingIncrement>
2517
2518
  /**
2518
2519
  * Disallow bare URLs
2519
2520
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-bare-urls.md
@@ -2558,7 +2559,7 @@ interface RuleOptions {
2558
2559
  * Disallow headings without a space after the hash characters
2559
2560
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-atx-heading-space.md
2560
2561
  */
2561
- 'markdown/no-missing-atx-heading-space'?: Linter.RuleEntry<[]>
2562
+ 'markdown/no-missing-atx-heading-space'?: Linter.RuleEntry<MarkdownNoMissingAtxHeadingSpace>
2562
2563
  /**
2563
2564
  * Disallow missing label references
2564
2565
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
@@ -2579,6 +2580,11 @@ interface RuleOptions {
2579
2580
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
2580
2581
  */
2581
2582
  'markdown/no-reversed-media-syntax'?: Linter.RuleEntry<[]>
2583
+ /**
2584
+ * Disallow spaces around emphasis markers
2585
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-space-in-emphasis.md
2586
+ */
2587
+ 'markdown/no-space-in-emphasis'?: Linter.RuleEntry<MarkdownNoSpaceInEmphasis>
2582
2588
  /**
2583
2589
  * Disallow unused definitions
2584
2590
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-unused-definitions.md
@@ -3559,7 +3565,7 @@ interface RuleOptions {
3559
3565
  'react-x/no-nested-components'?: Linter.RuleEntry<[]>
3560
3566
  /**
3561
3567
  * Disallow nesting lazy component declarations inside other components.
3562
- * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3568
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3563
3569
  */
3564
3570
  'react-x/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
3565
3571
  /**
@@ -5280,7 +5286,7 @@ interface RuleOptions {
5280
5286
  */
5281
5287
  'sonarjs/no-equals-in-for-termination'?: Linter.RuleEntry<[]>
5282
5288
  /**
5283
- * Exclusive tests should not be commited to version control
5289
+ * Exclusive tests should not be committed to version control
5284
5290
  * @see https://sonarsource.github.io/rspec/#/rspec/S6426/javascript
5285
5291
  */
5286
5292
  'sonarjs/no-exclusive-tests'?: Linter.RuleEntry<[]>
@@ -5484,11 +5490,6 @@ interface RuleOptions {
5484
5490
  * @see https://sonarsource.github.io/rspec/#/rspec/S4624/javascript
5485
5491
  */
5486
5492
  'sonarjs/no-nested-template-literals'?: Linter.RuleEntry<[]>
5487
- /**
5488
- * Loops with at most one iteration should be refactored
5489
- * @see https://sonarsource.github.io/rspec/#/rspec/S1751/javascript
5490
- */
5491
- 'sonarjs/no-one-iteration-loop'?: Linter.RuleEntry<[]>
5492
5493
  /**
5493
5494
  * Searching OS commands in PATH is security-sensitive
5494
5495
  * @see https://sonarsource.github.io/rspec/#/rspec/S4036/javascript
@@ -5949,7 +5950,6 @@ interface RuleOptions {
5949
5950
  /**
5950
5951
  * Loop counters should not be assigned within the loop body
5951
5952
  * @see https://sonarsource.github.io/rspec/#/rspec/S2310/javascript
5952
- * @deprecated
5953
5953
  */
5954
5954
  'sonarjs/updated-loop-counter'?: Linter.RuleEntry<[]>
5955
5955
  /**
@@ -7083,7 +7083,7 @@ interface RuleOptions {
7083
7083
  * Order of UnoCSS utilities in class attribute
7084
7084
  * @see https://unocss.dev/integrations/eslint#rules
7085
7085
  */
7086
- 'unocss/order'?: Linter.RuleEntry<[]>
7086
+ 'unocss/order'?: Linter.RuleEntry<UnocssOrder>
7087
7087
  /**
7088
7088
  * Order of UnoCSS attributes
7089
7089
  * @see https://unocss.dev/integrations/eslint#rules
@@ -7110,6 +7110,11 @@ interface RuleOptions {
7110
7110
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
7111
7111
  */
7112
7112
  'vitest/expect-expect'?: Linter.RuleEntry<VitestExpectExpect>
7113
+ /**
7114
+ * enforce hoisted APIs to be on top of the file
7115
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/hoisted-apis-on-top.md
7116
+ */
7117
+ 'vitest/hoisted-apis-on-top'?: Linter.RuleEntry<[]>
7113
7118
  /**
7114
7119
  * enforce a maximum number of expect per test
7115
7120
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
@@ -7316,6 +7321,11 @@ interface RuleOptions {
7316
7321
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
7317
7322
  */
7318
7323
  'vitest/prefer-expect-resolves'?: Linter.RuleEntry<[]>
7324
+ /**
7325
+ * enforce using `expectTypeOf` instead of `expect(typeof ...)`
7326
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-type-of.md
7327
+ */
7328
+ 'vitest/prefer-expect-type-of'?: Linter.RuleEntry<[]>
7319
7329
  /**
7320
7330
  * enforce having hooks in consistent order
7321
7331
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
@@ -7900,6 +7910,7 @@ type StylisticIndent = []|[("tab" | number)]|[("tab" | number), {
7900
7910
  const?: (number | ("first" | "off"))
7901
7911
  using?: (number | ("first" | "off"))
7902
7912
  })
7913
+ assignmentOperator?: (number | "off")
7903
7914
  outerIIFEBody?: (number | "off")
7904
7915
  MemberExpression?: (number | "off")
7905
7916
  FunctionDeclaration?: {
@@ -8132,6 +8143,22 @@ type StylisticKeywordSpacing = []|[{
8132
8143
  before?: boolean
8133
8144
  after?: boolean
8134
8145
  }
8146
+ arguments?: {
8147
+ before?: boolean
8148
+ after?: boolean
8149
+ }
8150
+ as?: {
8151
+ before?: boolean
8152
+ after?: boolean
8153
+ }
8154
+ async?: {
8155
+ before?: boolean
8156
+ after?: boolean
8157
+ }
8158
+ await?: {
8159
+ before?: boolean
8160
+ after?: boolean
8161
+ }
8135
8162
  boolean?: {
8136
8163
  before?: boolean
8137
8164
  after?: boolean
@@ -8196,6 +8223,10 @@ type StylisticKeywordSpacing = []|[{
8196
8223
  before?: boolean
8197
8224
  after?: boolean
8198
8225
  }
8226
+ eval?: {
8227
+ before?: boolean
8228
+ after?: boolean
8229
+ }
8199
8230
  export?: {
8200
8231
  before?: boolean
8201
8232
  after?: boolean
@@ -8224,10 +8255,18 @@ type StylisticKeywordSpacing = []|[{
8224
8255
  before?: boolean
8225
8256
  after?: boolean
8226
8257
  }
8258
+ from?: {
8259
+ before?: boolean
8260
+ after?: boolean
8261
+ }
8227
8262
  function?: {
8228
8263
  before?: boolean
8229
8264
  after?: boolean
8230
8265
  }
8266
+ get?: {
8267
+ before?: boolean
8268
+ after?: boolean
8269
+ }
8231
8270
  goto?: {
8232
8271
  before?: boolean
8233
8272
  after?: boolean
@@ -8260,6 +8299,10 @@ type StylisticKeywordSpacing = []|[{
8260
8299
  before?: boolean
8261
8300
  after?: boolean
8262
8301
  }
8302
+ let?: {
8303
+ before?: boolean
8304
+ after?: boolean
8305
+ }
8263
8306
  long?: {
8264
8307
  before?: boolean
8265
8308
  after?: boolean
@@ -8276,6 +8319,10 @@ type StylisticKeywordSpacing = []|[{
8276
8319
  before?: boolean
8277
8320
  after?: boolean
8278
8321
  }
8322
+ of?: {
8323
+ before?: boolean
8324
+ after?: boolean
8325
+ }
8279
8326
  package?: {
8280
8327
  before?: boolean
8281
8328
  after?: boolean
@@ -8296,6 +8343,10 @@ type StylisticKeywordSpacing = []|[{
8296
8343
  before?: boolean
8297
8344
  after?: boolean
8298
8345
  }
8346
+ set?: {
8347
+ before?: boolean
8348
+ after?: boolean
8349
+ }
8299
8350
  short?: {
8300
8351
  before?: boolean
8301
8352
  after?: boolean
@@ -8340,59 +8391,43 @@ type StylisticKeywordSpacing = []|[{
8340
8391
  before?: boolean
8341
8392
  after?: boolean
8342
8393
  }
8343
- typeof?: {
8344
- before?: boolean
8345
- after?: boolean
8346
- }
8347
- var?: {
8348
- before?: boolean
8349
- after?: boolean
8350
- }
8351
- void?: {
8352
- before?: boolean
8353
- after?: boolean
8354
- }
8355
- volatile?: {
8356
- before?: boolean
8357
- after?: boolean
8358
- }
8359
- while?: {
8394
+ type?: {
8360
8395
  before?: boolean
8361
8396
  after?: boolean
8362
8397
  }
8363
- with?: {
8398
+ typeof?: {
8364
8399
  before?: boolean
8365
8400
  after?: boolean
8366
8401
  }
8367
- accessor?: {
8402
+ using?: {
8368
8403
  before?: boolean
8369
8404
  after?: boolean
8370
8405
  }
8371
- as?: {
8406
+ var?: {
8372
8407
  before?: boolean
8373
8408
  after?: boolean
8374
8409
  }
8375
- async?: {
8410
+ void?: {
8376
8411
  before?: boolean
8377
8412
  after?: boolean
8378
8413
  }
8379
- await?: {
8414
+ volatile?: {
8380
8415
  before?: boolean
8381
8416
  after?: boolean
8382
8417
  }
8383
- from?: {
8418
+ while?: {
8384
8419
  before?: boolean
8385
8420
  after?: boolean
8386
8421
  }
8387
- get?: {
8422
+ with?: {
8388
8423
  before?: boolean
8389
8424
  after?: boolean
8390
8425
  }
8391
- let?: {
8426
+ yield?: {
8392
8427
  before?: boolean
8393
8428
  after?: boolean
8394
8429
  }
8395
- of?: {
8430
+ accessor?: {
8396
8431
  before?: boolean
8397
8432
  after?: boolean
8398
8433
  }
@@ -8400,22 +8435,6 @@ type StylisticKeywordSpacing = []|[{
8400
8435
  before?: boolean
8401
8436
  after?: boolean
8402
8437
  }
8403
- set?: {
8404
- before?: boolean
8405
- after?: boolean
8406
- }
8407
- using?: {
8408
- before?: boolean
8409
- after?: boolean
8410
- }
8411
- yield?: {
8412
- before?: boolean
8413
- after?: boolean
8414
- }
8415
- type?: {
8416
- before?: boolean
8417
- after?: boolean
8418
- }
8419
8438
  }
8420
8439
  }]
8421
8440
  // ----- @stylistic/line-comment-position -----
@@ -8617,6 +8636,7 @@ type StylisticNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
8617
8636
  LogicalExpression?: boolean
8618
8637
  AwaitExpression?: boolean
8619
8638
  }
8639
+ ignoredNodes?: string[]
8620
8640
  }])
8621
8641
  // ----- @stylistic/no-mixed-operators -----
8622
8642
  type StylisticNoMixedOperators = []|[{
@@ -8732,7 +8752,7 @@ type StylisticPaddedBlocks = []|[(("always" | "never" | "start" | "end") | {
8732
8752
  // ----- @stylistic/padding-line-between-statements -----
8733
8753
  type _StylisticPaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
8734
8754
  type _StylisticPaddingLineBetweenStatementsStatementOption = (_StylisticPaddingLineBetweenStatementsStatementType | [_StylisticPaddingLineBetweenStatementsStatementType, ...(_StylisticPaddingLineBetweenStatementsStatementType)[]])
8735
- type _StylisticPaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "return" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using")
8755
+ type _StylisticPaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "return" | "singleline-return" | "multiline-return" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using" | "type" | "singleline-type" | "multiline-type")
8736
8756
  type StylisticPaddingLineBetweenStatements = {
8737
8757
  blankLine: _StylisticPaddingLineBetweenStatementsPaddingType
8738
8758
  prev: _StylisticPaddingLineBetweenStatementsStatementOption
@@ -10949,6 +10969,7 @@ type JsdocRequireReturnsType = []|[{
10949
10969
  }]
10950
10970
  // ----- jsdoc/require-template -----
10951
10971
  type JsdocRequireTemplate = []|[{
10972
+ exemptedBy?: string[]
10952
10973
  requireSeparateTemplates?: boolean
10953
10974
  }]
10954
10975
  // ----- jsdoc/require-throws -----
@@ -11498,6 +11519,10 @@ type JsxA11YTabindexNoPositive = []|[{
11498
11519
  type MarkdownFencedCodeLanguage = []|[{
11499
11520
  required?: string[]
11500
11521
  }]
11522
+ // ----- markdown/heading-increment -----
11523
+ type MarkdownHeadingIncrement = []|[{
11524
+ frontmatterTitle?: string
11525
+ }]
11501
11526
  // ----- markdown/no-duplicate-definitions -----
11502
11527
  type MarkdownNoDuplicateDefinitions = []|[{
11503
11528
  allowDefinitions?: string[]
@@ -11516,6 +11541,11 @@ type MarkdownNoEmptyDefinitions = []|[{
11516
11541
  // ----- markdown/no-html -----
11517
11542
  type MarkdownNoHtml = []|[{
11518
11543
  allowed?: string[]
11544
+ allowedIgnoreCase?: boolean
11545
+ }]
11546
+ // ----- markdown/no-missing-atx-heading-space -----
11547
+ type MarkdownNoMissingAtxHeadingSpace = []|[{
11548
+ checkClosedHeadings?: boolean
11519
11549
  }]
11520
11550
  // ----- markdown/no-missing-link-fragments -----
11521
11551
  type MarkdownNoMissingLinkFragments = []|[{
@@ -11526,6 +11556,10 @@ type MarkdownNoMissingLinkFragments = []|[{
11526
11556
  type MarkdownNoMultipleH1 = []|[{
11527
11557
  frontmatterTitle?: string
11528
11558
  }]
11559
+ // ----- markdown/no-space-in-emphasis -----
11560
+ type MarkdownNoSpaceInEmphasis = []|[{
11561
+ checkStrikethrough?: boolean
11562
+ }]
11529
11563
  // ----- markdown/no-unused-definitions -----
11530
11564
  type MarkdownNoUnusedDefinitions = []|[{
11531
11565
  allowDefinitions?: string[]
@@ -14822,8 +14856,6 @@ type ReactHooksExhaustiveDeps = []|[{
14822
14856
  // ----- react-naming-convention/component-name -----
14823
14857
  type ReactNamingConventionComponentName = []|[(("PascalCase" | "CONSTANT_CASE") | {
14824
14858
  allowAllCaps?: boolean
14825
- allowLeadingUnderscore?: boolean
14826
- allowNamespace?: boolean
14827
14859
  excepts?: string[]
14828
14860
  rule?: ("PascalCase" | "CONSTANT_CASE")
14829
14861
  })]
@@ -15689,17 +15721,14 @@ type TestingLibraryNoDomImport = []|[string]
15689
15721
  // ----- testing-library/no-node-access -----
15690
15722
  type TestingLibraryNoNodeAccess = []|[{
15691
15723
  allowContainerFirstChild?: boolean
15692
- [k: string]: unknown | undefined
15693
15724
  }]
15694
15725
  // ----- testing-library/no-render-in-lifecycle -----
15695
15726
  type TestingLibraryNoRenderInLifecycle = []|[{
15696
15727
  allowTestingFrameworkSetupHook?: ("beforeEach" | "beforeAll")
15697
- [k: string]: unknown | undefined
15698
15728
  }]
15699
15729
  // ----- testing-library/no-unnecessary-act -----
15700
15730
  type TestingLibraryNoUnnecessaryAct = []|[{
15701
15731
  isStrict?: boolean
15702
- [k: string]: unknown | undefined
15703
15732
  }]
15704
15733
  // ----- testing-library/prefer-explicit-assert -----
15705
15734
  type TestingLibraryPreferExplicitAssert = []|[{
@@ -15716,13 +15745,11 @@ type TestingLibraryPreferQueryMatchers = []|[{
15716
15745
  validEntries?: {
15717
15746
  query?: ("get" | "query")
15718
15747
  matcher?: string
15719
- [k: string]: unknown | undefined
15720
15748
  }[]
15721
15749
  }]
15722
15750
  // ----- testing-library/prefer-user-event -----
15723
15751
  type TestingLibraryPreferUserEvent = []|[{
15724
15752
  allowedMethods?: unknown[]
15725
- [k: string]: unknown | undefined
15726
15753
  }]
15727
15754
  // ----- toml/array-bracket-newline -----
15728
15755
  type TomlArrayBracketNewline = []|[(("always" | "never" | "consistent") | {
@@ -16068,6 +16095,11 @@ type UnocssEnforceClassCompile = []|[{
16068
16095
  prefix?: string
16069
16096
  enableFix?: boolean
16070
16097
  }]
16098
+ // ----- unocss/order -----
16099
+ type UnocssOrder = []|[{
16100
+ unoFunctions?: string[]
16101
+ unoVariables?: string[]
16102
+ }]
16071
16103
  // ----- vitest/consistent-test-filename -----
16072
16104
  type VitestConsistentTestFilename = []|[{
16073
16105
  pattern?: string
@@ -16388,7 +16420,7 @@ type ZodRequireStrict = []|[{
16388
16420
  allowPassthrough?: boolean
16389
16421
  }]
16390
16422
  // Names of all the configs
16391
- type ConfigNames = 'anolilab/antfu' | 'anolilab/astro/setup' | 'anolilab/astro/rules' | 'anolilab/best-practices/rules' | 'anolilab/best-practices/ts-rules' | 'compat/flat/recommended' | 'anolilab/errors/rules' | 'anolilab/errors/ts-rules' | 'anolilab/html/setup' | 'anolilab/no-secrets' | 'anolilab/no-unsanitized/setup' | 'anolilab/promise/rules' | 'anolilab/simple-import-sort' | 'anolilab/sonarjs/plugin' | 'anolilab/sonarjs/rules' | 'anolilab/sonarjs/js-and-ts-rules' | 'anolilab/sonarjs/js-rules' | 'storybook:recommended:setup' | 'storybook:recommended:stories-rules' | 'storybook:recommended:main-rules' | 'tailwindcss:base' | 'tailwindcss:rules' | 'anolilab/validate-jsx-nesting/setup' | 'anolilab/variables/rules' | 'anolilab/variables/ts-rules' | 'anolilab/style/rules' | 'anolilab/style/ts-rules' | 'anolilab/eslint-comments/rules' | 'anolilab/formatter/setup' | 'anolilab/imports/setup' | 'anolilab/imports/rules' | 'anolilab/imports/d.ts-rules' | 'anolilab/javascript/setup' | 'anolilab/jsx-a11y/setup' | 'anolilab/jsdoc/setup' | 'anolilab/jsdoc/js-rules' | 'anolilab/jsonc/json5-rules' | 'anolilab/jsonc/jsonc-rules' | 'anolilab/jsonc/json-rules' | 'anolilab/jsonc/package.json-rules' | 'anolilab/jsonc/tsconfig-json' | 'anolilab/markdown/setup' | 'anolilab/markdown/processor' | 'anolilab/markdown/parser' | 'anolilab/markdown/disables' | 'anolilab/perfectionist/setup' | 'anolilab/perfectionist/rules' | 'anolilab/perfectionist/typescript' | 'anolilab/perfectionist/postcss' | 'anolilab/react/setup' | 'anolilab/react/rules' | 'anolilab/react/jsx' | 'anolilab/react/tsx' | 'anolilab/react/storybook' | 'anolilab/node/setup' | 'anolilab/node/rules' | 'anolilab/stylistic/rules' | 'anolilab/vitest/setup' | 'anolilab/vitest/rules' | 'anolilab/toml' | 'anolilab/regexp/rules' | 'anolilab/typescript/setup' | 'anolilab/typescript/parser' | 'typescript-eslint/base' | 'typescript-eslint/eslint-recommended' | 'typescript-eslint/strict' | 'anolilab/typescript/rules' | 'anolilab/unicorn/plugin' | 'anolilab/unicorn/rules' | 'anolilab/unicorn/tsconfig-overrides' | 'anolilab/unicorn/ts-overrides' | 'anolilab/unocss' | 'anolilab/yaml' | 'anolilab/yaml/pnpm-workspace'
16423
+ type ConfigNames = 'anolilab/antfu' | 'anolilab/astro/setup' | 'anolilab/astro/rules' | 'anolilab/best-practices/rules' | 'anolilab/best-practices/ts-rules' | 'compat/flat/recommended' | 'anolilab/errors/rules' | 'anolilab/errors/ts-rules' | 'anolilab/html/setup' | 'anolilab/no-secrets' | 'anolilab/no-unsanitized/setup' | 'anolilab/promise/rules' | 'anolilab/simple-import-sort' | 'anolilab/sonarjs/plugin' | 'anolilab/sonarjs/rules' | 'anolilab/sonarjs/js-and-ts-rules' | 'anolilab/sonarjs/js-rules' | 'storybook:recommended:setup' | 'storybook:recommended:stories-rules' | 'storybook:recommended:main-rules' | 'tailwindcss:base' | 'tailwindcss:rules' | 'anolilab/validate-jsx-nesting/setup' | 'anolilab/variables/rules' | 'anolilab/variables/ts-rules' | 'anolilab/style/rules' | 'anolilab/style/ts-rules' | 'anolilab/eslint-comments/rules' | 'anolilab/formatter/setup' | 'anolilab/imports/setup' | 'anolilab/imports/rules' | 'anolilab/imports/d.ts-rules' | 'anolilab/javascript/setup' | 'anolilab/jsx-a11y/setup' | 'anolilab/jsdoc/setup' | 'anolilab/jsdoc/js-rules' | 'anolilab/jsonc/json5-rules' | 'anolilab/jsonc/jsonc-rules' | 'anolilab/jsonc/json-rules' | 'anolilab/jsonc/package.json-rules' | 'anolilab/jsonc/tsconfig-json' | 'anolilab/markdown/setup' | 'anolilab/markdown/processor' | 'anolilab/markdown/parser' | 'anolilab/markdown/disabled' | 'anolilab/perfectionist/setup' | 'anolilab/perfectionist/rules' | 'anolilab/perfectionist/typescript' | 'anolilab/perfectionist/postcss' | 'anolilab/react/setup' | 'anolilab/react/rules' | 'anolilab/react/jsx' | 'anolilab/react/tsx' | 'anolilab/react/storybook' | 'anolilab/node/setup' | 'anolilab/node/rules' | 'anolilab/stylistic/rules' | 'anolilab/vitest/setup' | 'anolilab/vitest/rules' | 'anolilab/toml' | 'anolilab/regexp/rules' | 'anolilab/typescript/setup' | 'anolilab/typescript/parser' | 'typescript-eslint/base' | 'typescript-eslint/eslint-recommended' | 'typescript-eslint/strict' | 'anolilab/typescript/rules' | 'anolilab/unicorn/plugin' | 'anolilab/unicorn/rules' | 'anolilab/unicorn/tsconfig-overrides' | 'anolilab/unicorn/ts-overrides' | 'anolilab/unocss' | 'anolilab/yaml' | 'anolilab/yaml/pnpm-workspace'
16392
16424
 
16393
16425
  type VendoredPrettierOptions = Partial<VendoredPrettierOptionsRequired>;
16394
16426
  interface VendoredPrettierOptionsRequired {
@@ -16542,7 +16574,7 @@ interface OptionsSilentConsoleLogs {
16542
16574
  interface OptionsStylistic {
16543
16575
  stylistic?: StylisticConfig | boolean;
16544
16576
  }
16545
- type OptionsTypescript = (OptionsOverrides & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes);
16577
+ type OptionsTypescript = OptionsOverrides & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes;
16546
16578
  interface OptionsTypeScriptParserOptions {
16547
16579
  filesTypeAware?: string[];
16548
16580
  ignoresTypeAware?: string[];
@@ -16560,11 +16592,11 @@ interface OptionsUnoCSS extends OptionsOverrides {
16560
16592
  attributify?: boolean;
16561
16593
  strict?: boolean;
16562
16594
  }
16563
- interface Rules extends RuleOptions {
16564
- }
16595
+ type Rules = Record<string, Linter.RuleEntry<any> | undefined> & RuleOptions;
16565
16596
  type StylisticConfig = Pick<StylisticCustomizeOptions, "indent" | "jsx" | "quotes" | "semi">;
16566
- type TypedFlatConfigItem = Omit<Linter.Config<Linter.RulesRecord & Rules>, "plugins"> & {
16597
+ type TypedFlatConfigItem = Omit<Linter.Config, "plugins" | "rules"> & {
16567
16598
  plugins?: Record<string, any>;
16599
+ rules?: Rules;
16568
16600
  };
16569
16601
 
16570
16602
  type FileType = "all" | "astro_ts" | "astro" | "css" | "e2e" | "graphql" | "html" | "js_and_ts" | "js" | "jsx" | "jsx_and_tsx" | "less" | "markdown_in_markdown" | "markdown_inline_js_jsx" | "markdown" | "postcss" | "scss" | "storybook" | "svg" | "toml" | "ts" | "types" | "vitest" | "xml" | "yaml";