@xylabs/ts-scripts-yarn3 6.5.0 → 6.5.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 (55) hide show
  1. package/dist/actions/deplint/checkPackage/checkPackage.mjs +256 -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 +17 -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 +256 -0
  16. package/dist/actions/deplint/checkPackage/index.mjs.map +1 -0
  17. package/dist/actions/deplint/deplint.mjs +316 -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} +160 -87
  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 +235 -160
  35. package/dist/actions/index.mjs.map +1 -1
  36. package/dist/actions/lint.mjs.map +1 -1
  37. package/dist/bin/xy.mjs +239 -155
  38. package/dist/bin/xy.mjs.map +1 -1
  39. package/dist/index.d.ts +5 -1
  40. package/dist/index.mjs +282 -198
  41. package/dist/index.mjs.map +1 -1
  42. package/dist/xy/index.mjs +239 -155
  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 +239 -155
  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 +212 -107
  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
385
  if (!dependencies.includes(imp) && !peerDependencies.includes(imp) && !devDependencies.includes(imp) && !devDependencies.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,128 @@ 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 }, { devDependencies }, { devImportPaths, externalDevImports }) {
406
+ let unlistedDevDependencies = 0;
407
+ for (const imp of externalDevImports) {
408
+ if (!devDependencies.includes(imp)) {
409
+ unlistedDevDependencies++;
410
+ console.log(`[${chalk7.blue(name)}] Missing devDependency in package.json: ${chalk7.red(imp)}`);
411
+ console.log(` Found in: ${devImportPaths[imp].join(", ")}`);
412
+ }
413
+ }
414
+ return unlistedDevDependencies;
415
+ }
416
+
417
+ // src/actions/deplint/checkPackage/getUnusedDependencies.ts
418
+ import chalk8 from "chalk";
419
+ function getUnusedDependencies({ name, location }, { dependencies }, {
420
+ externalProdImports,
421
+ externalProdTypeImports
422
+ }) {
423
+ let unusedDependencies = 0;
374
424
  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)}`);
425
+ if (!externalProdImports.includes(dep) && !externalProdTypeImports.includes(dep)) {
426
+ unusedDependencies++;
427
+ console.log(`[${chalk8.blue(name)}] Unused dependency in package.json: ${chalk8.red(dep)}`);
378
428
  console.log(` ${location}/package.json
379
429
  `);
380
430
  console.log("");
381
431
  }
382
- if (!externalProdImports.includes(dep)) {
432
+ }
433
+ return unusedDependencies;
434
+ }
435
+
436
+ // src/actions/deplint/checkPackage/getUnusedPeerDependencies.ts
437
+ import chalk9 from "chalk";
438
+ function getUnusedPeerDependencies({ name, location }, { peerDependencies }, { externalProdImports, externalProdTypeImports }) {
439
+ let unusedDependencies = 0;
440
+ for (const dep of peerDependencies) {
441
+ if (!externalProdImports.includes(dep) && !externalProdTypeImports.includes(dep)) {
383
442
  unusedDependencies++;
384
- console.log(`[${chalk5.blue(name)}] Unused dependency in package.json: ${chalk5.red(dep)}`);
443
+ console.log(`[${chalk9.blue(name)}] Unused peerDependency in package.json: ${chalk9.red(dep)}`);
385
444
  console.log(` ${location}/package.json
