electron-compile
Version:
Electron supporting package to compile JS and CSS in Electron applications
178 lines (133 loc) • 7.73 kB
JavaScript
;
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=