@isentinel/eslint-config 0.8.0 → 0.10.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/README.md CHANGED
@@ -53,7 +53,8 @@ following content:
53
53
  ```json
54
54
  {
55
55
  "extends": "./tsconfig.json",
56
- "include": ["src/**/*", "eslint.config.ts"]
56
+ "include": ["src/**/*", "eslint.config.ts"],
57
+ "exclude": ["node_modules"]
57
58
  }
58
59
  ```
59
60
 
@@ -179,11 +180,15 @@ export default style({
179
180
  // ...globs
180
181
  ],
181
182
 
183
+ // Type of the project. `package` for packages, the default is `game`
184
+ type: "package",
185
+
182
186
  // Provide TypeScript parser options for access to type checking lints.
183
187
  typescript: {
184
188
  parserOptions: {
185
189
  project: "tsconfig.build.json",
186
190
  },
191
+ tsconfigPath: "tsconfig.build.json",
187
192
  },
188
193
 
189
194
  // Disable yaml support
@@ -27,9 +27,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  mod
28
28
  ));
29
29
 
30
- // node_modules/.pnpm/tsup@8.3.0_jiti@1.21.6_postcss@8.4.38_tsx@4.15.4_typescript@5.5.4_yaml@2.5.1/node_modules/tsup/assets/esm_shims.js
30
+ // node_modules/.pnpm/tsup@8.3.6_jiti@2.4.2_postc_0b44a803593b12a91da37a0992fe7ba2/node_modules/tsup/assets/esm_shims.js
31
31
  var init_esm_shims = __esm({
32
- "node_modules/.pnpm/tsup@8.3.0_jiti@1.21.6_postcss@8.4.38_tsx@4.15.4_typescript@5.5.4_yaml@2.5.1/node_modules/tsup/assets/esm_shims.js"() {
32
+ "node_modules/.pnpm/tsup@8.3.6_jiti@2.4.2_postc_0b44a803593b12a91da37a0992fe7ba2/node_modules/tsup/assets/esm_shims.js"() {
33
33
  "use strict";
34
34
  }
35
35
  });
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_esm_shims
3
- } from "./chunk-PEUZU5TY.js";
3
+ } from "./chunk-YQGSSJFN.js";
4
4
 
5
5
  // src/cli.ts
6
6
  init_esm_shims();
@@ -8,8 +8,8 @@ init_esm_shims();
8
8
  // src/cli/index.ts
9
9
  init_esm_shims();
10
10
  import { intro, log as log6 } from "@clack/prompts";
11
+ import ansis6 from "ansis";
11
12
  import process6 from "node:process";
12
- import pico6 from "picocolors";
13
13
  import yargs from "yargs";
14
14
  import { hideBin } from "yargs/helpers";
15
15
 
@@ -19,7 +19,7 @@ init_esm_shims();
19
19
  // package.json
