wv-gotcha
Version:
 wv-local-service-bus # Purpose To accumulate your walkthroughs to accomplish your common tasks with less effort.
76 lines • 2.19 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PackageJson = void 0;
require("decova-dotnet");
const wv_semversion_1 = require("wv-semversion");
const Json_1 = require("../JSON/Json");
// interface LooseObject {
// [key: string]: any
// }
class PackageJson {
constructor(FilePath) {
this.FilePath = FilePath;
this.name = '';
this.version = '';
this.liscense = '';
this.main = '';
this.module = '';
this.description = '';
this.sourceMap = true;
this.inlineSourceMap = false;
this.outDir = '';
this._scripts = [];
this.files = [];
this.keywords = [];
this.dependencies = new Object();
this.bin = new Object();
this.devDependencies = new Object();
Json_1.Json.populate(this, this.FilePath);
}
get scriptList() {
return this._scripts;
}
get fileList() {
return this.files;
}
get keywordList() {
return this.keywords;
}
get dependencyMap() {
return Map.FromObjectProps(this.dependencies);
// return Dictionary.FromObjectProps<string>(this.dependencies);
}
hasAsDependency(depName) {
return Object.getOwnPropertyNames(this.dependencies).xAny(p => p == depName);
}
get binMap() {
return Map.FromObjectProps(this.bin);
}
get devDependencyMap() {
return Map.FromObjectProps(this.devDependencies);
}
saveAs(filePath) {
const objToSave = Object.assign({}, this);
delete objToSave.FilePath;
Json_1.Json.TrySave(filePath, objToSave, true, true);
}
save() {
this.saveAs(this.FilePath);
}
incrementVersionPatch(autoSave = false) {
try {
const version = new wv_semversion_1.SemVersion(this.version);
version.patch++;
this.version = version.toString();
if (autoSave) {
this.save();
}
}
catch (err) {
console.log(err);
throw err;
}
}
}
exports.PackageJson = PackageJson;
//# sourceMappingURL=PackageJson.js.map