UNPKG

varan

Version:

A webpack starter kit for offline-first bring-your-own-code apps with server side rendering

46 lines 1.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("lodash"); const webpack_1 = __importDefault(require("webpack")); const BuildError_1 = __importDefault(require("./BuildError")); // Init const getOpts = (options) => lodash_1.defaults({}, options, {}); // Exports async function buildServer(config, options) { const opts = getOpts(options); const compiler = webpack_1.default(config); if (opts.inputFileSystem) compiler.inputFileSystem = opts.inputFileSystem; if (opts.outputFileSystem) compiler.outputFileSystem = opts.outputFileSystem; // Create builder promise return new Promise((resolve, reject) => { // Watch const watcher = compiler.watch({}, (err, stats) => { if (err) return reject(err); const out = { watcher, compiler, stats, errors: [], warnings: [], }; const info = stats.toJson(); out.errors = info.errors; out.warnings = info.warnings; if (stats.hasErrors() || info.errors.length > 0) { const buildError = new BuildError_1.default('Build failed with errors'); buildError.errors = out.errors; buildError.warnings = out.warnings; return reject(buildError); } return resolve(out); }); }); } exports.default = buildServer; //# sourceMappingURL=buildServer.js.map