MCPcopy
hub / github.com/antfu-collective/taze / check

Function check

src/commands/check/index.ts:18–197  ·  view source on GitHub ↗
(options: CheckOptions)

Source from the content-addressed store, hash-verified

16import { outputErr, renderPackages } from './render'
17
18export async function check(options: CheckOptions) {
19 let exitCode = 0
20 const bars = options.loglevel === 'silent' ? null : createMultiProgressBar()
21 let packagesBar: SingleBar | undefined
22 const depBar = bars?.create(1, 0)
23
24 let resolvePkgs: PackageMeta[] = []
25
26 const { packages } = await CheckPackages(options, {
27 afterPackagesLoaded(pkgs) {
28 packagesBar = (options.recursive && pkgs.length)
29 ? bars?.create(pkgs.length, 0, { type: c.cyan('pkg'), name: c.cyan(pkgs[0].name) })
30 : undefined
31
32 const totalDeps = pkgs.reduce((acc, pkg) => acc + pkg.deps.length, 0)
33 depBar?.start(totalDeps, 0, { type: c.green('dep'), name: '' })
34 },
35 beforePackageStart(pkg) {
36 packagesBar?.increment(0, { name: c.cyan(pkg.name) })
37 },
38
39 beforePackageWrite() {
40 // disbale auto write
41 return false
42 },
43 afterPackageEnd() {
44 packagesBar?.increment(1)
45 },
46 afterPackagesEnd() {
47 depBar?.stop()
48 },
49 onDependencyResolved(_pkgName, name, progress) {
50 depBar?.update(progress, { name })
51 },
52 })
53 resolvePkgs = packages
54
55 bars?.stop()
56
57 if (options.interactive)
58 resolvePkgs = await promptInteractive(resolvePkgs, options)
59
60 const { lines, errLines } = renderPackages(resolvePkgs, options)
61
62 const hasChanges = resolvePkgs.length && resolvePkgs.some(i => i.resolved.some(j => j.update))
63 if (!hasChanges) {
64 if (errLines.length)
65 outputErr(errLines)
66 else
67 console.log(c.green('dependencies are already up-to-date'))
68
69 return exitCode
70 }
71
72 console.log(lines.join('\n'))
73
74 if (!options.all) {
75 const counter = resolvePkgs.reduce((counter, pkg) => {

Callers 1

cli.tsFile · 0.90

Calls 7

createMultiProgressBarFunction · 0.90
CheckPackagesFunction · 0.90
promptInteractiveFunction · 0.90
renderPackagesFunction · 0.90
outputErrFunction · 0.90
writePackageFunction · 0.90
logMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…