@useinsider/eslint-config 1.15.2 → 2.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.
Files changed (88) hide show
  1. package/README.md +19 -4
  2. package/dist/builders/scopeBlocks.d.ts +0 -1
  3. package/dist/cli.cjs +20 -35
  4. package/dist/cli.cjs.map +1 -1
  5. package/dist/{javascript-C_TnSBvE.cjs → javascript-9tQ9nS7g.cjs} +2 -2
  6. package/dist/{javascript-C_TnSBvE.cjs.map → javascript-9tQ9nS7g.cjs.map} +1 -1
  7. package/dist/{javascript-DY1G2zHE.js → javascript-DZ8AUcFu.js} +2 -2
  8. package/dist/{javascript-DY1G2zHE.js.map → javascript-DZ8AUcFu.js.map} +1 -1
  9. package/dist/{javascript-dom-CoYti9xp.js → javascript-dom-DaclGNp-.js} +2 -2
  10. package/dist/{javascript-dom-CoYti9xp.js.map → javascript-dom-DaclGNp-.js.map} +1 -1
  11. package/dist/{javascript-dom-CdLX8B4z.cjs → javascript-dom-Duiy5LQP.cjs} +2 -2
  12. package/dist/{javascript-dom-CdLX8B4z.cjs.map → javascript-dom-Duiy5LQP.cjs.map} +1 -1
  13. package/dist/{javascript-node-Dkr_NJve.cjs → javascript-node-42x75ZCz.cjs} +2 -2
  14. package/dist/{javascript-node-Dkr_NJve.cjs.map → javascript-node-42x75ZCz.cjs.map} +1 -1
  15. package/dist/{javascript-node-Cu9xJaij.js → javascript-node-CbCig5az.js} +2 -2
  16. package/dist/{javascript-node-Cu9xJaij.js.map → javascript-node-CbCig5az.js.map} +1 -1
  17. package/dist/main.cjs +22 -17
  18. package/dist/main.cjs.map +1 -1
  19. package/dist/main.d.ts +0 -1
  20. package/dist/main.js +22 -17
  21. package/dist/main.js.map +1 -1
  22. package/dist/{stylistic-CTTpohNe.cjs → stylistic-D9tHaeG4.cjs} +5 -2
  23. package/dist/stylistic-D9tHaeG4.cjs.map +1 -0
  24. package/dist/{stylistic-KhH5RHgo.js → stylistic-DwB496Pa.js} +5 -2
  25. package/dist/stylistic-DwB496Pa.js.map +1 -0
  26. package/dist/{typescript-8AyLBzlB.cjs → typescript-BDc8Y6Hc.cjs} +2 -2
  27. package/dist/{typescript-8AyLBzlB.cjs.map → typescript-BDc8Y6Hc.cjs.map} +1 -1
  28. package/dist/{typescript-D9mAiTUp.js → typescript-CDhrDEoi.js} +2 -2
  29. package/dist/{typescript-D9mAiTUp.js.map → typescript-CDhrDEoi.js.map} +1 -1
  30. package/dist/{typescript-dom-B2YDpT02.js → typescript-dom-CexiRZAz.js} +2 -2
  31. package/dist/{typescript-dom-B2YDpT02.js.map → typescript-dom-CexiRZAz.js.map} +1 -1
  32. package/dist/{typescript-dom--BGWriPK.cjs → typescript-dom-xYDL7O9g.cjs} +2 -2
  33. package/dist/{typescript-dom--BGWriPK.cjs.map → typescript-dom-xYDL7O9g.cjs.map} +1 -1
  34. package/dist/{typescript-node-CDuDtwLn.js → typescript-node-B8TpRcjd.js} +2 -2
  35. package/dist/{typescript-node-CDuDtwLn.js.map → typescript-node-B8TpRcjd.js.map} +1 -1
  36. package/dist/{typescript-node-D8Ehc8Xl.cjs → typescript-node-BjpTUbKF.cjs} +2 -2
  37. package/dist/{typescript-node-D8Ehc8Xl.cjs.map → typescript-node-BjpTUbKF.cjs.map} +1 -1
  38. package/dist/{vue-RCTZLBFW.cjs → vue-2Tf2LIPf.cjs} +5 -2
  39. package/dist/vue-2Tf2LIPf.cjs.map +1 -0
  40. package/dist/{vue-BFlqHfdu.js → vue-Bg3R-yZT.js} +5 -2
  41. package/dist/vue-Bg3R-yZT.js.map +1 -0
  42. package/dist/{vue2-ux7RewSI.js → vue2-CVSRM5hR.js} +2 -2
  43. package/dist/{vue2-ux7RewSI.js.map → vue2-CVSRM5hR.js.map} +1 -1
  44. package/dist/{vue2-Clsujsr4.cjs → vue2-CwpD2fD-.cjs} +2 -2
  45. package/dist/{vue2-Clsujsr4.cjs.map → vue2-CwpD2fD-.cjs.map} +1 -1
  46. package/dist/{vue2-B8OOzQe1.cjs → vue2-DAi-TxWE.cjs} +3 -3
  47. package/dist/{vue2-B8OOzQe1.cjs.map → vue2-DAi-TxWE.cjs.map} +1 -1
  48. package/dist/{vue2-BkT8z7rj.js → vue2-G2Q58B8-.js} +3 -3
  49. package/dist/{vue2-BkT8z7rj.js.map → vue2-G2Q58B8-.js.map} +1 -1
  50. package/dist/{vue2-options-api-DZYpHaey.js → vue2-options-api-CKnW7uvJ.js} +3 -3
  51. package/dist/{vue2-options-api-DZYpHaey.js.map → vue2-options-api-CKnW7uvJ.js.map} +1 -1
  52. package/dist/{vue2-options-api-wn4cJNBZ.cjs → vue2-options-api-DHnhmw3v.cjs} +3 -3
  53. package/dist/{vue2-options-api-wn4cJNBZ.cjs.map → vue2-options-api-DHnhmw3v.cjs.map} +1 -1
  54. package/dist/{vue2-typescript-CMTQRTOb.cjs → vue2-typescript-CcuFB-YB.cjs} +3 -3
  55. package/dist/{vue2-typescript-CMTQRTOb.cjs.map → vue2-typescript-CcuFB-YB.cjs.map} +1 -1
  56. package/dist/{vue2-typescript-QtAzStxj.js → vue2-typescript-DgXglO8R.js} +3 -3
  57. package/dist/{vue2-typescript-QtAzStxj.js.map → vue2-typescript-DgXglO8R.js.map} +1 -1
  58. package/dist/{vue2-typescript-options-api-D97kaNDK.cjs → vue2-typescript-options-api-2fugBIOF.cjs} +3 -3
  59. package/dist/{vue2-typescript-options-api-D97kaNDK.cjs.map → vue2-typescript-options-api-2fugBIOF.cjs.map} +1 -1
  60. package/dist/{vue2-typescript-options-api-BSPWgVim.js → vue2-typescript-options-api-DsejF_KX.js} +3 -3
  61. package/dist/{vue2-typescript-options-api-BSPWgVim.js.map → vue2-typescript-options-api-DsejF_KX.js.map} +1 -1
  62. package/dist/{vue3-D6yjGs6S.js → vue3-CADfXE8I.js} +3 -3
  63. package/dist/{vue3-D6yjGs6S.js.map → vue3-CADfXE8I.js.map} +1 -1
  64. package/dist/{vue3-pkQy_hqQ.cjs → vue3-CJAdAg73.cjs} +3 -3
  65. package/dist/{vue3-pkQy_hqQ.cjs.map → vue3-CJAdAg73.cjs.map} +1 -1
  66. package/dist/{vue3-options-api-IXOi0n4J.cjs → vue3-options-api-D2Wub1Oy.cjs} +3 -3
  67. package/dist/{vue3-options-api-IXOi0n4J.cjs.map → vue3-options-api-D2Wub1Oy.cjs.map} +1 -1
  68. package/dist/{vue3-options-api-DHVQ7O2g.js → vue3-options-api-DFWOX_UU.js} +3 -3
  69. package/dist/{vue3-options-api-DHVQ7O2g.js.map → vue3-options-api-DFWOX_UU.js.map} +1 -1
  70. package/dist/{vue3-typescript-DPOYvbgC.cjs → vue3-typescript-DLfJPXTc.cjs} +3 -3
  71. package/dist/{vue3-typescript-DPOYvbgC.cjs.map → vue3-typescript-DLfJPXTc.cjs.map} +1 -1
  72. package/dist/{vue3-typescript-DN0oQSDz.js → vue3-typescript-DlncdT6z.js} +3 -3
  73. package/dist/{vue3-typescript-DN0oQSDz.js.map → vue3-typescript-DlncdT6z.js.map} +1 -1
  74. package/dist/{vue3-typescript-options-api-B6a32vcF.cjs → vue3-typescript-options-api-Cn4u57BK.cjs} +3 -3
  75. package/dist/{vue3-typescript-options-api-B6a32vcF.cjs.map → vue3-typescript-options-api-Cn4u57BK.cjs.map} +1 -1
  76. package/dist/{vue3-typescript-options-api-DC3rDbkx.js → vue3-typescript-options-api-CorDmhg0.js} +3 -3
  77. package/dist/{vue3-typescript-options-api-DC3rDbkx.js.map → vue3-typescript-options-api-CorDmhg0.js.map} +1 -1
  78. package/package.json +1 -1
  79. package/dist/config-BAAd4RYs.js +0 -9
  80. package/dist/config-BAAd4RYs.js.map +0 -1
  81. package/dist/config-CG7HGKHr.cjs +0 -9
  82. package/dist/config-CG7HGKHr.cjs.map +0 -1
  83. package/dist/configs/config/dependencies.d.ts +0 -1
  84. package/dist/configs/config/index.d.ts +0 -3
  85. package/dist/stylistic-CTTpohNe.cjs.map +0 -1
  86. package/dist/stylistic-KhH5RHgo.js.map +0 -1
  87. package/dist/vue-BFlqHfdu.js.map +0 -1
  88. package/dist/vue-RCTZLBFW.cjs.map +0 -1
