@exbotanical/eslint-config 1.1.4 → 2.0.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.
Files changed (3) hide show
  1. package/dist/index.d.ts +290 -20
  2. package/dist/index.js +1968 -2426
  3. package/package.json +39 -17
package/dist/index.d.ts CHANGED
@@ -1113,7 +1113,7 @@ Backward pagination arguments
1113
1113
  * disallow unnecessary escape usage
1114
1114
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-useless-escape.html
1115
1115
  */
1116
- 'jsonc/no-useless-escape'?: Linter.RuleEntry<[]>
1116
+ 'jsonc/no-useless-escape'?: Linter.RuleEntry<JsoncNoUselessEscape>
1117
1117
  /**
1118
1118
  * enforce consistent line breaks inside braces
1119
1119
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-newline.html
@@ -1166,32 +1166,109 @@ Backward pagination arguments
1166
1166
  'jsonc/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>
1167
1167
  /**
1168
1168
  * Require languages for fenced code blocks
1169
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-language.md
1169
1170
  */
1170
1171
  'markdown/fenced-code-language'?: Linter.RuleEntry<MarkdownFencedCodeLanguage>
1172
+ /**
1173
+ * Require or disallow metadata for fenced code blocks
1174
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-meta.md
1175
+ */
1176
+ 'markdown/fenced-code-meta'?: Linter.RuleEntry<MarkdownFencedCodeMeta>
1171
1177
  /**
1172
1178
  * Enforce heading levels increment by one
1179
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
1180
+ */
1181
+ 'markdown/heading-increment'?: Linter.RuleEntry<MarkdownHeadingIncrement>
1182
+ /**
1183
+ * Disallow bare URLs
1184
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-bare-urls.md
1173
1185
  */
1174
- 'markdown/heading-increment'?: Linter.RuleEntry<[]>
1186
+ 'markdown/no-bare-urls'?: Linter.RuleEntry<[]>
1187
+ /**
1188
+ * Disallow duplicate definitions
1189
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-definitions.md
1190
+ */
1191
+ 'markdown/no-duplicate-definitions'?: Linter.RuleEntry<MarkdownNoDuplicateDefinitions>
1175
1192
  /**
1176
1193
  * Disallow duplicate headings in the same document
1194
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-headings.md
1195
+ */
1196
+ 'markdown/no-duplicate-headings'?: Linter.RuleEntry<MarkdownNoDuplicateHeadings>
1197
+ /**
1198
+ * Disallow empty definitions
1199
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-definitions.md
1200
+ */
1201
+ 'markdown/no-empty-definitions'?: Linter.RuleEntry<MarkdownNoEmptyDefinitions>
1202
+ /**
1203
+ * Disallow empty images
1204
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-images.md
1177
1205
  */
1178
- 'markdown/no-duplicate-headings'?: Linter.RuleEntry<[]>
1206
+ 'markdown/no-empty-images'?: Linter.RuleEntry<[]>
1179
1207
  /**
1180
1208
  * Disallow empty links
1209
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-links.md
1181
1210
  */
1182
1211
  'markdown/no-empty-links'?: Linter.RuleEntry<[]>
1183
1212
  /**
1184
1213
  * Disallow HTML tags
1214
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-html.md
1185
1215
  */
1186
1216
  'markdown/no-html'?: Linter.RuleEntry<MarkdownNoHtml>
1187
1217
  /**
1188
1218
  * Disallow invalid label references
1219
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-invalid-label-refs.md
1189
1220
  */
1190
1221
  'markdown/no-invalid-label-refs'?: Linter.RuleEntry<[]>
