@isentinel/eslint-config 4.2.2 → 4.3.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.
package/dist/cli.mjs CHANGED
@@ -1,16 +1,16 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import process from "node:process";
1
4
  import { cancel, confirm, group, intro, log, multiselect, note, outro } from "@clack/prompts";
5
+ import fsp from "node:fs/promises";
2
6
  import ansis from "ansis";
3
- import process from "node:process";
4
7
  import yargs from "yargs";
5
8
  import { hideBin } from "yargs/helpers";
6
- import fs from "node:fs";
7
- import fsp from "node:fs/promises";
8
- import path from "node:path";
9
9
  import { existsSync, readFileSync } from "fs";
10
10
  import { execSync } from "node:child_process";
11
11
 
12
12
  //#region package.json
13
- var version = "4.2.2";
13
+ var version = "4.3.0";
14
14
  var package_default = {
15
15
  name: "@isentinel/eslint-config",
16
16
  version,
@@ -488,8 +488,8 @@ const versionsMap = {
488
488
  "eslint": "9.39.1",
489
489
  "eslint-plugin-jest": "29.0.1",
490
490
  "eslint-plugin-react-hooks": "7.0.1",
491
- "eslint-plugin-react-naming-convention": "2.3.4",
492
- "eslint-plugin-react-x": "2.3.4"
491
+ "eslint-plugin-react-naming-convention": "2.3.5",
492
+ "eslint-plugin-react-x": "2.3.5"
493
493
  };
494
494
 
495
495
  //#endregion
package/dist/index.d.mts CHANGED
@@ -2739,6 +2739,21 @@ interface RuleOptions {
2739
2739
  * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-exports.md
2740
2740
  */
2741
2741
  'package-json/valid-exports'?: Linter.RuleEntry<[]>;
2742
+ /**
2743
+ * Enforce that the `files` property is valid.
2744
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-files.md
2745
+ */
2746
+ 'package-json/valid-files'?: Linter.RuleEntry<[]>;
2747
+ /**
2748
+ * Enforce that the `homepage` property is valid.
2749
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-homepage.md
2750
+ */
2751
+ 'package-json/valid-homepage'?: Linter.RuleEntry<[]>;
2752
+ /**
2753
+ * Enforce that the `keywords` property is valid.
2754
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-keywords.md
2755
+ */
2756
+ 'package-json/valid-keywords'?: Linter.RuleEntry<[]>;
2742
2757
  /**
2743
2758
  * Enforce that the `license` property is valid.
2744
2759
  * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-license.md
@@ -2750,6 +2765,11 @@ interface RuleOptions {
2750
2765
  * @deprecated
2751
2766
  */
2752
2767
  'package-json/valid-local-dependency'?: Linter.RuleEntry<[]>;
2768
+ /**
2769
+ * Enforce that the `main` property is valid.
2770
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-main.md
2771
+ */
2772
+ 'package-json/valid-main'?: Linter.RuleEntry<[]>;
2753
2773
  /**
2754
2774
  * Enforce that package names are valid npm package names
2755
2775
  * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-name.md
@@ -3680,6 +3700,11 @@ interface RuleOptions {
3680
3700
  * @see https://github.com/roblox-ts/eslint-plugin-roblox-ts/tree/main/src/rules/no-private-identifier/documentation.md
3681
3701
  */
3682
3702
  'roblox/no-private-identifier'?: Linter.RuleEntry<[]>;
3703
+ /**
3704
+ * Enforce that only npm scopes listed in typeRoots can be imported
3705
+ * @see https://github.com/roblox-ts/eslint-plugin-roblox-ts/tree/main/src/rules/no-undeclared-scope/documentation.md
3706
+ */
3707
+ 'roblox/no-undeclared-scope'?: Linter.RuleEntry<[]>;
3683
3708
  /**
3684
3709
  * Disallow unsupported syntax in roblox-ts
3685
3710
  * @see https://github.com/roblox-ts/eslint-plugin-roblox-ts/tree/main/src/rules/no-unsupported-syntax/documentation.md
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import Module, { createRequire } from "node:module";
2
- import process from "node:process";
2
+ import { isPackageExists } from "local-pkg";
3
3
  import fs from "node:fs";
4
4
  import path, { dirname, join, relative, resolve } from "node:path";
5
- import { isPackageExists } from "local-pkg";
5
+ import process from "node:process";
6
6
  import prettier$1 from "prettier";
7
7
  import { findUpSync } from "find-up-simple";
8
8
  import { convertIgnorePatternToMinimatch } from "@eslint/compat";
@@ -4577,7 +4577,11 @@ async function packageJson(options = {}) {
4577
4577
  "package-json/valid-devDependencies": "error",
4578
4578
  "package-json/valid-directories": "error",
4579
4579
  "package-json/valid-exports": "error",
4580
+ "package-json/valid-files": "error",
4581
+ "package-json/valid-homepage": "error",
4582
+ "package-json/valid-keywords": "error",
4580
4583
  "package-json/valid-license": "error",
4584
+ "package-json/valid-main": "error",
4581
4585
  "package-json/valid-name": "error",
4582
4586
  "package-json/valid-optionalDependencies": "error",
4583
4587
  "package-json/valid-peerDependencies": "error",
@@ -5502,6 +5506,7 @@ async function roblox(options = {}, formatLua = true) {
5502
5506
  "roblox/no-object-math": "error",
5503
5507
  "roblox/no-post-fix-new": "error",
5504
5508
  "roblox/no-preceding-spread-element": "error",
5509
+ "roblox/no-undeclared-scope": "error",
5505
5510
  "roblox/size-method": "error",
5506
5511
  "sentinel/explicit-size-check": "error"
5507
5512
  };
@@ -9192,7 +9197,7 @@ var require_RuleCreator = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/@type
9192
9197
  * @returns Function to create a rule with the docs URL format.
9193
9198
  */
9194
9199
  function RuleCreator(urlCreator) {
9195
- return function createNamedRule({ meta, name: name$1,...rule$4 }) {
9200
+ return function createNamedRule({ meta, name: name$1, ...rule$4 }) {
9196
9201
  return createRule$1({
9197
9202
  meta: {
9198
9203
  ...meta,
@@ -17197,18 +17202,18 @@ var require_dist = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/@typescript-
17197
17202
  }) });
17198
17203
 
17199
17204
  //#endregion
17200
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/utils.js
17205
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/utils.js
17201
17206
  var import_dist$3, createRule;
17202
- var init_utils = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/utils.js": (() => {
17203
- import_dist$3 = /* @__PURE__ */ __toESM(require_dist(), 1);
17207
+ var init_utils = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/utils.js": (() => {
17208
+ import_dist$3 = require_dist();
17204
17209
  createRule = import_dist$3.ESLintUtils.RuleCreator((name$1) => `https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/${name$1}.md`);
17205
17210
  }) });
