diff --git a/lib/server/generate.js b/lib/server/generate.js index 1ba7468d43b5..c4ea9046d6d6 100644 --- a/lib/server/generate.js +++ b/lib/server/generate.js @@ -31,7 +31,7 @@ function execute() { // create the folder path for a file if it does not exist, then write the file function writeFileAndCreateFolder(file, content) { - mkdirp.sync(file.replace(new RegExp('/[^/]*$'), '')); + mkdirp.sync(path.dirname(file)); fs.writeFileSync(file, content); } @@ -346,10 +346,10 @@ function execute() { codeColor ); - mkdirp.sync(targetFile.replace(new RegExp('/[^/]*$'), '')); + mkdirp.sync(path.dirname(targetFile)); fs.writeFileSync(targetFile, cssContent); } else if (!fs.lstatSync(file).isDirectory()) { - mkdirp.sync(targetFile.replace(new RegExp('/[^/]*$'), '')); + mkdirp.sync(path.dirname(targetFile)); fs.copySync(file, targetFile); } }); @@ -372,7 +372,7 @@ function execute() { } else if (!fs.lstatSync(file).isDirectory()) { let parts = file.split('/static/'); let targetFile = join(buildDir, parts[1]); - mkdirp.sync(targetFile.replace(new RegExp('/[^/]*$'), '')); + mkdirp.sync(path.dirname(targetFile)); fs.copySync(file, targetFile); } }); @@ -390,7 +390,7 @@ function execute() { path.basename(file), 'temp' + path.basename(file) ); - mkdirp.sync(tempFile.replace(new RegExp('/[^/]*$'), '')); + mkdirp.sync(path.dirname(tempFile)); fs.copySync(file, tempFile); const ReactComp = require(tempFile); @@ -465,7 +465,7 @@ function execute() { // copy other non .js files let parts = file.split('pages'); let targetFile = join(buildDir, parts[1]); - mkdirp.sync(targetFile.replace(new RegExp('/[^/]*$'), '')); + mkdirp.sync(path.dirname(targetFile)); fs.copySync(file, targetFile); } }); diff --git a/lib/server/server.js b/lib/server/server.js index 6666b5410b25..e8f8a6c1807e 100644 --- a/lib/server/server.js +++ b/lib/server/server.js @@ -433,7 +433,7 @@ function execute(port) { path.basename(file), 'temp' + path.basename(file) ); - mkdirp.sync(tempFile.replace(new RegExp('/[^/]*$'), '')); + mkdirp.sync(path.dirname(tempFile)); fs.copySync(userFile, tempFile); // render into a string