1222
+ /**
1223
+ * Disallow headings without a space after the hash characters
1224
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-atx-heading-space.md
1225
+ */
1226
+ 'markdown/no-missing-atx-heading-space'?: Linter.RuleEntry<MarkdownNoMissingAtxHeadingSpace>
1191
1227
  /**
1192
1228
  * Disallow missing label references
1229
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
1230
+ */
1231
+ 'markdown/no-missing-label-refs'?: Linter.RuleEntry<MarkdownNoMissingLabelRefs>
1232
+ /**
1233
+ * Disallow link fragments that do not reference valid headings
1234
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-link-fragments.md
1235
+ */
1236
+ 'markdown/no-missing-link-fragments'?: Linter.RuleEntry<MarkdownNoMissingLinkFragments>
1237
+ /**
1238
+ * Disallow multiple H1 headings in the same document
1239
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-multiple-h1.md
1240
+ */
1241
+ 'markdown/no-multiple-h1'?: Linter.RuleEntry<MarkdownNoMultipleH1>
1242
+ /**
1243
+ * Disallow URLs that match defined reference identifiers
1244
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reference-like-urls.md
1245
+ */
1246
+ 'markdown/no-reference-like-urls'?: Linter.RuleEntry<[]>
1247
+ /**
1248
+ * Disallow reversed link and image syntax
1249
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
1250
+ */
1251
+ 'markdown/no-reversed-media-syntax'?: Linter.RuleEntry<[]>
1252
+ /**
1253
+ * Disallow spaces around emphasis markers
1254
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-space-in-emphasis.md
1255
+ */
1256
+ 'markdown/no-space-in-emphasis'?: Linter.RuleEntry<MarkdownNoSpaceInEmphasis>
1257
+ /**
1258
+ * Disallow unused definitions
1259
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-unused-definitions.md
1260
+ */
1261
+ 'markdown/no-unused-definitions'?: Linter.RuleEntry<MarkdownNoUnusedDefinitions>
1262
+ /**
1263
+ * Require alternative text for images
1264
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/require-alt-text.md
1265
+ */
1266
+ 'markdown/require-alt-text'?: Linter.RuleEntry<[]>
1267
+ /**
1268
+ * Disallow data rows in a GitHub Flavored Markdown table from having more cells than the header row
1269
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/table-column-count.md
1193
1270
  */
1194
- 'markdown/no-missing-label-refs'?: Linter.RuleEntry<[]>
1271
+ 'markdown/table-column-count'?: Linter.RuleEntry<MarkdownTableColumnCount>
1195
1272
  /**
1196
1273
  * require `return` statements after callbacks
1197
1274
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/callback-return.md
@@ -2385,11 +2462,21 @@ Backward pagination arguments
2385
2462
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/indent.html
2386
2463
  */
2387
2464
  'toml/indent'?: Linter.RuleEntry<TomlIndent>
2465
+ /**
2466
+ * enforce linebreaks after opening and before closing braces
2467
+ * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-curly-newline.html
2468
+ */
2469
+ 'toml/inline-table-curly-newline'?: Linter.RuleEntry<TomlInlineTableCurlyNewline>
2388
2470
  /**
2389
2471
  * enforce consistent spacing inside braces
2390
2472
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-curly-spacing.html
2391
2473
  */
2392
2474
  'toml/inline-table-curly-spacing'?: Linter.RuleEntry<TomlInlineTableCurlySpacing>
2475
+ /**
2476
+ * enforce placing inline table key-value pairs on separate lines
2477
+ * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-key-value-newline.html
2478
+ */
2479
+ 'toml/inline-table-key-value-newline'?: Linter.RuleEntry<TomlInlineTableKeyValueNewline>
2393
2480
  /**
2394
2481
  * enforce consistent spacing between keys and values in key/value pairs
2395
2482
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/key-spacing.html
@@ -5093,6 +5180,11 @@ Backward pagination arguments
5093
5180
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-spacing.html
5094
5181
  */
5095
5182
  'yaml/key-spacing'?: Linter.RuleEntry<YamlKeySpacing>