20
20
  var package_default = {
21
21
  name: "@isentinel/eslint-config",
22
- version: "0.8.0",
22
+ version: "0.10.0",
23
23
  description: "iSentinel's ESLint config",
24
24
  keywords: [
25
25
  "eslint-config",
@@ -35,10 +35,7 @@ var package_default = {
35
35
  ],
36
36
  type: "module",
37
37
  exports: {
38
- ".": {
39
- import: "./dist/index.js",
40
- require: "./dist/index.cjs"
41
- }
38
+ ".": "./dist/index.js"
42
39
  },
43
40
  main: "./dist/index.js",
44
41
  types: "./dist/index.d.ts",
@@ -48,98 +45,102 @@ var package_default = {
48
45
  "dist"
49
46
  ],
50
47
  scripts: {
51
- build: "nr typegen && tsup --format esm,cjs --clean --dts",
48
+ build: "nr typegen && tsup --clean --dts",
52
49
  "build:inspector": "pnpm build && npx @eslint/config-inspector build",
53
50
  dev: "npx @eslint/config-inspector --config eslint.config.ts",
54
- lint: "eslint . --flag unstable_ts_config",
51
+ lint: "eslint .",
55
52
  prepack: "nr build",
56
53
  prepare: "simple-git-hooks",
57
54
  release: "bumpp && pnpm publish --p",
58
- stub: "tsup --format esm",
55
+ stub: "tsup",
59
56
  typecheck: "tsc --noEmit",
60
57
  typegen: "esno scripts/typegen.ts",
61
- watch: "tsup --format esm,cjs --watch"
58
+ watch: "tsup --watch"
62
59
  },
63
60
  "simple-git-hooks": {
64
61
  "pre-commit": "pnpm lint-staged"
65
62
  },
66
63
  "lint-staged": {
67
- "*": "eslint --fix --flag unstable_ts_config"
64
+ "*": "eslint --fix"
68
65
  },
69
66
  dependencies: {
70
- "@antfu/install-pkg": "0.4.1",
71
- "@clack/prompts": "0.7.0",
72
- "@cspell/eslint-plugin": "8.14.4",
73
- "@eslint/compat": "1.1.1",
67
+ "@antfu/install-pkg": "1.0.0",
68
+ "@clack/prompts": "0.10.0",
69
+ "@cspell/eslint-plugin": "8.17.5",
70
+ "@eslint-community/eslint-plugin-eslint-comments": "4.4.1",
71
+ "@eslint/compat": "1.2.7",
74
72
  "@isentinel/dict-rbxts": "1.0.1",
75
73
  "@isentinel/dict-roblox": "1.0.3",
76
- "@shopify/eslint-plugin": "46.0.0",
77
- "@stylistic/eslint-plugin": "2.8.0",
78
- "@typescript-eslint/eslint-plugin": "8.6.0",
79
- "@typescript-eslint/parser": "8.6.0",
80
- "eslint-config-flat-gitignore": "0.3.0",
81
- "eslint-config-prettier": "9.1.0",
82
- "eslint-flat-config-utils": "0.4.0",
83
- "eslint-merge-processors": "0.1.0",
84
- "eslint-plugin-antfu": "2.7.0",
74
+ "@shopify/eslint-plugin": "47.0.1",
75
+ "@stylistic/eslint-plugin": "4.0.1",
76
+ "@typescript-eslint/eslint-plugin": "8.25.0",
77
+ "@typescript-eslint/parser": "8.25.0",
78
+ ansis: "3.16.0",
79
+ "eslint-config-flat-gitignore": "2.1.0",
80
+ "eslint-config-prettier": "10.0.1",
81
+ "eslint-flat-config-utils": "2.0.1",
82
+ "eslint-merge-processors": "2.0.0",
83
+ "eslint-plugin-antfu": "3.1.0",
85
84
  "eslint-plugin-arrow-return-style": "1.3.1",
85
+ "eslint-plugin-better-max-params": "0.0.1",
86
86
  "eslint-plugin-comment-length": "2.1.1",
87
- "eslint-plugin-eslint-comments": "3.2.0",
88
- "eslint-plugin-format": "0.1.2",
87
+ "eslint-plugin-de-morgan": "1.1.0",
88
+ "eslint-plugin-format": "1.0.1",
89
89
  "eslint-plugin-format-lua": "0.1.0",
90
- "eslint-plugin-import-x": "4.2.1",
91
- "eslint-plugin-jsdoc": "50.2.4",
92
- "eslint-plugin-jsonc": "2.16.0",
90
+ "eslint-plugin-import-x": "4.6.1",
91
+ "eslint-plugin-jsdoc": "50.6.3",
92
+ "eslint-plugin-jsonc": "2.19.1",
93
93
  "eslint-plugin-markdown": "5.1.0",
94
- "eslint-plugin-no-autofix": "2.1.0",
95
- "eslint-plugin-package-json": "0.15.3",
96
- "eslint-plugin-perfectionist": "3.6.0",
97
- "eslint-plugin-promise": "7.1.0",
98
- "eslint-plugin-sonarjs": "2.0.2",
99
- "eslint-plugin-toml": "0.11.1",
100
- "eslint-plugin-unicorn": "55.0.0",
101
- "eslint-plugin-yml": "1.14.0",
94
+ "eslint-plugin-no-only-tests": "3.3.0",
95
+ "eslint-plugin-package-json": "0.26.0",
96
+ "eslint-plugin-perfectionist": "4.9.0",
97
+ "eslint-plugin-promise": "7.2.1",
98
+ "eslint-plugin-sonarjs": "3.0.2",
99
+ "eslint-plugin-toml": "0.12.0",
100
+ "eslint-plugin-unicorn": "57.0.0",
101
+ "eslint-plugin-yml": "1.17.0",
102
102
  "isentinel-eslint-plugin-roblox-ts": "0.0.37",
103
103
  "jsonc-eslint-parser": "2.4.0",
104
- "local-pkg": "0.5.0",
104
+ "local-pkg": "1.0.0",
105
105
  "parse-gitignore": "2.0.0",
106
- picocolors: "1.1.0",
107
- prettier: "3.3.3",
108
- "prettier-plugin-jsdoc": "1.3.0",
106
+ prettier: "3.5.2",
107
+ "prettier-plugin-jsdoc": "1.3.2",
109
108
  prompts: "2.4.2",
110
109
  "toml-eslint-parser": "0.10.0",
111
110
  "yaml-eslint-parser": "1.2.3",
112
111
  yargs: "17.7.2"
113
112
  },
114
113
  devDependencies: {
115
- "@antfu/ni": "0.23.0",
116
- "@eslint-react/eslint-plugin": "1.14.2",
117
- "@eslint/config-inspector": "0.5.4",
114
+ "@antfu/ni": "23.3.1",
115
+ "@eslint-react/eslint-plugin": "1.14.3",
116
+ "@eslint/config-inspector": "1.0.0",
118
117
  "@isentinel/eslint-config": "workspace:*",
119
- "@stylistic/eslint-plugin-migrate": "2.8.0",
118
+ "@stylistic/eslint-plugin-migrate": "4.0.1",
120
119
  "@types/fs-extra": "11.0.4",
121
- "@types/node": "22.5.5",
120
+ "@types/node": "22.13.5",
122
121
  "@types/prompts": "2.4.9",
123
122
  "@types/yargs": "17.0.33",
124
- bumpp: "9.5.2",
125
- eslint: "9.11.0",
123
+ bumpp: "10.0.3",
124
+ eslint: "9.21.0",
125
+ "eslint-plugin-jest": "28.11.0",
126
126
  "eslint-plugin-react-roblox-hooks": "5.1.0-rbx.1",
127
127
  "eslint-plugin-simple-import-sort": "12.1.1",
128
- "eslint-typegen": "0.3.2",
129
- esno: "4.7.0",
130
- execa: "9.4.0",
131
- "fast-glob": "3.3.2",
132
- "fs-extra": "11.2.0",
133
- jiti: "1.21.6",
134
- "lint-staged": "15.2.10",
128
+ "eslint-typegen": "2.0.0",
129
+ esno: "4.8.0",
130
+ execa: "9.5.2",
131
+ "fast-glob": "3.3.3",
132
+ "fs-extra": "11.3.0",
133
+ jiti: "2.4.2",
134
+ "lint-staged": "15.4.3",
135
135
  rimraf: "6.0.1",
136
136
  "simple-git-hooks": "2.11.1",
137
- tsup: "8.3.0",
138
- typescript: "5.5.4"
137
+ tsup: "8.3.6",
138
+ typescript: "5.7.3"
139
139
  },
140
140
  peerDependencies: {
141
141
  "@eslint-react/eslint-plugin": "^1.14.0",
142
142
  eslint: "^9.10.0",
143
+ "eslint-plugin-jest": "^28.9.0",
143
144
  "eslint-plugin-react-roblox-hooks": "^5.1.0-rbx.1"
144
145
  },
145
146
  peerDependenciesMeta: {
@@ -148,11 +149,20 @@ var package_default = {
148
149
  },
149
150
  "eslint-plugin-react-roblox-hooks": {
150
151
  optional: true
152
+ },
153
+ "eslint-plugin-jest": {
154
+ optional: true
151
155
  }
152
156
  },
153
- packageManager: "pnpm@9.11.0",
157
+ packageManager: "pnpm@10.4.1",
154
158
  publishConfig: {
155
159
  access: "public"
160
+ },
161
+ pnpm: {
162
+ onlyBuiltDependencies: [
163
+ "esbuild",
164
+ "simple-git-hooks"
165
+ ]
156
166
  }
157
167
  };
158
168
 
@@ -204,23 +214,23 @@ var dependenciesMap = {
204
214
  // src/cli/run.ts
205
215
  init_esm_shims();
206
216
  import { cancel, confirm, group, log as log5, outro } from "@clack/prompts";
217
+ import ansis5 from "ansis";
207
218
  import fs4 from "node:fs";
208
219
  import path5 from "node:path";
209
220
  import process5 from "node:process";
210
- import pico5 from "picocolors";
211
221
 
212
222
  // src/cli/stages/add-tsconfig.build.json.ts
213
223
  init_esm_shims();
214
224
  import { log } from "@clack/prompts";
225
+ import ansis from "ansis";
215
226
  import fs from "node:fs";
216
227
  import fsp from "node:fs/promises";
217
228
  import path from "path";
218
- import pico from "picocolors";
219
229
  async function addTsconfigBuild() {
220
230
  const cwd = process.cwd();
221
231
  const pathTsconfigBuild = path.join(cwd, "tsconfig.build.json");
222
232
  if (fs.existsSync(pathTsconfigBuild)) {
223
- log.info(pico.yellow("tsconfig.build.json already exists"));
233
+ log.info(ansis.yellow("tsconfig.build.json already exists"));
224
234
  return;
225
235
  }
226
236
  const tsconfigBuildContent = `{
@@ -230,9 +240,9 @@ async function addTsconfigBuild() {
230
240
  }
231
241
  `;
232
242
  await fsp.writeFile(pathTsconfigBuild, tsconfigBuildContent, "utf-8");
233
- log.success(pico.green(`Created tsconfig.build.json`));
243
+ log.success(ansis.green(`Created tsconfig.build.json`));
234
244
  log.info(
235
- pico.yellow(
245
+ ansis.yellow(
236
246
  `You must add '"exclude": ["./eslint.config.ts"]' to your tsconfig.json. In the future, this will be done automatically.`
237
247
  )
238
248
  );
@@ -241,12 +251,12 @@ async function addTsconfigBuild() {
241
251
  // src/cli/stages/update-eslint-files.ts
242
252
  init_esm_shims();
243
253
  import { log as log2, note } from "@clack/prompts";
254
+ import ansis2 from "ansis";
244
255
  import fs2 from "node:fs";
245
256
  import fsp2 from "node:fs/promises";
246
257
  import path2 from "node:path";
247
258
  import process2 from "node:process";
248
259
  import parse from "parse-gitignore";
249
- import pico2 from "picocolors";
250
260
 
251
261
  // src/cli/utils.ts
252
262
  init_esm_shims();
@@ -282,7 +292,7 @@ async function updateEslintFiles() {
282
292
  const pathFlatConfig = path2.join(cwd, configFileName);
283
293
  const eslintIgnores = [];
284
294
  if (fs2.existsSync(pathESLintIgnore)) {
285
- log2.step(pico2.cyan(`Migrating existing .eslintignore`));
295
+ log2.step(ansis2.cyan(`Migrating existing .eslintignore`));
286
296
  const content = await fsp2.readFile(pathESLintIgnore, "utf-8");
287
297
  const parsed = parse(content);
288
298
  const globs = parsed.globs();
@@ -310,7 +320,7 @@ async function updateEslintFiles() {
310
320
  const additionalConfig = [];
311
321
  const eslintConfigContent = getEslintConfigContent(mainConfig, additionalConfig);
312
322
  await fsp2.writeFile(pathFlatConfig, eslintConfigContent);
313
- log2.success(pico2.green(`Created ${configFileName}`));
323
+ log2.success(ansis2.green(`Created ${configFileName}`));
314
324
  const files = fs2.readdirSync(cwd);
315
325
  const legacyConfig = [];
316
326
  for (const file of files) {
@@ -319,21 +329,21 @@ async function updateEslintFiles() {
319
329
  }
320
330
  }
321
331
  if (legacyConfig.length) {
322
- note(`${pico2.dim(legacyConfig.join(", "))}`, "You can now remove those files manually");
332
+ note(`${ansis2.dim(legacyConfig.join(", "))}`, "You can now remove those files manually");
323
333
  }
324
334
  }
325
335
 
326
336
  // src/cli/stages/update-package-json.ts
327
337
  init_esm_shims();
328
338
  import { log as log3, note as note2 } from "@clack/prompts";
339
+ import ansis3 from "ansis";
329
340
  import fsp3 from "node:fs/promises";
330
341
  import path3 from "node:path";
331
342
  import process3 from "node:process";
332
- import pico3 from "picocolors";
333
343
  async function updatePackageJson() {
334
344
  const cwd = process3.cwd();
335
345
  const pathPackageJSON = path3.join(cwd, "package.json");
336
- log3.step(pico3.cyan(`Bumping @isentinel/eslint-config to v${package_default.version}`));
346
+ log3.step(ansis3.cyan(`Bumping @isentinel/eslint-config to v${package_default.version}`));
337
347
  const packageContent = await fsp3.readFile(pathPackageJSON, "utf-8");
338
348
  const package_ = JSON.parse(packageContent);
339
349
  package_.devDependencies ??= {};
@@ -345,20 +355,20 @@ async function updatePackageJson() {
345
355
  addedPackages.push(dep);
346
356
  }
347
357
  if (addedPackages.length) {
348
- note2(`${pico3.dim(addedPackages.join(", "))}`, "Added packages");
358
+ note2(`${ansis3.dim(addedPackages.join(", "))}`, "Added packages");
349
359
  }
350
360
  await fsp3.writeFile(pathPackageJSON, JSON.stringify(package_, null, 2));
351
- log3.success(pico3.green(`Changes wrote to package.json`));
361
+ log3.success(ansis3.green(`Changes wrote to package.json`));
352
362
  }
353
363
 
354
364
  // src/cli/stages/update-vscode-settings.ts
355
365
  init_esm_shims();
356
366
  import { log as log4 } from "@clack/prompts";
367
+ import ansis4 from "ansis";
357
368
  import fs3 from "node:fs";
358
369
  import fsp4 from "node:fs/promises";
359
370
  import path4 from "node:path";
360
371
  import process4 from "node:process";
361
- import pico4 from "picocolors";
362
372
  async function updateVscodeSettings(result) {
363
373
  const cwd = process4.cwd();
364
374
  if (!result.updateVscodeSettings) {
@@ -372,7 +382,7 @@ async function updateVscodeSettings(result) {
372
382
  if (!fs3.existsSync(settingsPath)) {
373
383
  await fsp4.writeFile(settingsPath, `{${vscodeSettingsString}}
374
384
  `, "utf-8");
375
- log4.success(pico4.green(`Created .vscode/settings.json`));
385
+ log4.success(ansis4.green(`Created .vscode/settings.json`));
376
386
  return;
377
387
  }
378
388
  let settingsContent = await fsp4.readFile(settingsPath, "utf8");
@@ -381,7 +391,7 @@ async function updateVscodeSettings(result) {
381
391
  settingsContent += `${vscodeSettingsString}}
382
392
  `;
383
393
  await fsp4.writeFile(settingsPath, settingsContent, "utf-8");
384
- log4.success(pico4.green(`Updated .vscode/settings.json`));
394
+ log4.success(ansis4.green(`Updated .vscode/settings.json`));
385
395
  }
386
396
 
387
397
  // src/cli/run.ts
@@ -389,7 +399,7 @@ async function run(options = {}) {
389
399
  const argumentSkipPrompt = !!process5.env.SKIP_PROMPT || options.yes;
390
400
  const argumentTemplate = ["react"];
391
401
  if (fs4.existsSync(path5.join(process5.cwd(), "eslint.config.js"))) {
392
- log5.warn(pico5.yellow(`eslint.config.js already exists, migration wizard exited.`));
402
+ log5.warn(ansis5.yellow(`eslint.config.js already exists, migration wizard exited.`));
393
403
  return process5.exit(1);
394
404
  }
395
405
  let result = {
@@ -434,17 +444,17 @@ async function run(options = {}) {
434
444
  await updateEslintFiles();
435
445
  await updateVscodeSettings(result);
436
446
  await addTsconfigBuild();
437
- log5.success(pico5.green(`Setup completed`));
438
- outro(`Now you can update the dependencies and run ${pico5.blue("eslint . --fix")}
447
+ log5.success(ansis5.green(`Setup completed`));
448
+ outro(`Now you can update the dependencies and run ${ansis5.blue("eslint . --fix")}
439
449
  `);
440
450
  }
441
451
 
442
452
  // src/cli/index.ts
443
453
  function header() {
444
454
  console.log("\n");
445
- const introText = `${pico6.green("@isentinel/eslint-config")}`;
455
+ const introText = `${ansis6.green("@isentinel/eslint-config")}`;
446
456
  const versionText = `v${package_default.version}`;
447
- intro(introText + pico6.dim(versionText));
457
+ intro(introText + ansis6.dim(versionText));
448
458
  }
449
459
  var instance = yargs(hideBin(process6.argv)).scriptName("@isentinel/eslint-config").usage("").command(
450
460
  "*",
@@ -465,8 +475,8 @@ var instance = yargs(hideBin(process6.argv)).scriptName("@isentinel/eslint-confi
465
475
  try {
466
476
  await run(args);
467
477
  } catch (err) {
468
- log6.error(pico6.inverse(pico6.red(" Failed to migrate ")));
469
- log6.error(pico6.red(`\u2718 ${String(err)}`));
478
+ log6.error(ansis6.inverse(ansis6.red(" Failed to migrate ")));
479
+ log6.error(ansis6.red(`\u2718 ${String(err)}`));
470
480
  process6.exit(1);
471
481
  }
472
482
  }