@xylabs/ts-scripts-yarn3 6.5.0 → 6.5.2
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/actions/deplint/checkPackage/checkPackage.mjs +260 -0
- package/dist/actions/deplint/checkPackage/checkPackage.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/checkPackageTypes.mjs +1 -0
- package/dist/actions/deplint/checkPackage/checkPackageTypes.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getTypesInDependencies.mjs +19 -0
- package/dist/actions/deplint/checkPackage/getTypesInDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs +35 -0
- package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs +21 -0
- package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs +22 -0
- package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs +19 -0
- package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/index.mjs +260 -0
- package/dist/actions/deplint/checkPackage/index.mjs.map +1 -0
- package/dist/actions/deplint/deplint.mjs +320 -0
- package/dist/actions/deplint/deplint.mjs.map +1 -0
- package/dist/actions/deplint/findFiles.mjs +24 -0
- package/dist/actions/deplint/findFiles.mjs.map +1 -0
- package/dist/actions/deplint/findFilesByGlob.mjs +9 -0
- package/dist/actions/deplint/findFilesByGlob.mjs.map +1 -0
- package/dist/actions/deplint/getBasePackageName.mjs +12 -0
- package/dist/actions/deplint/getBasePackageName.mjs.map +1 -0
- package/dist/actions/deplint/getDependenciesFromPackageJson.mjs +20 -0
- package/dist/actions/deplint/getDependenciesFromPackageJson.mjs.map +1 -0
- package/dist/actions/deplint/getExternalImportsFromFiles.mjs +98 -0
- package/dist/actions/deplint/getExternalImportsFromFiles.mjs.map +1 -0
- package/dist/actions/deplint/getImportsFromFile.mjs +65 -0
- package/dist/actions/deplint/getImportsFromFile.mjs.map +1 -0
- package/dist/actions/{deplint.mjs → deplint/index.mjs} +165 -88
- package/dist/actions/deplint/index.mjs.map +1 -0
- package/dist/actions/fix.mjs.map +1 -1
- package/dist/actions/index.mjs +240 -161
- package/dist/actions/index.mjs.map +1 -1
- package/dist/actions/lint.mjs.map +1 -1
- package/dist/bin/xy.mjs +244 -156
- package/dist/bin/xy.mjs.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.mjs +287 -199
- package/dist/index.mjs.map +1 -1
- package/dist/xy/index.mjs +244 -156
- package/dist/xy/index.mjs.map +1 -1
- package/dist/xy/param.mjs +1 -1
- package/dist/xy/param.mjs.map +1 -1
- package/dist/xy/xy.mjs +244 -156
- package/dist/xy/xy.mjs.map +1 -1
- package/dist/xy/xyCommonCommands.mjs +1 -1
- package/dist/xy/xyCommonCommands.mjs.map +1 -1
- package/dist/xy/xyLintCommands.mjs +217 -108
- package/dist/xy/xyLintCommands.mjs.map +1 -1
- package/dist/xy/xyParseOptions.mjs +0 -21
- package/dist/xy/xyParseOptions.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/actions/deplint.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/xy/xyLintCommands.ts
|
|
2
|
-
import
|
|
2
|
+
import chalk13 from "chalk";
|
|
3
3
|
|
|
4
4
|
// src/lib/checkResult.ts
|
|
5
5
|
import chalk from "chalk";
|
|
@@ -216,12 +216,33 @@ var cycleAll = async ({ verbose = false }) => {
|
|
|
216
216
|
return result.exitCode;
|
|
217
217
|
};
|
|
218
218
|
|
|
219
|
-
// src/actions/deplint.ts
|
|
219
|
+
// src/actions/deplint/deplint.ts
|
|
220
|
+
import chalk10 from "chalk";
|
|
221
|
+
|
|
222
|
+
// src/actions/deplint/findFilesByGlob.ts
|
|
223
|
+
import { globSync } from "glob";
|
|
224
|
+
function findFilesByGlob(cwd, pattern) {
|
|
225
|
+
return globSync(pattern, { cwd, absolute: true });
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// src/actions/deplint/findFiles.ts
|
|
229
|
+
function findFiles(path3) {
|
|
230
|
+
const allSourceInclude = ["./src/**/*.{ts,tsx}", "./dist/**/*.d.ts"];
|
|
231
|
+
const prodExcludeEndswith = [".spec.ts", ".stories.tsx"];
|
|
232
|
+
const prodExcludeIncludes = ["/spec/", "/stories/", "/scripts/"];
|
|
233
|
+
const allSourceFiles = allSourceInclude.flatMap((pattern) => findFilesByGlob(path3, pattern));
|
|
234
|
+
const prodSourceFiles = allSourceFiles.filter((file) => !prodExcludeEndswith.some((ext) => file.endsWith(ext)) && !prodExcludeIncludes.some((excl) => file.includes(excl)));
|
|
235
|
+
const devSourceFiles = allSourceFiles.filter((file) => !prodSourceFiles.includes(file));
|
|
236
|
+
return {
|
|
237
|
+
allSourceFiles,
|
|
238
|
+
prodSourceFiles,
|
|
239
|
+
devSourceFiles
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// src/actions/deplint/getDependenciesFromPackageJson.ts
|
|
220
244
|
import fs from "node:fs";
|
|
221
245
|
import path from "node:path";
|
|
222
|
-
import chalk5 from "chalk";
|
|
223
|
-
import { globSync } from "glob";
|
|
224
|
-
import ts from "typescript";
|
|
225
246
|
function getDependenciesFromPackageJson(packageJsonPath) {
|
|
226
247
|
const packageJsonFullPath = path.resolve(packageJsonPath);
|
|
227
248
|
const rawContent = fs.readFileSync(packageJsonFullPath, "utf8");
|
|
@@ -235,6 +256,13 @@ function getDependenciesFromPackageJson(packageJsonPath) {
|
|
|
235
256
|
peerDependencies
|
|
236
257
|
};
|
|
237
258
|
}
|
|
259
|
+
|
|
260
|
+
// src/actions/deplint/getImportsFromFile.ts
|
|
261
|
+
import fs2 from "node:fs";
|
|
262
|
+
import path2 from "node:path";
|
|
263
|
+
import ts from "typescript";
|
|
264
|
+
|
|
265
|
+
// src/actions/deplint/getBasePackageName.ts
|
|
238
266
|
function getBasePackageName(importName) {
|
|
239
267
|
if (importName.startsWith("@")) {
|
|
240
268
|
const parts = importName.split("/");
|
|
@@ -242,10 +270,12 @@ function getBasePackageName(importName) {
|
|
|
242
270
|
}
|
|
243
271
|
return importName.split("/")[0];
|
|
244
272
|
}
|
|
273
|
+
|
|
274
|
+
// src/actions/deplint/getImportsFromFile.ts
|
|
245
275
|
function getImportsFromFile(filePath, importPaths, typeImportPaths) {
|
|
246
|
-
const sourceCode =
|
|
276
|
+
const sourceCode = fs2.readFileSync(filePath, "utf8");
|
|
247
277
|
const sourceFile = ts.createSourceFile(
|
|
248
|
-
|
|
278
|
+
path2.basename(filePath),
|
|
249
279
|
sourceCode,
|
|
250
280
|
ts.ScriptTarget.Latest,
|
|
251
281
|
true
|
|
@@ -288,36 +318,26 @@ function getImportsFromFile(filePath, importPaths, typeImportPaths) {
|
|
|
288
318
|
}
|
|
289
319
|
return [cleanedImports, cleanedTypeImports];
|
|
290
320
|
}
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
const prodExcludeIncludes = ["/spec/", "/stories/", "/scripts/"];
|
|
298
|
-
const allSourceFiles = allSourceInclude.flatMap((pattern) => findFilesByGlob(path2, pattern));
|
|
299
|
-
const prodSourceFiles = allSourceFiles.filter((file) => !prodExcludeEndswith.some((ext) => file.endsWith(ext)) && !prodExcludeIncludes.some((excl) => file.includes(excl)));
|
|
300
|
-
const devSourceFiles = allSourceFiles.filter((file) => !prodSourceFiles.includes(file));
|
|
301
|
-
return {
|
|
302
|
-
allSourceFiles,
|
|
303
|
-
prodSourceFiles,
|
|
304
|
-
devSourceFiles
|
|
305
|
-
};
|
|
306
|
-
}
|
|
321
|
+
|
|
322
|
+
// src/actions/deplint/getExternalImportsFromFiles.ts
|
|
323
|
+
var internalImportPrefixes = [".", "#", "node:"];
|
|
324
|
+
var removeInternalImports = (imports) => {
|
|
325
|
+
return imports.filter((imp) => !internalImportPrefixes.some((prefix) => imp.startsWith(prefix)));
|
|
326
|
+
};
|
|
307
327
|
function getExternalImportsFromFiles({ prodSourceFiles, devSourceFiles }) {
|
|
308
328
|
const prodImportPaths = {};
|
|
309
329
|
const prodTypeImportPaths = {};
|
|
310
|
-
const prodImportPairs = prodSourceFiles.map((
|
|
330
|
+
const prodImportPairs = prodSourceFiles.map((path3) => getImportsFromFile(path3, prodImportPaths, prodTypeImportPaths));
|
|
311
331
|
const prodImports = prodImportPairs.flatMap((pair) => pair[0]);
|
|
312
332
|
const prodTypeImports = prodImportPairs.flatMap((pair) => pair[1]);
|
|
313
333
|
const devImportPaths = {};
|
|
314
334
|
const devTypeImportPaths = {};
|
|
315
|
-
const devImportPairs = devSourceFiles.map((
|
|
335
|
+
const devImportPairs = devSourceFiles.map((path3) => getImportsFromFile(path3, devImportPaths, devTypeImportPaths));
|
|
316
336
|
const devImports = devImportPairs.flatMap((pair) => pair[0]);
|
|
317
337
|
const devTypeImports = devImportPairs.flatMap((pair) => pair[1]);
|
|
318
|
-
const externalProdImports = prodImports
|
|
319
|
-
const externalProdTypeImports = prodTypeImports
|
|
320
|
-
const externalDevImports = devImports
|
|
338
|
+
const externalProdImports = removeInternalImports(prodImports);
|
|
339
|
+
const externalProdTypeImports = removeInternalImports(prodTypeImports);
|
|
340
|
+
const externalDevImports = removeInternalImports(devImports);
|
|
321
341
|
return {
|
|
322
342
|
prodImports,
|
|
323
343
|
devImports,
|
|
@@ -331,34 +351,40 @@ function getExternalImportsFromFiles({ prodSourceFiles, devSourceFiles }) {
|
|
|
331
351
|
externalProdTypeImports
|
|
332
352
|
};
|
|
333
353
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
354
|
+
|
|
355
|
+
// src/actions/deplint/checkPackage/getTypesInDependencies.ts
|
|
356
|
+
import chalk5 from "chalk";
|
|
357
|
+
function getTypesInDependencies({ name, location }, { dependencies }, {}) {
|
|
358
|
+
let typesInDependencies = 0;
|
|
359
|
+
for (const dep of dependencies) {
|
|
360
|
+
if (dep.startsWith("@types/")) {
|
|
361
|
+
typesInDependencies++;
|
|
362
|
+
console.log(`[${chalk5.blue(name)}] @types in dependencies in package.json: ${chalk5.red(dep)}`);
|
|
363
|
+
console.log(` ${location}/package.json
|
|
364
|
+
`);
|
|
365
|
+
console.log("");
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
return typesInDependencies;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
// src/actions/deplint/checkPackage/getUnlistedDependencies.ts
|
|
372
|
+
import chalk6 from "chalk";
|
|
373
|
+
function getUnlistedDependencies({ name }, {
|
|
374
|
+
dependencies,
|
|
375
|
+
devDependencies,
|
|
376
|
+
peerDependencies
|
|
377
|
+
}, {
|
|
378
|
+
externalProdTypeImports,
|
|
379
|
+
prodTypeImportPaths,
|
|
380
|
+
externalProdImports,
|
|
381
|
+
prodImportPaths
|
|
339
382
|
}) {
|
|
340
|
-
const { prodSourceFiles, devSourceFiles } = findFiles(location);
|
|
341
|
-
const {
|
|
342
|
-
prodTypeImportPaths,
|
|
343
|
-
prodImportPaths,
|
|
344
|
-
externalProdTypeImports,
|
|
345
|
-
devImportPaths,
|
|
346
|
-
externalProdImports,
|
|
347
|
-
externalDevImports
|
|
348
|
-
} = getExternalImportsFromFiles({ prodSourceFiles, devSourceFiles });
|
|
349
|
-
const {
|
|
350
|
-
dependencies,
|
|
351
|
-
devDependencies,
|
|
352
|
-
peerDependencies
|
|
353
|
-
} = getDependenciesFromPackageJson(`${location}/package.json`);
|
|
354
383
|
let unlistedDependencies = 0;
|
|
355
|
-
let unlistedDevDependencies = 0;
|
|
356
|
-
let unusedDependencies = 0;
|
|
357
|
-
let typesInDependencies = 0;
|
|
358
384
|
for (const imp of externalProdTypeImports) {
|
|
359
|
-
if (!dependencies.includes(imp) && !peerDependencies.includes(imp) && !
|
|
385
|
+
if (!dependencies.includes(imp) && !peerDependencies.includes(imp) && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(`@types/${imp}`)) {
|
|
360
386
|
unlistedDependencies++;
|
|
361
|
-
console.log(`[${
|
|
387
|
+
console.log(`[${chalk6.blue(name)}] Missing dependency in package.json: ${chalk6.red(imp)}`);
|
|
362
388
|
console.log(` ${prodTypeImportPaths[imp].join("\n")}`);
|
|
363
389
|
console.log("");
|
|
364
390
|
}
|
|
@@ -366,79 +392,132 @@ function check({
|
|
|
366
392
|
for (const imp of externalProdImports) {
|
|
367
393
|
if (!dependencies.includes(imp) && !peerDependencies.includes(imp)) {
|
|
368
394
|
unlistedDependencies++;
|
|
369
|
-
console.log(`[${
|
|
395
|
+
console.log(`[${chalk6.blue(name)}] Missing dependency in package.json: ${chalk6.red(imp)}`);
|
|
370
396
|
console.log(` ${prodImportPaths[imp].join("\n")}`);
|
|
371
397
|
console.log("");
|
|
372
398
|
}
|
|
373
399
|
}
|
|
400
|
+
return unlistedDependencies;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// src/actions/deplint/checkPackage/getUnlistedDevDependencies.ts
|
|
404
|
+
import chalk7 from "chalk";
|
|
405
|
+
function getUnlistedDevDependencies({ name }, {
|
|
406
|
+
devDependencies,
|
|
407
|
+
dependencies,
|
|
408
|
+
peerDependencies
|
|
409
|
+
}, { devImportPaths, externalDevImports }) {
|
|
410
|
+
let unlistedDevDependencies = 0;
|
|
411
|
+
for (const imp of externalDevImports) {
|
|
412
|
+
if (!devDependencies.includes(imp) && !dependencies.includes(imp) && !peerDependencies.includes(imp)) {
|
|
413
|
+
unlistedDevDependencies++;
|
|
414
|
+
console.log(`[${chalk7.blue(name)}] Missing devDependency in package.json: ${chalk7.red(imp)}`);
|
|
415
|
+
console.log(` Found in: ${devImportPaths[imp].join(", ")}`);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return unlistedDevDependencies;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
// src/actions/deplint/checkPackage/getUnusedDependencies.ts
|
|
422
|
+
import chalk8 from "chalk";
|
|
423
|
+
function getUnusedDependencies({ name, location }, { dependencies }, {
|
|
424
|
+
externalProdImports,
|
|
425
|
+
externalProdTypeImports
|
|
426
|
+
}) {
|
|
427
|
+
let unusedDependencies = 0;
|
|
374
428
|
for (const dep of dependencies) {
|
|
375
|
-
if (dep.
|
|
376
|
-
|
|
377
|
-
console.log(`[${
|
|
429
|
+
if (!externalProdImports.includes(dep) && !externalProdTypeImports.includes(dep)) {
|
|
430
|
+
unusedDependencies++;
|
|
431
|
+
console.log(`[${chalk8.blue(name)}] Unused dependency in package.json: ${chalk8.red(dep)}`);
|
|
378
432
|
console.log(` ${location}/package.json
|
|
379
433
|
`);
|
|
380
434
|
console.log("");
|
|
381
435
|
}
|
|
382
|
-
|
|
436
|
+
}
|
|
437
|
+
return unusedDependencies;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
// src/actions/deplint/checkPackage/getUnusedPeerDependencies.ts
|
|
441
|
+
import chalk9 from "chalk";
|
|
442
|
+
function getUnusedPeerDependencies({ name, location }, { peerDependencies }, { externalProdImports, externalProdTypeImports }) {
|
|
443
|
+
let unusedDependencies = 0;
|
|
444
|
+
for (const dep of peerDependencies) {
|
|
445
|
+
if (!externalProdImports.includes(dep) && !externalProdTypeImports.includes(dep)) {
|
|
383
446
|
unusedDependencies++;
|
|
384
|
-
console.log(`[${
|
|
447
|
+
console.log(`[${chalk9.blue(name)}] Unused peerDependency in package.json: ${chalk9.red(dep)}`);
|
|
385
448
|
console.log(` ${location}/package.json
|
|
386
449
|
`);
|
|
387
450
|
console.log("");
|
|
388
451
|
}
|
|
389
452
|
}
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
}
|
|
410
|
-
const
|
|
453
|
+
return unusedDependencies;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
// src/actions/deplint/checkPackage/checkPackage.ts
|
|
457
|
+
function checkPackage({
|
|
458
|
+
name,
|
|
459
|
+
location,
|
|
460
|
+
deps = false,
|
|
461
|
+
devDeps = false,
|
|
462
|
+
peerDeps = false
|
|
463
|
+
}) {
|
|
464
|
+
const { prodSourceFiles, devSourceFiles } = findFiles(location);
|
|
465
|
+
const checkDeps = deps || !(deps || devDeps || peerDeps);
|
|
466
|
+
const checkDevDeps = devDeps || !(deps || devDeps || peerDeps);
|
|
467
|
+
const checkPeerDeps = peerDeps || !(deps || devDeps || peerDeps);
|
|
468
|
+
const sourceParams = getExternalImportsFromFiles({ prodSourceFiles, devSourceFiles });
|
|
469
|
+
const packageParams = getDependenciesFromPackageJson(`${location}/package.json`);
|
|
470
|
+
const unlistedDependencies = checkDeps ? getUnlistedDependencies({ name, location }, packageParams, sourceParams) : 0;
|
|
471
|
+
const unusedDependencies = checkDeps ? getUnusedDependencies({ name, location }, packageParams, sourceParams) : 0;
|
|
472
|
+
const typesInDependencies = checkDeps ? getTypesInDependencies({ name, location }, packageParams, sourceParams) : 0;
|
|
473
|
+
const unlistedDevDependencies = checkDevDeps ? getUnlistedDevDependencies({ name, location }, packageParams, sourceParams) : 0;
|
|
474
|
+
const unusedPeerDependencies = checkPeerDeps ? getUnusedPeerDependencies({ name, location }, packageParams, sourceParams) : 0;
|
|
475
|
+
const totalErrors = unlistedDependencies + unlistedDevDependencies + unusedDependencies + typesInDependencies + unusedPeerDependencies;
|
|
411
476
|
return totalErrors;
|
|
412
477
|
}
|
|
413
|
-
|
|
478
|
+
|
|
479
|
+
// src/actions/deplint/deplint.ts
|
|
480
|
+
var deplint = ({
|
|
481
|
+
pkg,
|
|
482
|
+
deps,
|
|
483
|
+
devDeps,
|
|
484
|
+
peerDeps
|
|
485
|
+
}) => {
|
|
414
486
|
if (pkg) {
|
|
415
487
|
const { location, name } = yarnWorkspace(pkg);
|
|
416
488
|
console.log(`Running Deplint for ${name}`);
|
|
417
|
-
|
|
489
|
+
checkPackage({
|
|
418
490
|
name,
|
|
419
491
|
location,
|
|
420
|
-
devDeps
|
|
492
|
+
devDeps,
|
|
493
|
+
deps,
|
|
494
|
+
peerDeps
|
|
421
495
|
});
|
|
422
496
|
} else {
|
|
423
497
|
const workspaces = yarnWorkspaces();
|
|
424
498
|
console.log("Deplint Started...");
|
|
425
499
|
let totalErrors = 0;
|
|
426
500
|
for (const workspace of workspaces) {
|
|
427
|
-
totalErrors +=
|
|
501
|
+
totalErrors += checkPackage({
|
|
502
|
+
...workspace,
|
|
503
|
+
deps,
|
|
504
|
+
devDeps,
|
|
505
|
+
peerDeps
|
|
506
|
+
});
|
|
428
507
|
}
|
|
429
508
|
if (totalErrors > 0) {
|
|
430
|
-
console.log(`Found ${
|
|
509
|
+
console.log(`Deplint: Found ${chalk10.red(totalErrors)} dependency problems. ${chalk10.red("\u2716")}`);
|
|
431
510
|
} else {
|
|
432
|
-
console.log(`
|
|
511
|
+
console.log(`Deplint: Found no dependency problems. ${chalk10.green("\u2714")}`);
|
|
433
512
|
}
|
|
434
513
|
}
|
|
435
514
|
return 0;
|
|
436
515
|
};
|
|
437
516
|
|
|
438
517
|
// src/actions/lint.ts
|
|
439
|
-
import
|
|
518
|
+
import chalk11 from "chalk";
|
|
440
519
|
var lintPackage = ({ pkg, fix: fix2 }) => {
|
|
441
|
-
console.log(
|
|
520
|
+
console.log(chalk11.gray(`${fix2 ? "Fix" : "Lint"} [${pkg}]`));
|
|
442
521
|
const start = Date.now();
|
|
443
522
|
const result = runSteps(`${fix2 ? "Fix" : "Lint"} [${pkg}]`, [
|
|
444
523
|
["yarn", [
|
|
@@ -448,7 +527,7 @@ var lintPackage = ({ pkg, fix: fix2 }) => {
|
|
|
448
527
|
fix2 ? "package-fix" : "package-lint"
|
|
449
528
|
]]
|
|
450
529
|
]);
|
|
451
|
-
console.log(
|
|
530
|
+
console.log(chalk11.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk11.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk11.gray("seconds")}`));
|
|
452
531
|
return result;
|
|
453
532
|
};
|
|
454
533
|
var lint = ({
|
|
@@ -464,13 +543,13 @@ var lint = ({
|
|
|
464
543
|
});
|
|
465
544
|
};
|
|
466
545
|
var lintAllPackages = ({ fix: fix2 = false } = {}) => {
|
|
467
|
-
console.log(
|
|
546
|
+
console.log(chalk11.gray(`${fix2 ? "Fix" : "Lint"} [All-Packages]`));
|
|
468
547
|
const start = Date.now();
|
|
469
548
|
const fixOptions = fix2 ? ["--fix"] : [];
|
|
470
549
|
const result = runSteps(`${fix2 ? "Fix" : "Lint"} [All-Packages]`, [
|
|
471
550
|
["yarn", ["eslint", ...fixOptions]]
|
|
472
551
|
]);
|
|
473
|
-
console.log(
|
|
552
|
+
console.log(chalk11.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk11.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk11.gray("seconds")}`));
|
|
474
553
|
return result;
|
|
475
554
|
};
|
|
476
555
|
|
|
@@ -497,9 +576,9 @@ var publintAll = ({ verbose }) => {
|
|
|
497
576
|
};
|
|
498
577
|
|
|
499
578
|
// src/actions/relint.ts
|
|
500
|
-
import
|
|
579
|
+
import chalk12 from "chalk";
|
|
501
580
|
var relintPackage = ({ pkg }) => {
|
|
502
|
-
console.log(
|
|
581
|
+
console.log(chalk12.gray(`${"Relint"} [All-Packages]`));
|
|
503
582
|
const start = Date.now();
|
|
504
583
|
const result = runSteps("Relint [All-Packages]", [
|
|
505
584
|
["yarn", [
|
|
@@ -509,7 +588,7 @@ var relintPackage = ({ pkg }) => {
|
|
|
509
588
|
"package-relint"
|
|
510
589
|
]]
|
|
511
590
|
]);
|
|
512
|
-
console.log(
|
|
591
|
+
console.log(chalk12.gray(`${"Relinted in"} [${chalk12.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk12.gray("seconds")}`));
|
|
513
592
|
return result;
|
|
514
593
|
};
|
|
515
594
|
var relint = ({
|
|
@@ -520,7 +599,7 @@ var relint = ({
|
|
|
520
599
|
return pkg ? relintPackage({ pkg }) : relintAllPackages({ verbose, incremental });
|
|
521
600
|
};
|
|
522
601
|
var relintAllPackages = ({ verbose = true, incremental } = {}) => {
|
|
523
|
-
console.log(
|
|
602
|
+
console.log(chalk12.gray(`${"Relint"} [All-Packages]`));
|
|
524
603
|
const start = Date.now();
|
|
525
604
|
const verboseOptions = verbose ? ["--verbose"] : ["--no-verbose"];
|
|
526
605
|
const incrementalOptions = incremental ? ["--since", "-Ap"] : ["--parallel", "-Ap"];
|
|
@@ -534,7 +613,7 @@ var relintAllPackages = ({ verbose = true, incremental } = {}) => {
|
|
|
534
613
|
"package-relint"
|
|
535
614
|
]]
|
|
536
615
|
]);
|
|
537
|
-
console.log(
|
|
616
|
+
console.log(chalk12.gray(`Relinted in [${chalk12.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk12.gray("seconds")}`));
|
|
538
617
|
return result;
|
|
539
618
|
};
|
|
540
619
|
|
|
@@ -545,7 +624,7 @@ var sonar = () => {
|
|
|
545
624
|
|
|
546
625
|
// src/xy/param.ts
|
|
547
626
|
var packagePositionalParam = (yargs) => {
|
|
548
|
-
return yargs.positional("package", { describe: "Specific package to target" });
|
|
627
|
+
return yargs.positional("package", { describe: "Specific package to target", type: "string" });
|
|
549
628
|
};
|
|
550
629
|
|
|
551
630
|
// src/xy/xyLintCommands.ts
|
|
@@ -560,31 +639,61 @@ var xyLintCommands = (args) => {
|
|
|
560
639
|
const start = Date.now();
|
|
561
640
|
if (argv.verbose) console.log("Cycle");
|
|
562
641
|
process.exitCode = await cycle({ pkg: argv.package });
|
|
563
|
-
console.log(
|
|
642
|
+
console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
|
|
564
643
|
}
|
|
565
644
|
).command(
|
|
566
645
|
"lint [package]",
|
|
567
646
|
"Lint - Run Eslint",
|
|
568
647
|
(yargs) => {
|
|
569
|
-
return packagePositionalParam(yargs)
|
|
648
|
+
return packagePositionalParam(yargs).option("fix", {
|
|
649
|
+
alias: "f",
|
|
650
|
+
default: false,
|
|
651
|
+
description: "Fix fixable issues",
|
|
652
|
+
type: "boolean"
|
|
653
|
+
}).option("cache", {
|
|
654
|
+
alias: "c",
|
|
655
|
+
default: false,
|
|
656
|
+
description: "Use caching for performance",
|
|
657
|
+
type: "boolean"
|
|
658
|
+
});
|
|
570
659
|
},
|
|
571
660
|
(argv) => {
|
|
572
661
|
if (argv.verbose) console.log("Lint");
|
|
573
662
|
const start = Date.now();
|
|
574
|
-
process.exitCode = argv.fix ? fix({ pkg: argv.package }) : lint({ pkg: argv.package });
|
|
575
|
-
console.log(
|
|
663
|
+
process.exitCode = argv.fix ? fix({ pkg: argv.package, cache: argv.cache }) : lint({ pkg: argv.package, cache: argv.cache });
|
|
664
|
+
console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
|
|
576
665
|
}
|
|
577
666
|
).command(
|
|
578
667
|
"deplint [package]",
|
|
579
668
|
"Deplint - Run Deplint",
|
|
580
669
|
(yargs) => {
|
|
581
|
-
return packagePositionalParam(yargs)
|
|
670
|
+
return packagePositionalParam(yargs).option("deps", {
|
|
671
|
+
alias: "d",
|
|
672
|
+
default: false,
|
|
673
|
+
description: "Check dependencies",
|
|
674
|
+
type: "boolean"
|
|
675
|
+
}).option("devDeps", {
|
|
676
|
+
alias: "v",
|
|
677
|
+
default: false,
|
|
678
|
+
description: "Check devDependencies",
|
|
679
|
+
type: "boolean"
|
|
680
|
+
}).option("peerDeps", {
|
|
681
|
+
alias: "p",
|
|
682
|
+
default: false,
|
|
683
|
+
description: "Check peerDependencies",
|
|
684
|
+
type: "boolean"
|
|
685
|
+
});
|
|
582
686
|
},
|
|
583
687
|
(argv) => {
|
|
584
688
|
if (argv.verbose) console.log("Deplint");
|
|
585
689
|
const start = Date.now();
|
|
586
|
-
process.exitCode = deplint({
|
|
587
|
-
|
|
690
|
+
process.exitCode = deplint({
|
|
691
|
+
pkg: argv.package,
|
|
692
|
+
deps: !!argv.deps,
|
|
693
|
+
devDeps: !!argv.devDeps,
|
|
694
|
+
peerDeps: !!argv.peerDeps
|
|
695
|
+
});
|
|
696
|
+
console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
|
|
588
697
|
}
|
|
589
698
|
).command(
|
|
590
699
|
"fix [package]",
|
|
@@ -596,7 +705,7 @@ var xyLintCommands = (args) => {
|
|
|
596
705
|
const start = Date.now();
|
|
597
706
|
if (argv.verbose) console.log("Fix");
|
|
598
707
|
process.exitCode = fix();
|
|
599
|
-
console.log(
|
|
708
|
+
console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
|
|
600
709
|
}
|
|
601
710
|
).command(
|
|
602
711
|
"relint [package]",
|
|
@@ -608,7 +717,7 @@ var xyLintCommands = (args) => {
|
|
|
608
717
|
if (argv.verbose) console.log("Relinting");
|
|
609
718
|
const start = Date.now();
|
|
610
719
|
process.exitCode = relint();
|
|
611
|
-
console.log(
|
|
720
|
+
console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
|
|
612
721
|
}
|
|
613
722
|
).command(
|
|
614
723
|
"publint [package]",
|
|
@@ -620,7 +729,7 @@ var xyLintCommands = (args) => {
|
|
|
620
729
|
if (argv.verbose) console.log("Publint");
|
|
621
730
|
const start = Date.now();
|
|
622
731
|
process.exitCode = await publint({ pkg: argv.package, verbose: !!argv.verbose });
|
|
623
|
-
console.log(
|
|
732
|
+
console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
|
|
624
733
|
}
|
|
625
734
|
).command(
|
|
626
735
|
"knip",
|
|
@@ -632,7 +741,7 @@ var xyLintCommands = (args) => {
|
|
|
632
741
|
if (argv.verbose) console.log("Knip");
|
|
633
742
|
const start = Date.now();
|
|
634
743
|
process.exitCode = knip();
|
|
635
|
-
console.log(
|
|
744
|
+
console.log(chalk13.blue(`Knip finished in ${Date.now() - start}ms`));
|
|
636
745
|
}
|
|
637
746
|
).command(
|
|
638
747
|
"sonar",
|
|
@@ -644,7 +753,7 @@ var xyLintCommands = (args) => {
|
|
|
644
753
|
const start = Date.now();
|
|
645
754
|
if (argv.verbose) console.log("Sonar Check");
|
|
646
755
|
process.exitCode = sonar();
|
|
647
|
-
console.log(
|
|
756
|
+
console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
|
|
648
757
|
}
|
|
649
758
|
);
|
|
650
759
|
};
|