@herberttn/bytenode-webpack-plugin
Version:
Compile JavaScript into bytecode using bytenode
29 lines • 1.23 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.replaceSource = exports.compileSource = void 0;
const module_1 = __importDefault(require("module"));
const v8_1 = __importDefault(require("v8"));
const bytenode_1 = require("bytenode");
const shebang_regex_1 = __importDefault(require("shebang-regex"));
const webpack_1 = require("webpack");
v8_1.default.setFlagsFromString('--no-lazy');
async function compileSource(source, options) {
return await replaceSource(source, async (raw) => {
raw = raw.replace(shebang_regex_1.default, '');
if (options.compileAsModule) {
raw = module_1.default.wrap(raw);
}
return options.compileForElectron
? await (0, bytenode_1.compileElectronCode)(raw)
: (0, bytenode_1.compileCode)(raw);
});
}
exports.compileSource = compileSource;
async function replaceSource(source, replacer) {
return new webpack_1.sources.RawSource(await replacer(source.buffer().toString()));
}
exports.replaceSource = replaceSource;
//# sourceMappingURL=sources.js.map