From c12c6e95b44fac8834a0145c9ad3048b6ed2ce57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20No=C3=ABl?= Date: Thu, 28 May 2020 11:38:50 +0200 Subject: [PATCH] make serverUrl absolute for watch-admin (#6405) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pierre Noël --- packages/strapi-utils/lib/config.js | 15 +++++++++------ packages/strapi/lib/commands/watchAdmin.js | 6 +++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/strapi-utils/lib/config.js b/packages/strapi-utils/lib/config.js index 162b300cec..f3c54f4ef5 100644 --- a/packages/strapi-utils/lib/config.js +++ b/packages/strapi-utils/lib/config.js @@ -57,17 +57,20 @@ const getConfigUrls = (serverConfig, forAdminBuild = false) => { }; }; -const getAbsoluteUrl = adminOrServer => config => { - if (config[adminOrServer].url.startsWith('http')) { - return config[adminOrServer].url; +const getAbsoluteUrl = adminOrServer => (config, forAdminBuild = false) => { + const { serverUrl, adminUrl } = getConfigUrls(config.server, forAdminBuild); + let url = adminOrServer === 'server' ? serverUrl : adminUrl; + + if (url.startsWith('http')) { + return url; } let hostname = - config.environment === 'development' && ['127.0.0.1', '0.0.0.0'].includes(config.host) + config.environment === 'development' && ['127.0.0.1', '0.0.0.0'].includes(config.server.host) ? 'localhost' - : config.host; + : config.server.host; - return `http://${hostname}:${config.port}${config[adminOrServer].url}`; + return `http://${hostname}:${config.server.port}${url}`; }; module.exports = { diff --git a/packages/strapi/lib/commands/watchAdmin.js b/packages/strapi/lib/commands/watchAdmin.js index db5fc9d046..c583793581 100644 --- a/packages/strapi/lib/commands/watchAdmin.js +++ b/packages/strapi/lib/commands/watchAdmin.js @@ -1,6 +1,6 @@ // eslint-disable-next-line node/no-extraneous-require const strapiAdmin = require('strapi-admin'); -const { getConfigUrls } = require('strapi-utils'); +const { getConfigUrls, getAbsoluteServerUrl } = require('strapi-utils'); const loadConfiguration = require('../core/app-configuration'); const addSlash = require('../utils/addSlash'); @@ -10,7 +10,7 @@ module.exports = async function() { const config = loadConfiguration(dir); - const { serverUrl, adminPath } = getConfigUrls(config.get('server'), true); + const { adminPath } = getConfigUrls(config.get('server'), true); const adminPort = config.get('server.admin.port', 8000); const adminHost = config.get('server.admin.host', 'localhost'); @@ -21,7 +21,7 @@ module.exports = async function() { port: adminPort, host: adminHost, options: { - backend: serverUrl, + backend: getAbsoluteServerUrl(config, true), publicPath: addSlash(adminPath), watchIgnoreFiles: adminWatchIgnoreFiles, },