@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.
Files changed (55) hide show
  1. package/dist/actions/deplint/checkPackage/checkPackage.mjs +260 -0
  2. package/dist/actions/deplint/checkPackage/checkPackage.mjs.map +1 -0
  3. package/dist/actions/deplint/checkPackage/checkPackageTypes.mjs +1 -0
  4. package/dist/actions/deplint/checkPackage/checkPackageTypes.mjs.map +1 -0
  5. package/dist/actions/deplint/checkPackage/getTypesInDependencies.mjs +19 -0
  6. package/dist/actions/deplint/checkPackage/getTypesInDependencies.mjs.map +1 -0
  7. package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs +35 -0
  8. package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs.map +1 -0
  9. package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs +21 -0
  10. package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs.map +1 -0
  11. package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs +22 -0
  12. package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs.map +1 -0
  13. package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs +19 -0
  14. package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs.map +1 -0
  15. package/dist/actions/deplint/checkPackage/index.mjs +260 -0
  16. package/dist/actions/deplint/checkPackage/index.mjs.map +1 -0
  17. package/dist/actions/deplint/deplint.mjs +320 -0
  18. package/dist/actions/deplint/deplint.mjs.map +1 -0
  19. package/dist/actions/deplint/findFiles.mjs +24 -0
  20. package/dist/actions/deplint/findFiles.mjs.map +1 -0
  21. package/dist/actions/deplint/findFilesByGlob.mjs +9 -0
  22. package/dist/actions/deplint/findFilesByGlob.mjs.map +1 -0
  23. package/dist/actions/deplint/getBasePackageName.mjs +12 -0
  24. package/dist/actions/deplint/getBasePackageName.mjs.map +1 -0
  25. package/dist/actions/deplint/getDependenciesFromPackageJson.mjs +20 -0
  26. package/dist/actions/deplint/getDependenciesFromPackageJson.mjs.map +1 -0
  27. package/dist/actions/deplint/getExternalImportsFromFiles.mjs +98 -0
  28. package/dist/actions/deplint/getExternalImportsFromFiles.mjs.map +1 -0
  29. package/dist/actions/deplint/getImportsFromFile.mjs +65 -0
  30. package/dist/actions/deplint/getImportsFromFile.mjs.map +1 -0
  31. package/dist/actions/{deplint.mjs → deplint/index.mjs} +165 -88
  32. package/dist/actions/deplint/index.mjs.map +1 -0
  33. package/dist/actions/fix.mjs.map +1 -1
  34. package/dist/actions/index.mjs +240 -161
  35. package/dist/actions/index.mjs.map +1 -1
  36. package/dist/actions/lint.mjs.map +1 -1
  37. package/dist/bin/xy.mjs +244 -156
  38. package/dist/bin/xy.mjs.map +1 -1
  39. package/dist/index.d.ts +5 -1
  40. package/dist/index.mjs +287 -199
  41. package/dist/index.mjs.map +1 -1
  42. package/dist/xy/index.mjs +244 -156
  43. package/dist/xy/index.mjs.map +1 -1
  44. package/dist/xy/param.mjs +1 -1
  45. package/dist/xy/param.mjs.map +1 -1
  46. package/dist/xy/xy.mjs +244 -156
  47. package/dist/xy/xy.mjs.map +1 -1
  48. package/dist/xy/xyCommonCommands.mjs +1 -1
  49. package/dist/xy/xyCommonCommands.mjs.map +1 -1
  50. package/dist/xy/xyLintCommands.mjs +217 -108
  51. package/dist/xy/xyLintCommands.mjs.map +1 -1
  52. package/dist/xy/xyParseOptions.mjs +0 -21
  53. package/dist/xy/xyParseOptions.mjs.map +1 -1
  54. package/package.json +3 -3
  55. package/dist/actions/deplint.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  // src/xy/xyLintCommands.ts
