UNPKG

@allgemein/moduls

Version:

Commons-moduls handles and manages contextual moduls for complex and modular applications.

50 lines 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ModuleDescriptor = void 0; class ModuleDescriptor { constructor() { this.id = ModuleDescriptor.INC++; this.weight = 0; this.dependencies = {}; this.peerDependencies = {}; this.child_modules = []; /** * if modul is declared outside a node_modules directory * * @type {boolean} */ this.internal = false; this.sub_modules = {}; this.submodule = false; this.name = null; this.version = null; this.path = null; this.weight = 0; this.dependencies = {}; this.peerDependencies = {}; this.child_modules = []; } static fromOptions(options) { let m = new ModuleDescriptor(); m.name = options.name; m.version = options.version || null; m.path = options.path || null; m.main = options.main || null; m.internal = !/(\/|\\)node_modules(\/|\\)/.test(m.path); m.dependencies = options.dependencies || {}; m.peerDependencies = options.peerDependencies || {}; m.child_modules = options.child_modules || []; m.sub_modules = options.sub_modules || {}; return m; //merge(m,options) } getMain(sep = '/') { let chain = [this.path]; if (this.main) { chain.push(this.main.replace(/.\w+$/, '')); } return chain.join(sep); } } exports.ModuleDescriptor = ModuleDescriptor; ModuleDescriptor.INC = 0; //# sourceMappingURL=ModuleDescriptor.js.map