UNPKG

universal-webpack

Version:
45 lines (32 loc) 1.69 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = prepare; var _path = _interopRequireDefault(require("path")); var _fsExtra = _interopRequireDefault(require("fs-extra")); // Creates (or cleans) the server-side build folder. // // That's needed because Nodemon, for example, // needs the folder to exist by the time it runs, // otherwise it won't detect any changes to the code // and therefore won't restart on code changes. // function prepare(settings, project_base_path) { // By default, Webpack sets `.context` to `process.cwd()` var base_path = project_base_path || process.cwd(); if (!settings.server.output) { throw new Error('`settings.server.output` not specified'); } var server_build_bundle_path = _path["default"].resolve(base_path, settings.server.output); var server_build_folder = _path["default"].dirname(server_build_bundle_path); // Extra caution to prevent data loss if (server_build_folder === _path["default"].normalize(base_path)) { throw new Error('`settings.server.output` "' + server_build_folder + '" points to the project root folder. Won\'t clear that folder to prevent accidental data loss.'); } // Extra caution to prevent data loss if (server_build_folder.indexOf(base_path) !== 0) { throw new Error('`settings.server.output` "' + server_build_folder + '" points outside of the project root folder "' + base_path + '". Won\'t clear that folder to prevent accidental data loss'); } _fsExtra["default"].emptyDirSync(server_build_folder); } //# sourceMappingURL=prepare.js.map