5183
+ /**
5184
+ * disallow boolean mapping keys
5185
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-boolean-key.html
5186
+ */
5187
+ 'yaml/no-boolean-key'?: Linter.RuleEntry<[]>
5096
5188
  /**
5097
5189
  * disallow empty document
5098
5190
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-document.html
@@ -5128,6 +5220,11 @@ Backward pagination arguments
5128
5220
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
5129
5221
  */
5130
5222
  'yaml/no-tab-indent'?: Linter.RuleEntry<[]>
5223
+ /**
5224
+ * disallow trailing whitespace at the end of lines
5225
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-spaces.html
5226
+ */
5227
+ 'yaml/no-trailing-spaces'?: Linter.RuleEntry<YamlNoTrailingSpaces>
5131
5228
  /**
5132
5229
  * disallow trailing zeros for floats
5133
5230
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
@@ -6220,6 +6317,10 @@ type JsoncNoIrregularWhitespace = []|[{
6220
6317
  skipRegExps?: boolean
6221
6318
  skipJSXText?: boolean
6222
6319
  }]
6320
+ // ----- jsonc/no-useless-escape -----
6321
+ type JsoncNoUselessEscape = []|[{
6322
+ allowRegexCharacters?: string[]
6323
+ }]
6223
6324
  // ----- jsonc/object-curly-newline -----
6224
6325
  type JsoncObjectCurlyNewline = []|[((("always" | "never") | {
6225
6326
  multiline?: boolean
@@ -6251,6 +6352,7 @@ type JsoncObjectCurlyNewline = []|[((("always" | "never") | {
6251
6352
  type JsoncObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
6252
6353
  arraysInObjects?: boolean
6253
6354
  objectsInObjects?: boolean
6355
+ emptyObjects?: ("ignore" | "always" | "never")
6254
6356
  }]
6255
6357
  // ----- jsonc/object-property-newline -----
6256
6358
  type JsoncObjectPropertyNewline = []|[{
@@ -6277,11 +6379,13 @@ type JsoncSortArrayValues = [{
6277
6379
  type?: ("asc" | "desc")
6278
6380
  caseSensitive?: boolean
6279
6381
  natural?: boolean
6382
+ key?: string
6280
6383
  }
6281
6384
  })[] | {
6282
6385
  type?: ("asc" | "desc")
6283
6386
  caseSensitive?: boolean
6284
6387
  natural?: boolean
6388
+ key?: string
6285
6389
  })
6286
6390
  minValues?: number
6287
6391
  }, ...({
@@ -6292,11 +6396,13 @@ type JsoncSortArrayValues = [{
6292
6396
  type?: ("asc" | "desc")
6293
6397
  caseSensitive?: boolean
6294
6398
  natural?: boolean
6399
+ key?: string
6295
6400
  }
6296
6401
  })[] | {
6297
6402
  type?: ("asc" | "desc")
6298
6403
  caseSensitive?: boolean
6299
6404
  natural?: boolean
6405
+ key?: string
6300
6406
  })
6301
6407
  minValues?: number
6302
6408
  })[]]
@@ -6306,15 +6412,19 @@ type JsoncSortKeys = ([{
6306
6412
  hasProperties?: string[]
6307
6413
  order: ((string | {
6308
6414
  keyPattern?: string
6309
- order?: {
6415
+ order?: ({
6310
6416
  type?: ("asc" | "desc")
6311
6417
  caseSensitive?: boolean
6312
6418
  natural?: boolean
6313
- }
6419
+ } | {
6420
+ type: "ignore"
6421
+ })
6314
6422
  })[] | {
6315
6423
  type?: ("asc" | "desc")
6316
6424
  caseSensitive?: boolean
6317
6425
  natural?: boolean
6426
+ } | {
6427
+ type: "ignore"
6318
6428
  })
6319
6429
  minKeys?: number
6320
6430
  allowLineSeparatedGroups?: boolean
@@ -6323,15 +6433,19 @@ type JsoncSortKeys = ([{
6323
6433
  hasProperties?: string[]
6324
6434
  order: ((string | {
6325
6435
  keyPattern?: string
6326
- order?: {
6436
+ order?: ({
6327
6437
  type?: ("asc" | "desc")
6328
6438
  caseSensitive?: boolean
6329
6439
  natural?: boolean
6330
- }
6440
+ } | {
6441
+ type: "ignore"
6442
+ })
6331
6443
  })[] | {
6332
6444
  type?: ("asc" | "desc")
6333
6445
  caseSensitive?: boolean
6334
6446
  natural?: boolean
6447
+ } | {
6448
+ type: "ignore"
6335
6449
  })
6336
6450
  minKeys?: number
6337
6451
  allowLineSeparatedGroups?: boolean
@@ -6353,9 +6467,63 @@ type JsoncSpaceUnaryOps = []|[{
6353
6467
  type MarkdownFencedCodeLanguage = []|[{
6354
6468
  required?: string[]
6355
6469
  }]
6470
+ // ----- markdown/fenced-code-meta -----
6471
+ type MarkdownFencedCodeMeta = []|[("always" | "never")]
6472
+ // ----- markdown/heading-increment -----
6473
+ type MarkdownHeadingIncrement = []|[{
6474
+ frontmatterTitle?: string
6475
+ }]
6476
+ // ----- markdown/no-duplicate-definitions -----
6477
+ type MarkdownNoDuplicateDefinitions = []|[{
6478
+ allowDefinitions?: string[]
6479
+ allowFootnoteDefinitions?: string[]
6480
+ checkFootnoteDefinitions?: boolean
6481
+ }]
6482
+ // ----- markdown/no-duplicate-headings -----
6483
+ type MarkdownNoDuplicateHeadings = []|[{
6484
+ checkSiblingsOnly?: boolean
6485
+ }]
6486
+ // ----- markdown/no-empty-definitions -----
6487
+ type MarkdownNoEmptyDefinitions = []|[{
6488
+ allowDefinitions?: string[]
6489
+ allowFootnoteDefinitions?: string[]
6490
+ checkFootnoteDefinitions?: boolean
6491
+ }]
6356
6492
  // ----- markdown/no-html -----
6357
6493
  type MarkdownNoHtml = []|[{
6358
6494
  allowed?: string[]
6495
+ allowedIgnoreCase?: boolean
6496
+ }]
6497
+ // ----- markdown/no-missing-atx-heading-space -----
6498
+ type MarkdownNoMissingAtxHeadingSpace = []|[{
6499
+ checkClosedHeadings?: boolean
6500
+ }]
6501
+ // ----- markdown/no-missing-label-refs -----
6502
+ type MarkdownNoMissingLabelRefs = []|[{
6503
+ allowLabels?: string[]
6504
+ }]
6505
+ // ----- markdown/no-missing-link-fragments -----
6506
+ type MarkdownNoMissingLinkFragments = []|[{
6507
+ ignoreCase?: boolean
6508
+ allowPattern?: string
6509
+ }]
6510
+ // ----- markdown/no-multiple-h1 -----
6511
+ type MarkdownNoMultipleH1 = []|[{
6512
+ frontmatterTitle?: string
6513
+ }]
6514
+ // ----- markdown/no-space-in-emphasis -----
6515
+ type MarkdownNoSpaceInEmphasis = []|[{
6516
+ checkStrikethrough?: boolean
6517
+ }]
6518
+ // ----- markdown/no-unused-definitions -----
6519
+ type MarkdownNoUnusedDefinitions = []|[{
6520
+ allowDefinitions?: string[]
6521
+ allowFootnoteDefinitions?: string[]
6522
+ checkFootnoteDefinitions?: boolean
6523
+ }]
6524
+ // ----- markdown/table-column-count -----
6525
+ type MarkdownTableColumnCount = []|[{
6526
+ checkMissingCells?: boolean
6359
6527
  }]
6360
6528
  // ----- node/callback-return -----
6361
6529
  type NodeCallbackReturn = []|[string[]]
@@ -8523,10 +8691,21 @@ type TomlIndent = []|[("tab" | number)]|[("tab" | number), {
8523
8691
  subTables?: number
8524
8692
  keyValuePairs?: number
8525
8693
  }]
8694
+ // ----- toml/inline-table-curly-newline -----
8695
+ type TomlInlineTableCurlyNewline = []|[(("always" | "never") | {
8696
+ multiline?: boolean
8697
+ minProperties?: number
8698
+ consistent?: boolean
8699
+ })]
8526
8700
  // ----- toml/inline-table-curly-spacing -----
8527
8701
  type TomlInlineTableCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
8528
8702
  arraysInObjects?: boolean
8529
8703
  objectsInObjects?: boolean
8704
+ emptyObjects?: ("ignore" | "always" | "never")
8705
+ }]
8706
+ // ----- toml/inline-table-key-value-newline -----
8707
+ type TomlInlineTableKeyValueNewline = []|[{
8708
+ allowAllPropertiesOnSameLine?: boolean
8530
8709
  }]
8531
8710
  // ----- toml/key-spacing -----
8532
8711
  type TomlKeySpacing = []|[({
@@ -9437,6 +9616,7 @@ type TsNoUnusedExpressions = []|[{
9437
9616
  allowTernary?: boolean
9438
9617
  allowTaggedTemplates?: boolean
9439
9618
  enforceForJSX?: boolean
9619
+ ignoreDirectives?: boolean
9440
9620
  }]
9441
9621
  // ----- ts/no-unused-vars -----
9442
9622
  type TsNoUnusedVars = []|[(("all" | "local") | {
@@ -11252,6 +11432,7 @@ type YamlFlowMappingCurlyNewline = []|[(("always" | "never") | {
11252
11432
  type YamlFlowMappingCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
11253
11433
  arraysInObjects?: boolean
11254
11434
  objectsInObjects?: boolean
11435
+ emptyObjects?: ("ignore" | "always" | "never")
11255
11436
  }]
11256
11437
  // ----- yaml/flow-sequence-bracket-newline -----
11257
11438
  type YamlFlowSequenceBracketNewline = []|[(("always" | "never" | "consistent") | {
@@ -11268,6 +11449,7 @@ type YamlFlowSequenceBracketSpacing = []|[("always" | "never")]|[("always" | "ne
11268
11449
  type YamlIndent = []|[number]|[number, {
11269
11450
  indentBlockSequences?: boolean
11270
11451
  indicatorValueIndent?: number
11452
+ alignMultilineFlowScalars?: boolean
11271
11453
  }]
11272
11454
  // ----- yaml/key-name-casing -----
11273
11455
  type YamlKeyNameCasing = []|[{
@@ -11335,6 +11517,11 @@ type YamlNoMultipleEmptyLines = []|[{
11335
11517
  maxEOF?: number
11336
11518
  maxBOF?: number
11337
11519
  }]
11520
+ // ----- yaml/no-trailing-spaces -----
11521
+ type YamlNoTrailingSpaces = []|[{
11522
+ skipBlankLines?: boolean
11523
+ ignoreComments?: boolean
11524
+ }]
11338
11525
  // ----- yaml/plain-scalar -----
11339
11526
  type YamlPlainScalar = []|[("always" | "never")]|[("always" | "never"), {
11340
11527
  ignorePatterns?: string[]
@@ -11353,15 +11540,19 @@ type YamlSortKeys = ([{
11353
11540
  hasProperties?: string[]
11354
11541
  order: ((string | {
11355
11542
  keyPattern?: string
11356
- order?: {
11543
+ order?: ({
11357
11544
  type?: ("asc" | "desc")
11358
11545
  caseSensitive?: boolean
11359
11546
  natural?: boolean
11360
- }
11547
+ } | {
11548
+ type: "ignore"
11549
+ })
11361
11550
  })[] | {
11362
11551
  type?: ("asc" | "desc")
11363
11552
  caseSensitive?: boolean
11364
11553
  natural?: boolean
11554
+ } | {
11555
+ type: "ignore"
11365
11556
  })
11366
11557
  minKeys?: number
11367
11558
  allowLineSeparatedGroups?: boolean
@@ -11370,15 +11561,19 @@ type YamlSortKeys = ([{
11370
11561
  hasProperties?: string[]
11371
11562
  order: ((string | {
11372
11563
  keyPattern?: string
11373
- order?: {
11564
+ order?: ({
11374
11565
  type?: ("asc" | "desc")
11375
11566
  caseSensitive?: boolean
11376
11567
  natural?: boolean
11377
- }
11568
+ } | {
11569
+ type: "ignore"
11570
+ })
11378
11571
  })[] | {
11379
11572
  type?: ("asc" | "desc")
11380
11573
  caseSensitive?: boolean
11381
11574
  natural?: boolean
11575
+ } | {
11576
+ type: "ignore"
11382
11577
  })
11383
11578
  minKeys?: number
11384
11579
  allowLineSeparatedGroups?: boolean
@@ -11397,11 +11592,13 @@ type YamlSortSequenceValues = [{
11397
11592
  type?: ("asc" | "desc")
11398
11593
  caseSensitive?: boolean
11399
11594
  natural?: boolean
11595
+ key?: string
11400
11596
  }
11401
11597
  })[] | {
11402
11598
  type?: ("asc" | "desc")
11403
11599
  caseSensitive?: boolean
11404
11600
  natural?: boolean
11601
+ key?: string
11405
11602
  })
11406
11603
  minValues?: number
11407
11604
  }, ...({
@@ -11412,11 +11609,13 @@ type YamlSortSequenceValues = [{
11412
11609
  type?: ("asc" | "desc")
11413
11610
  caseSensitive?: boolean
11414
11611
  natural?: boolean
11612
+ key?: string
11415
11613
  }
11416
11614
  })[] | {
11417
11615
  type?: ("asc" | "desc")
11418
11616
  caseSensitive?: boolean
11419
11617
  natural?: boolean
11618
+ key?: string
11420
11619
  })
11421
11620
  minValues?: number
11422
11621
  })[]]
@@ -11430,12 +11629,23 @@ type Rules = RuleOptions;
11430
11629
  type FlatConfigRecord = Omit<Linter.Config<Linter.RulesRecord & Rules>, 'plugins'> & {
11431
11630
  plugins?: Record<string, any>;
11432
11631
  };
11433
- type Awaitable<T> = T | Promise<T>;
11632
+ type Awaitable<T> = Promise<T> | T;
11633
+
11634
+ interface OptionsJsonc extends AllOptions, OptionsSortKeys {
11635
+ indent?: 'tab' | number;
11636
+ }
11434
11637
 
11435
- interface OptionsJsonc extends AllOptions {
11638
+ interface OptionsPerfectionist extends AllOptions {
11639
+ /**
11640
+ * Sorts declarations whose order can carry meaning: interfaces, object types, enums,
11641
+ * classes, modules, intersection types, and `Set` elements.
11642
+ *
11643
+ * @default false
11644
+ */
11645
+ sortDeclarations?: boolean;
11436
11646
  }
