@useinsider/eslint-config 1.13.0-beta.8 → 1.14.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 +2 -2
- package/dist/builders/scopeBlocks.d.ts +9 -5
- package/dist/{chunk-C2EiDwsr.cjs → chunk-CKQMccvm.cjs} +0 -7
- package/dist/cli.cjs +158 -114
- package/dist/cli.cjs.map +1 -1
- package/dist/configs/config/dependencies.d.ts +1 -1
- package/dist/configs/javascript/dependencies.d.ts +1 -1
- package/dist/configs/javascript-dom/dependencies.d.ts +1 -1
- package/dist/configs/javascript-node/dependencies.d.ts +1 -1
- package/dist/configs/jest/dependencies.d.ts +3 -1
- package/dist/configs/jsdoc-based-ts/dependencies.d.ts +6 -1
- package/dist/configs/strict/dependencies.d.ts +3 -1
- package/dist/configs/typescript/dependencies.d.ts +6 -1
- package/dist/configs/typescript-dom/dependencies.d.ts +6 -1
- package/dist/configs/typescript-node/dependencies.d.ts +6 -1
- package/dist/configs/vitest/dependencies.d.ts +3 -1
- package/dist/configs/vue2/dependencies.d.ts +5 -1
- package/dist/configs/vue2-options-api/dependencies.d.ts +5 -1
- package/dist/configs/vue2-typescript/dependencies.d.ts +9 -1
- package/dist/configs/vue2-typescript-options-api/dependencies.d.ts +9 -1
- package/dist/configs/vue3/dependencies.d.ts +5 -1
- package/dist/configs/vue3-options-api/dependencies.d.ts +5 -1
- package/dist/configs/vue3-typescript/dependencies.d.ts +9 -1
- package/dist/configs/vue3-typescript-options-api/dependencies.d.ts +9 -1
- package/dist/{javascript-5-Y3S7Ai.cjs → javascript-CrNAuq8X.cjs} +5 -5
- package/dist/{javascript-5-Y3S7Ai.cjs.map → javascript-CrNAuq8X.cjs.map} +1 -1
- package/dist/{javascript-dom-mQsJpeOi.cjs → javascript-dom-qddIl6lD.cjs} +4 -4
- package/dist/{javascript-dom-mQsJpeOi.cjs.map → javascript-dom-qddIl6lD.cjs.map} +1 -1
- package/dist/{javascript-node-Djjq7GiI.cjs → javascript-node-CymkpeIN.cjs} +4 -4
- package/dist/{javascript-node-Djjq7GiI.cjs.map → javascript-node-CymkpeIN.cjs.map} +1 -1
- package/dist/{jest-BJBmD0AY.cjs → jest-Ct_2c2e5.cjs} +2 -2
- package/dist/{jest-BJBmD0AY.cjs.map → jest-Ct_2c2e5.cjs.map} +1 -1
- package/dist/main.cjs +70 -332
- package/dist/main.cjs.map +1 -1
- package/dist/main.js +54 -319
- package/dist/main.js.map +1 -1
- package/dist/{merge-BvnXuTFh.cjs → merge-9BZzhd4u.cjs} +2 -2
- package/dist/{merge-BvnXuTFh.cjs.map → merge-9BZzhd4u.cjs.map} +1 -1
- package/dist/{mergeAllConfig-D8LMTmMy.cjs → mergeAllConfig-B2TWh9bP.cjs} +2 -2
- package/dist/{mergeAllConfig-D8LMTmMy.cjs.map → mergeAllConfig-B2TWh9bP.cjs.map} +1 -1
- package/dist/{strict-BvDi46-I.cjs → strict-TbDHFSQX.cjs} +3 -3
- package/dist/{strict-BvDi46-I.cjs.map → strict-TbDHFSQX.cjs.map} +1 -1
- package/dist/{stylistic-Cfukq7XJ.cjs → stylistic-_qagyIah.cjs} +3 -3
- package/dist/{stylistic-Cfukq7XJ.cjs.map → stylistic-_qagyIah.cjs.map} +1 -1
- package/dist/{typescript-QHQoQWA9.cjs → typescript-Cm5y5BRu.cjs} +5 -5
- package/dist/{typescript-QHQoQWA9.cjs.map → typescript-Cm5y5BRu.cjs.map} +1 -1
- package/dist/{typescript-dom-CJOUQmKp.cjs → typescript-dom-B5cwc97i.cjs} +4 -4
- package/dist/{typescript-dom-CJOUQmKp.cjs.map → typescript-dom-B5cwc97i.cjs.map} +1 -1
- package/dist/{typescript-node-DZaR2hcl.cjs → typescript-node-BPHyiIve.cjs} +4 -4
- package/dist/{typescript-node-DZaR2hcl.cjs.map → typescript-node-BPHyiIve.cjs.map} +1 -1
- package/dist/utils/ensureConfigStructure.d.ts +5 -1
- package/dist/{vitest-BhP2TSgq.cjs → vitest-Cxe6To8m.cjs} +2 -2
- package/dist/{vitest-BhP2TSgq.cjs.map → vitest-Cxe6To8m.cjs.map} +1 -1
- package/dist/{vue2-DpVbDKkJ.cjs → vue2-XNhU8qvc.cjs} +5 -5
- package/dist/{vue2-DpVbDKkJ.cjs.map → vue2-XNhU8qvc.cjs.map} +1 -1
- package/dist/{vue2-options-api-DX3bvecY.cjs → vue2-options-api-zm_Ppsnb.cjs} +5 -5
- package/dist/{vue2-options-api-DX3bvecY.cjs.map → vue2-options-api-zm_Ppsnb.cjs.map} +1 -1
- package/dist/{vue2-typescript-options-api-B3_Gjydu.cjs → vue2-typescript-options-api-Tj8_pTDc.cjs} +5 -5
- package/dist/{vue2-typescript-options-api-B3_Gjydu.cjs.map → vue2-typescript-options-api-Tj8_pTDc.cjs.map} +1 -1
- package/dist/{vue2-typescript-Cv7aZ0WD.cjs → vue2-typescript-qUvTF_0O.cjs} +5 -5
- package/dist/{vue2-typescript-Cv7aZ0WD.cjs.map → vue2-typescript-qUvTF_0O.cjs.map} +1 -1
- package/dist/{vue3-BrMrQh1n.cjs → vue3-Dexa-ftV.cjs} +5 -5
- package/dist/{vue3-BrMrQh1n.cjs.map → vue3-Dexa-ftV.cjs.map} +1 -1
- package/dist/{vue3-options-api-B2m_tOZf.cjs → vue3-options-api-Fl27U2nN.cjs} +5 -5
- package/dist/{vue3-options-api-B2m_tOZf.cjs.map → vue3-options-api-Fl27U2nN.cjs.map} +1 -1
- package/dist/{vue3-typescript-D-kRjG-E.cjs → vue3-typescript-CzR7L5ep.cjs} +5 -5
- package/dist/{vue3-typescript-D-kRjG-E.cjs.map → vue3-typescript-CzR7L5ep.cjs.map} +1 -1
- package/dist/{vue3-typescript-options-api-DXrU7vz5.cjs → vue3-typescript-options-api-D56mHjp4.cjs} +5 -5
- package/dist/{vue3-typescript-options-api-DXrU7vz5.cjs.map → vue3-typescript-options-api-D56mHjp4.cjs.map} +1 -1
- package/package.json +23 -6
package/README.md
CHANGED
|
@@ -84,8 +84,8 @@ pins):
|
|
|
84
84
|
- `typescript-eslint`
|
|
85
85
|
|
|
86
86
|
Vue, Jest, or Vitest answers add the matching plugin set (e.g. `eslint-plugin-vue`,
|
|
87
|
-
`vue-eslint-parser`, `eslint-plugin-vue-scoped-css`,
|
|
88
|
-
|
|
87
|
+
`vue-eslint-parser`, `eslint-plugin-vue-scoped-css`, `eslint-plugin-jest`,
|
|
88
|
+
or `@vitest/eslint-plugin`).
|
|
89
89
|
|
|
90
90
|
## Manual setup
|
|
91
91
|
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import type { Linter } from 'eslint';
|
|
2
|
-
export interface
|
|
2
|
+
export interface CommonEntryFields {
|
|
3
|
+
ignores?: string[];
|
|
4
|
+
globals?: Linter.Globals;
|
|
5
|
+
}
|
|
6
|
+
export interface JsEntry extends CommonEntryFields {
|
|
3
7
|
files: string[];
|
|
4
8
|
}
|
|
5
|
-
export interface TsEntry {
|
|
9
|
+
export interface TsEntry extends CommonEntryFields {
|
|
6
10
|
files: string[];
|
|
7
11
|
tsconfigPaths: string[];
|
|
8
12
|
}
|
|
9
|
-
export interface VueEntry {
|
|
13
|
+
export interface VueEntry extends CommonEntryFields {
|
|
10
14
|
files: string[];
|
|
11
15
|
globalComponents?: string[];
|
|
12
16
|
}
|
|
13
|
-
export interface VueTsEntry {
|
|
17
|
+
export interface VueTsEntry extends CommonEntryFields {
|
|
14
18
|
files: string[];
|
|
15
19
|
globalComponents?: string[];
|
|
16
20
|
tsconfigPaths: string[];
|
|
17
21
|
}
|
|
18
|
-
export interface TestEntry {
|
|
22
|
+
export interface TestEntry extends CommonEntryFields {
|
|
19
23
|
files: string[];
|
|
20
24
|
}
|
|
21
25
|
export type ScopeEntry = JsEntry | TsEntry | VueEntry | VueTsEntry | TestEntry;
|
|
@@ -5,7 +5,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
9
8
|
var __copyProps = (to, from, except, desc) => {
|
|
10
9
|
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
10
|
key = keys[i];
|
|
@@ -21,12 +20,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
20
|
enumerable: true
|
|
22
21
|
}) : target, mod));
|
|
23
22
|
//#endregion
|
|
24
|
-
Object.defineProperty(exports, "__commonJSMin", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function() {
|
|
27
|
-
return __commonJSMin;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
23
|
Object.defineProperty(exports, "__toESM", {
|
|
31
24
|
enumerable: true,
|
|
32
25
|
get: function() {
|
package/dist/cli.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const require_chunk = require("./chunk-
|
|
3
|
+
const require_chunk = require("./chunk-CKQMccvm.cjs");
|
|
4
4
|
let globals = require("globals");
|
|
5
5
|
globals = require_chunk.__toESM(globals, 1);
|
|
6
6
|
let node_fs = require("node:fs");
|
|
@@ -355,6 +355,56 @@ async function dispatch(argv, cwd, deps) {
|
|
|
355
355
|
return 1;
|
|
356
356
|
}
|
|
357
357
|
//#endregion
|
|
358
|
+
//#region src/configs/jest/dependencies.ts
|
|
359
|
+
var dependencies$14 = { "eslint-plugin-jest": true };
|
|
360
|
+
//#endregion
|
|
361
|
+
//#region src/configs/typescript/dependencies.ts
|
|
362
|
+
var dependencies$13 = {
|
|
363
|
+
typescript: false,
|
|
364
|
+
"typescript-eslint": false,
|
|
365
|
+
"@typescript-eslint/parser": false,
|
|
366
|
+
"@typescript-eslint/eslint-plugin": false
|
|
367
|
+
};
|
|
368
|
+
//#endregion
|
|
369
|
+
//#region src/configs/vitest/dependencies.ts
|
|
370
|
+
var dependencies$12 = { "@vitest/eslint-plugin": true };
|
|
371
|
+
//#endregion
|
|
372
|
+
//#region src/configs/vue2/dependencies.ts
|
|
373
|
+
var dependencies$11 = {
|
|
374
|
+
"eslint-plugin-vue": true,
|
|
375
|
+
"eslint-plugin-vue-scoped-css": true,
|
|
376
|
+
"vue-eslint-parser": true
|
|
377
|
+
};
|
|
378
|
+
//#endregion
|
|
379
|
+
//#region src/configs/vue2-typescript/dependencies.ts
|
|
380
|
+
var dependencies$10 = {
|
|
381
|
+
"eslint-plugin-vue": true,
|
|
382
|
+
"eslint-plugin-vue-scoped-css": true,
|
|
383
|
+
"vue-eslint-parser": true,
|
|
384
|
+
typescript: false,
|
|
385
|
+
"typescript-eslint": false,
|
|
386
|
+
"@typescript-eslint/parser": false,
|
|
387
|
+
"@typescript-eslint/eslint-plugin": false
|
|
388
|
+
};
|
|
389
|
+
//#endregion
|
|
390
|
+
//#region src/configs/vue3/dependencies.ts
|
|
391
|
+
var dependencies$9 = {
|
|
392
|
+
"eslint-plugin-vue": true,
|
|
393
|
+
"eslint-plugin-vue-scoped-css": true,
|
|
394
|
+
"vue-eslint-parser": true
|
|
395
|
+
};
|
|
396
|
+
//#endregion
|
|
397
|
+
//#region src/configs/vue3-typescript/dependencies.ts
|
|
398
|
+
var dependencies$8 = {
|
|
399
|
+
"eslint-plugin-vue": true,
|
|
400
|
+
"eslint-plugin-vue-scoped-css": true,
|
|
401
|
+
"vue-eslint-parser": true,
|
|
402
|
+
typescript: false,
|
|
403
|
+
"typescript-eslint": false,
|
|
404
|
+
"@typescript-eslint/parser": false,
|
|
405
|
+
"@typescript-eslint/eslint-plugin": false
|
|
406
|
+
};
|
|
407
|
+
//#endregion
|
|
358
408
|
//#region src/cli/resolveEslintConfigManifest.ts
|
|
359
409
|
function tryReadManifest(candidate) {
|
|
360
410
|
try {
|
|
@@ -391,17 +441,27 @@ function toRequiredManifest(manifest) {
|
|
|
391
441
|
version: manifest.version ?? "0.0.0",
|
|
392
442
|
dependencies: manifest.dependencies ?? {},
|
|
393
443
|
devDependencies: manifest.devDependencies ?? {},
|
|
444
|
+
peerDependencies: manifest.peerDependencies ?? {},
|
|
394
445
|
optionalDependencies: manifest.optionalDependencies ?? {}
|
|
395
446
|
};
|
|
396
447
|
}
|
|
397
448
|
function lookup(manifest, name) {
|
|
398
|
-
return manifest.dependencies[name] ?? manifest.devDependencies[name] ?? manifest.optionalDependencies[name];
|
|
449
|
+
return manifest.dependencies[name] ?? manifest.devDependencies[name] ?? manifest.peerDependencies[name] ?? manifest.optionalDependencies[name];
|
|
399
450
|
}
|
|
400
451
|
function pinned(manifest, name) {
|
|
401
452
|
const version = lookup(manifest, name);
|
|
402
453
|
if (!version) throw new Error(`Unable to resolve pinned version for ${name} from @useinsider/eslint-config manifest`);
|
|
403
454
|
return `${name}@${version.replace(/^(?:\^|~|>=|<=|>|<|=)/u, "")}`;
|
|
404
455
|
}
|
|
456
|
+
function vueDepsFor(major, wantsTypescript) {
|
|
457
|
+
if (wantsTypescript) return major === 2 ? dependencies$10 : dependencies$8;
|
|
458
|
+
return major === 2 ? dependencies$11 : dependencies$9;
|
|
459
|
+
}
|
|
460
|
+
function applyRecord(deps, manifest, record) {
|
|
461
|
+
Object.entries(record).forEach(([name, install]) => {
|
|
462
|
+
if (install) deps.add(pinned(manifest, name));
|
|
463
|
+
});
|
|
464
|
+
}
|
|
405
465
|
function buildDependencyList(answers, rawManifest = readOwnEslintConfigManifest$1()) {
|
|
406
466
|
const manifest = toRequiredManifest(rawManifest);
|
|
407
467
|
const deps = /* @__PURE__ */ new Set();
|
|
@@ -409,21 +469,10 @@ function buildDependencyList(answers, rawManifest = readOwnEslintConfigManifest$
|
|
|
409
469
|
deps.add(pinned(manifest, "eslint"));
|
|
410
470
|
deps.add(pinned(manifest, "globals"));
|
|
411
471
|
const wantsTypescript = answers.languages.includes("typescript");
|
|
412
|
-
if (wantsTypescript)
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
if (answers.framework === "vue") {
|
|
417
|
-
deps.add(pinned(manifest, "eslint-plugin-vue"));
|
|
418
|
-
deps.add(pinned(manifest, "vue-eslint-parser"));
|
|
419
|
-
deps.add(pinned(manifest, "eslint-plugin-vue-scoped-css"));
|
|
420
|
-
if (wantsTypescript) {
|
|
421
|
-
deps.add(pinned(manifest, "@vue/eslint-config-typescript"));
|
|
422
|
-
deps.add(pinned(manifest, "@rushstack/eslint-patch"));
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
if (answers.testFramework === "jest") deps.add(pinned(manifest, "eslint-plugin-jest"));
|
|
426
|
-
if (answers.testFramework === "vitest") deps.add(pinned(manifest, "@vitest/eslint-plugin"));
|
|
472
|
+
if (answers.framework === "vue") applyRecord(deps, manifest, vueDepsFor(answers.vueMajor ?? 3, wantsTypescript));
|
|
473
|
+
else if (wantsTypescript) applyRecord(deps, manifest, dependencies$13);
|
|
474
|
+
if (answers.testFramework === "jest") applyRecord(deps, manifest, dependencies$14);
|
|
475
|
+
if (answers.testFramework === "vitest") applyRecord(deps, manifest, dependencies$12);
|
|
427
476
|
return [...deps];
|
|
428
477
|
}
|
|
429
478
|
async function installDependencies(deps) {
|
|
@@ -1325,97 +1374,48 @@ function clearSession(options) {
|
|
|
1325
1374
|
}
|
|
1326
1375
|
/* v8 ignore stop */
|
|
1327
1376
|
//#endregion
|
|
1377
|
+
//#region src/configs/config/dependencies.ts
|
|
1378
|
+
var dependencies$7 = {};
|
|
1379
|
+
//#endregion
|
|
1328
1380
|
//#region src/configs/javascript/dependencies.ts
|
|
1329
|
-
var dependencies$
|
|
1381
|
+
var dependencies$6 = {};
|
|
1330
1382
|
//#endregion
|
|
1331
1383
|
//#region src/configs/javascript-dom/dependencies.ts
|
|
1332
|
-
var dependencies$
|
|
1384
|
+
var dependencies$5 = {};
|
|
1333
1385
|
//#endregion
|
|
1334
1386
|
//#region src/configs/javascript-node/dependencies.ts
|
|
1335
|
-
var dependencies$
|
|
1336
|
-
//#endregion
|
|
1337
|
-
//#region src/configs/jest/dependencies.ts
|
|
1338
|
-
var dependencies$9 = ["eslint-plugin-jest", "globals"];
|
|
1387
|
+
var dependencies$4 = {};
|
|
1339
1388
|
//#endregion
|
|
1340
1389
|
//#region src/configs/jsdoc-based-ts/dependencies.ts
|
|
1341
|
-
var dependencies$
|
|
1342
|
-
|
|
1343
|
-
"typescript-eslint",
|
|
1344
|
-
"@typescript-eslint/parser",
|
|
1345
|
-
"@typescript-eslint/eslint-plugin"
|
|
1346
|
-
|
|
1390
|
+
var dependencies$3 = {
|
|
1391
|
+
typescript: false,
|
|
1392
|
+
"typescript-eslint": false,
|
|
1393
|
+
"@typescript-eslint/parser": false,
|
|
1394
|
+
"@typescript-eslint/eslint-plugin": false
|
|
1395
|
+
};
|
|
1347
1396
|
//#endregion
|
|
1348
|
-
//#region src/configs/
|
|
1349
|
-
var dependencies$
|
|
1350
|
-
"typescript",
|
|
1351
|
-
"typescript-eslint",
|
|
1352
|
-
"@typescript-eslint/parser",
|
|
1353
|
-
"@typescript-eslint/eslint-plugin"
|
|
1354
|
-
];
|
|
1397
|
+
//#region src/configs/strict/dependencies.ts
|
|
1398
|
+
var dependencies$2 = { "eslint-plugin-sonarjs": false };
|
|
1355
1399
|
//#endregion
|
|
1356
1400
|
//#region src/configs/typescript-dom/dependencies.ts
|
|
1357
|
-
var dependencies$
|
|
1358
|
-
|
|
1359
|
-
"typescript-eslint",
|
|
1360
|
-
"@typescript-eslint/parser",
|
|
1361
|
-
"@typescript-eslint/eslint-plugin"
|
|
1362
|
-
|
|
1401
|
+
var dependencies$1 = {
|
|
1402
|
+
typescript: false,
|
|
1403
|
+
"typescript-eslint": false,
|
|
1404
|
+
"@typescript-eslint/parser": false,
|
|
1405
|
+
"@typescript-eslint/eslint-plugin": false
|
|
1406
|
+
};
|
|
1363
1407
|
//#endregion
|
|
1364
1408
|
//#region src/configs/typescript-node/dependencies.ts
|
|
1365
|
-
var dependencies
|
|
1366
|
-
|
|
1367
|
-
"typescript-eslint",
|
|
1368
|
-
"@typescript-eslint/parser",
|
|
1369
|
-
"@typescript-eslint/eslint-plugin"
|
|
1370
|
-
|
|
1371
|
-
//#endregion
|
|
1372
|
-
//#region src/configs/vitest/dependencies.ts
|
|
1373
|
-
var dependencies$4 = ["@vitest/eslint-plugin", "globals"];
|
|
1374
|
-
//#endregion
|
|
1375
|
-
//#region src/configs/vue2/dependencies.ts
|
|
1376
|
-
var dependencies$3 = [
|
|
1377
|
-
"eslint-plugin-vue",
|
|
1378
|
-
"eslint-plugin-vue-scoped-css",
|
|
1379
|
-
"vue-eslint-parser"
|
|
1380
|
-
];
|
|
1381
|
-
//#endregion
|
|
1382
|
-
//#region src/configs/vue2-typescript/dependencies.ts
|
|
1383
|
-
var dependencies$2 = [
|
|
1384
|
-
"eslint-plugin-vue",
|
|
1385
|
-
"eslint-plugin-vue-scoped-css",
|
|
1386
|
-
"vue-eslint-parser",
|
|
1387
|
-
"typescript",
|
|
1388
|
-
"typescript-eslint",
|
|
1389
|
-
"@typescript-eslint/parser",
|
|
1390
|
-
"@typescript-eslint/eslint-plugin",
|
|
1391
|
-
"@vue/eslint-config-typescript",
|
|
1392
|
-
"@rushstack/eslint-patch"
|
|
1393
|
-
];
|
|
1394
|
-
//#endregion
|
|
1395
|
-
//#region src/configs/vue3/dependencies.ts
|
|
1396
|
-
var dependencies$1 = [
|
|
1397
|
-
"eslint-plugin-vue",
|
|
1398
|
-
"eslint-plugin-vue-scoped-css",
|
|
1399
|
-
"vue-eslint-parser"
|
|
1400
|
-
];
|
|
1401
|
-
//#endregion
|
|
1402
|
-
//#region src/configs/vue3-typescript/dependencies.ts
|
|
1403
|
-
var dependencies = [
|
|
1404
|
-
"eslint-plugin-vue",
|
|
1405
|
-
"eslint-plugin-vue-scoped-css",
|
|
1406
|
-
"vue-eslint-parser",
|
|
1407
|
-
"typescript",
|
|
1408
|
-
"typescript-eslint",
|
|
1409
|
-
"@typescript-eslint/parser",
|
|
1410
|
-
"@typescript-eslint/eslint-plugin",
|
|
1411
|
-
"@vue/eslint-config-typescript",
|
|
1412
|
-
"@rushstack/eslint-patch"
|
|
1413
|
-
];
|
|
1409
|
+
var dependencies = {
|
|
1410
|
+
typescript: false,
|
|
1411
|
+
"typescript-eslint": false,
|
|
1412
|
+
"@typescript-eslint/parser": false,
|
|
1413
|
+
"@typescript-eslint/eslint-plugin": false
|
|
1414
|
+
};
|
|
1414
1415
|
//#endregion
|
|
1415
1416
|
//#region src/cli/migrate/dependencies.ts
|
|
1416
1417
|
var EXACT_PATTERNS = new Set([
|
|
1417
1418
|
"eslint",
|
|
1418
|
-
"prettier",
|
|
1419
1419
|
"@useinsider/eslint-config",
|
|
1420
1420
|
"globals",
|
|
1421
1421
|
"vue-eslint-parser",
|
|
@@ -1431,23 +1431,30 @@ var PREFIX_PATTERNS = [
|
|
|
1431
1431
|
var SCOPED_ESLINT_PATTERNS = [/^@[^/]+\/eslint-/u, /^@typescript-eslint\//u];
|
|
1432
1432
|
var SAFELIST = new Set(["typescript", "@types/eslint"]);
|
|
1433
1433
|
var SCOPE_TO_DEPS = {
|
|
1434
|
-
javascript: dependencies$
|
|
1435
|
-
javascriptDom: dependencies$
|
|
1436
|
-
javascriptNode: dependencies$
|
|
1437
|
-
typescript: dependencies$
|
|
1438
|
-
typescriptDom: dependencies$
|
|
1439
|
-
typescriptNode: dependencies
|
|
1440
|
-
vue2: dependencies$
|
|
1441
|
-
vue3: dependencies$
|
|
1442
|
-
vue2Typescript: dependencies$
|
|
1443
|
-
vue3Typescript: dependencies,
|
|
1444
|
-
jest: dependencies$
|
|
1445
|
-
vitest: dependencies$
|
|
1446
|
-
jsdocBasedTs: dependencies$
|
|
1434
|
+
javascript: dependencies$6,
|
|
1435
|
+
javascriptDom: dependencies$5,
|
|
1436
|
+
javascriptNode: dependencies$4,
|
|
1437
|
+
typescript: dependencies$13,
|
|
1438
|
+
typescriptDom: dependencies$1,
|
|
1439
|
+
typescriptNode: dependencies,
|
|
1440
|
+
vue2: dependencies$11,
|
|
1441
|
+
vue3: dependencies$9,
|
|
1442
|
+
vue2Typescript: dependencies$10,
|
|
1443
|
+
vue3Typescript: dependencies$8,
|
|
1444
|
+
jest: dependencies$14,
|
|
1445
|
+
vitest: dependencies$12,
|
|
1446
|
+
jsdocBasedTs: dependencies$3
|
|
1447
1447
|
};
|
|
1448
|
+
var ALL_PRESET_DEPS = [
|
|
1449
|
+
dependencies$7,
|
|
1450
|
+
dependencies$2,
|
|
1451
|
+
...Object.values(SCOPE_TO_DEPS)
|
|
1452
|
+
];
|
|
1453
|
+
var PRESET_DEPENDENCY_KEYS = new Set(ALL_PRESET_DEPS.flatMap((record) => Object.keys(record)));
|
|
1448
1454
|
function isEslintRelatedDependency(name) {
|
|
1449
1455
|
if (SAFELIST.has(name)) return false;
|
|
1450
1456
|
if (EXACT_PATTERNS.has(name)) return true;
|
|
1457
|
+
if (PRESET_DEPENDENCY_KEYS.has(name)) return true;
|
|
1451
1458
|
if (SCOPED_ESLINT_PATTERNS.some((pattern) => pattern.test(name))) return true;
|
|
1452
1459
|
return PREFIX_PATTERNS.some((prefix) => name.startsWith(prefix));
|
|
1453
1460
|
}
|
|
@@ -1469,20 +1476,57 @@ function pruneSection(record, removed) {
|
|
|
1469
1476
|
});
|
|
1470
1477
|
return sortRecord(kept);
|
|
1471
1478
|
}
|
|
1479
|
+
function parseOverrideKey(key) {
|
|
1480
|
+
if (key.length === 0) return { baseName: key };
|
|
1481
|
+
const searchFrom = key.startsWith("@") ? 1 : 0;
|
|
1482
|
+
const atIndex = key.indexOf("@", searchFrom);
|
|
1483
|
+
if (atIndex === -1) return { baseName: key };
|
|
1484
|
+
return { baseName: key.slice(0, atIndex) };
|
|
1485
|
+
}
|
|
1486
|
+
function sortOverrides(record) {
|
|
1487
|
+
return Object.keys(record).sort((left, right) => left.localeCompare(right)).reduce((accumulator, key) => {
|
|
1488
|
+
accumulator[key] = record[key];
|
|
1489
|
+
return accumulator;
|
|
1490
|
+
}, {});
|
|
1491
|
+
}
|
|
1492
|
+
function pruneOverridesSection(record, removed) {
|
|
1493
|
+
if (!record) return record;
|
|
1494
|
+
const kept = {};
|
|
1495
|
+
Object.entries(record).forEach(([key, value]) => {
|
|
1496
|
+
if (!(typeof value === "string")) {
|
|
1497
|
+
kept[key] = value;
|
|
1498
|
+
return;
|
|
1499
|
+
}
|
|
1500
|
+
const { baseName } = parseOverrideKey(key);
|
|
1501
|
+
if (isEslintRelatedDependency(baseName)) {
|
|
1502
|
+
if (!removed.includes(baseName)) removed.push(baseName);
|
|
1503
|
+
return;
|
|
1504
|
+
}
|
|
1505
|
+
kept[key] = value;
|
|
1506
|
+
});
|
|
1507
|
+
return sortOverrides(kept);
|
|
1508
|
+
}
|
|
1472
1509
|
function pruneEslintDependencies(manifest) {
|
|
1473
1510
|
const removed = [];
|
|
1474
1511
|
const next = { ...manifest };
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
if (manifest.
|
|
1478
|
-
if (manifest.
|
|
1512
|
+
if (manifest.dependencies) next.dependencies = pruneSection(manifest.dependencies, removed);
|
|
1513
|
+
if (manifest.devDependencies) next.devDependencies = pruneSection(manifest.devDependencies, removed);
|
|
1514
|
+
if (manifest.peerDependencies) next.peerDependencies = pruneSection(manifest.peerDependencies, removed);
|
|
1515
|
+
if (manifest.optionalDependencies) next.optionalDependencies = pruneSection(manifest.optionalDependencies, removed);
|
|
1516
|
+
if (manifest.overrides) next.overrides = pruneOverridesSection(manifest.overrides, removed);
|
|
1517
|
+
if (manifest.pnpm && typeof manifest.pnpm === "object") {
|
|
1518
|
+
const nextPnpm = { ...manifest.pnpm };
|
|
1519
|
+
if (manifest.pnpm.overrides) nextPnpm.overrides = pruneOverridesSection(manifest.pnpm.overrides, removed);
|
|
1520
|
+
next.pnpm = nextPnpm;
|
|
1521
|
+
}
|
|
1522
|
+
if (manifest.resolutions) next.resolutions = pruneSection(manifest.resolutions, removed);
|
|
1479
1523
|
return {
|
|
1480
1524
|
manifest: next,
|
|
1481
1525
|
removed
|
|
1482
1526
|
};
|
|
1483
1527
|
}
|
|
1484
1528
|
function lookupVersion(manifest, name) {
|
|
1485
|
-
return manifest.dependencies?.[name] ?? manifest.devDependencies?.[name] ?? manifest.optionalDependencies?.[name];
|
|
1529
|
+
return manifest.dependencies?.[name] ?? manifest.devDependencies?.[name] ?? manifest.peerDependencies?.[name] ?? manifest.optionalDependencies?.[name];
|
|
1486
1530
|
}
|
|
1487
1531
|
function stripRange(version) {
|
|
1488
1532
|
return version.replace(/^(?:\^|~|>=|<=|>|<|=)/u, "");
|
|
@@ -1504,10 +1548,10 @@ function buildInstallList(scopes, manifest) {
|
|
|
1504
1548
|
appendSpec(specs, "@useinsider/eslint-config@latest");
|
|
1505
1549
|
appendSpec(specs, resolveSpec("eslint", manifest, fallbacks));
|
|
1506
1550
|
[...scopes].forEach((scope) => {
|
|
1507
|
-
const
|
|
1508
|
-
if (!
|
|
1509
|
-
|
|
1510
|
-
appendSpec(specs, resolveSpec(packageName, manifest, fallbacks));
|
|
1551
|
+
const record = SCOPE_TO_DEPS[scope];
|
|
1552
|
+
if (!record) return;
|
|
1553
|
+
Object.entries(record).forEach(([packageName, shouldInstall]) => {
|
|
1554
|
+
if (shouldInstall) appendSpec(specs, resolveSpec(packageName, manifest, fallbacks));
|
|
1511
1555
|
});
|
|
1512
1556
|
});
|
|
1513
1557
|
return {
|