diff --git a/bin/installPlugins.ts b/bin/installPlugins.ts index bc7c3fdf8..caeb114fd 100644 --- a/bin/installPlugins.ts +++ b/bin/installPlugins.ts @@ -10,7 +10,16 @@ if (process.argv.length === 2) { process.exit(1); } -const plugins = process.argv.slice(2); +let plugins = process.argv.slice(2) +let installFromPath = false; + +const thirdOptPlug = plugins[3] + +if (thirdOptPlug && thirdOptPlug.includes('path')) { + installFromPath = true +} + +plugins.indexOf('--path') !== -1 && plugins.splice(plugins.indexOf('--path'), 2); const persistInstalledPlugins = async () => { const plugins:PackageData[] = [] @@ -27,6 +36,10 @@ const persistInstalledPlugins = async () => { async function run() { for (const plugin of plugins) { + if(installFromPath) { + await linkInstaller.installFromPath(plugin); + continue; + } await linkInstaller.installPlugin(plugin); } } diff --git a/src/static/js/pluginfw/LinkInstaller.ts b/src/static/js/pluginfw/LinkInstaller.ts index fbb5cd391..a3034e281 100644 --- a/src/static/js/pluginfw/LinkInstaller.ts +++ b/src/static/js/pluginfw/LinkInstaller.ts @@ -40,10 +40,10 @@ export class LinkInstaller { public async installFromPath(path: string) { const installedPlugin = await this.livePluginManager.installFromPath(path) + this.linkDependency(installedPlugin.name) await this.checkLinkedDependencies(installedPlugin) } - public async installPlugin(pluginName: string, version?: string) { if (version) { const installedPlugin = await this.livePluginManager.install(pluginName, version);