11437
11647
 
11438
- type Runner = 'vitest' | 'jest' | 'tap';
11648
+ type Runner = 'jest' | 'tap' | 'vitest';
11439
11649
  interface OptionsTest extends AllOptions {
11440
11650
  /**
11441
11651
  * Specifies which test runner is being used (and therefore which rules will be applied).
@@ -11459,6 +11669,7 @@ interface OptionsTest extends AllOptions {
11459
11669
  }
11460
11670
 
11461
11671
  interface OptionsToml extends AllOptions {
11672
+ indent?: 'tab' | number;
11462
11673
  }
11463
11674
 
11464
11675
  interface OptionsTypescript extends AllOptions, OptionsTypeScriptParser {
@@ -11471,6 +11682,7 @@ interface OptionsTypescript extends AllOptions, OptionsTypeScriptParser {
11471
11682
  interface OptionsVue extends AllOptions, OptionsHasTypeScript {
11472
11683
  vueVersion?: 2 | 3;
11473
11684
  graphql?: boolean;
11685
+ indent?: 'tab' | number;
11474
11686
  }
11475
11687
 
11476
11688
  interface OptionsOverrides {
@@ -11489,6 +11701,15 @@ interface OptionsFiles {
11489
11701
  */
11490
11702
  files?: string[];
11491
11703
  }