17206
17211
 
17207
17212
  //#endregion
17208
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/enums.js
17213
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/enums.js
17209
17214
  var import_dist$2, rule;
17210
- var init_enums = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/enums.js": (() => {
17211
- import_dist$2 = /* @__PURE__ */ __toESM(require_dist(), 1);
17215
+ var init_enums = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/enums.js": (() => {
17216
+ import_dist$2 = require_dist();
17212
17217
  init_utils();
17213
17218
  rule = createRule({
17214
17219
  create(context) {
@@ -17271,10 +17276,10 @@ ${isExported ? "export " : ""}type ${name$1} = typeof ${name$1}[keyof typeof ${n
17271
17276
  }) });
17272
17277
 
17273
17278
  //#endregion
17274
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/import-aliases.js
17279
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/import-aliases.js
17275
17280
  var import_dist$1, rule$1;
17276
- var init_import_aliases = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/import-aliases.js": (() => {
17277
- import_dist$1 = /* @__PURE__ */ __toESM(require_dist(), 1);
17281
+ var init_import_aliases = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/import-aliases.js": (() => {
17282
+ import_dist$1 = require_dist();
17278
17283
  init_utils();
17279
17284
  rule$1 = createRule({
17280
17285
  create(context) {
@@ -17343,7 +17348,7 @@ var init_lib$1 = __esm({ "node_modules/.pnpm/cached-factory@0.1.0/node_modules/c
17343
17348
  }) });
17344
17349
 
17345
17350
  //#endregion
17346
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/namespaces.js
17351
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/namespaces.js
17347
17352
  function skipExportParent(node$1) {
17348
17353
  return node$1.parent.type == import_dist.AST_NODE_TYPES.ExportNamedDeclaration ? node$1.parent : node$1;
17349
17354
  }
@@ -17351,8 +17356,8 @@ function skipModuleParent(node$1) {
17351
17356
  return node$1.parent.type === import_dist.AST_NODE_TYPES.TSModuleDeclaration ? node$1.parent : node$1;
17352
17357
  }
17353
17358
  var import_dist, rule$2;
17354
- var init_namespaces = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/namespaces.js": (() => {
17355
- import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
17359
+ var init_namespaces = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/namespaces.js": (() => {
17360
+ import_dist = require_dist();
17356
17361
  init_lib$1();
17357
17362
  init_utils();
17358
17363
  rule$2 = createRule({
@@ -17386,9 +17391,9 @@ var init_namespaces = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-
17386
17391
  }) });
