@isentinel/eslint-config 0.7.2 → 0.7.4

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.js CHANGED
@@ -2,11 +2,11 @@ import {
2
2
  __commonJS,
3
3
  __toESM,
4
4
  init_esm_shims
5
- } from "./chunk-NI656Y5M.js";
5
+ } from "./chunk-6J6ZEY37.js";
6
6
 
7
- // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.7.0/node_modules/eslint-plugin-simple-import-sort/shared.js
7
+ // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.8.0/node_modules/eslint-plugin-simple-import-sort/shared.js
8
8
  var require_shared = __commonJS({
9
- "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.7.0/node_modules/eslint-plugin-simple-import-sort/shared.js"(exports, module) {
9
+ "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.8.0/node_modules/eslint-plugin-simple-import-sort/shared.js"(exports, module) {
10
10
  "use strict";
11
11
  init_esm_shims();
12
12
  function extractChunks(parentNode, isPartOfChunk) {
@@ -545,9 +545,9 @@ var require_shared = __commonJS({
545
545
  }
546
546
  });
547
547
 
548
- // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.7.0/node_modules/eslint-plugin-simple-import-sort/imports.js
548
+ // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.8.0/node_modules/eslint-plugin-simple-import-sort/imports.js
549
549
  var require_imports = __commonJS({
550
- "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.7.0/node_modules/eslint-plugin-simple-import-sort/imports.js"(exports, module) {
550
+ "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.8.0/node_modules/eslint-plugin-simple-import-sort/imports.js"(exports, module) {
551
551
  "use strict";
552
552
  init_esm_shims();
553
553
  var shared = require_shared();
@@ -673,9 +673,9 @@ var require_imports = __commonJS({
673
673
  }
674
674
  });
675
675
 
676
- // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.7.0/node_modules/eslint-plugin-simple-import-sort/exports.js
676
+ // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.8.0/node_modules/eslint-plugin-simple-import-sort/exports.js
677
677
  var require_exports = __commonJS({
678
- "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.7.0/node_modules/eslint-plugin-simple-import-sort/exports.js"(exports, module) {
678
+ "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.8.0/node_modules/eslint-plugin-simple-import-sort/exports.js"(exports, module) {
679
679
  "use strict";
680
680
  init_esm_shims();
681
681
  var shared = require_shared();
@@ -765,9 +765,9 @@ var require_exports = __commonJS({
765
765
  }
766
766
  });
767
767
 
768
- // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.7.0/node_modules/eslint-plugin-simple-import-sort/index.js
768
+ // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.8.0/node_modules/eslint-plugin-simple-import-sort/index.js
769
769
  var require_eslint_plugin_simple_import_sort = __commonJS({
770
- "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.7.0/node_modules/eslint-plugin-simple-import-sort/index.js"(exports, module) {
770
+ "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.8.0/node_modules/eslint-plugin-simple-import-sort/index.js"(exports, module) {
771
771
  "use strict";
772
772
  init_esm_shims();
773
773
  var importsRule = require_imports();
@@ -874,7 +874,7 @@ import { default as default16 } from "isentinel-eslint-plugin-roblox-ts";
874
874
  async function comments() {
875
875
  return [
876
876
  {
877
- name: "style:eslint-comments",
877
+ name: "style/eslint/comments",
878
878
  plugins: {
879
879
  "comment-length": fixupPluginRules(default3),
880
880
  "eslint-comments": default8
@@ -1036,7 +1036,7 @@ async function stylistic(options = {}) {
1036
1036
  });
1037
1037
  return [
1038
1038
  {
1039
- name: "style:stylistic",
1039
+ name: "style/stylistic",
1040
1040
  plugins: {
1041
1041
  antfu: default6,
1042
1042
  "arrow-style": default7,
@@ -1119,7 +1119,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1119
1119
  );
1120
1120
  const configs = [
1121
1121
  {
1122
- name: "style:formatters:setup",
1122
+ name: "style/formatters/setup",
1123
1123
  plugins: {
1124
1124
  format: default9
1125
1125
  }
@@ -1132,7 +1132,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1132
1132
  languageOptions: {
1133
1133
  parser: default9.parserPlain
1134
1134
  },
1135
- name: "style:formatter:css",
1135
+ name: "style/formatter/css",
1136
1136
  rules: {
1137
1137
  "format/prettier": [
1138
1138
  "error",
@@ -1148,7 +1148,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1148
1148
  languageOptions: {
1149
1149
  parser: default9.parserPlain
1150
1150
  },
1151
- name: "style:formatter:scss",
1151
+ name: "style/formatter/scss",
1152
1152
  rules: {
1153
1153
  "format/prettier": [
1154
1154
  "error",
@@ -1164,7 +1164,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1164
1164
  languageOptions: {
1165
1165
  parser: default9.parserPlain
1166
1166
  },
1167
- name: "style:formatter:less",
1167
+ name: "style/formatter/less",
1168
1168
  rules: {
1169
1169
  "format/prettier": [
1170
1170
  "error",
@@ -1183,7 +1183,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1183
1183
  languageOptions: {
1184
1184
  parser: default9.parserPlain
1185
1185
  },
1186
- name: "style:formatter:html",
1186
+ name: "style/formatter/html",
1187
1187
  rules: {
1188
1188
  "format/prettier": [
1189
1189
  "error",
@@ -1202,7 +1202,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1202
1202
  languageOptions: {
1203
1203
  parser: default9.parserPlain
1204
1204
  },
1205
- name: "style:formatter:markdown",
1205
+ name: "style/formatter/markdown",
1206
1206
  rules: {
1207
1207
  [`format/${formatter}`]: [
1208
1208
  "error",
@@ -1224,7 +1224,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1224
1224
  languageOptions: {
1225
1225
  parser: default9.parserPlain
1226
1226
  },
1227
- name: "style:formatter:graphql",
1227
+ name: "style/formatter/graphql",
1228
1228
  rules: {
1229
1229
  "format/prettier": [
1230
1230
  "error",
@@ -1244,7 +1244,8 @@ init_esm_shims();
1244
1244
  async function ignores() {
1245
1245
  return [
1246
1246
  {
1247
- ignores: [...GLOB_EXCLUDE, GLOB_JS]
1247
+ ignores: [...GLOB_EXCLUDE, GLOB_JS],
1248
+ name: "style/ignores"
1248
1249
  }
1249
1250
  ];
1250
1251
  }
@@ -1255,7 +1256,7 @@ async function imports(options = {}) {
1255
1256
  const { stylistic: stylistic2 = true } = options;
1256
1257
  return [
1257
1258
  {
1258
- name: "style:imports",
1259
+ name: "style/imports",
1259
1260
  plugins: {
1260
1261
  antfu: default6,
1261
1262
  import: pluginImport
@@ -1285,7 +1286,7 @@ async function imports(options = {}) {
1285
1286
  sourceType: "script"
1286
1287
  }
1287
1288
  },
1288
- name: "style:import-sort",
1289
+ name: "style/import-sort",
1289
1290
  plugins: {
1290
1291
  "simple-import-sort": import_eslint_plugin_simple_import_sort.default
1291
1292
  },
@@ -1316,7 +1317,7 @@ async function jsdoc(options = {}) {
1316
1317
  const { stylistic: stylistic2 = true } = options;
1317
1318
  return [
1318
1319
  {
1319
- name: "style:jsdoc",
1320
+ name: "style/jsdoc",
1320
1321
  plugins: {
1321
1322
  jsdoc: await interopDefault(import("eslint-plugin-jsdoc"))
1322
1323
  },
@@ -1353,6 +1354,7 @@ async function jsdoc(options = {}) {
1353
1354
  "jsdoc/require-returns": ["warn", { exemptedBy: ["hidden"] }],
1354
1355
  "jsdoc/require-returns-check": "warn",
1355
1356
  "jsdoc/require-returns-description": "warn",
1357
+ "jsdoc/require-template": "warn",
1356
1358
  "jsdoc/require-yields-check": "warn",
1357
1359
  "jsdoc/sort-tags": "off",
1358
1360
  ...stylistic2 ? {
@@ -1379,7 +1381,7 @@ async function jsonc(options = {}) {
1379
1381
  ]);
1380
1382
  return [
1381
1383
  {
1382
- name: "style:jsonc:setup",
1384
+ name: "style/jsonc/setup",
1383
1385
  plugins: {
1384
1386
  jsonc: pluginJsonc
1385
1387
  }
@@ -1389,7 +1391,7 @@ async function jsonc(options = {}) {
1389
1391
  languageOptions: {
1390
1392
  parser: parserJsonc
1391
1393
  },
1392
- name: "style:jsonc:rules",
1394
+ name: "style/jsonc/rules",
1393
1395
  rules: {
1394
1396
  "jsonc/no-bigint-literals": "error",
1395
1397
  "jsonc/no-binary-expression": "error",
@@ -1455,7 +1457,7 @@ async function markdown(options = {}) {
1455
1457
  const markdownPlugin = await interopDefault(import("eslint-plugin-markdown"));
1456
1458
  return [
1457
1459
  {
1458
- name: "style:markdown:setup",
1460
+ name: "style/markdown/setup",
1459
1461
  plugins: {
1460
1462
  markdownPlugin
1461
1463
  }
@@ -1463,7 +1465,7 @@ async function markdown(options = {}) {
1463
1465
  {
1464
1466
  files,
1465
1467
  ignores: [GLOB_MARKDOWN_IN_MARKDOWN],
1466
- name: "style:markdown:processor",
1468
+ name: "style/markdown/processor",
1467
1469
  // `eslint-plugin-markdown` only creates virtual files for code blocks,
1468
1470
  // but not the markdown file itself. We use `eslint-merge-processors` to
1469
1471
  // add a pass-through processor for the markdown file itself.
@@ -1474,7 +1476,7 @@ async function markdown(options = {}) {
1474
1476
  languageOptions: {
1475
1477
  parser: parserPlain
1476
1478
  },
1477
- name: "style:markdown:parser"
1479
+ name: "style/markdown/parser"
1478
1480
  },
1479
1481
  {
1480
1482
  files: [
@@ -1488,7 +1490,7 @@ async function markdown(options = {}) {
1488
1490
  }
1489
1491
  }
1490
1492
  },
1491
- name: "style:markdown:disables",
1493
+ name: "style/markdown/disables",
1492
1494
  rules: {
1493
1495
  "import/newline-after-import": "off",
1494
1496
  "no-alert": "off",
@@ -1528,7 +1530,7 @@ async function packageJson() {
1528
1530
  languageOptions: {
1529
1531
  parser: await interopDefault(import("jsonc-eslint-parser"))
1530
1532
  },
1531
- name: "style:package-json",
1533
+ name: "style/package-json",
1532
1534
  plugins: {
1533
1535
  "package-json": pluginPackageJson
1534
1536
  },
@@ -1552,7 +1554,7 @@ init_esm_shims();
1552
1554
  async function perfectionist() {
1553
1555
  return [
1554
1556
  {
1555
- name: "style:perfectionist",
1557
+ name: "style/perfectionist",
1556
1558
  plugins: {
1557
1559
  perfectionist: default12
1558
1560
  },
@@ -1566,7 +1568,9 @@ async function perfectionist() {
1566
1568
  "perfectionist/sort-maps": ["error", { type: "natural" }],
1567
1569
  "perfectionist/sort-object-types": ["error", { type: "natural" }],
1568
1570
  "perfectionist/sort-objects": ["error", { type: "natural" }],
1569
- "perfectionist/sort-union-types": ["error", { type: "natural" }]
1571
+ "perfectionist/sort-switch-case": ["error", { type: "natural" }],
1572
+ "perfectionist/sort-union-types": ["error", { type: "natural" }],
1573
+ "perfectionist/sort-variable-declarations": ["error", { type: "natural" }]
1570
1574
  }
1571
1575
  }
1572
1576
  ];
@@ -1603,6 +1607,7 @@ async function prettier(options) {
1603
1607
  return [
1604
1608
  {
1605
1609
  files,
1610
+ name: "style/prettier",
1606
1611
  plugins: {
1607
1612
  format: default9
1608
1613
  },
@@ -1717,7 +1722,7 @@ init_esm_shims();
1717
1722
  async function promise() {
1718
1723
  return [
1719
1724
  {
1720
- name: "style:promise",
1725
+ name: "style/promise",
1721
1726
  plugins: {
1722
1727
  promise: default13
1723
1728
  },
@@ -1775,7 +1780,7 @@ async function react(options = {}) {
1775
1780
  const tsconfigPath = options?.tsconfigPath ? toArray(options.tsconfigPath) : void 0;
1776
1781
  return [
1777
1782
  {
1778
- name: "style:react:setup",
1783
+ name: "style/react:setup",
1779
1784
  plugins: {
1780
1785
  react: plugins["@eslint-react"],
1781
1786
  "react-hooks": fixupPluginRules2(pluginReactHooks),
@@ -1798,7 +1803,7 @@ async function react(options = {}) {
1798
1803
  },
1799
1804
  sourceType: "module"
1800
1805
  },
1801
- name: "style:react:rules",
1806
+ name: "style/react:rules",
1802
1807
  rules: {
1803
1808
  // recommended rules from @eslint-react
1804
1809
  "react/ensure-forward-ref-using-ref": "warn",
@@ -1813,14 +1818,14 @@ async function react(options = {}) {
1813
1818
  "react/no-class-component": "error",
1814
1819
  "react/no-clone-element": "warn",
1815
1820
  "react/no-comment-textnodes": "warn",
1816
- "react/no-complicated-conditional-rendering": "off",
1821
+ "react/no-complex-conditional-rendering": "error",
1817
1822
  "react/no-component-will-mount": "error",
1818
1823
  "react/no-component-will-receive-props": "error",
1819
1824
  "react/no-component-will-update": "error",
1820
1825
  "react/no-create-ref": "error",
1821
1826
  "react/no-direct-mutation-state": "error",
1822
1827
  "react/no-duplicate-key": "error",
1823
- "react/no-implicit-key": "off",
1828
+ "react/no-implicit-key": "error",
1824
1829
  "react/no-leaked-conditional-rendering": "warn",
1825
1830
  "react/no-missing-key": "error",
1826
1831
  "react/no-nested-components": "warn",
@@ -1929,7 +1934,7 @@ async function roblox(options = {}, formatLua = true) {
1929
1934
  ...parserOptions
1930
1935
  }
1931
1936
  },
1932
- name: "style:roblox",
1937
+ name: "style/roblox",
1933
1938
  plugins: {
1934
1939
  roblox: default16
1935
1940
  },
@@ -1981,7 +1986,7 @@ import { fixupPluginRules as fixupPluginRules3 } from "@eslint/compat";
1981
1986
  async function shopify() {
1982
1987
  return [
1983
1988
  {
1984
- name: "style:shopify",
1989
+ name: "style/shopify",
1985
1990
  plugins: {
1986
1991
  shopify: fixupPluginRules3(default4)
1987
1992
  },
@@ -1991,8 +1996,8 @@ async function shopify() {
1991
1996
  "shopify/prefer-module-scope-constants": "error",
1992
1997
  "shopify/react-hooks-strict-return": "error",
1993
1998
  "shopify/strict-component-boundaries": "error",
1994
- "shopify/typescript/prefer-pascal-case-enums": "error",
1995
- "shopify/typescript/prefer-singular-enums": "error"
1999
+ "shopify/typescript-prefer-pascal-case-enums": "error",
2000
+ "shopify/typescript-prefer-singular-enums": "error"
1996
2001
  },
1997
2002
  // Shopify has a dependency on 'eslint-plugin-react' so we need to
1998
2003
  // set the react version to avoid the warning.
@@ -2010,7 +2015,7 @@ init_esm_shims();
2010
2015
  async function sonarjs() {
2011
2016
  return [
2012
2017
  {
2013
- name: "style:sonarjs",
2018
+ name: "style/sonarjs",
2014
2019
  plugins: {
2015
2020
  sonar: pluginSonar
2016
2021
  },
@@ -2059,7 +2064,7 @@ function sortTsconfig() {
2059
2064
  return [
2060
2065
  {
2061
2066
  files: ["**/tsconfig.json", "**/tsconfig.*.json"],
2062
- name: "style:sort-tsconfig",
2067
+ name: "style/sort-tsconfig",
2063
2068
  rules: {
2064
2069
  "jsonc/sort-keys": [
2065
2070
  "error",
@@ -2201,7 +2206,7 @@ async function spelling(options = {}) {
2201
2206
  return [
2202
2207
  {
2203
2208
  files,
2204
- name: "style:spelling",
2209
+ name: "style/spelling",
2205
2210
  plugins: {
2206
2211
  ["@cspell"]: default2
2207
2212
  },
@@ -2246,7 +2251,7 @@ async function toml(options = {}) {
2246
2251
  ]);
2247
2252
  return [
2248
2253
  {
2249
- name: "antfu/toml/setup",
2254
+ name: "style/toml/setup",
2250
2255
  plugins: {
2251
2256
  toml: pluginToml
2252
2257
  }
@@ -2256,7 +2261,7 @@ async function toml(options = {}) {
2256
2261
  languageOptions: {
2257
2262
  parser: parserToml
2258
2263
  },
2259
- name: "antfu/toml/rules",
2264
+ name: "style/toml/rules",
2260
2265
  rules: {
2261
2266
  "style/spaced-comment": "off",
2262
2267
  "toml/comma-style": "error",
@@ -2298,7 +2303,6 @@ async function typescript(options = {}) {
2298
2303
  const typeAwareRules = {
2299
2304
  "dot-notation": "off",
2300
2305
  "no-implied-eval": "off",
2301
- "no-throw-literal": "off",
2302
2306
  "no-unsafe-optional-chaining": "error",
2303
2307
  "ts/await-thenable": "error",
2304
2308
  "ts/consistent-type-assertions": [
@@ -2332,19 +2336,20 @@ async function typescript(options = {}) {
2332
2336
  "ts/no-misused-promises": "error",
2333
2337
  "ts/no-mixed-enums": "error",
2334
2338
  "ts/no-redundant-type-constituents": "error",
2335
- "ts/no-throw-literal": "off",
2336
2339
  "ts/no-unnecessary-boolean-literal-compare": "error",
2337
2340
  "ts/no-unnecessary-condition": ["error", { allowConstantLoopConditions: true }],
2338
2341
  "ts/no-unnecessary-parameter-property-assignment": "error",
2339
2342
  "ts/no-unnecessary-qualifier": "error",
2343
+ "ts/no-unnecessary-template-expression": "error",
2340
2344
  "ts/no-unnecessary-type-arguments": "error",
2341
2345
  "ts/no-unnecessary-type-assertion": "error",
2346
+ "ts/no-unnecessary-type-constraint": "error",
2347
+ "ts/no-unnecessary-type-parameters": "error",
2342
2348
  "ts/no-unsafe-argument": "error",
2343
2349
  "ts/no-unsafe-assignment": "error",
2344
2350
  "ts/no-unsafe-call": "error",
2345
2351
  "ts/no-unsafe-member-access": "error",
2346
2352
  "ts/no-unsafe-return": "error",
2347
- "ts/no-useless-template-literals": "error",
2348
2353
  "ts/non-nullable-type-assertion-style": "error",
2349
2354
  "ts/prefer-destructuring": "error",
2350
2355
  "ts/prefer-find": "error",
@@ -2371,7 +2376,7 @@ async function typescript(options = {}) {
2371
2376
  {
2372
2377
  // Install the plugins without globs, so they can be configured
2373
2378
  // separately.
2374
- name: "style:typescript:setup",
2379
+ name: "style/typescript:setup",
2375
2380
  plugins: {
2376
2381
  antfu: default6,
2377
2382
  "no-autofix": default11,
@@ -2395,7 +2400,7 @@ async function typescript(options = {}) {
2395
2400
  ...parserOptions
2396
2401
  }
2397
2402
  },
2398
- name: "style:typescript:rules",
2403
+ name: "style/typescript:rules",
2399
2404
  rules: {
2400
2405
  ...renameRules(pluginTs.configs["eslint-recommended"].overrides?.[0].rules ?? {}, {
2401
2406
  "@typescript-eslint": "ts"
@@ -2464,7 +2469,7 @@ async function typescript(options = {}) {
2464
2469
  "object-shorthand": "error",
2465
2470
  "prefer-const": "off",
2466
2471
  "prefer-destructuring": "off",
2467
- "ts/adjacent-overload-signatures": "error",
2472
+ "ts/adjacent-overload-signatures": "off",
2468
2473
  "ts/array-type": [
2469
2474
  "error",
2470
2475
  {
@@ -2473,7 +2478,6 @@ async function typescript(options = {}) {
2473
2478
  }
2474
2479
  ],
2475
2480
  "ts/ban-ts-comment": ["error", { "ts-ignore": "allow-with-description" }],
2476
- "ts/ban-types": ["error", { types: { Function: false } }],
2477
2481
  "ts/consistent-generic-constructors": ["error", "constructor"],
2478
2482
  "ts/consistent-indexed-object-style": ["error", "record"],
2479
2483
  "ts/consistent-type-definitions": ["error", "interface"],
@@ -2503,7 +2507,7 @@ async function typescript(options = {}) {
2503
2507
  "ts/no-dupe-class-members": "error",
2504
2508
  "ts/no-dynamic-delete": "off",
2505
2509
  "ts/no-empty-function": "error",
2506
- "ts/no-empty-interface": "error",
2510
+ "ts/no-empty-object-type": ["error", { allowInterfaces: "always" }],
2507
2511
  "ts/no-explicit-any": "off",
2508
2512
  "ts/no-extraneous-class": "error",
2509
2513
  "ts/no-for-in-array": "off",
@@ -2516,17 +2520,18 @@ async function typescript(options = {}) {
2516
2520
  "ts/no-redeclare": "off",
2517
2521
  "ts/no-require-imports": "error",
2518
2522
  "ts/no-shadow": "error",
2519
- "ts/no-throw-literal": "off",
2520
2523
  "ts/no-unused-vars": [
2521
2524
  "error",
2522
2525
  {
2523
2526
  argsIgnorePattern: "^_",
2524
2527
  caughtErrorsIgnorePattern: "^_",
2528
+ reportUsedIgnorePattern: true,
2525
2529
  varsIgnorePattern: "^_"
2526
2530
  }
2527
2531
  ],
2528
2532
  "ts/no-use-before-define": "off",
2529
2533
  "ts/no-useless-constructor": "error",
2534
+ "ts/no-wrapper-object-types": "error",
2530
2535
  "ts/prefer-for-of": "error",
2531
2536
  "ts/prefer-function-type": "error",
2532
2537
  "ts/triple-slash-reference": "off",
@@ -2538,7 +2543,7 @@ async function typescript(options = {}) {
2538
2543
  },
2539
2544
  {
2540
2545
  files: ["**/*.d.ts"],
2541
- name: "style:typescript:dts-overrides",
2546
+ name: "style/typescript:dts-overrides",
2542
2547
  rules: {
2543
2548
  "eslint-comments/no-unlimited-disable": "off",
2544
2549
  "import/no-duplicates": "off",
@@ -2555,7 +2560,7 @@ init_esm_shims();
2555
2560
  async function unicorn() {
2556
2561
  return [
2557
2562
  {
2558
- name: "style:unicorn",
2563
+ name: "style/unicorn",
2559
2564
  plugins: {
2560
2565
  unicorn: default15
2561
2566
  },
@@ -2660,7 +2665,7 @@ async function yaml(options = {}) {
2660
2665
  ]);
2661
2666
  return [
2662
2667
  {
2663
- name: "style:yaml:setup",
2668
+ name: "style/yaml:setup",
2664
2669
  plugins: {
2665
2670
  yaml: pluginYaml
2666
2671
  }
@@ -2670,16 +2675,18 @@ async function yaml(options = {}) {
2670
2675
  languageOptions: {
2671
2676
  parser: parserYaml
2672
2677
  },
2673
- name: "style:yaml:rules",
2678
+ name: "style/yaml:rules",
2674
2679
  rules: {
2675
2680
  "style/spaced-comment": "off",
2676
2681
  "yaml/block-mapping": "error",
2677
2682
  "yaml/block-sequence": "error",
2683
+ "yaml/file-extension": "error",
2678
2684
  "yaml/no-empty-key": "error",
2679
2685
  "yaml/no-empty-sequence-entry": "error",
2680
2686
  "yaml/no-irregular-whitespace": "error",
2681
2687
  "yaml/plain-scalar": "error",
2682
2688
  ...stylistic2 ? {
2689
+ "yaml/block-mapping-colon-indicator-newline": "error",
2683
2690
  "yaml/block-mapping-question-indicator-newline": "error",
2684
2691
  "yaml/block-sequence-hyphen-indicator-newline": "error",
2685
2692
  "yaml/flow-mapping-curly-newline": "error",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isentinel/eslint-config",
3
- "version": "0.7.2",
3
+ "version": "0.7.4",
4
4
  "description": "iSentinel's ESLint config",
5
5
  "keywords": [
6
6
  "eslint-config",
@@ -37,35 +37,35 @@
37
37
  "dependencies": {
38
38
  "@antfu/install-pkg": "0.3.3",
39
39
  "@clack/prompts": "0.7.0",
40
- "@cspell/eslint-plugin": "8.10.4",
40
+ "@cspell/eslint-plugin": "8.13.0",
41
41
  "@eslint/compat": "1.1.1",
42
42
  "@isentinel/dict-rbxts": "1.0.1",
43
43
  "@isentinel/dict-roblox": "1.0.3",
44
44
  "@isentinel/eslint-plugin-comment-length": "1.7.3",
45
- "@shopify/eslint-plugin": "45.0.0",
46
- "@stylistic/eslint-plugin": "2.3.0",
47
- "@typescript-eslint/eslint-plugin": "7.16.1",
48
- "@typescript-eslint/parser": "7.16.1",
49
- "eslint-config-flat-gitignore": "0.1.7",
45
+ "@shopify/eslint-plugin": "46.0.0",
46
+ "@stylistic/eslint-plugin": "2.6.1",
47
+ "@typescript-eslint/eslint-plugin": "8.0.0",
48
+ "@typescript-eslint/parser": "8.0.0",
49
+ "eslint-config-flat-gitignore": "0.1.8",
50
50
  "eslint-config-prettier": "9.1.0",
51
- "eslint-flat-config-utils": "0.2.5",
51
+ "eslint-flat-config-utils": "0.3.0",
52
52
  "eslint-merge-processors": "0.1.0",
53
53
  "eslint-plugin-antfu": "2.3.4",
54
54
  "eslint-plugin-arrow-return-style": "1.3.1",
55
55
  "eslint-plugin-eslint-comments": "3.2.0",
56
56
  "eslint-plugin-format": "0.1.2",
57
57
  "eslint-plugin-format-lua": "0.1.0",
58
- "eslint-plugin-import-x": "3.0.1",
59
- "eslint-plugin-jsdoc": "48.7.0",
58
+ "eslint-plugin-import-x": "3.1.0",
59
+ "eslint-plugin-jsdoc": "48.10.2",
60
60
  "eslint-plugin-jsonc": "2.16.0",
61
61
  "eslint-plugin-markdown": "5.1.0",
62
62
  "eslint-plugin-no-autofix": "2.0.0",
63
63
  "eslint-plugin-package-json": "0.15.2",
64
- "eslint-plugin-perfectionist": "2.11.0",
65
- "eslint-plugin-promise": "6.4.0",
66
- "eslint-plugin-sonarjs": "1.0.3",
64
+ "eslint-plugin-perfectionist": "3.0.0",
65
+ "eslint-plugin-promise": "7.0.0",
66
+ "eslint-plugin-sonarjs": "1.0.4",
67
67
  "eslint-plugin-toml": "0.11.1",
68
- "eslint-plugin-unicorn": "54.0.0",
68
+ "eslint-plugin-unicorn": "55.0.0",
69
69
  "eslint-plugin-yml": "1.14.0",
70
70
  "isentinel-eslint-plugin-roblox-ts": "0.0.37",
71
71
  "jsonc-eslint-parser": "2.4.0",
@@ -81,20 +81,20 @@
81
81
  },
82
82
  "devDependencies": {
83
83
  "@antfu/ni": "0.22.0",
84
- "@eslint-react/eslint-plugin": "1.5.27",
85
- "@eslint/config-inspector": "0.5.1",
86
- "@stylistic/eslint-plugin-migrate": "2.3.0",
87
- "@types/eslint": "8.56.10",
84
+ "@eslint-react/eslint-plugin": "1.8.0",
85
+ "@eslint/config-inspector": "0.5.2",
86
+ "@stylistic/eslint-plugin-migrate": "2.6.1",
87
+ "@types/eslint": "9.6.0",
88
88
  "@types/fs-extra": "11.0.4",
89
- "@types/node": "20.14.10",
89
+ "@types/node": "20.14.13",
90
90
  "@types/prompts": "2.4.9",
91
91
  "@types/yargs": "17.0.32",
92
92
  "bumpp": "9.4.1",
93
93
  "bundle-require": "5.0.0",
94
- "eslint": "9.7.0",
94
+ "eslint": "9.8.0",
95
95
  "eslint-plugin-react-hooks": "4.6.2",
96
96
  "eslint-plugin-simple-import-sort": "12.1.1",
97
- "eslint-typegen": "0.2.4",
97
+ "eslint-typegen": "0.3.0",
98
98
  "esno": "4.7.0",
99
99
  "execa": "9.3.0",
100
100
  "fast-glob": "3.3.2",
@@ -102,12 +102,12 @@
102
102
  "lint-staged": "15.2.7",
103
103
  "rimraf": "6.0.1",
104
104
  "simple-git-hooks": "2.11.1",
105
- "tsup": "8.1.0",
106
- "typescript": "5.5.3",
107
- "@isentinel/eslint-config": "0.7.2"
105
+ "tsup": "8.2.3",
106
+ "typescript": "5.5.4",
107
+ "@isentinel/eslint-config": "0.7.4"
108
108
  },
109
109
  "peerDependencies": {
110
- "@eslint-react/eslint-plugin": "^1.5.27",
110
+ "@eslint-react/eslint-plugin": "^1.8.0",
111
111
  "eslint": ">=8.40.0",
112
112
  "eslint-plugin-react-hooks": "^4.6.0"
113
113
  },