11704
+ interface OptionsSortKeys {
11705
+ /**
11706
+ * Glob patterns for files whose keys are sorted in ascending natural order at every
11707
+ * depth. A blank line starts a new group that is sorted separately. `package.json`
11708
+ * and `tsconfig.json` keep their own key order.
11709
+ * @default []
11710
+ */
11711
+ sortKeys?: string[];
11712
+ }
11492
11713
  interface OptionsHasTypeScript {
11493
11714
  typescript?: boolean;
11494
11715
  }
@@ -11561,7 +11782,7 @@ interface OptionsConfig extends OptionsProjectType {
11561
11782
  *
11562
11783
  * @default true
11563
11784
  */
11564
- yaml?: boolean | (OptionsOverrides & OptionsFiles);
11785
+ yaml?: boolean | (OptionsOverrides & OptionsFiles & OptionsSortKeys);
11565
11786
  /**
11566
11787
  * Enables TOML support.
11567
11788
  *
@@ -11598,16 +11819,63 @@ interface OptionsConfig extends OptionsProjectType {
11598
11819
  * @default false
11599
11820
  */
11600
11821
  graphql?: boolean | (OptionsOverrides & OptionsFiles);
11822
+ /**
11823
+ * Enables eslint-plugin-package-json with its `recommended` and `stylistic` rules for
11824
+ * `package.json`. Replaces the built-in `package.json` key and array order.
11825
+ *
11826
+ * Requires installing:
11827
+ * - eslint-plugin-package-json
11828
+ *
11829
+ * @default false
11830
+ */
11831
+ packageJson?: boolean | OptionsOverrides;
11832
+ /**
11833
+ * Validates JSON, YAML, and TOML files against the JSON schema named by their `$schema`
11834
+ * key or matched by file name in the SchemaStore catalog. Applies only to files that
11835
+ * the `jsonc`, `yaml`, and `toml` options parse.
11836
+ *
11837
+ * At lint time the rule downloads the SchemaStore catalog and each matched schema over
11838
+ * HTTPS on first use, then caches them on disk for 24 hours. When a download fails, the
11839
+ * file is not validated and no error is reported.
11840
+ *
11841
+ * Requires installing:
11842
+ * - eslint-plugin-json-schema-validator
11843
+ *
11844
+ * @default false
11845
+ */
11846
+ jsonSchema?: boolean | (OptionsFiles & OptionsOverrides);
11847
+ /**
11848
+ * Enables GitHub Actions workflow rules from eslint-plugin-github-action.
11849
+ *
11850
+ * Requires installing:
11851
+ * - eslint-plugin-github-action
11852
+ *
11853
+ * @default false
11854
+ */
11855
+ githubAction?: boolean | (OptionsFiles & OptionsOverrides);
11856
+ /**
11857
+ * Enables CSS linting with the `recommended` rules of @eslint/css.
11858
+ *
11859
+ * Requires installing:
11860
+ * - @eslint/css
11861
+ *
11862
+ * @default false
11863
+ */
11864
+ css?: boolean | (OptionsFiles & OptionsOverrides);
11865
+ /**
11866
+ * Configures sorting rules.
11867
+ */
11868
+ perfectionist?: OptionsPerfectionist;
11601
11869
  }
