UNPKG

electron-compile

Version:

Electron supporting package to compile JS and CSS in Electron applications

178 lines (133 loc) 7.73 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 _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); 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 rec = function () { var _this = this; 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) { _lodash2.default.each(_fs2.default.readdirSync(dir), 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3ItYWxsLWZpbGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQVdnQjtRQXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFyQlQsU0FBUyxXQUFULENBQXFCLGFBQXJCLEVBQW9DLElBQXBDLEVBQW1EO29DQUFOOztHQUFNOztBQUN4RCxNQUFJOzs7eUVBQU0saUJBQU8sR0FBUDtVQUNKLHlGQUVLLE1BQ0gsVUFDQTs7Ozs7OztxQkFKYyxhQUFJLE9BQUosQ0FBWSxHQUFaOzs7QUFBaEI7Ozs7O3FEQUVhOzs7Ozs7OztBQUFSO0FBQ0gseUJBQVcsZUFBSyxJQUFMLENBQVUsR0FBVixFQUFlLElBQWY7O3FCQUNHLGFBQUksSUFBSixDQUFTLFFBQVQ7OztBQUFkOzttQkFFQSxNQUFNLFdBQU47Ozs7OztxQkFDSSxJQUFJLFFBQUo7OzttQkFHSixNQUFNLE1BQU47Ozs7OztxQkFDSSx1QkFBSyxpQkFBYSxLQUFsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FaRjtvQkFBTjs7O0tBQUosQ0FEd0Q7O0FBa0J4RCxTQUFPLElBQUksYUFBSixDQUFQLENBbEJ3RDtDQUFuRDs7QUFxQkEsU0FBUyxlQUFULENBQXlCLGFBQXpCLEVBQXdDLElBQXhDLEVBQXVEO3FDQUFOOztHQUFNOztBQUM1RCxNQUFJLE1BQU0sU0FBTixHQUFNLENBQUMsR0FBRCxFQUFTO0FBQ2pCLHFCQUFFLElBQUYsQ0FBTyxhQUFHLFdBQUgsQ0FBZSxHQUFmLENBQVAsRUFBNEIsVUFBQyxJQUFELEVBQVU7QUFDcEMsVUFBSSxXQUFXLGVBQUssSUFBTCxDQUFVLEdBQVYsRUFBZSxJQUFmLENBQVgsQ0FEZ0M7QUFFcEMsVUFBSSxRQUFRLGFBQUcsUUFBSCxDQUFZLFFBQVosQ0FBUixDQUZnQzs7QUFJcEMsVUFBSSxNQUFNLFdBQU4sRUFBSixFQUF5QjtBQUN2QixZQUFJLFFBQUosRUFEdUI7QUFFdkIsZUFGdUI7T0FBekI7O0FBS0EsVUFBSSxNQUFNLE1BQU4sRUFBSixFQUFvQjtBQUNsQiwrQkFBSyxpQkFBYSxLQUFsQixFQURrQjtBQUVsQixlQUZrQjtPQUFwQjtLQVQwQixDQUE1QixDQURpQjtHQUFULENBRGtEOztBQWtCNUQsTUFBSSxhQUFKLEVBbEI0RDtDQUF2RCIsImZpbGUiOiJmb3ItYWxsLWZpbGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7cGZzfSBmcm9tICcuL3Byb21pc2UnO1xuXG5cbi8qKlxuICogSW52b2tlcyBhIG1ldGhvZCBvbiBhbGwgZmlsZXMgaW4gYSBkaXJlY3RvcnkgcmVjdXJzaXZlbHkuXG4gKiBcbiAqIEBwcml2YXRlXG4gKi8gXG5leHBvcnQgZnVuY3Rpb24gZm9yQWxsRmlsZXMocm9vdERpcmVjdG9yeSwgZnVuYywgLi4uYXJncykge1xuICBsZXQgcmVjID0gYXN5bmMgKGRpcikgPT4ge1xuICAgIGxldCBlbnRyaWVzID0gYXdhaXQgcGZzLnJlYWRkaXIoZGlyKTtcbiAgICBcbiAgICBmb3IgKGxldCBuYW1lIG9mIGVudHJpZXMpIHtcbiAgICAgIGxldCBmdWxsTmFtZSA9IHBhdGguam9pbihkaXIsIG5hbWUpO1xuICAgICAgbGV0IHN0YXRzID0gYXdhaXQgcGZzLnN0YXQoZnVsbE5hbWUpO1xuXG4gICAgICBpZiAoc3RhdHMuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICBhd2FpdCByZWMoZnVsbE5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RhdHMuaXNGaWxlKCkpIHtcbiAgICAgICAgYXdhaXQgZnVuYyhmdWxsTmFtZSwgLi4uYXJncyk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiByZWMocm9vdERpcmVjdG9yeSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JBbGxGaWxlc1N5bmMocm9vdERpcmVjdG9yeSwgZnVuYywgLi4uYXJncykge1xuICBsZXQgcmVjID0gKGRpcikgPT4ge1xuICAgIF8uZWFjaChmcy5yZWFkZGlyU3luYyhkaXIpLCAobmFtZSkgPT4ge1xuICAgICAgbGV0IGZ1bGxOYW1lID0gcGF0aC5qb2luKGRpciwgbmFtZSk7XG4gICAgICBsZXQgc3RhdHMgPSBmcy5zdGF0U3luYyhmdWxsTmFtZSk7XG4gICAgICBcbiAgICAgIGlmIChzdGF0cy5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgIHJlYyhmdWxsTmFtZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaWYgKHN0YXRzLmlzRmlsZSgpKSB7XG4gICAgICAgIGZ1bmMoZnVsbE5hbWUsIC4uLmFyZ3MpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG4gIFxuICByZWMocm9vdERpcmVjdG9yeSk7XG59XG4iXX0=