dev-toolkit
Version:
Universal Development Toolkit for React Veterans
81 lines (71 loc) • 2.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _help = _interopRequireDefault(require("./help"));
var _log = _interopRequireDefault(require("./log"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable no-underscore-dangle */
var _default = function _default(_ref) {
var server = _ref.server,
webpackAssets = _ref.webpackAssets,
buildFolder = _ref.buildFolder;
return new Promise(function (resolve) {
var preRenderEntryPoint = global.__devToolkitCommandOptions.preRenderEntryPoint;
if (!preRenderEntryPoint) {
(0, _log.default)({
message: 'Rendering html using Server App… ',
useSeparator: true
});
(0, _help.default)({
displayedWhen: server && typeof server.preRender !== 'function',
warning: 'Your server needs a `preRender`-method to create a build.',
instruction: 'Example: `preRender({ assets, buildFolder }) { return new Promise(() => { ... }); }`',
link: '/dev-toolkit#custom-server'
});
var renderPromise = server.preRender({
assets: webpackAssets,
buildFolder: buildFolder
});
(0, _help.default)({
displayedWhen: typeof renderPromise.then !== 'function',
warning: "The server `preRender`-method must return a Promise to say it's finished.",
instruction: 'Example: `preRender({ assets, buildFolder }) { return new Promise(() => { ... }); }`',
link: '/dev-toolkit#custom-server'
});
renderPromise.then(resolve).catch(function (buildError) {
return (0, _log.default)({
error: buildError
});
});
} else {
(0, _log.default)({
message: 'Rendering html using custom Entry Point… ',
useSeparator: true
});
(0, _help.default)({
displayedWhen: server && typeof server.preRender !== 'function',
warning: 'Your entry point needs to export a (default) function to preRender',
instruction: 'Example: `export default ({ assets, buildFolder }) => { return new Promise(() => { ... }); };`',
link: '/dev-toolkit#serverless-render'
});
var _renderPromise = server.preRender({
assets: webpackAssets,
buildFolder: buildFolder
});
(0, _help.default)({
displayedWhen: typeof _renderPromise.then !== 'function',
warning: "The server `preRender`-method must return a Promise to say it's finished.",
instruction: 'Example: `export default ({ assets, buildFolder }) => { return new Promise(() => { ... }); };`',
link: '/dev-toolkit#serverless-render'
});
_renderPromise.then(resolve).catch(function (buildError) {
return (0, _log.default)({
error: buildError
});
});
}
});
};
exports.default = _default;