11602
11870
  interface OptionsStyle {
11603
- indent?: number | 'tab';
11604
- quotes?: 'single' | 'double' | 'backtick';
11871
+ indent?: 'tab' | number;
11872
+ quotes?: 'backtick' | 'double' | 'single';
11605
11873
  semi?: boolean;
11606
11874
  jsx?: boolean;
11607
11875
  }
11608
11876
 
11609
11877
  type LinterOptions = OptionsConfig;
11610
- declare function exbotanical({ javascript: optionsJavascript, ignores: optionsIgnore, jsonc: optionsJsonc, markdown: optionsMarkdown, toml: optionsToml, yaml: optionsYaml, test: optionsTest, formatter, typescript: optionsTypescript, style: optionsStyle, react: optionsReact, vue: optionsVue, graphql: optionsGraphql, type, }: LinterOptions, ...userConfigs: Awaitable<FlatConfigRecord | FlatConfigRecord[] | Linter.Config[]>[]): Promise<FlatConfigRecord[]>;
11878
+ declare function exbotanical({ javascript: optionsJavascript, ignores: optionsIgnore, jsonc: optionsJsonc, markdown: optionsMarkdown, toml: optionsToml, yaml: optionsYaml, test: optionsTest, formatter, typescript: optionsTypescript, style: optionsStyle, react: optionsReact, vue: optionsVue, graphql: optionsGraphql, packageJson: optionsPackageJson, jsonSchema: optionsJsonSchema, githubAction: optionsGithubAction, css: optionsCss, perfectionist: optionsPerfectionist, type, }?: LinterOptions, ...userConfigs: Awaitable<FlatConfigRecord | FlatConfigRecord[] | Linter.Config[]>[]): Promise<FlatConfigRecord[]>;
11611
11879
 
