diff --git a/src/backend/UpdateManger.ts b/src/backend/UpdateManger.ts index f0bf5f9..32edf69 100644 --- a/src/backend/UpdateManger.ts +++ b/src/backend/UpdateManger.ts @@ -143,7 +143,9 @@ export abstract class FSExtension extends Extension{ @@ -157,17 +159,32 @@ export class NPMExtension extends FSExtension{ public async status(): Promise { const fsStatus = await super.status() - const { error, - stdout, - stderr } = await exec('npm info --prefix ' + this.prefix + ' ' + this.name + " version") + const { + latestError, + latest, + latestStdErr } = await exec('npm view --prefix ' + this.prefix + ' ' + this.name + " version") - if(error){ - logger.warn(stderr) + if(latestError){ + logger.warn(latestStdErr) return fsStatus } + + const { + authorError, + author, + authorStdErr } = await exec('npm author ls --prefix ' + this.prefix + ' ' + this.name) + + if(authorError){ + logger.warn(authorStdErr) + return { + ...fsStatus, + latest: latest} + } + return { ...fsStatus, - version: stdout + latest: latest, + author: author } } @@ -232,22 +249,22 @@ export class NPMExtension extends FSExtension{ } export type GitStatus = FSStatus & { - current?: string - wanted?: string + branch?: string + remote?: string latest?: string } export class GitExtension extends FSExtension{ constructor( name:string, - version = "latest", - public localPrefix:string, + prefix:string, + protected gitCloneURL: URL ){ super(name, version) } public async status(): Promise{ - + //TODO tomorrow } public async install(): Promise {