From c2c14576a5eb5f3d1231fef9fa50927109f1dc8b Mon Sep 17 00:00:00 2001 From: Matteo Rigoni Date: Wed, 9 Sep 2020 09:40:35 +0200 Subject: [PATCH] fix(cli): url gets repeated twice if shopware plugins configuration return full path (#1077) --- .../cli/src/extensions/plugins-extensions.ts | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/cli/src/extensions/plugins-extensions.ts b/packages/cli/src/extensions/plugins-extensions.ts index f8f74fca9..c8c4d1ecd 100644 --- a/packages/cli/src/extensions/plugins-extensions.ts +++ b/packages/cli/src/extensions/plugins-extensions.ts @@ -68,14 +68,21 @@ module.exports = (toolbox: GluegunToolbox) => { }; toolbox.fetchPluginsConfig = async ({ config }: { config: string }) => { - const pluginsConfigResponse = await axios.get( - `${toolbox.inputParameters.shopwareEndpoint}/${config}` - ); + const endpoint = toolbox.inputParameters.shopwareEndpoint; + const url = + config.indexOf(endpoint) >= 0 + ? config + : `${toolbox.inputParameters.shopwareEndpoint}/${config}`; + const pluginsConfigResponse = await axios.get(url); return pluginsConfigResponse.data; }; toolbox.loadPluginsAssetFile = async ({ asset }: { asset: string }) => { - const fileUrl = `${toolbox.inputParameters.shopwareEndpoint}/${asset}`; + const endpoint = toolbox.inputParameters.shopwareEndpoint; + const fileUrl = + asset.indexOf(endpoint) >= 0 + ? asset + : `${toolbox.inputParameters.shopwareEndpoint}/${asset}`; const request = require("request"); const loadFile = function () { @@ -224,6 +231,7 @@ module.exports = (toolbox: GluegunToolbox) => { ...toolbox.inputParameters, authToken, }); + const pluginsConfig = await toolbox.fetchPluginsConfig(buildArtifact); await toolbox.filesystem.removeAsync(`.shopware-pwa/pwa-bundles.json`); @@ -239,12 +247,12 @@ module.exports = (toolbox: GluegunToolbox) => { await toolbox.loadPluginsAssetFile(buildArtifact); await toolbox.unzipPluginsAssetsFile(); } catch (e) { - if (e && e.response && e.response.status === 401) { + if (e?.response?.status === 401) { toolbox.print.error( `You provided bad cridentials for your shopware instance: ${toolbox.inputParameters.shopwareEndpoint} - plugins will not be added` ); } else { - console.error("UNEXPECTED ERROR", e ? e.response : e); + toolbox.print.error(`UNEXPECTED ERROR ${e?.response ? e.response : e}`); } return; }