st-bundle
Version:
CLI for watching and bundling SpringType projects.
46 lines (45 loc) • 1.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ts = require("typescript");
const bundle_dev_1 = require("../main/bundle_dev");
const bundle_prod_1 = require("../production/bundle_prod");
const UserHandler_1 = require("../user-handler/UserHandler");
const utils_1 = require("../utils/utils");
const Context_1 = require("./Context");
function fusebox(config) {
function checkVersion(log) {
// process.on('uncaughtException', e => {
// console.log(e);
// });
const nodeVersion = utils_1.parseVersion(process.version)[0];
if (nodeVersion < 11) {
log.warn('You are using an older version of Node.js $version. Upgrade to at least Node.js v11 to get the maximium speed out of FuseBox', { version: process.version });
}
const tsVersion = utils_1.parseVersion(ts.version);
if (tsVersion[0] < 3) {
log.warn('You are using an older version of TypeScript $version. FuseBox builds might not work properly', {
version: tsVersion,
});
}
}
return {
runDev: async (cb) => {
const ctx = Context_1.createContext(config);
if (cb)
cb(new UserHandler_1.UserHandler(ctx));
checkVersion(ctx.log);
return bundle_dev_1.bundleDev(ctx).catch(e => {
console.log('error is here bieach');
console.error(e);
});
},
runProd: (props) => {
const ctx = Context_1.createProdContext(config, props);
if (props && props.handler) {
props.handler(new UserHandler_1.UserHandler(ctx));
}
return bundle_prod_1.bundleProd(ctx);
},
};
}
exports.fusebox = fusebox;