UNPKG

st-bundle

Version:

CLI for watching and bundling SpringType projects.

64 lines (63 loc) 2.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const createDevBundles_1 = require("../bundle/createDevBundles"); const attach_hmr_1 = require("../hmr/attach_hmr"); const plugin_assumption_1 = require("../plugins/core/plugin_assumption"); const plugin_css_1 = require("../plugins/core/plugin_css"); const plugin_js_1 = require("../plugins/core/plugin_js"); const plugin_sass_1 = require("../plugins/core/plugin_sass"); const plugin_typescript_1 = require("../plugins/core/plugin_typescript"); const attachWebWorkers_1 = require("../web-workers/attachWebWorkers"); const assemble_1 = require("./assemble"); const attach_cache_1 = require("./attach_cache"); const attach_watcher_1 = require("./attach_watcher"); const attach_webIndex_1 = require("./attach_webIndex"); const prerequisite_1 = require("./prerequisite"); const process_plugins_1 = require("./process_plugins"); const server_entry_1 = require("./server_entry"); async function bundleDev(ctx) { const ict = ctx.ict; ctx.log.startStreaming(); prerequisite_1.prerequisites(ctx); const plugins = [ ...ctx.config.plugins, plugin_assumption_1.pluginAssumption(), plugin_css_1.pluginCSS(), plugin_js_1.pluginJS(), plugin_sass_1.pluginSass(), plugin_typescript_1.pluginTypescript(), ]; plugins.forEach(plugin => plugin && plugin(ctx)); attach_cache_1.attachCache(ctx); attach_hmr_1.attachHMR(ctx); attachWebWorkers_1.attachWebWorkers(ctx); // lib-esm/params/paramTypes.js" let bundles; const packages = assemble_1.assemble(ctx, ctx.config.entries[0]); if (packages) { await process_plugins_1.processPlugins({ ctx: ctx, packages: packages, }); // sorting bundles with dev, system, default, vendor const data = createDevBundles_1.createDevBundles(ctx, packages); const writers = []; for (const key in data.bundles) { const bundle = data.bundles[key]; writers.push(() => bundle.generate().write()); } bundles = await Promise.all(writers.map(i => i())); await attach_webIndex_1.attachWebIndex(ctx, bundles); attach_watcher_1.attachWatcher({ ctx }); } ctx.log.stopStreaming(); ctx.log.fuseFinalise(); if (bundles) { if (ctx.config.isServer()) { const serverEntryBundle = await server_entry_1.addServerEntry(ctx, bundles); bundles.push(serverEntryBundle.info); } ict.sync('complete', { ctx: ctx, bundles: bundles, packages: packages }); } } exports.bundleDev = bundleDev;