@isentinel/eslint-config 4.5.1 → 4.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -13143,7 +13143,6 @@ type PnpmYamlEnforceSettings = [] | [{
13143
13143
  };
13144
13144
  requiredFields?: string[];
13145
13145
  forbiddenFields?: string[];
13146
- [k: string]: unknown | undefined;
13147
13146
  }];
13148
13147
  // ----- pnpm/yaml-no-duplicate-catalog-item -----
13149
13148
  type PnpmYamlNoDuplicateCatalogItem = [] | [{
@@ -16967,7 +16966,7 @@ interface OptionsConfig extends OptionsComponentExtensions, OptionsProjectType {
16967
16966
  * @experimental
16968
16967
  * @see https://github.com/antfu/pnpm-workspace-utils
16969
16968
  */
16970
- pnpm?: boolean;
16969
+ pnpm?: boolean | OptionsPnpm;
16971
16970
  /**
16972
16971
  * Enable react rules.
16973
16972
  *
@@ -17115,6 +17114,10 @@ interface OptionsOverrides {
17115
17114
  interface OptionsOverridesTypeAware extends OptionsOverrides {
17116
17115
  overridesTypeAware?: TypedFlatConfigItem["rules"];
17117
17116
  }
17117
+ interface OptionsPnpm {
17118
+ /** Requires catalogs usage. */
17119
+ catalogs?: boolean;
17120
+ }
17118
17121
  interface OptionsProjectType {
17119
17122
  /**
17120
17123
  * Type of the project. `package` will enable more strict rules for
@@ -17327,7 +17330,7 @@ declare function packageJson(options?: OptionsProjectType & OptionsRoblox & Opti
17327
17330
  declare function perfectionist(config?: OptionsProjectType & PerfectionistConfig): Promise<Array<TypedFlatConfigItem>>;
17328
17331
  //#endregion
17329
17332
  //#region src/configs/pnpm.d.ts
17330
- declare function pnpm(options: Required<OptionsIsInEditor>): Promise<Array<TypedFlatConfigItem>>;
17333
+ declare function pnpm(options: OptionsPnpm & Required<OptionsIsInEditor>): Promise<Array<TypedFlatConfigItem>>;
17331
17334
  //#endregion
17332
17335
  //#region src/configs/prettier.d.ts
17333
17336
  type PrettierRuleOptions = Pick<Partial<Options>, "parser"> & Options & Record<string, unknown>;
@@ -17460,4 +17463,4 @@ declare const GLOB_BUILD_TOOLS: string[];
17460
17463
  declare const GLOB_ALL_SRC: string[];
17461
17464
  declare const GLOB_EXCLUDE: string[];
17462
17465
  //#endregion
17463
- export { Awaitable, type ConfigNames, ExtractRuleOptions, type FlatConfigComposer, GLOB_ALL_JSON, GLOB_ALL_SRC, GLOB_BUILD_TOOLS, GLOB_CSS, GLOB_DTS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LUA, GLOB_MARKDOWN, GLOB_MARKDOWN_BLOCKS, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_ROOT, GLOB_ROOT_SRC, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_XML, GLOB_YAML, GitignoreOptions, JsdocOptions, OptionsComponentExtensions, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsOverridesTypeAware, OptionsProjectType, OptionsRoblox, OptionsStylistic, OptionsTestFramework, OptionsTypeScriptErasableOnly, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsVitest, PerfectionistConfig, type PrettierOptions, PrettierRuleOptions, ReactConfig, ResolvedOptions, Rules, SpellCheckConfig, StylisticConfig, StylisticConfigDefaults, TypedFlatConfigItem, combine, comments, createTsParser, isentinel as default, isentinel, defaultPluginRenaming, disables, ensurePackages, eslintPlugin, flawless, getOverrides, getTsConfig, gitignore, ignores, imports, interopDefault, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, markdown, mergeGlobs, mergePrettierOptions, node, packageJson, parserPlain, perfectionist, pnpm, prettier, promise, react, renamePluginInConfigs, renameRules, require, resolvePrettierConfigOptions, resolveSubOptions, resolveWithDefaults, roblox, shopify, shouldEnableFeature, sonarjs, sortGithubAction, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic, test, toml, typescript, unicorn, yaml };
17466
+ export { Awaitable, type ConfigNames, ExtractRuleOptions, type FlatConfigComposer, GLOB_ALL_JSON, GLOB_ALL_SRC, GLOB_BUILD_TOOLS, GLOB_CSS, GLOB_DTS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LUA, GLOB_MARKDOWN, GLOB_MARKDOWN_BLOCKS, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_ROOT, GLOB_ROOT_SRC, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_XML, GLOB_YAML, GitignoreOptions, JsdocOptions, OptionsComponentExtensions, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsOverridesTypeAware, OptionsPnpm, OptionsProjectType, OptionsRoblox, OptionsStylistic, OptionsTestFramework, OptionsTypeScriptErasableOnly, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsVitest, PerfectionistConfig, type PrettierOptions, PrettierRuleOptions, ReactConfig, ResolvedOptions, Rules, SpellCheckConfig, StylisticConfig, StylisticConfigDefaults, TypedFlatConfigItem, combine, comments, createTsParser, isentinel as default, isentinel, defaultPluginRenaming, disables, ensurePackages, eslintPlugin, flawless, getOverrides, getTsConfig, gitignore, ignores, imports, interopDefault, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, markdown, mergeGlobs, mergePrettierOptions, node, packageJson, parserPlain, perfectionist, pnpm, prettier, promise, react, renamePluginInConfigs, renameRules, require, resolvePrettierConfigOptions, resolveSubOptions, resolveWithDefaults, roblox, shopify, shouldEnableFeature, sonarjs, sortGithubAction, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic, test, toml, typescript, unicorn, yaml };
package/dist/index.mjs CHANGED
@@ -4,8 +4,9 @@ import fs from "node:fs";
4
4
  import path, { dirname, join, relative, resolve } from "node:path";
5
5
  import process from "node:process";
6
6
  import prettier$1 from "prettier";
7
- import { findUpSync } from "find-up-simple";
7
+ import { findUp, findUpSync } from "find-up-simple";
8
8
  import { convertIgnorePatternToMinimatch } from "@eslint/compat";
9
+ import fs$1 from "node:fs/promises";
9
10
  import { fileURLToPath, pathToFileURL } from "node:url";
10
11
  import { mergeProcessors, processorPassThrough } from "eslint-merge-processors";
11
12
  import { FlatConfigComposer } from "eslint-flat-config-utils";
@@ -513,7 +514,9 @@ async function disables(options) {
513
514
  "no-unused-expressions": "off",
514
515
  "ts/explicit-function-return-type": "off",
515
516
  "ts/no-empty-function": "off",
516
- "ts/no-non-null-assertion": "off"
517
+ "ts/no-non-null-assertion": "off",
518
+ "ts/unbound-method": "off",
519
+ "unicorn/consistent-function-scoping": "off"
517
520
  }
518
521
  },
519
522
  {
@@ -4806,13 +4809,13 @@ function capitalizeFirstLetter(value) {
4806
4809
  //#endregion
4807
4810
  //#region src/configs/pnpm.ts
4808
4811
  async function pnpm(options) {
4809
- const { isInEditor } = options;
4810
4812
  await ensurePackages(["eslint-plugin-pnpm"]);
4811
4813
  const [pluginPnpm, yamlParser, jsoncParser] = await Promise.all([
4812
4814
  interopDefault(import("eslint-plugin-pnpm")),
4813
4815
  interopDefault(import("yaml-eslint-parser")),
4814
4816
  interopDefault(import("jsonc-eslint-parser"))
4815
4817
  ]);
4818
+ const { catalogs = await detectCatalogUsage(), isInEditor } = options;
4816
4819
  return [
4817
4820
  {
4818
4821
  name: "isentinel/pnpm/setup",
@@ -4823,7 +4826,7 @@ async function pnpm(options) {
4823
4826
  files: ["package.json", "**/package.json"],
4824
4827
  languageOptions: { parser: jsoncParser },
4825
4828
  rules: {
4826
- "pnpm/json-enforce-catalog": ["error", { autofix: !isInEditor }],
4829
+ ...catalogs ? { "pnpm/json-enforce-catalog": ["error", { autofix: !isInEditor }] } : {},
4827
4830
  "pnpm/json-prefer-workspace-settings": ["error", { autofix: !isInEditor }],
4828
4831
  "pnpm/json-valid-catalog": ["error", { autofix: !isInEditor }]
4829
4832
  },
@@ -4847,6 +4850,12 @@ async function pnpm(options) {
4847
4850
  }
4848
4851
  ];
4849
4852
  }
4853
+ async function detectCatalogUsage() {
4854
+ const workspaceFile = await findUp("pnpm-workspace.yaml");
4855
+ if (workspaceFile === void 0) return false;
4856
+ const yaml$1 = await fs$1.readFile(workspaceFile, "utf-8");
4857
+ return yaml$1.includes("catalog:") || yaml$1.includes("catalogs:");
4858
+ }
4850
4859
 
4851
4860
  //#endregion
4852
4861
  //#region src/configs/jsx.ts
@@ -4931,7 +4940,7 @@ const defaultPluginRenaming = {
4931
4940
  * @rejects Will throw an error if configuration generation fails.
4932
4941
  */
4933
4942
  async function isentinel(options = {}, ...userConfigs) {
4934
- const { autoRenamePlugins = true, componentExts: componentExtensions = [], eslintPlugin: enableEslintPlugin = false, formatters, gitignore: enableGitignore = true, jsdoc: enableJsdoc = true, jsx: enableJsx = true, pnpm: enableCatalogs = false, react: enableReact = false, root: customRootGlobs, spellCheck: enableSpellCheck, typescript: enableTypeScript } = options;
4943
+ const { autoRenamePlugins = true, componentExts: componentExtensions = [], eslintPlugin: enableEslintPlugin = false, formatters, gitignore: enableGitignore = true, jsdoc: enableJsdoc = true, jsx: enableJsx = true, pnpm: enableCatalogs = findUpSync("pnpm-workspace.yaml") !== void 0, react: enableReact = false, root: customRootGlobs, spellCheck: enableSpellCheck, typescript: enableTypeScript } = options;
4935
4944
  const rootGlobs = mergeGlobs(GLOB_ROOT, customRootGlobs);
4936
4945
  const enableRoblox = options.roblox !== false;
4937
4946
  let { isInEditor } = options;
@@ -5045,8 +5054,11 @@ async function isentinel(options = {}, ...userConfigs) {
5045
5054
  }));
5046
5055
  if (stylisticOptions !== false) configs.push(sortGithubAction());
5047
5056
  }
