HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/alq-cali.bikenow.co/node_modules/laravel-mix/src/tasks/FileGlob.js
let path = require('path');
let glob = require('glob');
let File = require('../File');
let { promisify } = require('util');
let { concat } = require('lodash');
let globAsync = promisify(glob);

/** @internal */
module.exports.FileGlob = class FileGlob {
    /**
     * Find all relevant files matching the given source path.
     *
     * @param   {string|string[]} src
     * @param   {{ ignore?: string[] }} options
     * @returns {Promise<string[]>}
     */
    static async expand(src, { ignore = [] } = {}) {
        const paths = concat([], src);

        const results = await Promise.all(
            paths.map(async srcPath => {
                const result = await this.find(srcPath);

                if (!result.isDir && result.matches.length === 0) {
                    return [srcPath];
                }

                return result.matches;
            })
        );

        const filepaths = results.flatMap(files => files);

        return filepaths.filter(filepath => {
            return !ignore.includes(filepath);
        });
    }

    /**
     *
     * @internal
     * @param {string} src
     * @returns {Promise<{isDir: boolean, matches: string[]}>}
     */
    static async find(src) {
        const isDir = File.find(src).isDirectory();
        const pattern = isDir ? path.join(src, '**/*') : src;

        const matches = await globAsync(pattern, { nodir: true });

        return {
            isDir,
            matches
        };
    }
};