UNPKG

paranormal

Version:
121 lines (85 loc) 3.13 kB
'use strict'; exports.__esModule = true; 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.findGlobPatterns = findGlobPatterns; 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)(cb => _fs2.default.readFile(filePath, cb)); } function writeFile(filePath, fileContents) { return (0, _typeablePromisify2.default)(cb => _fs2.default.writeFile(filePath, fileContents, cb)); } function stat(filePath) { return (0, _typeablePromisify2.default)(cb => _fs2.default.stat(filePath, cb)); } function lstat(filePath) { return (0, _typeablePromisify2.default)(cb => _fs2.default.lstat(filePath, cb)); } function readdir(filePath) { return (0, _typeablePromisify2.default)(cb => _fs2.default.readdir(filePath, cb)); } function unlink(filePath) { return (0, _typeablePromisify2.default)(cb => _fs2.default.unlink(filePath, cb)); } function mkdirp(dirPath) { return (0, _typeablePromisify2.default)(cb => (0, _mkdirp3.default)(dirPath, cb)); } function rimraf(dirPath) { return (0, _typeablePromisify2.default)(cb => (0, _rimraf3.default)(dirPath, cb)); } let TEMP_DIRECTORIES = []; function tempdir() { let dirPath = _tempy2.default.directory(); TEMP_DIRECTORIES.push(dirPath); return dirPath; } (0, _signalExit2.default)(async () => { for (let dirPath of TEMP_DIRECTORIES) { await rimraf(dirPath); } }); async function findGlobPatterns(cwd, patterns) { let matches = await (0, _globby2.default)(patterns, { cwd }); return matches.map(match => _path2.default.join(cwd, match)); } 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 }); }