5048
- if (enableCatalogs) {
5049
- configs.push(pnpm({ isInEditor }));
5057
+ if (enableCatalogs !== false) {
5058
+ configs.push(pnpm({
5059
+ isInEditor,
5060
+ ...resolveSubOptions(options, "pnpm")
5061
+ }));
5050
5062
  if (stylisticOptions !== false) configs.push(sortPnpmWorkspace());
5051
5063
  }
5052
5064
  if (options.toml !== false) configs.push(toml({
@@ -6302,31 +6314,33 @@ async function test(options = {}) {
6302
6314
  rules: {
6303
6315
  "test/consistent-test-it": "error",
6304
6316
  "test/expect-expect": "warn",
6305
- "test/max-expects": "warn",
6306
- "test/max-nested-describe": "error",
6317
+ "test/max-expects": "error",
6318
+ "test/max-nested-describe": ["error", { max: 4 }],
6307
6319
  "test/no-alias-methods": "error",
6308
6320
  "test/no-commented-out-tests": "warn",
6309
6321
  "test/no-conditional-expect": "error",
6310
6322
  "test/no-conditional-in-test": "error",
6311
- "test/no-disabled-tests": "warn",
6323
+ "test/no-disabled-tests": isInEditor ? "off" : "error",
6312
6324
  "test/no-done-callback": "error",
6313
6325
  "test/no-duplicate-hooks": "error",
6314
6326
  "test/no-export": "error",
6315
6327
  "test/no-focused-tests": isInEditor ? "off" : "error",
6328
+ "test/no-hooks": "error",
6316
6329
  "test/no-identical-title": "error",
6317
6330
  "test/no-standalone-expect": "error",
6318
6331
  "test/no-test-prefixes": "error",
6319
6332
  "test/no-test-return-statement": "error",
6320
6333
  "test/no-untyped-mock-factory": "error",
6321
- "test/padding-around-all": "warn",
6322
6334
  "test/prefer-called-with": "warn",
6323
6335
  "test/prefer-comparison-matcher": "warn",
6324
6336
  "test/prefer-each": "warn",
6325
6337
  "test/prefer-ending-with-an-expect": "warn",
6326
6338
  "test/prefer-equality-matcher": "warn",
6339
+ "test/prefer-expect-assertions": "error",
6327
6340
  "test/prefer-hooks-in-order": "warn",
6328
6341
  "test/prefer-lowercase-title": "warn",
6329
6342
  "test/prefer-mock-promise-shorthand": "error",
6343
+ "test/prefer-spy-on": "warn",
6330
6344
  "test/prefer-strict-equal": "error",
6331
6345
  "test/prefer-to-be": "error",
6332
6346
  "test/prefer-to-contain": "error",
@@ -6339,7 +6353,8 @@ async function test(options = {}) {
6339
6353
  "test/valid-describe-callback": "error",
6340
6354
  "test/valid-expect": "error",
6341
6355
  "test/valid-expect-in-promise": "error",
6342
- "test/valid-title": "error",
6356
+ "test/valid-title": ["error", { mustMatch: { it: ["^should", "Test title must start with \"should\""] } }],
6357
+ ...stylistic$1 !== false ? { "test/padding-around-all": "warn" } : {},
6343
6358
  ...overrides
6344
6359
  },
6345
6360
  settings: { jest: {
@@ -6359,15 +6374,73 @@ async function test(options = {}) {
6359
6374
  name: "isentinel/test/vitest/rules",
6360
6375
  files,
6361
6376
  rules: {
6377
+ "vitest/consistent-each-for": ["error", {
6378
+ describe: "for",
6379
+ it: "for",
6380
+ suite: "for",
6381
+ test: "for"
6382
+ }],
6383
+ "vitest/consistent-test-filename": ["error", { pattern: ".*\\.spec\\.[tj]sx?$" }],
6362
6384
  "vitest/consistent-test-it": ["error", {
6363
6385
  fn: "it",
6364
6386
  withinDescribe: "it"
6365
6387
  }],
6388
+ "vitest/consistent-vitest-vi": "error",
6389
+ "vitest/expect-expect": "warn",
6390
+ "vitest/hoisted-apis-on-top": "error",
6391
+ "vitest/max-expects": "error",
6392
+ "vitest/max-nested-describe": ["error", { max: 4 }],
6393
+ "vitest/no-alias-methods": "error",
6394
+ "vitest/no-commented-out-tests": "warn",
6395
+ "vitest/no-conditional-expect": "error",
6396
+ "vitest/no-conditional-in-test": "error",
6397
+ "vitest/no-conditional-tests": "error",
6398
+ "vitest/no-disabled-tests": isInEditor ? "off" : "error",
6399
+ "vitest/no-done-callback": "error",
6400
+ "vitest/no-duplicate-hooks": "error",
6401
+ "vitest/no-focused-tests": isInEditor ? "off" : "error",
6402
+ "vitest/no-hooks": "error",
6366
6403
  "vitest/no-identical-title": "error",
6367
6404
  "vitest/no-import-node-test": "error",
6405
+ "vitest/no-interpolation-in-snapshots": "error",
6406
+ "vitest/no-large-snapshots": "warn",
6407
+ "vitest/no-mocks-import": "error",
6408
+ "vitest/no-standalone-expect": "error",
6409
+ "vitest/no-test-prefixes": "error",
6410
+ "vitest/no-test-return-statement": "error",
6411
+ "vitest/prefer-called-exactly-once-with": "warn",
6412
+ "vitest/prefer-comparison-matcher": "warn",
6413
+ "vitest/prefer-describe-function-title": "warn",
6414
+ "vitest/prefer-each": "warn",
6415
+ "vitest/prefer-equality-matcher": "warn",
6416
+ "vitest/prefer-expect-assertions": "warn",
6417
+ "vitest/prefer-expect-resolves": "error",
6418
+ "vitest/prefer-expect-type-of": "error",
6368
6419
  "vitest/prefer-hooks-in-order": "error",
6420
+ "vitest/prefer-hooks-on-top": "error",
6421
+ "vitest/prefer-import-in-mock": "error",
6422
+ "vitest/prefer-importing-vitest-globals": "error",
6369
6423
  "vitest/prefer-lowercase-title": "error",
6370
- ...stylistic$1 !== false ? { "vitest/consistent-test-filename": ["error", { pattern: ".*\\.spec\\.[tj]sx?$" }] } : {},
6424
+ "vitest/prefer-mock-promise-shorthand": "error",
6425
+ "vitest/prefer-snapshot-hint": "warn",
6426
+ "vitest/prefer-spy-on": "warn",
6427
+ "vitest/prefer-strict-boolean-matchers": "error",
6428
+ "vitest/prefer-strict-equal": "error",
6429
+ "vitest/prefer-to-be": "error",
6430
+ "vitest/prefer-to-be-object": "error",
6431
+ "vitest/prefer-to-contain": "error",
6432
+ "vitest/prefer-todo": "warn",
6433
+ "vitest/prefer-vi-mocked": "error",
6434
+ "vitest/require-awaited-expect-poll": "error",
6435
+ "vitest/require-local-test-context-for-concurrent-snapshots": "error",
6436
+ "vitest/require-mock-type-parameters": "error",
6437
+ "vitest/require-to-throw-message": "warn",
6438
+ "vitest/require-top-level-describe": "error",
6439
+ "vitest/valid-describe-callback": "error",
6440
+ "vitest/valid-expect": "error",
6441
+ "vitest/valid-expect-in-promise": "error",
6442
+ "vitest/valid-title": ["error", { mustMatch: { it: ["^should", "Test title must start with \"should\""] } }],
6443
+ ...stylistic$1 !== false ? { "vitest/padding-around-all": "warn" } : {},
6371
6444
  ...overrides
6372
6445
  },
6373
6446
  settings: { vitest: { typecheck: vitestOptions.typecheck ?? false } }
@@ -17345,7 +17418,7 @@ var require_dist = /* @__PURE__ */ __commonJSMin(((exports) => {
17345
17418
  }));
17346
17419
 
17347
17420
  //#endregion
17348
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.48.1_eslint@9.39.1_b0ab5b54dcfe732a04af61f5b1e55e14/node_modules/eslint-plugin-erasable-syntax-only/lib/utils.js
17421
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.49.0_eslint@9.39.1_483186679515a3ae1a5782c47cf2d69e/node_modules/eslint-plugin-erasable-syntax-only/lib/utils.js
17349
17422
  var import_dist$3, createRule;
17350
17423
  var init_utils = __esmMin((() => {
17351
17424
  import_dist$3 = require_dist();
@@ -17353,7 +17426,7 @@ var init_utils = __esmMin((() => {
17353
17426
  }));
17354
17427
 
17355
17428
  //#endregion
17356
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.48.1_eslint@9.39.1_b0ab5b54dcfe732a04af61f5b1e55e14/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/enums.js
17429
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.49.0_eslint@9.39.1_483186679515a3ae1a5782c47cf2d69e/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/enums.js
17357
17430
  var import_dist$2, rule;
17358
17431
  var init_enums = __esmMin((() => {
17359
17432
  import_dist$2 = require_dist();
@@ -17419,7 +17492,7 @@ ${isExported ? "export " : ""}type ${name$1} = typeof ${name$1}[keyof typeof ${n
17419
17492
  }));
17420
17493
 
17421
17494
  //#endregion
17422
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.48.1_eslint@9.39.1_b0ab5b54dcfe732a04af61f5b1e55e14/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/import-aliases.js
17495
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.49.0_eslint@9.39.1_483186679515a3ae1a5782c47cf2d69e/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/import-aliases.js
17423
17496
  var import_dist$1, rule$1;
17424
17497
  var init_import_aliases = __esmMin((() => {
17425
17498
  import_dist$1 = require_dist();
@@ -17491,7 +17564,7 @@ var init_lib$1 = __esmMin((() => {
17491
17564
  }));
17492
17565
 
17493
17566
  //#endregion
17494
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.48.1_eslint@9.39.1_b0ab5b54dcfe732a04af61f5b1e55e14/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/namespaces.js
17567
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.49.0_eslint@9.39.1_483186679515a3ae1a5782c47cf2d69e/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/namespaces.js
17495
17568
  function skipExportParent(node$1) {
17496
17569
  return node$1.parent.type == import_dist.AST_NODE_TYPES.ExportNamedDeclaration ? node$1.parent : node$1;
17497
17570
  }
@@ -17534,7 +17607,7 @@ var init_namespaces = __esmMin((() => {
17534
17607
  }));
17535
17608
 
17536
17609
  //#endregion
17537
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.48.1_eslint@9.39.1_b0ab5b54dcfe732a04af61f5b1e55e14/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/parameter-properties.js
17610
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.49.0_eslint@9.39.1_483186679515a3ae1a5782c47cf2d69e/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/parameter-properties.js
17538
17611
  var rule$3;
17539
17612
  var init_parameter_properties = __esmMin((() => {
17540
17613
  init_utils();
@@ -17559,7 +17632,7 @@ var init_parameter_properties = __esmMin((() => {
17559
17632
  }));
17560
17633
 
17561
17634
  //#endregion
17562
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.48.1_eslint@9.39.1_b0ab5b54dcfe732a04af61f5b1e55e14/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/index.js
17635
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.49.0_eslint@9.39.1_483186679515a3ae1a5782c47cf2d69e/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/index.js
17563
17636
  var rules;
17564
17637
  var init_rules = __esmMin((() => {
17565
17638
  init_enums();
@@ -17575,7 +17648,7 @@ var init_rules = __esmMin((() => {
17575
17648
  }));
17576
17649
 
17577
17650
  //#endregion
17578
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.48.1_eslint@9.39.1_b0ab5b54dcfe732a04af61f5b1e55e14/node_modules/eslint-plugin-erasable-syntax-only/lib/index.js
17651
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.49.0_eslint@9.39.1_483186679515a3ae1a5782c47cf2d69e/node_modules/eslint-plugin-erasable-syntax-only/lib/index.js
17579
17652
  var lib_exports = /* @__PURE__ */ __export({
17580
17653
  default: () => index_default,
17581
17654
  plugin: () => plugin,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isentinel/eslint-config",
3
- "version": "4.5.1",
3
+ "version": "4.6.1",
4
4
  "description": "iSentinel's ESLint config",
5
5
  "keywords": [
6
6
  "eslint-config",
@@ -56,8 +56,8 @@
56
56
  "@prettier/plugin-oxc": "0.1.3",
57
57
  "@shopify/eslint-plugin": "50.0.0",
58
58
  "@stylistic/eslint-plugin": "5.6.1",
59
- "@typescript-eslint/eslint-plugin": "8.48.1",
60
- "@typescript-eslint/parser": "8.48.1",
59
+ "@typescript-eslint/eslint-plugin": "8.49.0",
60
+ "@typescript-eslint/parser": "8.49.0",
61
61
  "ansis": "4.2.0",
62
62
  "eslint-config-flat-gitignore": "2.1.0",
63
63
  "eslint-config-prettier": "10.1.8",
@@ -76,7 +76,7 @@
76
76
  "eslint-plugin-no-only-tests": "3.3.0",
77
77
  "eslint-plugin-package-json": "0.85.0",
78
78
  "eslint-plugin-perfectionist": "4.15.1",
79
- "eslint-plugin-pnpm": "1.4.1",
79
+ "eslint-plugin-pnpm": "1.4.2",
80
80
  "eslint-plugin-prettier": "5.5.4",
81
81
  "eslint-plugin-promise": "7.2.1",
82
82
  "eslint-plugin-roblox-ts": "1.3.1",
@@ -112,20 +112,20 @@
112
112
  "eslint-plugin-jest": "29.2.1",
113
113
  "eslint-plugin-n": "17.23.1",
114
114
  "eslint-plugin-react-hooks": "7.0.1",
115
- "eslint-plugin-react-naming-convention": "2.3.12",
116
- "eslint-plugin-react-x": "2.3.12",
115
+ "eslint-plugin-react-naming-convention": "2.3.13",
116
+ "eslint-plugin-react-x": "2.3.13",
117
117
  "eslint-typegen": "2.3.0",
118
118
  "jiti": "2.6.1",
119
119
  "lint-staged": "16.2.7",
120
120
  "parse-gitignore-ts": "1.0.0",
121
- "pnpm-workspace-yaml": "1.4.1",
121
+ "pnpm-workspace-yaml": "1.4.2",
122
122
  "rimraf": "6.1.2",
123
123
  "simple-git-hooks": "2.13.1",
124
- "tsdown": "0.17.0",
124
+ "tsdown": "0.17.2",
125
125
  "tsx": "4.21.0",
126
126
  "type-fest": "5.3.1",
127
127
  "typescript": "5.9.3",
128
- "@isentinel/eslint-config": "4.5.1"
128
+ "@isentinel/eslint-config": "4.6.1"
129
129
  },
130
130
  "peerDependencies": {
131
131
  "@vitest/eslint-plugin": "^1.0.0",