UNPKG

electron-compile

Version:

Electron supporting package to compile JS and CSS in Electron applications

35 lines (27 loc) 3.24 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = registerRequireExtension; var _mimeTypes = require('@paulcbetts/mime-types'); var _mimeTypes2 = _interopRequireDefault(_mimeTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Initializes the node.js hook that allows us to intercept files loaded by * node.js and rewrite them. This method along with {@link initializeProtocolHook} * are the top-level methods that electron-compile actually uses to intercept * code that Electron loads. * * @param {CompilerHost} compilerHost The compiler host to use for compilation. */ function registerRequireExtension(compilerHost) { Object.keys(compilerHost.compilersByMimeType).forEach(mimeType => { let ext = _mimeTypes2.default.extension(mimeType); require.extensions[`.${ ext }`] = (module, filename) => { var _compilerHost$compile = compilerHost.compileSync(filename); let code = _compilerHost$compile.code; module._compile(code, filename); }; }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXF1aXJlLWhvb2suanMiXSwibmFtZXMiOlsicmVnaXN0ZXJSZXF1aXJlRXh0ZW5zaW9uIiwiY29tcGlsZXJIb3N0IiwiT2JqZWN0Iiwia2V5cyIsImNvbXBpbGVyc0J5TWltZVR5cGUiLCJmb3JFYWNoIiwibWltZVR5cGUiLCJleHQiLCJleHRlbnNpb24iLCJyZXF1aXJlIiwiZXh0ZW5zaW9ucyIsIm1vZHVsZSIsImZpbGVuYW1lIiwiY29tcGlsZVN5bmMiLCJjb2RlIiwiX2NvbXBpbGUiXSwibWFwcGluZ3MiOiI7Ozs7O2tCQVV3QkEsd0I7O0FBVnhCOzs7Ozs7QUFFQTs7Ozs7Ozs7QUFRZSxTQUFTQSx3QkFBVCxDQUFrQ0MsWUFBbEMsRUFBZ0Q7QUFDN0RDLFNBQU9DLElBQVAsQ0FBWUYsYUFBYUcsbUJBQXpCLEVBQThDQyxPQUE5QyxDQUF1REMsUUFBRCxJQUFjO0FBQ2xFLFFBQUlDLE1BQU0sb0JBQVVDLFNBQVYsQ0FBb0JGLFFBQXBCLENBQVY7O0FBRUFHLFlBQVFDLFVBQVIsQ0FBb0IsS0FBR0gsR0FBSSxHQUEzQixJQUFnQyxDQUFDSSxNQUFELEVBQVNDLFFBQVQsS0FBc0I7QUFBQSxrQ0FDdkNYLGFBQWFZLFdBQWIsQ0FBeUJELFFBQXpCLENBRHVDOztBQUFBLFVBQy9DRSxJQUQrQyx5QkFDL0NBLElBRCtDOztBQUVwREgsYUFBT0ksUUFBUCxDQUFnQkQsSUFBaEIsRUFBc0JGLFFBQXRCO0FBQ0QsS0FIRDtBQUlELEdBUEQ7QUFRRCIsImZpbGUiOiJyZXF1aXJlLWhvb2suanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWltZVR5cGVzIGZyb20gJ0BwYXVsY2JldHRzL21pbWUtdHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIEluaXRpYWxpemVzIHRoZSBub2RlLmpzIGhvb2sgdGhhdCBhbGxvd3MgdXMgdG8gaW50ZXJjZXB0IGZpbGVzIGxvYWRlZCBieSBcclxuICogbm9kZS5qcyBhbmQgcmV3cml0ZSB0aGVtLiBUaGlzIG1ldGhvZCBhbG9uZyB3aXRoIHtAbGluayBpbml0aWFsaXplUHJvdG9jb2xIb29rfSBcclxuICogYXJlIHRoZSB0b3AtbGV2ZWwgbWV0aG9kcyB0aGF0IGVsZWN0cm9uLWNvbXBpbGUgYWN0dWFsbHkgdXNlcyB0byBpbnRlcmNlcHQgXHJcbiAqIGNvZGUgdGhhdCBFbGVjdHJvbiBsb2Fkcy5cclxuICogIFxyXG4gKiBAcGFyYW0gIHtDb21waWxlckhvc3R9IGNvbXBpbGVySG9zdCAgVGhlIGNvbXBpbGVyIGhvc3QgdG8gdXNlIGZvciBjb21waWxhdGlvbi5cclxuICovIFxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZWdpc3RlclJlcXVpcmVFeHRlbnNpb24oY29tcGlsZXJIb3N0KSB7XHJcbiAgT2JqZWN0LmtleXMoY29tcGlsZXJIb3N0LmNvbXBpbGVyc0J5TWltZVR5cGUpLmZvckVhY2goKG1pbWVUeXBlKSA9PiB7XHJcbiAgICBsZXQgZXh0ID0gbWltZVR5cGVzLmV4dGVuc2lvbihtaW1lVHlwZSk7XHJcbiAgICBcclxuICAgIHJlcXVpcmUuZXh0ZW5zaW9uc1tgLiR7ZXh0fWBdID0gKG1vZHVsZSwgZmlsZW5hbWUpID0+IHtcclxuICAgICAgbGV0IHtjb2RlfSA9IGNvbXBpbGVySG9zdC5jb21waWxlU3luYyhmaWxlbmFtZSk7XHJcbiAgICAgIG1vZHVsZS5fY29tcGlsZShjb2RlLCBmaWxlbmFtZSk7XHJcbiAgICB9O1xyXG4gIH0pO1xyXG59XHJcbiJdfQ==