package/README.md CHANGED
@@ -266,10 +266,25 @@ export default useInsider({
266
266
  });
267
267
  ```
268
268
 
269
- Block-emission order — scope blocks first (in the order their keys were
270
- inserted into the config object), then `jquery` blocks, then any `strict`
271
- blocks, then `spellChecker` blocks. Later blocks win on overlap, matching
272
- ESLint's flat-config precedence model.
269
+ Block-emission order — the leading `ignores` block, then scope blocks (in the
270
+ order their keys were inserted into the config object), then `jquery` blocks,
271
+ then the `configFiles` block, then any `strict` blocks, then `spellChecker`
272
+ blocks. Later blocks win on overlap, matching ESLint's flat-config precedence
273
+ model.
274
+
275
+ This order is why `configFiles` — not a scope — is the right place to relax
276
+ rules for configuration files: its block is emitted *after* every scope block,
277
+ so its overrides survive. A scope listing the same globs is emitted *before*
278
+ the language scopes and gets overridden by any of them that also match.
279
+
280
+ > **Removed in v2:** the `config` scope. It only switched
281
+ > `import-x/no-extraneous-dependencies` and `import-x/prefer-default-export`
282
+ > off, and because it was emitted with the scope blocks it was silently
283
+ > overridden for every file a language scope also matched — which, for
284
+ > `.js`/`.ts`, was all of them. Passing `config` now throws with a pointer to
285
+ > `configFiles`. Move its globs to `configFiles: [...]`; root-level
286
+ > `*.config.*` and `eslint.config.*` are already covered by the defaults, so
287
+ > most projects can simply drop the key.
273
288
 
274
289
  `useInsider` returns `Promise<Linter.Config[]>`. Export it directly — ESLint
275
290
  9 resolves the Promise at load time. `useInsider`'s return type carries
@@ -24,7 +24,6 @@ export interface TestEntry extends CommonEntryFields {
24
24
  }
25
25
  export type ScopeEntry = JsEntry | TsEntry | VueEntry | VueTsEntry | TestEntry;
26
26
  declare const scopeMap: {
27
- config(): Promise<typeof import("../configs/config")>;
28
27
  javascript(): Promise<typeof import("../configs/javascript")>;
29
28
  javascriptDom(): Promise<typeof import("../configs/javascript-dom")>;
30
29
  javascriptNode(): Promise<typeof import("../configs/javascript-node")>;
package/dist/cli.cjs CHANGED
@@ -359,10 +359,10 @@ async function dispatch(argv, cwd, deps) {
359
359
  }
360
360
  //#endregion
361
361
  //#region src/configs/jest/dependencies.ts
362
- var dependencies$14 = { "eslint-plugin-jest": true };
362
+ var dependencies$13 = { "eslint-plugin-jest": true };
363
363
  //#endregion
364
364
  //#region src/configs/typescript/dependencies.ts
365
- var dependencies$13 = {
365
+ var dependencies$12 = {
366
366
  typescript: false,
367
367
  "typescript-eslint": false,
368
368
  "@typescript-eslint/parser": false,
@@ -370,17 +370,17 @@ var dependencies$13 = {
370
370
  };
371
371
  //#endregion
372
372
  //#region src/configs/vitest/dependencies.ts
373
- var dependencies$12 = { "@vitest/eslint-plugin": true };
373
+ var dependencies$11 = { "@vitest/eslint-plugin": true };
374
374
  //#endregion
375
375
  //#region src/configs/vue2/dependencies.ts
376
- var dependencies$11 = {
376
+ var dependencies$10 = {
377
377
  "eslint-plugin-vue": true,
378
378
  "eslint-plugin-vue-scoped-css": true,
379
379
  "vue-eslint-parser": true
380
380
  };
381
381
  //#endregion
382
382
  //#region src/configs/vue2-typescript/dependencies.ts
383
- var dependencies$10 = {
383
+ var dependencies$9 = {
384
384
  "eslint-plugin-vue": true,
385
385
  "eslint-plugin-vue-scoped-css": true,
386
386
  "vue-eslint-parser": true,
@@ -391,14 +391,14 @@ var dependencies$10 = {
391
391
  };
392
392
  //#endregion
393
393
  //#region src/configs/vue3/dependencies.ts
394
- var dependencies$9 = {
394
+ var dependencies$8 = {
395
395
  "eslint-plugin-vue": true,
396
396
  "eslint-plugin-vue-scoped-css": true,
397
397
  "vue-eslint-parser": true
398
398
  };
399
399
  //#endregion
400
400
  //#region src/configs/vue3-typescript/dependencies.ts
401
- var dependencies$8 = {
401
+ var dependencies$7 = {
402
402
  "eslint-plugin-vue": true,
403
403
  "eslint-plugin-vue-scoped-css": true,
404
404
  "vue-eslint-parser": true,
@@ -457,8 +457,8 @@ function pinned(manifest, name) {
457
457
  return `${name}@${version.replace(/^(?:\^|~|>=|<=|>|<|=)/u, "")}`;
458
458
  }
459
459
  function vueDepsFor(major, wantsTypescript) {
460
- if (wantsTypescript) return major === 2 ? dependencies$10 : dependencies$8;
461
- return major === 2 ? dependencies$11 : dependencies$9;
460
+ if (wantsTypescript) return major === 2 ? dependencies$9 : dependencies$7;
461
+ return major === 2 ? dependencies$10 : dependencies$8;
462
462
  }
463
463
  function applyRecord(deps, manifest, record) {
464
464
  Object.entries(record).forEach(([name, install]) => {
@@ -473,9 +473,9 @@ function buildDependencyList(answers, rawManifest = readOwnEslintConfigManifest$
473
473
  deps.add(pinned(manifest, "globals"));
474
474
  const wantsTypescript = answers.languages.includes("typescript");
475
475
  if (answers.framework === "vue") applyRecord(deps, manifest, vueDepsFor(answers.vueMajor ?? 3, wantsTypescript));
476
- else if (wantsTypescript) applyRecord(deps, manifest, dependencies$13);
477
- if (answers.testFramework === "jest") applyRecord(deps, manifest, dependencies$14);
478
- if (answers.testFramework === "vitest") applyRecord(deps, manifest, dependencies$12);
476
+ else if (wantsTypescript) applyRecord(deps, manifest, dependencies$12);
477
+ if (answers.testFramework === "jest") applyRecord(deps, manifest, dependencies$13);
478
+ if (answers.testFramework === "vitest") applyRecord(deps, manifest, dependencies$11);
479
479
  return [...deps];
480
480
  }
481
481
  async function installDependencies(deps) {
@@ -915,16 +915,8 @@ function tsConfigPathsForRoot(appEntry, configEntry) {
915
915
  if (configEntry) return [configEntry.path];
916
916
  if (appEntry) return [appEntry.path];
917
917
  }
918
- function configScopeFiles(answers) {
919
- const files = [...jsRootConfigFiles()];
920
- if (hasTypescript(answers.languages)) files.push(...tsRootConfigFiles());
921
- return files;
922
- }
923
918
  function buildRootConfigBlocks(answers, appEntry, configEntry) {
924
919
  const blocks = [{
925
- scope: "config",
926
- entry: { files: configScopeFiles(answers) }
927
- }, {
928
920
  scope: "javascriptNode",
929
921
  entry: { files: jsRootConfigFiles() }
930
922
  }];
@@ -1379,9 +1371,6 @@ function clearSession(options) {
1379
1371
  }
1380
1372
  /* v8 ignore stop */
1381
1373
  //#endregion
1382
- //#region src/configs/config/dependencies.ts
1383
- var dependencies$7 = {};
1384
- //#endregion
1385
1374
  //#region src/configs/javascript/dependencies.ts
1386
1375
  var dependencies$6 = {};
1387
1376
  //#endregion
@@ -1439,22 +1428,18 @@ var SCOPE_TO_DEPS = {
1439
1428
  javascript: dependencies$6,
1440
1429
  javascriptDom: dependencies$5,
1441
1430
  javascriptNode: dependencies$4,
1442
- typescript: dependencies$13,
1431
+ typescript: dependencies$12,
1443
1432
  typescriptDom: dependencies$1,
1444
1433
  typescriptNode: dependencies,
1445
- vue2: dependencies$11,
1446
- vue3: dependencies$9,
1447
- vue2Typescript: dependencies$10,
1448
- vue3Typescript: dependencies$8,
1449
- jest: dependencies$14,
1450
- vitest: dependencies$12,
1434
+ vue2: dependencies$10,
1435
+ vue3: dependencies$8,
1436
+ vue2Typescript: dependencies$9,
1437
+ vue3Typescript: dependencies$7,
1438
+ jest: dependencies$13,
1439
+ vitest: dependencies$11,
1451
1440
  jsdocBasedTs: dependencies$3
1452
1441
  };
1453
- var ALL_PRESET_DEPS = [
1454
- dependencies$7,
1455
- dependencies$2,
1456
- ...Object.values(SCOPE_TO_DEPS)
1457
- ];
1442
+ var ALL_PRESET_DEPS = [dependencies$2, ...Object.values(SCOPE_TO_DEPS)];
1458
1443
  var PRESET_DEPENDENCY_KEYS = new Set(ALL_PRESET_DEPS.flatMap((record) => Object.keys(record)));
1459
1444
  function isEslintRelatedDependency(name) {
1460
1445
  if (SAFELIST.has(name)) return false;