2
- import chalk8 from "chalk";
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 = fs.readFileSync(filePath, "utf8");
276
+ const sourceCode = fs2.readFileSync(filePath, "utf8");
247
277
  const sourceFile = ts.createSourceFile(
248
- path.basename(filePath),
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
- function findFilesByGlob(cwd, pattern) {
292
- return globSync(pattern, { cwd, absolute: true });
293
- }
294
- function findFiles(path2) {
295
- const allSourceInclude = ["./src/**/*.{ts,tsx}", "./dist/**/*.d.ts"];
296
- const prodExcludeEndswith = [".spec.ts", ".stories.tsx"];
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((path2) => getImportsFromFile(path2, prodImportPaths, prodTypeImportPaths));
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((path2) => getImportsFromFile(path2, devImportPaths, devTypeImportPaths));
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.filter((imp) => !imp.startsWith(".") && !imp.startsWith("#") && !imp.startsWith("node:"));
319
- const externalProdTypeImports = prodTypeImports.filter((imp) => !imp.startsWith(".") && !imp.startsWith("#") && !imp.startsWith("node:"));
320
- const externalDevImports = devImports.filter((imp) => !imp.startsWith(".") && !imp.startsWith("#") && !imp.startsWith("node:"));
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
- function check({
335
- name,
336
- location,
337
- devDeps = false,
338
- peerDeps = false
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) && !devDependencies.includes(imp) && !devDependencies.includes(`@types/${imp}`)) {
385
+ if (!dependencies.includes(imp) && !peerDependencies.includes(imp) && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(`@types/${imp}`)) {
360
386
  unlistedDependencies++;
361
- console.log(`[${chalk5.blue(name)}] Missing dependency in package.json: ${chalk5.red(imp)}`);
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(`[${chalk5.blue(name)}] Missing dependency in package.json: ${chalk5.red(imp)}`);
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.startsWith("@types/")) {
376
- typesInDependencies++;
377
- console.log(`[${chalk5.blue(name)}] @types in dependencies in package.json: ${chalk5.red(dep)}`);
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
- if (!externalProdImports.includes(dep)) {
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(`[${chalk5.blue(name)}] Unused dependency in package.json: ${chalk5.red(dep)}`);
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
- if (peerDeps) {
391
- for (const dep of peerDependencies) {
392
- if (!externalProdImports.includes(dep)) {
393
- unusedDependencies++;
394
- console.log(`[${chalk5.blue(name)}] Unused peerDependency in package.json: ${chalk5.red(dep)}`);
395
- console.log(` ${location}/package.json
396
- `);
397
- console.log("");
398
- }
399
- }
400
- }
401
- if (devDeps) {
402
- for (const imp of externalDevImports) {
403
- if (!devDependencies.includes(imp)) {
404
- unlistedDevDependencies++;
405
- console.log(`[${chalk5.blue(name)}] Missing devDependency in package.json: ${chalk5.red(imp)}`);
406
- console.log(` Found in: ${devImportPaths[imp].join(", ")}`);
407
- }
408
- }
409
- }
410
- const totalErrors = unlistedDependencies + unlistedDevDependencies + unusedDependencies + typesInDependencies;
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
- var deplint = ({ pkg }) => {
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
- check({
489
+ checkPackage({
418
490
  name,
419
491
  location,
420
- devDeps: true
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 += check(workspace);
501
+ totalErrors += checkPackage({
502
+ ...workspace,
503
+ deps,
504
+ devDeps,
505
+ peerDeps
506
+ });
428
507
  }
429
508
  if (totalErrors > 0) {
430
- console.log(`Found ${chalk5.red(totalErrors)} unlisted imports.`);
509
+ console.log(`Deplint: Found ${chalk10.red(totalErrors)} dependency problems. ${chalk10.red("\u2716")}`);
431
510
  } else {
432
- console.log(`No unlisted imports found. ${chalk5.green("\u2714")}`);
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 chalk6 from "chalk";
518
+ import chalk11 from "chalk";
440
519
  var lintPackage = ({ pkg, fix: fix2 }) => {
441
- console.log(chalk6.gray(`${fix2 ? "Fix" : "Lint"} [${pkg}]`));
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(chalk6.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk6.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk6.gray("seconds")}`));
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(chalk6.gray(`${fix2 ? "Fix" : "Lint"} [All-Packages]`));
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(chalk6.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk6.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk6.gray("seconds")}`));
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 chalk7 from "chalk";
579
+ import chalk12 from "chalk";
501
580
  var relintPackage = ({ pkg }) => {
502
- console.log(chalk7.gray(`${"Relint"} [All-Packages]`));
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(chalk7.gray(`${"Relinted in"} [${chalk7.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk7.gray("seconds")}`));
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(chalk7.gray(`${"Relint"} [All-Packages]`));
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(chalk7.gray(`Relinted in [${chalk7.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk7.gray("seconds")}`));
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(chalk8.blue(`Finished in ${Date.now() - start}ms`));
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(chalk8.blue(`Finished in ${Date.now() - start}ms`));
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({ pkg: argv.package });
587
- console.log(chalk8.blue(`Finished in ${Date.now() - start}ms`));
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(chalk8.blue(`Finished in ${Date.now() - start}ms`));
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(chalk8.blue(`Finished in ${Date.now() - start}ms`));
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(chalk8.blue(`Finished in ${Date.now() - start}ms`));
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(chalk8.blue(`Knip finished in ${Date.now() - start}ms`));
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(chalk8.blue(`Finished in ${Date.now() - start}ms`));
756
+ console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
648
757
  }
649
758
  );
650
759
  };