UNPKG

electron-compile

Version:

Electron supporting package to compile JS and CSS in Electron applications

175 lines (131 loc) 8.4 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _getIterator2 = require('babel-runtime/core-js/get-iterator'); var _getIterator3 = _interopRequireDefault(_getIterator2); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); exports.forAllFiles = forAllFiles; exports.forAllFilesSync = forAllFilesSync; var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _promise = require('./promise'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Invokes a method on all files in a directory recursively. * * @private */ function forAllFiles(rootDirectory, func) { for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } var _this = this; var rec = function () { var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(dir) { var entries, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, name, fullName, stats; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return _promise.pfs.readdir(dir); case 2: entries = _context.sent; _iteratorNormalCompletion = true; _didIteratorError = false; _iteratorError = undefined; _context.prev = 6; _iterator = (0, _getIterator3.default)(entries); case 8: if (_iteratorNormalCompletion = (_step = _iterator.next()).done) { _context.next = 23; break; } name = _step.value; fullName = _path2.default.join(dir, name); _context.next = 13; return _promise.pfs.stat(fullName); case 13: stats = _context.sent; if (!stats.isDirectory()) { _context.next = 17; break; } _context.next = 17; return rec(fullName); case 17: if (!stats.isFile()) { _context.next = 20; break; } _context.next = 20; return func.apply(undefined, [fullName].concat(args)); case 20: _iteratorNormalCompletion = true; _context.next = 8; break; case 23: _context.next = 29; break; case 25: _context.prev = 25; _context.t0 = _context['catch'](6); _didIteratorError = true; _iteratorError = _context.t0; case 29: _context.prev = 29; _context.prev = 30; if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } case 32: _context.prev = 32; if (!_didIteratorError) { _context.next = 35; break; } throw _iteratorError; case 35: return _context.finish(32); case 36: return _context.finish(29); case 37: case 'end': return _context.stop(); } } }, _callee, _this, [[6, 25, 29, 37], [30,, 32, 36]]); })); return function rec(_x) { return _ref.apply(this, arguments); }; }(); return rec(rootDirectory); } function forAllFilesSync(rootDirectory, func) { for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { args[_key2 - 2] = arguments[_key2]; } var rec = function rec(dir) { _fs2.default.readdirSync(dir).forEach(function (name) { var fullName = _path2.default.join(dir, name); var stats = _fs2.default.statSync(fullName); if (stats.isDirectory()) { rec(fullName); return; } if (stats.isFile()) { func.apply(undefined, [fullName].concat(args)); return; } }); }; rec(rootDirectory); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3ItYWxsLWZpbGVzLmpzIl0sIm5hbWVzIjpbImZvckFsbEZpbGVzIiwiZm9yQWxsRmlsZXNTeW5jIiwicm9vdERpcmVjdG9yeSIsImZ1bmMiLCJhcmdzIiwicmVjIiwiZGlyIiwicmVhZGRpciIsImVudHJpZXMiLCJuYW1lIiwiZnVsbE5hbWUiLCJqb2luIiwic3RhdCIsInN0YXRzIiwiaXNEaXJlY3RvcnkiLCJpc0ZpbGUiLCJyZWFkZGlyU3luYyIsImZvckVhY2giLCJzdGF0U3luYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBVWdCQSxXLEdBQUFBLFc7UUFxQkFDLGUsR0FBQUEsZTs7QUEvQmhCOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUdBOzs7OztBQUtPLFNBQVNELFdBQVQsQ0FBcUJFLGFBQXJCLEVBQW9DQyxJQUFwQyxFQUFtRDtBQUFBLG9DQUFOQyxJQUFNO0FBQU5BLFFBQU07QUFBQTs7QUFBQTs7QUFDeEQsTUFBSUM7QUFBQSwwRUFBTSxpQkFBT0MsR0FBUDtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxxQkFDWSxhQUFJQyxPQUFKLENBQVlELEdBQVosQ0FEWjs7QUFBQTtBQUNKRSxxQkFESTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEscURBR1NBLE9BSFQ7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFHQ0Msa0JBSEQ7QUFJRkMsc0JBSkUsR0FJUyxlQUFLQyxJQUFMLENBQVVMLEdBQVYsRUFBZUcsSUFBZixDQUpUO0FBQUE7QUFBQSxxQkFLWSxhQUFJRyxJQUFKLENBQVNGLFFBQVQsQ0FMWjs7QUFBQTtBQUtGRyxtQkFMRTs7QUFBQSxtQkFPRkEsTUFBTUMsV0FBTixFQVBFO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEscUJBUUVULElBQUlLLFFBQUosQ0FSRjs7QUFBQTtBQUFBLG1CQVdGRyxNQUFNRSxNQUFOLEVBWEU7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSxxQkFZRVosdUJBQUtPLFFBQUwsU0FBa0JOLElBQWxCLEVBWkY7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxLQUFOOztBQUFBO0FBQUE7QUFBQTtBQUFBLEtBQUo7O0FBaUJBLFNBQU9DLElBQUlILGFBQUosQ0FBUDtBQUNEOztBQUVNLFNBQVNELGVBQVQsQ0FBeUJDLGFBQXpCLEVBQXdDQyxJQUF4QyxFQUF1RDtBQUFBLHFDQUFOQyxJQUFNO0FBQU5BLFFBQU07QUFBQTs7QUFDNUQsTUFBSUMsTUFBTSxTQUFOQSxHQUFNLENBQUNDLEdBQUQsRUFBUztBQUNqQixpQkFBR1UsV0FBSCxDQUFlVixHQUFmLEVBQW9CVyxPQUFwQixDQUE0QixVQUFDUixJQUFELEVBQVU7QUFDcEMsVUFBSUMsV0FBVyxlQUFLQyxJQUFMLENBQVVMLEdBQVYsRUFBZUcsSUFBZixDQUFmO0FBQ0EsVUFBSUksUUFBUSxhQUFHSyxRQUFILENBQVlSLFFBQVosQ0FBWjs7QUFFQSxVQUFJRyxNQUFNQyxXQUFOLEVBQUosRUFBeUI7QUFDdkJULFlBQUlLLFFBQUo7QUFDQTtBQUNEOztBQUVELFVBQUlHLE1BQU1FLE1BQU4sRUFBSixFQUFvQjtBQUNsQlosK0JBQUtPLFFBQUwsU0FBa0JOLElBQWxCO0FBQ0E7QUFDRDtBQUNGLEtBYkQ7QUFjRCxHQWZEOztBQWlCQUMsTUFBSUgsYUFBSjtBQUNEIiwiZmlsZSI6ImZvci1hbGwtZmlsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge3Bmc30gZnJvbSAnLi9wcm9taXNlJztcblxuXG4vKipcbiAqIEludm9rZXMgYSBtZXRob2Qgb24gYWxsIGZpbGVzIGluIGEgZGlyZWN0b3J5IHJlY3Vyc2l2ZWx5LlxuICogXG4gKiBAcHJpdmF0ZVxuICovIFxuZXhwb3J0IGZ1bmN0aW9uIGZvckFsbEZpbGVzKHJvb3REaXJlY3RvcnksIGZ1bmMsIC4uLmFyZ3MpIHtcbiAgbGV0IHJlYyA9IGFzeW5jIChkaXIpID0+IHtcbiAgICBsZXQgZW50cmllcyA9IGF3YWl0IHBmcy5yZWFkZGlyKGRpcik7XG4gICAgXG4gICAgZm9yIChsZXQgbmFtZSBvZiBlbnRyaWVzKSB7XG4gICAgICBsZXQgZnVsbE5hbWUgPSBwYXRoLmpvaW4oZGlyLCBuYW1lKTtcbiAgICAgIGxldCBzdGF0cyA9IGF3YWl0IHBmcy5zdGF0KGZ1bGxOYW1lKTtcblxuICAgICAgaWYgKHN0YXRzLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgYXdhaXQgcmVjKGZ1bGxOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHN0YXRzLmlzRmlsZSgpKSB7XG4gICAgICAgIGF3YWl0IGZ1bmMoZnVsbE5hbWUsIC4uLmFyZ3MpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZXR1cm4gcmVjKHJvb3REaXJlY3RvcnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yQWxsRmlsZXNTeW5jKHJvb3REaXJlY3RvcnksIGZ1bmMsIC4uLmFyZ3MpIHtcbiAgbGV0IHJlYyA9IChkaXIpID0+IHtcbiAgICBmcy5yZWFkZGlyU3luYyhkaXIpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGxldCBmdWxsTmFtZSA9IHBhdGguam9pbihkaXIsIG5hbWUpO1xuICAgICAgbGV0IHN0YXRzID0gZnMuc3RhdFN5bmMoZnVsbE5hbWUpO1xuICAgICAgXG4gICAgICBpZiAoc3RhdHMuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICByZWMoZnVsbE5hbWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChzdGF0cy5pc0ZpbGUoKSkge1xuICAgICAgICBmdW5jKGZ1bGxOYW1lLCAuLi5hcmdzKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuICBcbiAgcmVjKHJvb3REaXJlY3RvcnkpO1xufVxuIl19