11612
11880
  declare const GLOB_JS = "**/*.?([cm])js";
11613
11881
  declare const GLOB_JSX = "**/*.?([cm])jsx";
@@ -11626,13 +11894,15 @@ declare const GLOB_XML = "**/*.xml";
11626
11894
  declare const GLOB_SVG = "**/*.svg";
11627
11895
  declare const GLOB_HTML = "**/*.htm?(l)";
11628
11896
  declare const GLOB_GRAPHQL = "**/*.{g,graph}ql";
11897
+ declare const GLOB_GITHUB_WORKFLOW = "**/.github/workflows/*.y?(a)ml";
11629
11898
  declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
11630
11899
  declare const GLOB_CSS = "**/*.css";
11631
11900
  declare const GLOB_POSTCSS = "**/*.{p,post}css";
11632
11901
  declare const GLOB_LESS = "**/*.less";
11633
11902
  declare const GLOB_SCSS = "**/*.scss";
11634
11903
  declare const GLOB_MARKDOWN_CODE = "**/*.md/**/*.?([cm])[jt]s?(x)";
11904
+ declare const GLOB_SCRIPTS: string[];
11635
11905
  declare const GLOB_TESTS: string[];
11636
11906
  declare const GLOB_EXCLUDES: string[];
11637
11907
 
11638
- export { type AllOptions, type Awaitable, type FlatConfigRecord, GLOB_CSS, GLOB_EXCLUDES, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, type OptionsConfig, type OptionsFiles, type OptionsHasTypeScript, type OptionsOverrides, type OptionsProjectType, type OptionsStyle, type OptionsTypeScriptParser, type Rules, exbotanical as default };
11908
+ export { type AllOptions, type Awaitable, type FlatConfigRecord, GLOB_CSS, GLOB_EXCLUDES, GLOB_GITHUB_WORKFLOW, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_POSTCSS, GLOB_SCRIPTS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, type OptionsConfig, type OptionsFiles, type OptionsHasTypeScript, type OptionsOverrides, type OptionsProjectType, type OptionsSortKeys, type OptionsStyle, type OptionsTypeScriptParser, type Rules, exbotanical as default };