@isentinel/eslint-config 0.9.0 → 1.0.0-beta.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/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
 
@@ -67,8 +68,8 @@ For example:
67
68
  ```json
68
69
  {
69
70
  "scripts": {
70
- "lint": "eslint .",
71
- "lint:fix": "eslint . --fix"
71
+ "lint": "eslint",
72
+ "lint:fix": "eslint --fix"
72
73
  }
73
74
  }
74
75
  ```
@@ -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@2.1.2_postcss@8.4.38_tsx@4.19.1_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@2.1.2_postcss@8.4.38_tsx@4.19.1_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-NPV2NF5N.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.9.0",
22
+ version: "1.0.0-beta.1",
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,96 +45,97 @@ 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",
72
+ "@eslint/markdown": "6.2.2",
74
73
  "@isentinel/dict-rbxts": "1.0.1",
75
74
  "@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",
75
+ "@shopify/eslint-plugin": "47.0.1",
76
+ "@stylistic/eslint-plugin": "4.0.1",
77
+ "@typescript-eslint/eslint-plugin": "8.25.0",
78
+ "@typescript-eslint/parser": "8.25.0",
79
+ ansis: "3.16.0",
80
+ "eslint-config-flat-gitignore": "2.1.0",
81
+ "eslint-config-prettier": "10.0.2",
82
+ "eslint-flat-config-utils": "2.0.1",
83
+ "eslint-merge-processors": "2.0.0",
84
+ "eslint-plugin-antfu": "3.1.0",
85
85
  "eslint-plugin-arrow-return-style": "1.3.1",
86
+ "eslint-plugin-better-max-params": "0.0.1",
86
87
  "eslint-plugin-comment-length": "2.1.1",
87
- "eslint-plugin-eslint-comments": "3.2.0",
88
- "eslint-plugin-format": "0.1.2",
88
+ "eslint-plugin-de-morgan": "1.1.0",
89
+ "eslint-plugin-format": "1.0.1",
89
90
  "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",
93
- "eslint-plugin-markdown": "5.1.0",
94
- "eslint-plugin-no-autofix": "2.1.0",
91
+ "eslint-plugin-import-x": "4.6.1",
92
+ "eslint-plugin-jsdoc": "50.6.3",
93
+ "eslint-plugin-jsonc": "2.19.1",
95
94
  "eslint-plugin-no-only-tests": "3.3.0",
96
- "eslint-plugin-package-json": "0.15.3",
97
- "eslint-plugin-perfectionist": "3.6.0",
98
- "eslint-plugin-promise": "7.1.0",
99
- "eslint-plugin-sonarjs": "2.0.2",
100
- "eslint-plugin-toml": "0.11.1",
101
- "eslint-plugin-unicorn": "55.0.0",
102
- "eslint-plugin-yml": "1.14.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",
103
102
  "isentinel-eslint-plugin-roblox-ts": "0.0.37",
104
103
  "jsonc-eslint-parser": "2.4.0",
105
- "local-pkg": "0.5.0",
104
+ "local-pkg": "1.0.0",
106
105
  "parse-gitignore": "2.0.0",
107
- picocolors: "1.1.0",
108
- prettier: "3.3.3",
109
- "prettier-plugin-jsdoc": "1.3.0",
106
+ prettier: "3.5.2",
107
+ "prettier-plugin-jsdoc": "1.3.2",
110
108
  prompts: "2.4.2",
111
109
  "toml-eslint-parser": "0.10.0",
112
110
  "yaml-eslint-parser": "1.2.3",
113
111
  yargs: "17.7.2"
114
112
  },
115
113
  devDependencies: {
116
- "@antfu/ni": "0.23.0",
114
+ "@antfu/ni": "23.3.1",
117
115
  "@eslint-react/eslint-plugin": "1.14.3",
118
- "@eslint/config-inspector": "0.5.4",
116
+ "@eslint/config-inspector": "1.0.0",
119
117
  "@isentinel/eslint-config": "workspace:*",
120
- "@stylistic/eslint-plugin-migrate": "2.8.0",
118
+ "@stylistic/eslint-plugin-migrate": "4.0.1",
121
119
  "@types/fs-extra": "11.0.4",
122
- "@types/node": "22.7.4",
120
+ "@types/node": "22.13.5",
123
121
  "@types/prompts": "2.4.9",
124
122
  "@types/yargs": "17.0.33",
125
- bumpp: "9.7.1",
126
- eslint: "9.13.0",
127
- "eslint-plugin-jest": "28.9.0",
123
+ bumpp: "10.0.3",
124
+ eslint: "9.21.0",
125
+ "eslint-plugin-jest": "28.11.0",
128
126
  "eslint-plugin-react-roblox-hooks": "5.1.0-rbx.1",
129
127
  "eslint-plugin-simple-import-sort": "12.1.1",
130
- "eslint-typegen": "0.3.2",
128
+ "eslint-typegen": "2.0.0",
131
129
  esno: "4.8.0",
132
- execa: "9.4.0",
133
- "fast-glob": "3.3.2",
134
- "fs-extra": "11.2.0",
135
- jiti: "2.1.2",
136
- "lint-staged": "15.2.10",
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",
137
135
  rimraf: "6.0.1",
138
136
  "simple-git-hooks": "2.11.1",
139
- tsup: "8.3.0",
140
- typescript: "5.5.4"
137
+ tsup: "8.4.0",
138
+ typescript: "5.7.3"
141
139
  },
