beyond
Version:
The Full Stack Universal Typescript Framework
79 lines (60 loc) • 2.2 kB
JavaScript
const DynamicProcessor = global.utils.DynamicProcessor();
const mformat = require('beyond/mformat');
/**
* Process the processor HMR code
*/
module.exports = class extends DynamicProcessor {
get dp() {
return 'bundler.bundle.processor.hmr';
}
get errors() {
return this.
}
get valid() {
return !this.
}
get code() {
return this.
}
get map() {
return this.
}
constructor(packager) {
super();
this.notifyOnFirst = true;
this.
const {dependencies, js} = packager;
const children = new Map([['code', {child: js}]]);
dependencies && children.set('dependencies', {child: dependencies.code});
super.setup(children);
}
_process() {
const packager = this.
const {dependencies, distribution, language} = packager;
const {bundle} = packager.processor.specs;
const {mode} = distribution.bundles;
this.
const sourcemap = new (require('./sourcemap'));
dependencies && sourcemap.concat(dependencies.code.code);
let code = packager.js.hmr;
code = typeof code === 'string' ? {code: code} : code;
if (!code || !code.code) return;
const multilanguage = language !== '.';
const params = `'${bundle.specifier}', ${multilanguage}, {}` +
(dependencies?.size ? ', dependencies' : '');
sourcemap.concat(`const {beyond} = globalThis;`);
sourcemap.concat(`const bundle = beyond.bundles.obtain(${params});`);
sourcemap.concat(`const __pkg = bundle.package(${multilanguage ? `'${language}'` : ''});`);
sourcemap.concat(code.code, code.map);
let map, errors;
({code, map, errors} = mformat({code: sourcemap.code, map: sourcemap.map, mode}));
if (errors) {
this.
return;
}
this.
}
}