@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.
- package/dist/actions/deplint/checkPackage/checkPackage.mjs +256 -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 +17 -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 +256 -0
- package/dist/actions/deplint/checkPackage/index.mjs.map +1 -0
- package/dist/actions/deplint/deplint.mjs +316 -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} +160 -87
- package/dist/actions/deplint/index.mjs.map +1 -0
- package/dist/actions/fix.mjs.map +1 -1
- package/dist/actions/index.mjs +235 -160
- package/dist/actions/index.mjs.map +1 -1
- package/dist/actions/lint.mjs.map +1 -1
- package/dist/bin/xy.mjs +239 -155
- package/dist/bin/xy.mjs.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.mjs +282 -198
- package/dist/index.mjs.map +1 -1
- package/dist/xy/index.mjs +239 -155
- 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 +239 -155
- 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 +212 -107
- 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
385
|
if (!dependencies.includes(imp) && !peerDependencies.includes(imp) && !devDependencies.includes(imp) && !devDependencies.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,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(`[${
|
|
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.
|
|
376
|
-
|
|
377
|
-
console.log(`[${
|
|
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
|
-
|
|
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(`[${
|
|
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
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
}
|
|
410
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
485
|
+
checkPackage({
|
|
418
486
|
name,
|
|
419
487
|
location,
|
|
420
|
-
devDeps
|
|
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 +=
|
|
497
|
+
totalErrors += checkPackage({
|
|
498
|
+
...workspace,
|
|
499
|
+
deps,
|
|
500
|
+
devDeps,
|
|
501
|
+
peerDeps
|
|
502
|
+
});
|
|
428
503
|
}
|
|
429
504
|
if (totalErrors > 0) {
|
|
430
|
-
console.log(`Found ${
|
|
505
|
+
console.log(`Deplint: Found ${chalk10.red(totalErrors)} dependency problems. ${chalk10.red("\u2716")}`);
|
|
431
506
|
} else {
|
|
432
|
-
console.log(`
|
|
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
|
|
514
|
+
import chalk11 from "chalk";
|
|
440
515
|
var lintPackage = ({ pkg, fix: fix2 }) => {
|
|
441
|
-
console.log(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
575
|
+
import chalk12 from "chalk";
|
|
501
576
|
var relintPackage = ({ pkg }) => {
|
|
502
|
-
console.log(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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({
|
|
587
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
752
|
+
console.log(chalk13.blue(`Finished in ${Date.now() - start}ms`));
|
|
648
753
|
}
|
|
649
754
|
);
|
|
650
755
|
};
|