good night
This commit is contained in:
+29
-12
@@ -143,7 +143,9 @@ export abstract class FSExtension<Status extends FSStatus> extends Extension<FSS
|
|||||||
}
|
}
|
||||||
|
|
||||||
type NPMStatus = FSStatus & {
|
type NPMStatus = FSStatus & {
|
||||||
version?: string
|
latest?: string,
|
||||||
|
current?: string, // TODO
|
||||||
|
author?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export class NPMExtension extends FSExtension<NPMStatus>{
|
export class NPMExtension extends FSExtension<NPMStatus>{
|
||||||
@@ -157,17 +159,32 @@ export class NPMExtension extends FSExtension<NPMStatus>{
|
|||||||
public async status(): Promise<NPMStatus> {
|
public async status(): Promise<NPMStatus> {
|
||||||
|
|
||||||
const fsStatus = await super.status()
|
const fsStatus = await super.status()
|
||||||
const { error,
|
const {
|
||||||
stdout,
|
latestError,
|
||||||
stderr } = await exec('npm info --prefix ' + this.prefix + ' ' + this.name + " version")
|
latest,
|
||||||
|
latestStdErr } = await exec('npm view --prefix ' + this.prefix + ' ' + this.name + " version")
|
||||||
|
|
||||||
if(error){
|
if(latestError){
|
||||||
logger.warn(stderr)
|
logger.warn(latestStdErr)
|
||||||
return fsStatus
|
return fsStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const {
|
||||||
|
authorError,
|
||||||
|
author,
|
||||||
|
authorStdErr } = await exec('npm author ls --prefix ' + this.prefix + ' ' + this.name)
|
||||||
|
|
||||||
|
if(authorError){
|
||||||
|
logger.warn(authorStdErr)
|
||||||
return {
|
return {
|
||||||
...fsStatus,
|
...fsStatus,
|
||||||
version: stdout
|
latest: latest}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
...fsStatus,
|
||||||
|
latest: latest,
|
||||||
|
author: author
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,22 +249,22 @@ export class NPMExtension extends FSExtension<NPMStatus>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type GitStatus = FSStatus & {
|
export type GitStatus = FSStatus & {
|
||||||
current?: string
|
branch?: string
|
||||||
wanted?: string
|
remote?: string
|
||||||
latest?: string
|
latest?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export class GitExtension extends FSExtension<GitStatus>{
|
export class GitExtension extends FSExtension<GitStatus>{
|
||||||
constructor(
|
constructor(
|
||||||
name:string,
|
name:string,
|
||||||
version = "latest",
|
prefix:string,
|
||||||
public localPrefix:string,
|
protected gitCloneURL: URL
|
||||||
){
|
){
|
||||||
super(name, version)
|
super(name, version)
|
||||||
}
|
}
|
||||||
|
|
||||||
public async status(): Promise<GitStatus>{
|
public async status(): Promise<GitStatus>{
|
||||||
|
//TODO tomorrow
|
||||||
}
|
}
|
||||||
|
|
||||||
public async install(): Promise<boolean> {
|
public async install(): Promise<boolean> {
|
||||||
|
|||||||
Reference in New Issue
Block a user