UNPKG

react-torch

Version:

A lib to server-side render with react.

41 lines (40 loc) 2 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var path_1 = __importDefault(require("path")); var webpack_1 = __importDefault(require("webpack")); var webpackConfig_1 = __importDefault(require("./webpackConfig")); var utils_1 = require("../../internal/utils"); var index_1 = require("../../index"); function compile(config, packContext, update) { var webpackConfig = config.transformWebpackConfig((0, webpackConfig_1.default)(config), packContext, config); var compiler = (0, webpack_1.default)(webpackConfig); return new Promise(function (resolve, reject) { var serverPath = path_1.default.join(config.dir, index_1.TORCH_DIR, index_1.TORCH_SERVER_DIR); compiler.watch({}, function (err, stats) { var _a, _b, _c; if (err) reject(err); var statsObj = stats.toJson(); (_a = statsObj.errors) === null || _a === void 0 ? void 0 : _a.forEach(function (err) { return (0, utils_1.error)(err.message); }); (_b = statsObj.warnings) === null || _b === void 0 ? void 0 : _b.forEach(function (err) { return (0, utils_1.warn)(err.message); }); (_c = statsObj.assets) === null || _c === void 0 ? void 0 : _c.forEach(function (asset) { var assetPath = path_1.default.join(serverPath, asset.name); delete require.cache[require.resolve(assetPath)]; }); var routesPath = path_1.default.join(serverPath, index_1.TORCH_ROUTES_FILE_NAME); var newModule = require(routesPath); if (newModule) { var routes = newModule.default || newModule; update(routes); resolve(); } else { reject('cannot find routes'); } }); }); } exports.default = compile;