UNPKG

electron-compile

Version:

Electron supporting package to compile JS and CSS in Electron applications

44 lines (31 loc) 3.1 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); exports.default = registerRequireExtension; var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _mimeTypes = require('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) { _lodash2.default.each((0, _keys2.default)(compilerHost.compilersByMimeType), function (mimeType) { var ext = _mimeTypes2.default.extension(mimeType); require.extensions['.' + ext] = function (module, filename) { var _compilerHost$compile = compilerHost.compileSync(filename); var code = _compilerHost$compile.code; module._compile(code, filename); }; }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXF1aXJlLWhvb2suanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztrQkFXd0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQVQsU0FBUyx3QkFBVCxDQUFrQyxZQUFsQyxFQUFnRDtBQUM3RCxtQkFBRSxJQUFGLENBQU8sb0JBQVksYUFBYSxtQkFBYixDQUFuQixFQUFzRCxVQUFDLFFBQUQsRUFBYztBQUNsRSxRQUFJLE1BQU0sb0JBQVUsU0FBVixDQUFvQixRQUFwQixDQUFOLENBRDhEOztBQUdsRSxZQUFRLFVBQVIsT0FBdUIsR0FBdkIsSUFBZ0MsVUFBQyxNQUFELEVBQVMsUUFBVCxFQUFzQjtrQ0FDdkMsYUFBYSxXQUFiLENBQXlCLFFBQXpCLEVBRHVDOztVQUMvQyxrQ0FEK0M7O0FBRXBELGFBQU8sUUFBUCxDQUFnQixJQUFoQixFQUFzQixRQUF0QixFQUZvRDtLQUF0QixDQUhrQztHQUFkLENBQXRELENBRDZEO0NBQWhEIiwiZmlsZSI6InJlcXVpcmUtaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbWltZVR5cGVzIGZyb20gJ21pbWUtdHlwZXMnO1xuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSBub2RlLmpzIGhvb2sgdGhhdCBhbGxvd3MgdXMgdG8gaW50ZXJjZXB0IGZpbGVzIGxvYWRlZCBieSBcbiAqIG5vZGUuanMgYW5kIHJld3JpdGUgdGhlbS4gVGhpcyBtZXRob2QgYWxvbmcgd2l0aCB7QGxpbmsgaW5pdGlhbGl6ZVByb3RvY29sSG9va30gXG4gKiBhcmUgdGhlIHRvcC1sZXZlbCBtZXRob2RzIHRoYXQgZWxlY3Ryb24tY29tcGlsZSBhY3R1YWxseSB1c2VzIHRvIGludGVyY2VwdCBcbiAqIGNvZGUgdGhhdCBFbGVjdHJvbiBsb2Fkcy5cbiAqICBcbiAqIEBwYXJhbSAge0NvbXBpbGVySG9zdH0gY29tcGlsZXJIb3N0ICBUaGUgY29tcGlsZXIgaG9zdCB0byB1c2UgZm9yIGNvbXBpbGF0aW9uLlxuICovIFxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVnaXN0ZXJSZXF1aXJlRXh0ZW5zaW9uKGNvbXBpbGVySG9zdCkge1xuICBfLmVhY2goT2JqZWN0LmtleXMoY29tcGlsZXJIb3N0LmNvbXBpbGVyc0J5TWltZVR5cGUpLCAobWltZVR5cGUpID0+IHtcbiAgICBsZXQgZXh0ID0gbWltZVR5cGVzLmV4dGVuc2lvbihtaW1lVHlwZSk7XG4gICAgXG4gICAgcmVxdWlyZS5leHRlbnNpb25zW2AuJHtleHR9YF0gPSAobW9kdWxlLCBmaWxlbmFtZSkgPT4ge1xuICAgICAgbGV0IHtjb2RlfSA9IGNvbXBpbGVySG9zdC5jb21waWxlU3luYyhmaWxlbmFtZSk7XG4gICAgICBtb2R1bGUuX2NvbXBpbGUoY29kZSwgZmlsZW5hbWUpO1xuICAgIH07XG4gIH0pO1xufVxuIl19