paranormal
Version:
Phenomenal Code Examples
225 lines (167 loc) • 5.66 kB
JavaScript
;
exports.__esModule = true;
exports.findGlobPatterns = undefined;
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);
var findGlobPatterns = exports.findGlobPatterns = function () {
var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(cwd, patterns) {
var matches;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0, _globby2.default)(patterns, { cwd });
case 2:
matches = _context2.sent;
return _context2.abrupt('return', matches.map(function (match) {
return _path2.default.join(cwd, match);
}));
case 4:
case 'end':
return _context2.stop();
}
}
}, _callee2, this);
}));
return function findGlobPatterns(_x, _x2) {
return _ref3.apply(this, arguments);
};
}();
exports.readFile = readFile;
exports.writeFile = writeFile;
exports.stat = stat;
exports.lstat = lstat;
exports.readdir = readdir;
exports.unlink = unlink;
exports.mkdirp = mkdirp;
exports.rimraf = rimraf;
exports.tempdir = tempdir;
exports.matchesGlobPatterns = matchesGlobPatterns;
exports.watchDirectory = watchDirectory;
var _typeablePromisify = require('typeable-promisify');
var _typeablePromisify2 = _interopRequireDefault(_typeablePromisify);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _mkdirp2 = require('mkdirp');
var _mkdirp3 = _interopRequireDefault(_mkdirp2);
var _rimraf2 = require('rimraf');
var _rimraf3 = _interopRequireDefault(_rimraf2);
var _tempy = require('tempy');
var _tempy2 = _interopRequireDefault(_tempy);
var _globby = require('globby');
var _globby2 = _interopRequireDefault(_globby);
var _micromatch = require('micromatch');
var _micromatch2 = _interopRequireDefault(_micromatch);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _chokidar = require('chokidar');
var _chokidar2 = _interopRequireDefault(_chokidar);
var _signalExit = require('signal-exit');
var _signalExit2 = _interopRequireDefault(_signalExit);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function readFile(filePath) {
return (0, _typeablePromisify2.default)(function (cb) {
return _fs2.default.readFile(filePath, cb);
});
}
function writeFile(filePath, fileContents) {
return (0, _typeablePromisify2.default)(function (cb) {
return _fs2.default.writeFile(filePath, fileContents, cb);
});
}
function stat(filePath) {
return (0, _typeablePromisify2.default)(function (cb) {
return _fs2.default.stat(filePath, cb);
});
}
function lstat(filePath) {
return (0, _typeablePromisify2.default)(function (cb) {
return _fs2.default.lstat(filePath, cb);
});
}
function readdir(filePath) {
return (0, _typeablePromisify2.default)(function (cb) {
return _fs2.default.readdir(filePath, cb);
});
}
function unlink(filePath) {
return (0, _typeablePromisify2.default)(function (cb) {
return _fs2.default.unlink(filePath, cb);
});
}
function mkdirp(dirPath) {
return (0, _typeablePromisify2.default)(function (cb) {
return (0, _mkdirp3.default)(dirPath, cb);
});
}
function rimraf(dirPath) {
return (0, _typeablePromisify2.default)(function (cb) {
return (0, _rimraf3.default)(dirPath, cb);
});
}
var TEMP_DIRECTORIES = [];
function tempdir() {
var dirPath = _tempy2.default.directory();
TEMP_DIRECTORIES.push(dirPath);
return dirPath;
}
(0, _signalExit2.default)((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
var _iterator, _isArray, _i, _ref2, dirPath;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_iterator = TEMP_DIRECTORIES, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);
case 1:
if (!_isArray) {
_context.next = 7;
break;
}
if (!(_i >= _iterator.length)) {
_context.next = 4;
break;
}
return _context.abrupt('break', 16);
case 4:
_ref2 = _iterator[_i++];
_context.next = 11;
break;
case 7:
_i = _iterator.next();
if (!_i.done) {
_context.next = 10;
break;
}
return _context.abrupt('break', 16);
case 10:
_ref2 = _i.value;
case 11:
dirPath = _ref2;
_context.next = 14;
return rimraf(dirPath);
case 14:
_context.next = 1;
break;
case 16:
case 'end':
return _context.stop();
}
}
}, _callee, undefined);
})));
function matchesGlobPatterns(cwd, filePath, patterns) {
return _micromatch2.default.every(_path2.default.relative(cwd, filePath), patterns);
}
function watchDirectory(dirPath) {
return _chokidar2.default.watch(dirPath, {
recursive: true,
encoding: 'utf8',
persistent: true,
ignoreInitial: true
});
}