From 7baf1cb54d5dd68f49aa66cc5bfb1b1c6a01fdbe Mon Sep 17 00:00:00 2001 From: Bartek Igielski Date: Tue, 28 Aug 2018 17:59:38 +0200 Subject: [PATCH] #1590 - Paths normalization. Repo dir wrapped to support spaces --- core/scripts/installer.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/core/scripts/installer.js b/core/scripts/installer.js index d4761a2148..05a2e62293 100644 --- a/core/scripts/installer.js +++ b/core/scripts/installer.js @@ -1,5 +1,6 @@ 'use strict' +const path = require('path') const shell = require('shelljs') const mkdirp = require('mkdirp') const exists = require('fs-exists-sync') @@ -133,10 +134,13 @@ class Backend extends Abstract { */ cloneRepository () { return new Promise((resolve, reject) => { - Message.info(`Cloning backend into '${this.answers.backend_dir}'...`) + const backendDir = path.normalize(this.answers.backend_dir) + const gitPath = path.normalize(this.answers.git_path) - if (shell.exec(`${this.answers.git_path} clone ${STOREFRONT_BACKEND_GIT_URL} ${this.answers.backend_dir} > ${Abstract.infoLogStream} 2>&1`).code !== 0) { - reject(new Error(`Can't clone backend into '${this.answers.backend_dir}'.`)) + Message.info(`Cloning backend into '${backendDir}'...`) + + if (shell.exec(`${gitPath} clone ${STOREFRONT_BACKEND_GIT_URL} '${backendDir}' > ${Abstract.infoLogStream} 2>&1`).code !== 0) { + reject(new Error(`Can't clone backend into '${backendDir}'.`)) } resolve() @@ -150,11 +154,11 @@ class Backend extends Abstract { */ goToDirectory (backendDir = null) { return new Promise((resolve, reject) => { - let dir = this.answers ? this.answers.backend_dir : backendDir + const dir = this.answers ? this.answers.backend_dir : backendDir Message.info(`Trying change directory to '${dir}'...`) - if (shell.cd(dir).code !== 0) { + if (shell.cd(path.normalize(dir)).code !== 0) { reject(new Error(`Can't change directory to '${dir}'.`)) }