@rebeccastevens/eslint-config 3.9.5 → 3.9.7

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/CHANGELOG.md CHANGED
@@ -1,6 +1,20 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file. Dates are displayed in UTC.
3
3
 
4
+ ## [3.9.7](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/compare/v3.9.6...v3.9.7) (2026-03-08)
5
+
6
+
7
+ ### Bug Fixes
8
+
9
+ * replace unicorn/no-array-push-push with unicorn/prefer-single-call ([8095c31](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/commit/8095c310d364a6dfc4694423093c26b810c68892))
10
+
11
+ ## [3.9.6](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/compare/v3.9.5...v3.9.6) (2026-03-02)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * use @eslint-community/eslint-plugin-eslint-comments ([24e03a4](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/commit/24e03a41038fb386dacb7b1ff390997c8d30ef41))
17
+
4
18
  ## [3.9.5](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/compare/v3.9.4...v3.9.5) (2026-02-28)
5
19
 
6
20
 
package/dist/index.cjs CHANGED
@@ -101,7 +101,7 @@ async function installPackages(packages) {
101
101
  /* eslint-enable functional/no-loop-statements */
102
102
 
103
103
  async function comments() {
104
- const [pluginComments] = (await loadPackages(["eslint-plugin-eslint-comments"]));
104
+ const [pluginComments] = (await loadPackages(["@eslint-community/eslint-plugin-eslint-comments"]));
105
105
  return [
106
106
  {
107
107
  name: "rs:comments",
@@ -3264,7 +3264,6 @@ async function unicorn() {
3264
3264
  // "unicorn/no-anonymous-default-export": "error", // https://github.com/sindresorhus/eslint-plugin-unicorn/issues/2302
3265
3265
  "unicorn/no-array-for-each": "error",
3266
3266
  "unicorn/no-array-method-this-argument": "error",
3267
- "unicorn/no-array-push-push": "error",
3268
3267
  "unicorn/no-await-expression-member": "error",
3269
3268
  // "unicorn/no-await-in-promise-methods": "error", // https://github.com/sindresorhus/eslint-plugin-unicorn/issues/2302
3270
3269
  "unicorn/no-console-spaces": "error",
@@ -3337,6 +3336,7 @@ async function unicorn() {
3337
3336
  "unicorn/prefer-regexp-test": "error",
3338
3337
  "unicorn/prefer-set-has": "error",
3339
3338
  "unicorn/prefer-set-size": "error",
3339
+ "unicorn/prefer-single-call": "error",
3340
3340
  "unicorn/prefer-spread": "error",
3341
3341
  "unicorn/prefer-string-replace-all": "error",
3342
3342
  "unicorn/prefer-string-slice": "error",
package/dist/index.d.cts CHANGED
@@ -1268,164 +1268,169 @@ interface RuleOptions {
1268
1268
  ]>;
1269
1269
  /**
1270
1270
  * require a `eslint-enable` comment for every `eslint-disable` comment
1271
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
1271
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
1272
1272
  */
1273
1273
  "eslint-comments/disable-enable-pair"?: Linter.RuleEntry<EslintCommentsDisableEnablePair>;
1274
1274
  /**
1275
1275
  * disallow a `eslint-enable` comment for multiple `eslint-disable` comments
1276
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
1276
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
1277
1277
  */
1278
1278
  "eslint-comments/no-aggregating-enable"?: Linter.RuleEntry<[
1279
1279
  ]>;
1280
1280
  /**
1281
1281
  * disallow duplicate `eslint-disable` comments
1282
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
1282
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
1283
1283
  */
1284
1284
  "eslint-comments/no-duplicate-disable"?: Linter.RuleEntry<[
1285
1285
  ]>;
1286
1286
  /**
1287
1287
  * disallow `eslint-disable` comments about specific rules
1288
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
1288
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
1289
1289
  */
1290
1290
  "eslint-comments/no-restricted-disable"?: Linter.RuleEntry<EslintCommentsNoRestrictedDisable>;
1291
1291
  /**
1292
1292
  * disallow `eslint-disable` comments without rule names
1293
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
1293
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
1294
1294
  */
1295
1295
  "eslint-comments/no-unlimited-disable"?: Linter.RuleEntry<[
1296
1296
  ]>;
1297
1297
  /**
1298
1298
  * disallow unused `eslint-disable` comments
1299
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
1299
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
1300
+ * @deprecated
1300
1301
  */
1301
1302
  "eslint-comments/no-unused-disable"?: Linter.RuleEntry<[
1302
1303
  ]>;
1303
1304
  /**
1304
1305
  * disallow unused `eslint-enable` comments
1305
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
1306
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
1306
1307
  */
1307
1308
  "eslint-comments/no-unused-enable"?: Linter.RuleEntry<[
1308
1309
  ]>;
1309
1310
  /**
1310
1311
  * disallow ESLint directive-comments
1311
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-use.html
1312
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-use.html
1312
1313
  */
1313
1314
  "eslint-comments/no-use"?: Linter.RuleEntry<EslintCommentsNoUse>;
1314
1315
  /**
1315
1316
  * require include descriptions in ESLint directive-comments
1316
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/require-description.html
1317
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
1317
1318
  */
1318
1319
  "eslint-comments/require-description"?: Linter.RuleEntry<EslintCommentsRequireDescription>;
1319
1320
  /**
1320
1321
  * Use dprint to format code
1321
1322
  */
1322
1323
  "format/dprint"?: Linter.RuleEntry<FormatDprint>;
1324
+ /**
1325
+ * Use oxfmt to format code
1326
+ */
1327
+ "format/oxfmt"?: Linter.RuleEntry<FormatOxfmt>;
1323
1328
  /**
1324
1329
  * Use Prettier to format code
1325
1330
  */
1326
1331
  "format/prettier"?: Linter.RuleEntry<FormatPrettier>;
1327
1332
  /**
1328
1333
  * Enforce functional parameters.
1329
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/functional-parameters.md
1334
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/functional-parameters.md
1330
1335
  */
1331
1336
  "functional/functional-parameters"?: Linter.RuleEntry<FunctionalFunctionalParameters>;
1332
1337
  /**
1333
1338
  * Enforce treating data as immutable.
1334
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/immutable-data.md
1339
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/immutable-data.md
1335
1340
  */
1336
1341
  "functional/immutable-data"?: Linter.RuleEntry<FunctionalImmutableData>;
1337
1342
  /**
1338
1343
  * Disallow inheritance in classes.
1339
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-class-inheritance.md
1344
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-class-inheritance.md
1340
1345
  */
1341
1346
  "functional/no-class-inheritance"?: Linter.RuleEntry<FunctionalNoClassInheritance>;
1342
1347
  /**
1343
1348
  * Disallow classes.
1344
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-classes.md
1349
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-classes.md
1345
1350
  */
1346
1351
  "functional/no-classes"?: Linter.RuleEntry<FunctionalNoClasses>;
1347
1352
  /**
1348
1353
  * Disallow conditional statements.
1349
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-conditional-statements.md
1354
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-conditional-statements.md
1350
1355
  */
1351
1356
  "functional/no-conditional-statements"?: Linter.RuleEntry<FunctionalNoConditionalStatements>;
1352
1357
  /**
1353
1358
  * Disallow expression statements.
1354
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-expression-statements.md
1359
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-expression-statements.md
1355
1360
  */
1356
1361
  "functional/no-expression-statements"?: Linter.RuleEntry<FunctionalNoExpressionStatements>;
1357
1362
  /**
1358
1363
  * Disallow mutable variables.
1359
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-let.md
1364
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-let.md
1360
1365
  */
1361
1366
  "functional/no-let"?: Linter.RuleEntry<FunctionalNoLet>;
1362
1367
  /**
1363
1368
  * Disallow imperative loops.
1364
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-loop-statements.md
1369
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-loop-statements.md
1365
1370
  */
1366
1371
  "functional/no-loop-statements"?: Linter.RuleEntry<[
1367
1372
  ]>;
1368
1373
  /**
1369
1374
  * Restrict types so that only members of the same kind are allowed in them.
1370
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-mixed-types.md
1375
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-mixed-types.md
1371
1376
  */
1372
1377
  "functional/no-mixed-types"?: Linter.RuleEntry<FunctionalNoMixedTypes>;
1373
1378
  /**
1374
1379
  * Disallow rejecting promises.
1375
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-promise-reject.md
1380
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-promise-reject.md
1376
1381
  */
1377
1382
  "functional/no-promise-reject"?: Linter.RuleEntry<[
1378
1383
  ]>;
1379
1384
  /**
1380
1385
  * Disallow functions that don't return anything.
1381
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-return-void.md
1386
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-return-void.md
1382
1387
  */
1383
1388
  "functional/no-return-void"?: Linter.RuleEntry<FunctionalNoReturnVoid>;
1384
1389
  /**
1385
1390
  * Disallow this access.
1386
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-this-expressions.md
1391
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-this-expressions.md
1387
1392
  */
1388
1393
  "functional/no-this-expressions"?: Linter.RuleEntry<[
1389
1394
  ]>;
1390
1395
  /**
1391
1396
  * Disallow throwing exceptions.
1392
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-throw-statements.md
1397
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-throw-statements.md
1393
1398
  */
1394
1399
  "functional/no-throw-statements"?: Linter.RuleEntry<FunctionalNoThrowStatements>;
1395
1400
  /**
1396
1401
  * Disallow try-catch[-finally] and try-finally patterns.
1397
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-try-statements.md
1402
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-try-statements.md
1398
1403
  */
1399
1404
  "functional/no-try-statements"?: Linter.RuleEntry<FunctionalNoTryStatements>;
1400
1405
  /**
1401
1406
  * Require function parameters to be typed as certain immutability
1402
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/prefer-immutable-types.md
1407
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/prefer-immutable-types.md
1403
1408
  */
1404
1409
  "functional/prefer-immutable-types"?: Linter.RuleEntry<FunctionalPreferImmutableTypes>;
1405
1410
  /**
1406
1411
  * Prefer property signatures over method signatures.
1407
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/prefer-property-signatures.md
1412
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/prefer-property-signatures.md
1408
1413
  */
1409
1414
  "functional/prefer-property-signatures"?: Linter.RuleEntry<FunctionalPreferPropertySignatures>;
1410
1415
  /**
1411
1416
  * Prefer readonly types over mutable types.
1412
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/prefer-readonly-type.md
1417
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/prefer-readonly-type.md
1413
1418
  * @deprecated
1414
1419
  */
1415
1420
  "functional/prefer-readonly-type"?: Linter.RuleEntry<FunctionalPreferReadonlyType>;
1416
1421
  /**
1417
1422
  * Replaces `x => f(x)` with just `f`.
1418
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/prefer-tacit.md
1423
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/prefer-tacit.md
1419
1424
  */
1420
1425
  "functional/prefer-tacit"?: Linter.RuleEntry<FunctionalPreferTacit>;
1421
1426
  /**
1422
1427
  * Require consistently using either `readonly` keywords or `Readonly<T>`
1423
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/readonly-type.md
1428
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/readonly-type.md
1424
1429
  */
1425
1430
  "functional/readonly-type"?: Linter.RuleEntry<FunctionalReadonlyType>;
1426
1431
  /**
1427
1432
  * Enforce the immutability of types based on patterns.
1428
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/type-declaration-immutability.md
1433
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/type-declaration-immutability.md
1429
1434
  */
1430
1435
  "functional/type-declaration-immutability"?: Linter.RuleEntry<FunctionalTypeDeclarationImmutability>;
1431
1436
  /**
@@ -5748,11 +5753,21 @@ interface RuleOptions {
5748
5753
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/indent.html
5749
5754
  */
5750
5755
  "toml/indent"?: Linter.RuleEntry<TomlIndent>;
5756
+ /**
5757
+ * enforce linebreaks after opening and before closing braces
5758
+ * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-curly-newline.html
5759
+ */
5760
+ "toml/inline-table-curly-newline"?: Linter.RuleEntry<TomlInlineTableCurlyNewline>;
5751
5761
  /**
5752
5762
  * enforce consistent spacing inside braces
5753
5763
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-curly-spacing.html
5754
5764
  */
5755
5765
  "toml/inline-table-curly-spacing"?: Linter.RuleEntry<TomlInlineTableCurlySpacing>;
5766
+ /**
5767
+ * enforce placing inline table key-value pairs on separate lines
5768
+ * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-key-value-newline.html
5769
+ */
5770
+ "toml/inline-table-key-value-newline"?: Linter.RuleEntry<TomlInlineTableKeyValueNewline>;
5756
5771
  /**
5757
5772
  * enforce consistent spacing between keys and values in key/value pairs
5758
5773
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/key-spacing.html
@@ -11437,6 +11452,12 @@ type FormatDprint = [
11437
11452
  [k: string]: unknown | undefined;
11438
11453
  }
11439
11454
  ];
11455
+ type FormatOxfmt = [
11456
+ ] | [
11457
+ {
11458
+ [k: string]: unknown | undefined;
11459
+ }
11460
+ ];
11440
11461
  type FormatPrettier = [
11441
11462
  ] | [
11442
11463
  {
@@ -13126,6 +13147,7 @@ type JsoncObjectCurlySpacing = [
13126
13147
  {
13127
13148
  arraysInObjects?: boolean;
13128
13149
  objectsInObjects?: boolean;
13150
+ emptyObjects?: ("ignore" | "always" | "never");
13129
13151
  }
13130
13152
  ];
13131
13153
  type JsoncObjectPropertyNewline = [
@@ -16335,6 +16357,14 @@ type TomlIndent = [
16335
16357
  keyValuePairs?: number;
16336
16358
  }
16337
16359
  ];
16360
+ type TomlInlineTableCurlyNewline = [
16361
+ ] | [
16362
+ (("always" | "never") | {
16363
+ multiline?: boolean;
16364
+ minProperties?: number;
16365
+ consistent?: boolean;
16366
+ })
16367
+ ];
16338
16368
  type TomlInlineTableCurlySpacing = [
16339
16369
  ] | [
16340
16370
  ("always" | "never")
@@ -16343,6 +16373,13 @@ type TomlInlineTableCurlySpacing = [
16343
16373
  {
16344
16374
  arraysInObjects?: boolean;
16345
16375
  objectsInObjects?: boolean;
16376
+ emptyObjects?: ("ignore" | "always" | "never");
16377
+ }
16378
+ ];
16379
+ type TomlInlineTableKeyValueNewline = [
16380
+ ] | [
16381
+ {
16382
+ allowAllPropertiesOnSameLine?: boolean;
16346
16383
  }
16347
16384
  ];
16348
16385
  type TomlKeySpacing = [
@@ -18572,6 +18609,7 @@ type YmlFlowMappingCurlySpacing = [
18572
18609
  {
18573
18610
  arraysInObjects?: boolean;
18574
18611
  objectsInObjects?: boolean;
18612
+ emptyObjects?: ("ignore" | "always" | "never");
18575
18613
  }
18576
18614
  ];
18577
18615
  type YmlFlowSequenceBracketNewline = [
package/dist/index.d.ts CHANGED
@@ -1268,164 +1268,169 @@ interface RuleOptions {
1268
1268
  ]>;
1269
1269
  /**
1270
1270
  * require a `eslint-enable` comment for every `eslint-disable` comment
1271
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
1271
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
1272
1272
  */
1273
1273
  "eslint-comments/disable-enable-pair"?: Linter.RuleEntry<EslintCommentsDisableEnablePair>;
1274
1274
  /**
1275
1275
  * disallow a `eslint-enable` comment for multiple `eslint-disable` comments
1276
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
1276
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
1277
1277
  */
1278
1278
  "eslint-comments/no-aggregating-enable"?: Linter.RuleEntry<[
1279
1279
  ]>;
1280
1280
  /**
1281
1281
  * disallow duplicate `eslint-disable` comments
1282
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
1282
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
1283
1283
  */
1284
1284
  "eslint-comments/no-duplicate-disable"?: Linter.RuleEntry<[
1285
1285
  ]>;
1286
1286
  /**
1287
1287
  * disallow `eslint-disable` comments about specific rules
1288
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
1288
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
1289
1289
  */
1290
1290
  "eslint-comments/no-restricted-disable"?: Linter.RuleEntry<EslintCommentsNoRestrictedDisable>;
1291
1291
  /**
1292
1292
  * disallow `eslint-disable` comments without rule names
1293
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
1293
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
1294
1294
  */
1295
1295
  "eslint-comments/no-unlimited-disable"?: Linter.RuleEntry<[
1296
1296
  ]>;
1297
1297
  /**
1298
1298
  * disallow unused `eslint-disable` comments
1299
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
1299
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
1300
+ * @deprecated
1300
1301
  */
1301
1302
  "eslint-comments/no-unused-disable"?: Linter.RuleEntry<[
1302
1303
  ]>;
1303
1304
  /**
1304
1305
  * disallow unused `eslint-enable` comments
1305
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
1306
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
1306
1307
  */
1307
1308
  "eslint-comments/no-unused-enable"?: Linter.RuleEntry<[
1308
1309
  ]>;
1309
1310
  /**
1310
1311
  * disallow ESLint directive-comments
1311
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-use.html
1312
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-use.html
1312
1313
  */
1313
1314
  "eslint-comments/no-use"?: Linter.RuleEntry<EslintCommentsNoUse>;
1314
1315
  /**
1315
1316
  * require include descriptions in ESLint directive-comments
1316
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/require-description.html
1317
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
1317
1318
  */
1318
1319
  "eslint-comments/require-description"?: Linter.RuleEntry<EslintCommentsRequireDescription>;
1319
1320
  /**
1320
1321
  * Use dprint to format code
1321
1322
  */
1322
1323
  "format/dprint"?: Linter.RuleEntry<FormatDprint>;
1324
+ /**
1325
+ * Use oxfmt to format code
1326
+ */
1327
+ "format/oxfmt"?: Linter.RuleEntry<FormatOxfmt>;
1323
1328
  /**
1324
1329
  * Use Prettier to format code
1325
1330
  */
1326
1331
  "format/prettier"?: Linter.RuleEntry<FormatPrettier>;
1327
1332
  /**
1328
1333
  * Enforce functional parameters.
1329
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/functional-parameters.md
1334
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/functional-parameters.md
1330
1335
  */
1331
1336
  "functional/functional-parameters"?: Linter.RuleEntry<FunctionalFunctionalParameters>;
1332
1337
  /**
1333
1338
  * Enforce treating data as immutable.
1334
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/immutable-data.md
1339
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/immutable-data.md
1335
1340
  */
1336
1341
  "functional/immutable-data"?: Linter.RuleEntry<FunctionalImmutableData>;
1337
1342
  /**
1338
1343
  * Disallow inheritance in classes.
1339
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-class-inheritance.md
1344
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-class-inheritance.md
1340
1345
  */
1341
1346
  "functional/no-class-inheritance"?: Linter.RuleEntry<FunctionalNoClassInheritance>;
1342
1347
  /**
1343
1348
  * Disallow classes.
1344
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-classes.md
1349
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-classes.md
1345
1350
  */
1346
1351
  "functional/no-classes"?: Linter.RuleEntry<FunctionalNoClasses>;
1347
1352
  /**
1348
1353
  * Disallow conditional statements.
1349
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-conditional-statements.md
1354
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-conditional-statements.md
1350
1355
  */
1351
1356
  "functional/no-conditional-statements"?: Linter.RuleEntry<FunctionalNoConditionalStatements>;
1352
1357
  /**
1353
1358
  * Disallow expression statements.
1354
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-expression-statements.md
1359
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-expression-statements.md
1355
1360
  */
1356
1361
  "functional/no-expression-statements"?: Linter.RuleEntry<FunctionalNoExpressionStatements>;
1357
1362
  /**
1358
1363
  * Disallow mutable variables.
1359
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-let.md
1364
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-let.md
1360
1365
  */
1361
1366
  "functional/no-let"?: Linter.RuleEntry<FunctionalNoLet>;
1362
1367
  /**
1363
1368
  * Disallow imperative loops.
1364
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-loop-statements.md
1369
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-loop-statements.md
1365
1370
  */
1366
1371
  "functional/no-loop-statements"?: Linter.RuleEntry<[
1367
1372
  ]>;
1368
1373
  /**
1369
1374
  * Restrict types so that only members of the same kind are allowed in them.
1370
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-mixed-types.md
1375
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-mixed-types.md
1371
1376
  */
1372
1377
  "functional/no-mixed-types"?: Linter.RuleEntry<FunctionalNoMixedTypes>;
1373
1378
  /**
1374
1379
  * Disallow rejecting promises.
1375
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-promise-reject.md
1380
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-promise-reject.md
1376
1381
  */
1377
1382
  "functional/no-promise-reject"?: Linter.RuleEntry<[
1378
1383
  ]>;
1379
1384
  /**
1380
1385
  * Disallow functions that don't return anything.
1381
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-return-void.md
1386
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-return-void.md
1382
1387
  */
1383
1388
  "functional/no-return-void"?: Linter.RuleEntry<FunctionalNoReturnVoid>;
1384
1389
  /**
1385
1390
  * Disallow this access.
1386
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-this-expressions.md
1391
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-this-expressions.md
1387
1392
  */
1388
1393
  "functional/no-this-expressions"?: Linter.RuleEntry<[
1389
1394
  ]>;
1390
1395
  /**
1391
1396
  * Disallow throwing exceptions.
1392
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-throw-statements.md
1397
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-throw-statements.md
1393
1398
  */
1394
1399
  "functional/no-throw-statements"?: Linter.RuleEntry<FunctionalNoThrowStatements>;
1395
1400
  /**
1396
1401
  * Disallow try-catch[-finally] and try-finally patterns.
1397
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/no-try-statements.md
1402
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/no-try-statements.md
1398
1403
  */
1399
1404
  "functional/no-try-statements"?: Linter.RuleEntry<FunctionalNoTryStatements>;
1400
1405
  /**
1401
1406
  * Require function parameters to be typed as certain immutability
1402
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/prefer-immutable-types.md
1407
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/prefer-immutable-types.md
1403
1408
  */
1404
1409
  "functional/prefer-immutable-types"?: Linter.RuleEntry<FunctionalPreferImmutableTypes>;
1405
1410
  /**
1406
1411
  * Prefer property signatures over method signatures.
1407
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/prefer-property-signatures.md
1412
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/prefer-property-signatures.md
1408
1413
  */
1409
1414
  "functional/prefer-property-signatures"?: Linter.RuleEntry<FunctionalPreferPropertySignatures>;
1410
1415
  /**
1411
1416
  * Prefer readonly types over mutable types.
1412
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/prefer-readonly-type.md
1417
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/prefer-readonly-type.md
1413
1418
  * @deprecated
1414
1419
  */
1415
1420
  "functional/prefer-readonly-type"?: Linter.RuleEntry<FunctionalPreferReadonlyType>;
1416
1421
  /**
1417
1422
  * Replaces `x => f(x)` with just `f`.
1418
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/prefer-tacit.md
1423
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/prefer-tacit.md
1419
1424
  */
1420
1425
  "functional/prefer-tacit"?: Linter.RuleEntry<FunctionalPreferTacit>;
1421
1426
  /**
1422
1427
  * Require consistently using either `readonly` keywords or `Readonly<T>`
1423
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/readonly-type.md
1428
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/readonly-type.md
1424
1429
  */
1425
1430
  "functional/readonly-type"?: Linter.RuleEntry<FunctionalReadonlyType>;
1426
1431
  /**
1427
1432
  * Enforce the immutability of types based on patterns.
1428
- * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.3/docs/rules/type-declaration-immutability.md
1433
+ * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.4/docs/rules/type-declaration-immutability.md
1429
1434
  */
1430
1435
  "functional/type-declaration-immutability"?: Linter.RuleEntry<FunctionalTypeDeclarationImmutability>;
1431
1436
  /**
@@ -5748,11 +5753,21 @@ interface RuleOptions {
5748
5753
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/indent.html
5749
5754
  */
5750
5755
  "toml/indent"?: Linter.RuleEntry<TomlIndent>;
5756
+ /**
5757
+ * enforce linebreaks after opening and before closing braces
5758
+ * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-curly-newline.html
5759
+ */
5760
+ "toml/inline-table-curly-newline"?: Linter.RuleEntry<TomlInlineTableCurlyNewline>;
5751
5761
  /**
5752
5762
  * enforce consistent spacing inside braces
5753
5763
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-curly-spacing.html
5754
5764
  */
5755
5765
  "toml/inline-table-curly-spacing"?: Linter.RuleEntry<TomlInlineTableCurlySpacing>;
5766
+ /**
5767
+ * enforce placing inline table key-value pairs on separate lines
5768
+ * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-key-value-newline.html
5769
+ */
5770
+ "toml/inline-table-key-value-newline"?: Linter.RuleEntry<TomlInlineTableKeyValueNewline>;
5756
5771
  /**
5757
5772
  * enforce consistent spacing between keys and values in key/value pairs
5758
5773
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/key-spacing.html
@@ -11437,6 +11452,12 @@ type FormatDprint = [
11437
11452
  [k: string]: unknown | undefined;
11438
11453
  }
11439
11454
  ];
11455
+ type FormatOxfmt = [
11456
+ ] | [
11457
+ {
11458
+ [k: string]: unknown | undefined;
11459
+ }
11460
+ ];
11440
11461
  type FormatPrettier = [
11441
11462
  ] | [
11442
11463
  {
@@ -13126,6 +13147,7 @@ type JsoncObjectCurlySpacing = [
13126
13147
  {
13127
13148
  arraysInObjects?: boolean;
13128
13149
  objectsInObjects?: boolean;
13150
+ emptyObjects?: ("ignore" | "always" | "never");
13129
13151
  }
13130
13152
  ];
13131
13153
  type JsoncObjectPropertyNewline = [
@@ -16335,6 +16357,14 @@ type TomlIndent = [
16335
16357
  keyValuePairs?: number;
16336
16358
  }
16337
16359
  ];
16360
+ type TomlInlineTableCurlyNewline = [
16361
+ ] | [
16362
+ (("always" | "never") | {
16363
+ multiline?: boolean;
16364
+ minProperties?: number;
16365
+ consistent?: boolean;
16366
+ })
16367
+ ];
16338
16368
  type TomlInlineTableCurlySpacing = [
16339
16369
  ] | [
16340
16370
  ("always" | "never")
@@ -16343,6 +16373,13 @@ type TomlInlineTableCurlySpacing = [
16343
16373
  {
16344
16374
  arraysInObjects?: boolean;
16345
16375
  objectsInObjects?: boolean;
16376
+ emptyObjects?: ("ignore" | "always" | "never");
16377
+ }
16378
+ ];
16379
+ type TomlInlineTableKeyValueNewline = [
16380
+ ] | [
16381
+ {
16382
+ allowAllPropertiesOnSameLine?: boolean;
16346
16383
  }
16347
16384
  ];
16348
16385
  type TomlKeySpacing = [
@@ -18572,6 +18609,7 @@ type YmlFlowMappingCurlySpacing = [
18572
18609
  {
18573
18610
  arraysInObjects?: boolean;
18574
18611
  objectsInObjects?: boolean;
18612
+ emptyObjects?: ("ignore" | "always" | "never");
18575
18613
  }
18576
18614
  ];
18577
18615
  type YmlFlowSequenceBracketNewline = [
package/dist/index.js CHANGED
@@ -79,7 +79,7 @@ async function installPackages(packages) {
79
79
  /* eslint-enable functional/no-loop-statements */
80
80
 
81
81
  async function comments() {
82
- const [pluginComments] = (await loadPackages(["eslint-plugin-eslint-comments"]));
82
+ const [pluginComments] = (await loadPackages(["@eslint-community/eslint-plugin-eslint-comments"]));
83
83
  return [
84
84
  {
85
85
  name: "rs:comments",
@@ -3242,7 +3242,6 @@ async function unicorn() {
3242
3242
  // "unicorn/no-anonymous-default-export": "error", // https://github.com/sindresorhus/eslint-plugin-unicorn/issues/2302
3243
3243
  "unicorn/no-array-for-each": "error",
3244
3244
  "unicorn/no-array-method-this-argument": "error",
3245
- "unicorn/no-array-push-push": "error",
3246
3245
  "unicorn/no-await-expression-member": "error",
3247
3246
  // "unicorn/no-await-in-promise-methods": "error", // https://github.com/sindresorhus/eslint-plugin-unicorn/issues/2302
3248
3247
  "unicorn/no-console-spaces": "error",
@@ -3315,6 +3314,7 @@ async function unicorn() {
3315
3314
  "unicorn/prefer-regexp-test": "error",
3316
3315
  "unicorn/prefer-set-has": "error",
3317
3316
  "unicorn/prefer-set-size": "error",
3317
+ "unicorn/prefer-single-call": "error",
3318
3318
  "unicorn/prefer-spread": "error",
3319
3319
  "unicorn/prefer-string-replace-all": "error",
3320
3320
  "unicorn/prefer-string-slice": "error",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rebeccastevens/eslint-config",
3
- "version": "3.9.5",
3
+ "version": "3.9.7",
4
4
  "description": "My ESLint shareable config.",
5
5
  "keywords": [
6
6
  "eslint config"
@@ -75,38 +75,38 @@
75
75
  "@commitlint/cli": "20.4.2",
76
76
  "@commitlint/config-conventional": "20.4.2",
77
77
  "@cspell/dict-cryptocurrencies": "5.0.5",
78
+ "@eslint-community/eslint-plugin-eslint-comments": "4.7.1",
78
79
  "@eslint-react/eslint-plugin": "2.13.0",
79
80
  "@eslint/compat": "2.0.2",
80
81
  "@eslint/markdown": "7.5.1",
81
- "@intlify/eslint-plugin-vue-i18n": "4.1.1",
82
+ "@intlify/eslint-plugin-vue-i18n": "4.3.0",
82
83
  "@rollup/plugin-typescript": "12.3.0",
83
84
  "@stylistic/eslint-plugin": "5.9.0",
84
85
  "@stylistic/eslint-plugin-migrate": "4.4.1",
85
86
  "@types/eslint": "9.6.1",
86
- "@types/node": "25.3.0",
87
- "@typescript-eslint/eslint-plugin": "8.56.0",
88
- "@typescript-eslint/parser": "8.56.0",
89
- "@typescript-eslint/utils": "8.56.0",
90
- "@unocss/eslint-plugin": "66.6.0",
87
+ "@types/node": "25.3.3",
88
+ "@typescript-eslint/eslint-plugin": "8.56.1",
89
+ "@typescript-eslint/parser": "8.56.1",
90
+ "@typescript-eslint/utils": "8.56.1",
91
+ "@unocss/eslint-plugin": "66.6.3",
91
92
  "@vitest/eslint-plugin": "1.6.9",
92
93
  "baseline-browser-mapping": "2.10.0",
93
94
  "commitizen": "4.3.1",
94
- "cspell": "9.6.4",
95
+ "cspell": "9.7.0",
95
96
  "cz-conventional-changelog": "3.3.0",
96
- "eslint": "9.39.3",
97
+ "eslint": "10.0.2",
97
98
  "eslint-config-prettier": "10.1.8",
98
99
  "eslint-flat-config-utils": "3.0.1",
99
100
  "eslint-formatting-reporter": "0.0.0",
100
101
  "eslint-import-resolver-typescript": "4.4.4",
101
102
  "eslint-merge-processors": "2.0.0",
102
- "eslint-plugin-better-tailwindcss": "4.3.0",
103
- "eslint-plugin-eslint-comments": "3.2.0",
104
- "eslint-plugin-format": "1.4.0",
105
- "eslint-plugin-functional": "9.0.3",
103
+ "eslint-plugin-better-tailwindcss": "4.3.1",
104
+ "eslint-plugin-format": "2.0.1",
105
+ "eslint-plugin-functional": "9.0.4",
106
106
  "eslint-plugin-i18next": "6.1.3",
107
107
  "eslint-plugin-import-x": "4.16.1",
108
- "eslint-plugin-jsdoc": "62.7.0",
109
- "eslint-plugin-jsonc": "3.0.1",
108
+ "eslint-plugin-jsdoc": "62.7.1",
109
+ "eslint-plugin-jsonc": "3.1.1",
110
110
  "eslint-plugin-jsx-a11y": "6.10.2",
111
111
  "eslint-plugin-n": "17.24.0",
112
112
  "eslint-plugin-no-only-tests": "3.3.0",
@@ -114,23 +114,23 @@
114
114
  "eslint-plugin-prettier": "5.5.5",
115
115
  "eslint-plugin-promise": "7.2.1",
116
116
  "eslint-plugin-react-hooks": "7.0.1",
117
- "eslint-plugin-react-refresh": "0.5.0",
117
+ "eslint-plugin-react-refresh": "0.5.2",
118
118
  "eslint-plugin-regexp": "3.0.0",
119
119
  "eslint-plugin-sonarjs": "4.0.0",
120
- "eslint-plugin-toml": "1.1.2",
120
+ "eslint-plugin-toml": "1.3.0",
121
121
  "eslint-plugin-unicorn": "63.0.0",
122
122
  "eslint-plugin-vue": "10.8.0",
123
- "eslint-plugin-yml": "3.2.2",
123
+ "eslint-plugin-yml": "3.3.0",
124
124
  "eslint-processor-vue-blocks": "2.0.0",
125
125
  "eslint-typegen": "2.3.1",
126
126
  "husky": "9.1.7",
127
127
  "jiti": "2.6.1",
128
128
  "jsonc-eslint-parser": "3.1.0",
129
129
  "knip": "5.85.0",
130
- "lint-staged": "16.2.7",
130
+ "lint-staged": "16.3.1",
131
131
  "markdownlint-cli2": "0.21.0",
132
132
  "prettier": "3.8.1",
133
- "publint": "0.3.17",
133
+ "publint": "0.3.18",
134
134
  "rimraf": "6.1.3",
135
135
  "rollup": "4.59.0",
136
136
  "rollup-plugin-deassert": "1.3.0",
@@ -144,6 +144,7 @@
144
144
  "yaml-eslint-parser": "2.0.0"
145
145
  },
146
146
  "peerDependencies": {
147
+ "@eslint-community/eslint-plugin-eslint-comments": "*",
147
148
  "@eslint/markdown": "*",
148
149
  "@stylistic/eslint-plugin": "*",
149
150
  "@typescript-eslint/eslint-plugin": "*",
@@ -158,7 +159,6 @@
158
159
  "eslint-import-resolver-typescript": "*",
159
160
  "eslint-merge-processors": "*",
160
161
  "eslint-plugin-better-tailwindcss": "*",
161
- "eslint-plugin-eslint-comments": "*",
162
162
  "eslint-plugin-format": "*",
163
163
  "eslint-plugin-functional": "*",
164
164
  "eslint-plugin-import-x": "*",
@@ -185,6 +185,9 @@
185
185
  "yaml-eslint-parser": "*"
186
186
  },
187
187
  "peerDependenciesMeta": {
188
+ "@eslint-community/eslint-plugin-eslint-comments": {
189
+ "optional": true
190
+ },
188
191
  "@eslint-react/eslint-plugin": {
189
192
  "optional": true
190
193
  },
@@ -227,9 +230,6 @@
227
230
  "eslint-plugin-better-tailwindcss": {
228
231
  "optional": true
229
232
  },
230
- "eslint-plugin-eslint-comments": {
231
- "optional": true
232
- },
233
233
  "eslint-plugin-format": {
234
234
  "optional": true
235
235
  },
@@ -312,7 +312,7 @@
312
312
  "optional": true
313
313
  }
314
314
  },
315
- "packageManager": "pnpm@10.30.1",
315
+ "packageManager": "pnpm@10.30.3",
316
316
  "engines": {
317
317
  "node": ">=20.0.0"
318
318
  },