piral-cli-vite
Version:
Provides debug and build capabilities for pilets and Piral instances using Vite.
49 lines • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.runVite = runVite;
const events_1 = require("events");
const vite_1 = require("vite");
function runVite(options) {
const { debug, outFile, requireRef, ...config } = options;
const eventEmitter = new events_1.EventEmitter();
const bundle = {
outFile: `/${outFile}`,
outDir: config.build.outDir,
name: outFile,
requireRef,
};
return Promise.resolve({
async bundle() {
if (debug) {
config.build.watch = {};
}
const watcher = await (0, vite_1.build)(config);
if (debug && 'on' in watcher) {
watcher.on('event', (event) => {
if (event.code === 'ERROR') {
console.error(event);
}
else if (event.code === 'BUNDLE_START') {
console.info('Bundling ...');
}
else if (event.code === 'BUNDLE_END') {
event.result.close();
console.info('Bundled!');
}
else if (event.code === 'END') {
eventEmitter.emit('end', bundle);
}
});
eventEmitter.emit('start', bundle);
}
return bundle;
},
onStart(cb) {
eventEmitter.on('start', cb);
},
onEnd(cb) {
eventEmitter.on('end', cb);
},
});
}
//# sourceMappingURL=bundler-run.js.map