feat: tracatch plugin build

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
MiaoWoo 2020-03-21 15:48:45 +08:00
parent 39861b2c46
commit ace2c48ae2
2 changed files with 14 additions and 9 deletions

View File

@ -8,8 +8,8 @@
"scripts": {
"bs": "lerna bootstrap",
"clean": "lerna run clean",
"watch": "lerna run watch --parallel --scope=\"@ms/!(manager)\"",
"build": "lerna run build --scope=\"@ms/!(plugins|manager)\"",
"watch": "lerna run watch --parallel",
"build": "lerna run build --scope=\"@ms/!(plugins)\"",
"build:plugins": "lerna run build --scope=\"@ms/plugins\"",
"ug": "yarn upgrade-interactive --latest",
"lp": "lerna publish"

View File

@ -186,14 +186,19 @@ export class PluginManagerImpl implements plugin.PluginManager {
}
private buildPlugin(metadata: interfaces.PluginMetadata) {
this.bindPlugin(metadata)
let pluginInstance = this.container.getNamed<interfaces.Plugin>(plugin.Plugin, metadata.name)
if (!(pluginInstance instanceof interfaces.Plugin)) {
console.i18n('ms.plugin.manager.build.not.extends', { source: metadata.source })
return
try {
this.bindPlugin(metadata)
let pluginInstance = this.container.getNamed<interfaces.Plugin>(plugin.Plugin, metadata.name)
if (!(pluginInstance instanceof interfaces.Plugin)) {
console.i18n('ms.plugin.manager.build.not.extends', { source: metadata.source })
return
}
this.pluginMap.set(metadata.name, pluginInstance)
return pluginInstance;
} catch (ex) {
console.i18n("ms.plugin.manager.initialize.error", { name: metadata.name, ex })
console.ex(ex)
}
this.pluginMap.set(metadata.name, pluginInstance)
return pluginInstance
}
private bindPlugin(metadata: interfaces.PluginMetadata) {