142
140
  peerDependencies: {
143
141
  "@eslint-react/eslint-plugin": "^1.14.0",
@@ -156,9 +154,15 @@ var package_default = {
156
154
  optional: true
157
155
  }
158
156
  },
159
- packageManager: "pnpm@9.11.0",
157
+ packageManager: "pnpm@10.4.1",
160
158
  publishConfig: {
161
159
  access: "public"
160
+ },
161
+ pnpm: {
162
+ onlyBuiltDependencies: [
163
+ "esbuild",
164
+ "simple-git-hooks"
165
+ ]
162
166
  }
163
167
  };
164
168
 
@@ -210,23 +214,23 @@ var dependenciesMap = {
210
214
  // src/cli/run.ts
211
215
  init_esm_shims();
212
216
  import { cancel, confirm, group, log as log5, outro } from "@clack/prompts";
217
+ import ansis5 from "ansis";
213
218
  import fs4 from "node:fs";
214
219
  import path5 from "node:path";
215
220
  import process5 from "node:process";
216
- import pico5 from "picocolors";
217
221
 
218
222
  // src/cli/stages/add-tsconfig.build.json.ts
219
223
  init_esm_shims();
220
224
  import { log } from "@clack/prompts";
225
+ import ansis from "ansis";
221
226
  import fs from "node:fs";
222
227
  import fsp from "node:fs/promises";
223
228
  import path from "path";
224
- import pico from "picocolors";
225
229
  async function addTsconfigBuild() {
226
230
  const cwd = process.cwd();
227
231
  const pathTsconfigBuild = path.join(cwd, "tsconfig.build.json");
228
232
  if (fs.existsSync(pathTsconfigBuild)) {
229
- log.info(pico.yellow("tsconfig.build.json already exists"));
233
+ log.info(ansis.yellow("tsconfig.build.json already exists"));
230
234
  return;
231
235
  }
232
236
  const tsconfigBuildContent = `{
@@ -236,9 +240,9 @@ async function addTsconfigBuild() {
236
240
  }
237
241
  `;
238
242
  await fsp.writeFile(pathTsconfigBuild, tsconfigBuildContent, "utf-8");
239
- log.success(pico.green(`Created tsconfig.build.json`));
243
+ log.success(ansis.green("Created tsconfig.build.json"));
240
244
  log.info(
241
- pico.yellow(
245
+ ansis.yellow(
242
246
  `You must add '"exclude": ["./eslint.config.ts"]' to your tsconfig.json. In the future, this will be done automatically.`
243
247
  )
244
248
  );
@@ -247,12 +251,12 @@ async function addTsconfigBuild() {
247
251
  // src/cli/stages/update-eslint-files.ts
248
252
  init_esm_shims();
249
253
  import { log as log2, note } from "@clack/prompts";
254
+ import ansis2 from "ansis";
250
255
  import fs2 from "node:fs";
251
256
  import fsp2 from "node:fs/promises";
252
257
  import path2 from "node:path";
253
258
  import process2 from "node:process";
254
259
  import parse from "parse-gitignore";
255
- import pico2 from "picocolors";
256
260
 
257
261
  // src/cli/utils.ts
258
262
  init_esm_shims();
@@ -288,7 +292,7 @@ async function updateEslintFiles() {
288
292
  const pathFlatConfig = path2.join(cwd, configFileName);
289
293
  const eslintIgnores = [];
290
294
  if (fs2.existsSync(pathESLintIgnore)) {
291
- log2.step(pico2.cyan(`Migrating existing .eslintignore`));
295
+ log2.step(ansis2.cyan("Migrating existing .eslintignore"));
292
296
  const content = await fsp2.readFile(pathESLintIgnore, "utf-8");
293
297
  const parsed = parse(content);
294
298
  const globs = parsed.globs();
@@ -316,7 +320,7 @@ async function updateEslintFiles() {
316
320
  const additionalConfig = [];
317
321
  const eslintConfigContent = getEslintConfigContent(mainConfig, additionalConfig);
318
322
  await fsp2.writeFile(pathFlatConfig, eslintConfigContent);
319
- log2.success(pico2.green(`Created ${configFileName}`));
323
+ log2.success(ansis2.green(`Created ${configFileName}`));
320
324
  const files = fs2.readdirSync(cwd);
321
325
  const legacyConfig = [];
322
326
  for (const file of files) {
@@ -325,21 +329,21 @@ async function updateEslintFiles() {
325
329
  }
326
330
  }
327
331
  if (legacyConfig.length) {
328
- 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");
329
333
  }
330
334
  }
331
335
 
332
336
  // src/cli/stages/update-package-json.ts
333
337
  init_esm_shims();
334
338
  import { log as log3, note as note2 } from "@clack/prompts";
339
+ import ansis3 from "ansis";
335
340
  import fsp3 from "node:fs/promises";
336
341
  import path3 from "node:path";
337
342
  import process3 from "node:process";
338
- import pico3 from "picocolors";
339
343
  async function updatePackageJson() {
340
344
  const cwd = process3.cwd();
341
345
  const pathPackageJSON = path3.join(cwd, "package.json");
342
- 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}`));
343
347
  const packageContent = await fsp3.readFile(pathPackageJSON, "utf-8");
344
348
  const package_ = JSON.parse(packageContent);
345
349
  package_.devDependencies ??= {};
@@ -351,20 +355,20 @@ async function updatePackageJson() {
351
355
  addedPackages.push(dep);
352
356
  }
353
357
  if (addedPackages.length) {
354
- note2(`${pico3.dim(addedPackages.join(", "))}`, "Added packages");
358
+ note2(`${ansis3.dim(addedPackages.join(", "))}`, "Added packages");
355
359
  }
356
360
  await fsp3.writeFile(pathPackageJSON, JSON.stringify(package_, null, 2));
357
- log3.success(pico3.green(`Changes wrote to package.json`));
361
+ log3.success(ansis3.green("Changes wrote to package.json"));
358
362
  }
359
363
 
360
364
  // src/cli/stages/update-vscode-settings.ts
361
365
  init_esm_shims();
362
366
  import { log as log4 } from "@clack/prompts";
367
+ import ansis4 from "ansis";
363
368
  import fs3 from "node:fs";
364
369
  import fsp4 from "node:fs/promises";
365
370
  import path4 from "node:path";
366
371
  import process4 from "node:process";
367
- import pico4 from "picocolors";
368
372
  async function updateVscodeSettings(result) {
369
373
  const cwd = process4.cwd();
370
374
  if (!result.updateVscodeSettings) {
@@ -378,7 +382,7 @@ async function updateVscodeSettings(result) {
378
382
  if (!fs3.existsSync(settingsPath)) {
379
383
  await fsp4.writeFile(settingsPath, `{${vscodeSettingsString}}
380
384
  `, "utf-8");
381
- log4.success(pico4.green(`Created .vscode/settings.json`));
385
+ log4.success(ansis4.green("Created .vscode/settings.json"));
382
386
  return;
383
387
  }
384
388
  let settingsContent = await fsp4.readFile(settingsPath, "utf8");
@@ -387,7 +391,7 @@ async function updateVscodeSettings(result) {
387
391
  settingsContent += `${vscodeSettingsString}}
388
392
  `;
389
393
  await fsp4.writeFile(settingsPath, settingsContent, "utf-8");
390
- log4.success(pico4.green(`Updated .vscode/settings.json`));
394
+ log4.success(ansis4.green("Updated .vscode/settings.json"));
391
395
  }
392
396
 
393
397
  // src/cli/run.ts
@@ -395,7 +399,7 @@ async function run(options = {}) {
395
399
  const argumentSkipPrompt = !!process5.env.SKIP_PROMPT || options.yes;
396
400
  const argumentTemplate = ["react"];
397
401
  if (fs4.existsSync(path5.join(process5.cwd(), "eslint.config.js"))) {
398
- 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."));
399
403
  return process5.exit(1);
400
404
  }
401
405
  let result = {
@@ -440,17 +444,17 @@ async function run(options = {}) {
440
444
  await updateEslintFiles();
441
445
  await updateVscodeSettings(result);
442
446
  await addTsconfigBuild();
443
- log5.success(pico5.green(`Setup completed`));
444
- 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")}
445
449
  `);
446
450
  }
447
451
 
448
452
  // src/cli/index.ts
449
453
  function header() {
450
454
  console.log("\n");
451
- const introText = `${pico6.green("@isentinel/eslint-config")}`;
455
+ const introText = `${ansis6.green("@isentinel/eslint-config")}`;
452
456
  const versionText = `v${package_default.version}`;
453
- intro(introText + pico6.dim(versionText));
457
+ intro(introText + ansis6.dim(versionText));
454
458
  }
455
459
  var instance = yargs(hideBin(process6.argv)).scriptName("@isentinel/eslint-config").usage("").command(
456
460
  "*",
@@ -471,8 +475,8 @@ var instance = yargs(hideBin(process6.argv)).scriptName("@isentinel/eslint-confi
471
475
  try {
472
476
  await run(args);
473
477
  } catch (err) {
474
- log6.error(pico6.inverse(pico6.red(" Failed to migrate ")));
475
- 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)}`));
476
480
  process6.exit(1);
477
481
  }
478
482
  }