17387
17392
 
17388
17393
  //#endregion
17389
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/parameter-properties.js
17394
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/parameter-properties.js
17390
17395
  var rule$3;
17391
- var init_parameter_properties = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/parameter-properties.js": (() => {
17396
+ var init_parameter_properties = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/parameter-properties.js": (() => {
17392
17397
  init_utils();
17393
17398
  rule$3 = createRule({
17394
17399
  create(context) {
@@ -17411,9 +17416,9 @@ var init_parameter_properties = __esm({ "node_modules/.pnpm/eslint-plugin-erasab
17411
17416
  }) });
17412
17417
 
17413
17418
  //#endregion
17414
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/index.js
17419
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/index.js
17415
17420
  var rules;
17416
- var init_rules = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/index.js": (() => {
17421
+ var init_rules = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/rules/index.js": (() => {
17417
17422
  init_enums();
17418
17423
  init_import_aliases();
17419
17424
  init_namespaces();
@@ -17427,14 +17432,14 @@ var init_rules = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@
17427
17432
  }) });
17428
17433
 
17429
17434
  //#endregion
17430
- //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/index.js
17435
+ //#region node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/index.js
17431
17436
  var lib_exports = /* @__PURE__ */ __export({
17432
17437
  default: () => index_default,
17433
17438
  plugin: () => plugin,
17434
17439
  rules: () => rules
17435
17440
  });
17436
17441
  var name, version, plugin, recommended, index_default;
