dev-toolkit
Version:
Universal Development Toolkit for React Veterans
82 lines (69 loc) • 2.44 kB
JavaScript
;
var _webpack = _interopRequireDefault(require("webpack"));
var _fsExtra = require("fs-extra");
var _projectSettings = require("../webpack/projectSettings");
var _config = _interopRequireDefault(require("../webpack/config"));
var _utilities = require("../utilities");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// eslint-disable-next-line no-underscore-dangle
var skipPreRender = global.__devToolkitCommandOptions.skipPreRender || false;
(0, _utilities.bootstrap)().then(function (_ref) {
var server = _ref.server,
userSettings = _ref.userSettings;
var showSuccessMessage = function showSuccessMessage() {
return (0, _utilities.log)({
message: '\n⭐️ Your build is ready ⭐️\n',
type: 'success'
});
};
var runWebpackBuild = function runWebpackBuild() {
var webpackAssets = {};
var config = (0, _config.default)({
creatingBuild: true,
getWebpackAssets: function getWebpackAssets(assets) {
webpackAssets = assets;
return JSON.stringify(assets);
},
userSettings: userSettings
});
(0, _utilities.log)({
message: 'Start Webpack & compile assets…'
}); // Compile with middleware for hot-reloading
var compiler = (0, _webpack.default)(config, function (webpackError) {
(0, _utilities.log)({
error: webpackError
});
compiler.run(function (compilerError) {
(0, _utilities.log)({
error: compilerError
});
(0, _utilities.log)({
message: '\n✨ Finished compiling Assets.\n',
type: 'success'
});
if (userSettings.devToolkit.usePreRender && !skipPreRender) {
(0, _utilities.preRender)({
server: server,
webpackAssets: webpackAssets,
buildFolder: _projectSettings.buildFolder
}).then(showSuccessMessage);
} else {
showSuccessMessage();
}
});
});
}; // delete previous build folder & compile all files necessary for serving
if (userSettings.devToolkit.removeBuildFolder) {
(0, _utilities.log)({
message: 'Removing previous build folder…'
});
(0, _fsExtra.emptyDir)(_projectSettings.buildFolder, function (error) {
(0, _utilities.log)({
error: error
});
runWebpackBuild();
});
} else {
runWebpackBuild();
}
});