32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import plugins = require('./projectinfo.plugins')
|
|
export class ProjectinfoNpm {
|
|
isNpm: boolean = false
|
|
packageJson: any
|
|
name: string
|
|
version: string
|
|
status: string
|
|
license: string
|
|
git: plugins.smartstring.GitRepo
|
|
|
|
constructor(cwdArg: string, optionsArg: { gitAccessToken?: string } = {}) {
|
|
let resolvedCwd = plugins.path.resolve(cwdArg)
|
|
if (plugins.smartfile.fs.fileExists(plugins.path.join(resolvedCwd, 'package.json'))) {
|
|
this.isNpm = true
|
|
this.packageJson = plugins.smartfile.fs.toObjectSync(
|
|
plugins.path.join(
|
|
resolvedCwd,
|
|
'package.json'
|
|
),
|
|
'json'
|
|
)
|
|
this.name = this.packageJson.name
|
|
this.version = this.packageJson.version
|
|
this.status = 'ok'
|
|
this.license = this.packageJson.license
|
|
if (this.packageJson.repository) {
|
|
this.git = new plugins.smartstring.GitRepo(this.packageJson.repository.url, optionsArg.gitAccessToken)
|
|
};
|
|
}
|
|
};
|
|
}
|