UNPKG

builder-isv

Version:

ISV 模块本地预览与云构建器

67 lines (58 loc) 1.52 kB
/** * @author 龙喜<xiaolong.lxl@alibaba-inc.com> * @description Module */ 'use strict'; const path = require('path'); const Base = require('./base'); module.exports = class Module extends Base { /** * 模块信息 * @param workSpace 模块工作空间 * @param moduleType 模块类型 * @param moduleName 模块名称 * @param invokeType 调用类型 preview | build */ constructor(workSpace, moduleType, moduleName, invokeType) { super(workSpace, invokeType); if (invokeType === Base.INVOKE_TYPE_BUILD) { this.moduleName = moduleName; this.modulePath = workSpace; } else { this.moduleType = moduleType; this.moduleName = moduleName; this.type = moduleName; this.modulePath = path.join(this.workSpace, moduleType, moduleName); } } /** * 获取模块信息 */ get packageInfo() { if (!this.__packageInfo) { try { this.__packageInfo = this.utils.JSONStore.create(path.join(this.modulePath, 'package.json')); } catch (e) { throw { message: 'package.json 解析失败:' + e.message }; } } return this.__packageInfo; } /** * 获取 abc 信息 */ get abcInfo() { if (!this.__abcInfo) { try { this.__abcInfo = this.utils.JSONStore.create(path.join(this.modulePath, 'abc.json')); } catch (e) { throw { message: 'abc.json 解析失败:' + e.message }; } } return this.__abcInfo; } };