UNPKG

electron-compile

Version:

Electron supporting package to compile JS and CSS in Electron applications

61 lines (45 loc) 4.89 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _create = require('babel-runtime/core-js/object/create'); var _create2 = _interopRequireDefault(_create); var _assign = require('babel-runtime/core-js/object/assign'); var _assign2 = _interopRequireDefault(_assign); var _url = require('url'); var _url2 = _interopRequireDefault(_url); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function requireModule(href) { var filePath = href; if (filePath.match(/^file:/i)) { var theUrl = _url2.default.parse(filePath); filePath = decodeURIComponent(theUrl.pathname); if (process.platform === 'win32') { filePath = filePath.slice(1); } } // NB: We don't do any path canonicalization here because we rely on // InlineHtmlCompiler to have already converted any relative paths that // were used with x-require into absolute paths. require(filePath); } /** * @private */ exports.default = function () { if (process.type !== 'renderer' || !window || !window.document) return null; var proto = (0, _assign2.default)((0, _create2.default)(HTMLElement.prototype), { createdCallback: function createdCallback() { var href = this.getAttribute('src'); if (href && href.length > 0) { requireModule(href); } }, attributeChangedCallback: function attributeChangedCallback(attrName, oldVal, newVal) { if (attrName !== 'src') return; requireModule(newVal); } }); return document.registerElement('x-require', { prototype: proto }); }(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy94LXJlcXVpcmUuanMiXSwibmFtZXMiOlsicmVxdWlyZU1vZHVsZSIsImhyZWYiLCJmaWxlUGF0aCIsIm1hdGNoIiwidGhlVXJsIiwicGFyc2UiLCJkZWNvZGVVUklDb21wb25lbnQiLCJwYXRobmFtZSIsInByb2Nlc3MiLCJwbGF0Zm9ybSIsInNsaWNlIiwicmVxdWlyZSIsInR5cGUiLCJ3aW5kb3ciLCJkb2N1bWVudCIsInByb3RvIiwiSFRNTEVsZW1lbnQiLCJwcm90b3R5cGUiLCJjcmVhdGVkQ2FsbGJhY2siLCJnZXRBdHRyaWJ1dGUiLCJsZW5ndGgiLCJhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2siLCJhdHRyTmFtZSIsIm9sZFZhbCIsIm5ld1ZhbCIsInJlZ2lzdGVyRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBRUEsU0FBU0EsYUFBVCxDQUF1QkMsSUFBdkIsRUFBNkI7QUFDM0IsTUFBSUMsV0FBV0QsSUFBZjs7QUFFQSxNQUFJQyxTQUFTQyxLQUFULENBQWUsU0FBZixDQUFKLEVBQStCO0FBQzdCLFFBQUlDLFNBQVMsY0FBSUMsS0FBSixDQUFVSCxRQUFWLENBQWI7QUFDQUEsZUFBV0ksbUJBQW1CRixPQUFPRyxRQUExQixDQUFYOztBQUVBLFFBQUlDLFFBQVFDLFFBQVIsS0FBcUIsT0FBekIsRUFBa0M7QUFDaENQLGlCQUFXQSxTQUFTUSxLQUFULENBQWUsQ0FBZixDQUFYO0FBQ0Q7QUFDRjs7QUFFRDtBQUNBO0FBQ0E7QUFDQUMsVUFBUVQsUUFBUjtBQUNEOztBQUVEOzs7O2tCQUdnQixZQUFNO0FBQ3BCLE1BQUlNLFFBQVFJLElBQVIsS0FBaUIsVUFBakIsSUFBK0IsQ0FBQ0MsTUFBaEMsSUFBMEMsQ0FBQ0EsT0FBT0MsUUFBdEQsRUFBZ0UsT0FBTyxJQUFQOztBQUVoRSxNQUFJQyxRQUFRLHNCQUFjLHNCQUFjQyxZQUFZQyxTQUExQixDQUFkLEVBQW9EO0FBQzlEQyxxQkFBaUIsMkJBQVc7QUFDMUIsVUFBSWpCLE9BQU8sS0FBS2tCLFlBQUwsQ0FBa0IsS0FBbEIsQ0FBWDtBQUNBLFVBQUlsQixRQUFRQSxLQUFLbUIsTUFBTCxHQUFjLENBQTFCLEVBQTZCO0FBQzNCcEIsc0JBQWNDLElBQWQ7QUFDRDtBQUNGLEtBTjZEO0FBTzlEb0IsOEJBQTBCLGtDQUFTQyxRQUFULEVBQW1CQyxNQUFuQixFQUEyQkMsTUFBM0IsRUFBbUM7QUFDM0QsVUFBSUYsYUFBYSxLQUFqQixFQUF3QjtBQUN4QnRCLG9CQUFjd0IsTUFBZDtBQUNEO0FBVjZELEdBQXBELENBQVo7O0FBYUEsU0FBT1YsU0FBU1csZUFBVCxDQUF5QixXQUF6QixFQUFzQyxFQUFFUixXQUFXRixLQUFiLEVBQXRDLENBQVA7QUFDRCxDQWpCYyxFIiwiZmlsZSI6IngtcmVxdWlyZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1cmwgZnJvbSAndXJsJztcblxuZnVuY3Rpb24gcmVxdWlyZU1vZHVsZShocmVmKSB7XG4gIGxldCBmaWxlUGF0aCA9IGhyZWY7XG4gIFxuICBpZiAoZmlsZVBhdGgubWF0Y2goL15maWxlOi9pKSkge1xuICAgIGxldCB0aGVVcmwgPSB1cmwucGFyc2UoZmlsZVBhdGgpO1xuICAgIGZpbGVQYXRoID0gZGVjb2RlVVJJQ29tcG9uZW50KHRoZVVybC5wYXRobmFtZSk7XG5cbiAgICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJykge1xuICAgICAgZmlsZVBhdGggPSBmaWxlUGF0aC5zbGljZSgxKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIE5COiBXZSBkb24ndCBkbyBhbnkgcGF0aCBjYW5vbmljYWxpemF0aW9uIGhlcmUgYmVjYXVzZSB3ZSByZWx5IG9uXG4gIC8vIElubGluZUh0bWxDb21waWxlciB0byBoYXZlIGFscmVhZHkgY29udmVydGVkIGFueSByZWxhdGl2ZSBwYXRocyB0aGF0XG4gIC8vIHdlcmUgdXNlZCB3aXRoIHgtcmVxdWlyZSBpbnRvIGFic29sdXRlIHBhdGhzLlxuICByZXF1aXJlKGZpbGVQYXRoKTtcbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovIFxuZXhwb3J0IGRlZmF1bHQgKCgpID0+IHtcbiAgaWYgKHByb2Nlc3MudHlwZSAhPT0gJ3JlbmRlcmVyJyB8fCAhd2luZG93IHx8ICF3aW5kb3cuZG9jdW1lbnQpIHJldHVybiBudWxsO1xuICBcbiAgbGV0IHByb3RvID0gT2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEhUTUxFbGVtZW50LnByb3RvdHlwZSksIHtcbiAgICBjcmVhdGVkQ2FsbGJhY2s6IGZ1bmN0aW9uKCkge1xuICAgICAgbGV0IGhyZWYgPSB0aGlzLmdldEF0dHJpYnV0ZSgnc3JjJyk7XG4gICAgICBpZiAoaHJlZiAmJiBocmVmLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVxdWlyZU1vZHVsZShocmVmKTtcbiAgICAgIH1cbiAgICB9LCBcbiAgICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2s6IGZ1bmN0aW9uKGF0dHJOYW1lLCBvbGRWYWwsIG5ld1ZhbCkge1xuICAgICAgaWYgKGF0dHJOYW1lICE9PSAnc3JjJykgcmV0dXJuO1xuICAgICAgcmVxdWlyZU1vZHVsZShuZXdWYWwpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGRvY3VtZW50LnJlZ2lzdGVyRWxlbWVudCgneC1yZXF1aXJlJywgeyBwcm90b3R5cGU6IHByb3RvIH0pO1xufSkoKTtcbiJdfQ==