17437
- var init_lib = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.3_eslint@9.39.1_d9d9d8c21ee26dabf7a90d7ffed9d171/node_modules/eslint-plugin-erasable-syntax-only/lib/index.js": (() => {
17442
+ var init_lib = __esm({ "node_modules/.pnpm/eslint-plugin-erasable-syntax-only@0.4.0_@typescript-eslint+parser@8.46.4_eslint@9.39.1_d8eeaeac748d966eb9d82c66f54ffe53/node_modules/eslint-plugin-erasable-syntax-only/lib/index.js": (() => {
17438
17443
  init_rules();
17439
17444
  ({name, version} = Module.createRequire(import.meta.url)("../package.json"));
17440
17445
  plugin = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isentinel/eslint-config",
3
- "version": "4.2.2",
3
+ "version": "4.3.0",
4
4
  "description": "iSentinel's ESLint config",
5
5
  "keywords": [
6
6
  "eslint-config",
@@ -41,7 +41,7 @@
41
41
  "dependencies": {
42
42
  "@antfu/install-pkg": "1.1.0",
43
43
  "@clack/prompts": "0.11.0",
44
- "@cspell/eslint-plugin": "9.3.0",
44
+ "@cspell/eslint-plugin": "9.3.1",
45
45
  "@eslint-community/eslint-plugin-eslint-comments": "4.5.0",
46
46
  "@eslint/compat": "1.4.1",
47
47
  "@eslint/markdown": "7.5.1",
@@ -51,8 +51,8 @@
51
51
  "@prettier/plugin-oxc": "0.0.4",
52
52
  "@shopify/eslint-plugin": "50.0.0",
53
53
  "@stylistic/eslint-plugin": "5.5.0",
54
- "@typescript-eslint/eslint-plugin": "8.46.3",
55
- "@typescript-eslint/parser": "8.46.3",
54
+ "@typescript-eslint/eslint-plugin": "8.46.4",
55
+ "@typescript-eslint/parser": "8.46.4",
56
56
  "ansis": "4.2.0",
57
57
  "eslint-config-flat-gitignore": "2.1.0",
58
58
  "eslint-config-prettier": "10.1.8",
@@ -69,12 +69,12 @@
69
69
  "eslint-plugin-jsdoc": "61.1.12",
70
70
  "eslint-plugin-jsonc": "2.21.0",
71
71
  "eslint-plugin-no-only-tests": "3.3.0",
72
- "eslint-plugin-package-json": "0.65.3",
72
+ "eslint-plugin-package-json": "0.69.0",
73
73
  "eslint-plugin-perfectionist": "4.15.1",
74
74
  "eslint-plugin-pnpm": "1.3.0",
75
75
  "eslint-plugin-prettier": "5.5.4",
76
76
  "eslint-plugin-promise": "7.2.1",
77
- "eslint-plugin-roblox-ts": "1.2.1",
77
+ "eslint-plugin-roblox-ts": "1.3.0",
78
78
  "eslint-plugin-sentinel": "0.1.2",
79
79
  "eslint-plugin-sonarjs": "3.0.5",
80
80
  "eslint-plugin-toml": "0.12.0",
@@ -100,7 +100,7 @@
100
100
  "@types/node": "22.16.0",
101
101
  "@types/prompts": "2.4.9",
102
102
  "@types/yargs": "17.0.34",
103
- "@vitest/eslint-plugin": "1.4.1",
103
+ "@vitest/eslint-plugin": "1.4.2",
104
104
  "bumpp": "10.3.1",
105
105
  "eslint": "9.39.1",
106
106
  "eslint-plugin-erasable-syntax-only": "0.4.0",
@@ -108,8 +108,8 @@
108
108
  "eslint-plugin-jest": "29.0.1",
109
109
  "eslint-plugin-n": "17.23.1",
110
110
  "eslint-plugin-react-hooks": "7.0.1",
111
- "eslint-plugin-react-naming-convention": "2.3.4",
112
- "eslint-plugin-react-x": "2.3.4",
111
+ "eslint-plugin-react-naming-convention": "2.3.5",
112
+ "eslint-plugin-react-x": "2.3.5",
113
113
  "eslint-typegen": "2.3.0",
114
114
  "esno": "4.8.0",
115
115
  "execa": "9.6.0",
@@ -121,10 +121,10 @@
121
121
  "pnpm-workspace-yaml": "1.3.0",
122
122
  "rimraf": "6.1.0",
123
123
  "simple-git-hooks": "2.13.1",
124
- "tsdown": "0.16.1",
124
+ "tsdown": "0.16.4",
125
125
  "type-fest": "5.2.0",
126
126
  "typescript": "5.9.3",
127
- "@isentinel/eslint-config": "4.2.2"
127
+ "@isentinel/eslint-config": "4.3.0"
128
128
  },
129
129
  "peerDependencies": {
130
130
  "@vitest/eslint-plugin": "^1.0.0",