Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/globby/ |
Upload File : |
'use strict'; const arrayUnion = require('array-union'); const glob = require('glob'); const fastGlob = require('fast-glob'); const dirGlob = require('dir-glob'); const gitignore = require('./gitignore'); const DEFAULT_FILTER = () => false; const isNegative = pattern => pattern[0] === '!'; const assertPatternsInput = patterns => { if (!patterns.every(x => typeof x === 'string')) { throw new TypeError('Patterns must be a string or an array of strings'); } }; const generateGlobTasks = (patterns, taskOpts) => { patterns = [].concat(patterns); assertPatternsInput(patterns); const globTasks = []; taskOpts = Object.assign({ ignore: [], expandDirectories: true }, taskOpts); patterns.forEach((pattern, i) => { if (isNegative(pattern)) { return; } const ignore = patterns .slice(i) .filter(isNegative) .map(pattern => pattern.slice(1)); const opts = Object.assign({}, taskOpts, { ignore: taskOpts.ignore.concat(ignore) }); globTasks.push({pattern, opts}); }); return globTasks; }; const globDirs = (task, fn) => { let opts = {cwd: task.opts.cwd}; if (Array.isArray(task.opts.expandDirectories)) { opts = Object.assign(opts, {files: task.opts.expandDirectories}); } else if (typeof task.opts.expandDirectories === 'object') { opts = Object.assign(opts, task.opts.expandDirectories); } return fn(task.pattern, opts); }; const getPattern = (task, fn) => task.opts.expandDirectories ? globDirs(task, fn) : [task.pattern]; module.exports = (patterns, opts) => { let globTasks; try { globTasks = generateGlobTasks(patterns, opts); } catch (err) { return Promise.reject(err); } const getTasks = Promise.all(globTasks.map(task => Promise.resolve(getPattern(task, dirGlob)) .then(globs => Promise.all(globs.map(glob => ({ pattern: glob, opts: task.opts })))) )) .then(tasks => arrayUnion.apply(null, tasks)); const getFilter = () => { return Promise.resolve( opts && opts.gitignore ? gitignore({cwd: opts.cwd, ignore: opts.ignore}) : DEFAULT_FILTER ); }; return getFilter() .then(filter => { return getTasks .then(tasks => Promise.all(tasks.map(task => fastGlob(task.pattern, task.opts)))) .then(paths => arrayUnion.apply(null, paths)) .then(paths => paths.filter(p => !filter(p))); }); }; module.exports.sync = (patterns, opts) => { const globTasks = generateGlobTasks(patterns, opts); const getFilter = () => { return opts && opts.gitignore ? gitignore.sync({cwd: opts.cwd, ignore: opts.ignore}) : DEFAULT_FILTER; }; const tasks = globTasks.reduce((tasks, task) => { const newTask = getPattern(task, dirGlob.sync).map(glob => ({ pattern: glob, opts: task.opts })); return tasks.concat(newTask); }, []); const filter = getFilter(); return tasks.reduce( (matches, task) => arrayUnion(matches, fastGlob.sync(task.pattern, task.opts)), [] ).filter(p => !filter(p)); }; module.exports.generateGlobTasks = generateGlobTasks; module.exports.hasMagic = (patterns, opts) => [] .concat(patterns) .some(pattern => glob.hasMagic(pattern, opts)); module.exports.gitignore = gitignore;