@beyond-js/bundles-sdk
Version:
BeyondJS Bundles SDK
78 lines (59 loc) • 1.88 kB
JavaScript
const DynamicProcessor = require('@beyond-js/dynamic-processor')();
const mformat = require('@beyond-js/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.
}
};