UNPKG

morpha

Version:

A Web-IDE or Desktop-IDE creator.

98 lines (77 loc) 3.3 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _PackageManager2 = require('./common/PackageManager'); var _PackageManager3 = _interopRequireDefault(_PackageManager2); var _utils = require('./common/utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var ClientApplication = function (_PackageManager) { (0, _inherits3.default)(ClientApplication, _PackageManager); function ClientApplication(args) { (0, _classCallCheck3.default)(this, ClientApplication); var _this = (0, _possibleConstructorReturn3.default)(this, (ClientApplication.__proto__ || (0, _getPrototypeOf2.default)(ClientApplication)).call(this, args)); _this.isRunning = false; return _this; } (0, _createClass3.default)(ClientApplication, [{ key: 'render', value: function render() { (0, _utils.each)(this.getPackages(), function (pack) { if (typeof pack.context.render === 'function') { pack.context.render(); } }); } }, { key: 'renderStyles', value: function renderStyles() { var LessCache = (0, _utils.safeRequire)('less-cache'); var path = (0, _utils.safeRequire)('path'); var fs = (0, _utils.safeRequire)('fs'); var cache = new LessCache({ cacheDir: path.join(this.args.morphaHomePath, 'compile-cache/less') }); var styles = []; (0, _utils.each)(this.getPackages(), function (pack) { if (pack.styles && pack.styles.length > 0) { pack.styles.forEach(function (stylePath) { return styles.push(stylePath); }); } }); // styles.push(path.join(process.cwd(), 'node_modules/normalize.css/normalize.css')) styles.forEach(function (stylePath) { var styleContent = void 0; if (path.extname(stylePath) === '.less') styleContent = cache.readFileSync(stylePath);else styleContent = fs.readFileSync(stylePath); var styleEl = document.createElement('style'); styleEl.textContent = styleContent; styleEl.setAttribute('data-style-path', stylePath); document.head.appendChild(styleEl); }); } }, { key: 'start', value: function start() { if (this.isRunning) return; this._initPackages(); this._bootstrapPackages(); if (this.args.isElectron) this.renderStyles(); this.render(); this.isRunning = true; } }]); return ClientApplication; }(_PackageManager3.default); exports.default = ClientApplication;