386
445
  `);
387
446
  console.log("");
388
447
  }
389
448
  }
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;
449
+ return unusedDependencies;
450
+ }
451
+
452
+ // src/actions/deplint/checkPackage/checkPackage.ts
453
+ function checkPackage({
454
+ name,
455
+ location,
456
+ deps = false,
457
+ devDeps = false,
458
+ peerDeps = false
459
+ }) {
460
+ const { prodSourceFiles, devSourceFiles } = findFiles(location);
461
+ const checkDeps = deps || !(deps || devDeps || peerDeps);
462
+ const checkDevDeps = devDeps || !(deps || devDeps || peerDeps);
463
+ const checkPeerDeps = peerDeps || !(deps || devDeps || peerDeps);
464
+ const sourceParams = getExternalImportsFromFiles({ prodSourceFiles, devSourceFiles });
465
+ const packageParams = getDependenciesFromPackageJson(`${location}/package.json`);
466
+ const unlistedDependencies = checkDeps ? getUnlistedDependencies({ name, location }, packageParams, sourceParams) : 0;
467
+ const unusedDependencies = checkDeps ? getUnusedDependencies({ name, location }, packageParams, sourceParams) : 0;
468
+ const typesInDependencies = checkDeps ? getTypesInDependencies({ name, location }, packageParams, sourceParams) : 0;
469
+ const unlistedDevDependencies = checkDevDeps ? getUnlistedDevDependencies({ name, location }, packageParams, sourceParams) : 0;
470
+ const unusedPeerDependencies = checkPeerDeps ? getUnusedPeerDependencies({ name, location }, packageParams, sourceParams) : 0;
471
+ const totalErrors = unlistedDependencies + unlistedDevDependencies + unusedDependencies + typesInDependencies + unusedPeerDependencies;
411
472
  return totalErrors;
412
473
  }
413
- var deplint = ({ pkg }) => {
474
+
475
+ // src/actions/deplint/deplint.ts
476
+ var deplint = ({
477
+ pkg,
478
+ deps,
479
+ devDeps,
480
+ peerDeps
481
+ }) => {
414
482
  if (pkg) {
415
483
  const { location, name } = yarnWorkspace(pkg);
416
484
  console.log(`Running Deplint for ${name}`);
417
- check({
485
+ checkPackage({
418
486
  name,
419
487
  location,
420
- devDeps: true
488
+ devDeps,
489
+ deps,
490
+ peerDeps
421
491
  });
422
492
  } else {
423
493
  const workspaces = yarnWorkspaces();
424
494
  console.log("Deplint Started...");
425
495
  let totalErrors = 0;
426
496
  for (const workspace of workspaces) {
427
- totalErrors += check(workspace);
497
+ totalErrors += checkPackage({
498
+ ...workspace,
499
+ deps,
500
+ devDeps,
501
+ peerDeps
502
+ });
428
503
  }
429
504
  if (totalErrors > 0) {
430
- console.log(`Found ${chalk5.red(totalErrors)} unlisted imports.`);
505
+ console.log(`Deplint: Found ${chalk10.red(totalErrors)} dependency problems. ${chalk10.red("\u2716")}`);
431
506
  } else {
432
- console.log(`No unlisted imports found. ${chalk5.green("\u2714")}`);
507
+ console.log(`Deplint: Found no dependency problems. ${chalk10.green("\u2714")}`);
433
508
  }
434
509
  }
435
510
  return 0;
436
511
  };
437
512
 
438
513
  // src/actions/lint.ts
439
- import chalk6 from "chalk";
514
+ import chalk11 from "chalk";
440
515
  var lintPackage = ({ pkg, fix: fix2 }) => {
441
- console.log(chalk6.gray(`${fix2 ? "Fix" : "Lint"} [${pkg}]`));
516
+ console.log(chalk11.gray(`${fix2 ? "Fix" : "Lint"} [${pkg}]`));
442
517
  const start = Date.now();
443
518
  const result = runSteps(`${fix2 ? "Fix" : "Lint"} [${pkg}]`, [
444
519
  ["yarn", [
@@ -448,7 +523,7 @@ var lintPackage = ({ pkg, fix: fix2 }) => {
448
523
  fix2 ? "package-fix" : "package-lint"
449
524
  ]]
450
525
  ]);
451
- console.log(chalk6.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk6.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk6.gray("seconds")}`));
526
+ console.log(chalk11.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk11.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk11.gray("seconds")}`));
452
527
  return result;
453
528
  };
454
529
  var lint = ({
@@ -464,13 +539,13 @@ var lint = ({
464
539
  });
465
540
  };
466
541
  var lintAllPackages = ({ fix: fix2 = false } = {}) => {
467
- console.log(chalk6.gray(`${fix2 ? "Fix" : "Lint"} [All-Packages]`));
542
+ console.log(chalk11.gray(`${fix2 ? "Fix" : "Lint"} [All-Packages]`));
468
543
  const start = Date.now();
469
544
  const fixOptions = fix2 ? ["--fix"] : [];
470
545
  const result = runSteps(`${fix2 ? "Fix" : "Lint"} [All-Packages]`, [
471
546
  ["yarn", ["eslint", ...fixOptions]]
472
547
  ]);
473
- console.log(chalk6.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk6.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk6.gray("seconds")}`));
548
+ console.log(chalk11.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk11.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk11.gray("seconds")}`));
474
549
  return result;
475
550
  };
476
551
 
@@ -497,9 +572,9 @@ var publintAll = ({ verbose }) => {
497
572
  };
498
573
 
499
574
  // src/actions/relint.ts
500
- import chalk7 from "chalk";
575
+ import chalk12 from "chalk";
501
576
  var relintPackage = ({ pkg }) => {
502
- console.log(chalk7.gray(`${"Relint"} [All-Packages]`));
577
+ console.log(chalk12.gray(`${"Relint"} [All-Packages]`));
503
578
  const start = Date.now();
504
579
  const result = runSteps("Relint [All-Packages]", [
505
580
  ["yarn", [
@@ -509,7 +584,7 @@ var relintPackage = ({ pkg }) => {
509
584
  "package-relint"
510
585
  ]]
511
586
  ]);
512
- console.log(chalk7.gray(`${"Relinted in"} [${chalk7.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk7.gray("seconds")}`));
587
+ console.log(chalk12.gray(`${"Relinted in"} [${chalk12.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk12.gray("seconds")}`));
513
588
  return result;
514
589
  };
515
590
  var relint = ({
@@ -520,7 +595,7 @@ var relint = ({
520
595
  return pkg ? relintPackage({ pkg }) : relintAllPackages({ verbose, incremental });
521
596
  };
522
597
  var relintAllPackages = ({ verbose = true, incremental } = {}) => {
523
- console.log(chalk7.gray(`${"Relint"} [All-Packages]`));
598
+ console.log(chalk12.gray(`${"Relint"} [All-Packages]`));
524
599
  const start = Date.now();
525
600
  const verboseOptions = verbose ? ["--verbose"] : ["--no-verbose"];
526
601
  const incrementalOptions = incremental ? ["--since", "-Ap"] : ["--parallel", "-Ap"];
@@ -534,7 +609,7 @@ var relintAllPackages = ({ verbose = true, incremental } = {}) => {
534
609
  "package-relint"
535
610
  ]]
536
611
  ]);
537
- console.log(chalk7.gray(`Relinted in [${chalk7.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk7.gray("seconds")}`));
612
+ console.log(chalk12.gray(`Relinted in [${chalk12.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk12.gray("seconds")}`));
538
613
  return result;
539
614
  };
540
615
 
@@ -545,7 +620,7 @@ var sonar = () => {
545
620
 
546
621
  // src/xy/param.ts
547
622
  var packagePositionalParam = (yargs) => {
548
- return yargs.positional("package", { describe: "Specific package to target" });
623
+ return yargs.positional("package", { describe: "Specific package to target", type: "string" });
549
624
  };
550
625
 
551
626
  // src/xy/xyLintCommands.ts
@@ -560,31 +635,61 @@ var xyLintCommands = (args) => {
560
635
  const start = Date.now();
561
636
  if (argv.verbose) console.log("Cycle");
562
637
  process.exitCode = await cycle({ pkg: argv.package });
563
- console.log(chalk8.blue(`Finished in ${Date.now() - start}ms`));
638
+ console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
564
639
  }
565
640
  ).command(
566
641
  "lint [package]",
567
642
  "Lint - Run Eslint",
568
643
  (yargs) => {
569
- return packagePositionalParam(yargs);
644
+ return packagePositionalParam(yargs).option("fix", {
645
+ alias: "f",
646
+ default: false,
647
+ description: "Fix fixable issues",
648
+ type: "boolean"
649
+ }).option("cache", {
650
+ alias: "c",
651
+ default: false,
652
+ description: "Use caching for performance",
653
+ type: "boolean"
654
+ });
570
655
  },
571
656
  (argv) => {
572
657
  if (argv.verbose) console.log("Lint");
573
658
  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`));
659
+ process.exitCode = argv.fix ? fix({ pkg: argv.package, cache: argv.cache }) : lint({ pkg: argv.package, cache: argv.cache });
660
+ console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
576
661
  }
577
662
  ).command(
578
663
  "deplint [package]",
579
664
  "Deplint - Run Deplint",
580
665
  (yargs) => {
581
- return packagePositionalParam(yargs);
666
+ return packagePositionalParam(yargs).option("deps", {
667
+ alias: "d",
668
+ default: false,
669
+ description: "Check dependencies",
670
+ type: "boolean"
671
+ }).option("devDeps", {
672
+ alias: "v",
673
+ default: false,
674
+ description: "Check devDependencies",
675
+ type: "boolean"
676
+ }).option("peerDeps", {
677
+ alias: "p",
678
+ default: false,
679
+ description: "Check peerDependencies",
680
+ type: "boolean"
681
+ });
582
682
  },
583
683
  (argv) => {
584
684
  if (argv.verbose) console.log("Deplint");
585
685
  const start = Date.now();
586
- process.exitCode = deplint({ pkg: argv.package });
587
- console.log(chalk8.blue(`Finished in ${Date.now() - start}ms`));
686
+ process.exitCode = deplint({
687
+ pkg: argv.package,
688
+ deps: !!argv.deps,
689
+ devDeps: !!argv.devDeps,
690
+ peerDeps: !!argv.peerDeps
691
+ });
692
+ console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
588
693
  }
589
694
  ).command(
590
695
  "fix [package]",
@@ -596,7 +701,7 @@ var xyLintCommands = (args) => {
596
701
  const start = Date.now();
597
702
  if (argv.verbose) console.log("Fix");
598
703
  process.exitCode = fix();
599
- console.log(chalk8.blue(`Finished in ${Date.now() - start}ms`));
704
+ console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
600
705
  }
601
706
  ).command(
602
707
  "relint [package]",
@@ -608,7 +713,7 @@ var xyLintCommands = (args) => {
608
713
  if (argv.verbose) console.log("Relinting");
609
714
  const start = Date.now();
610
715
  process.exitCode = relint();
611
- console.log(chalk8.blue(`Finished in ${Date.now() - start}ms`));
716
+ console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
612
717
  }
613
718
  ).command(
614
719
  "publint [package]",
@@ -620,7 +725,7 @@ var xyLintCommands = (args) => {
620
725
  if (argv.verbose) console.log("Publint");
621
726
  const start = Date.now();
622
727
  process.exitCode = await publint({ pkg: argv.package, verbose: !!argv.verbose });
623
- console.log(chalk8.blue(`Finished in ${Date.now() - start}ms`));
728
+ console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
624
729
  }
625
730
  ).command(
626
731
  "knip",
@@ -632,7 +737,7 @@ var xyLintCommands = (args) => {
632
737
  if (argv.verbose) console.log("Knip");
633
738
  const start = Date.now();
634
739
  process.exitCode = knip();
635
- console.log(chalk8.blue(`Knip finished in ${Date.now() - start}ms`));
740
+ console.log(chalk13.blue(`Knip finished in ${Date.now() - start}ms`));
636
741
  }
637
742
  ).command(
638
743
  "sonar",
@@ -644,7 +749,7 @@ var xyLintCommands = (args) => {
644
749
  const start = Date.now();
645
750
  if (argv.verbose) console.log("Sonar Check");
646
751
  process.exitCode = sonar();
647
- console.log(chalk8.blue(`Finished in ${Date.now() - start}ms`));
752
+ console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
648
753
  }
649
754
  );
650
755
  };