PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@expo/cli/build/src/start/doctor/dependencies

Просмотр файла: ensureDependenciesAsync.js

"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.ensureDependenciesAsync = ensureDependenciesAsync;
exports.createInstallCommand = createInstallCommand;
var _config = require("@expo/config");
var PackageManager = _interopRequireWildcard(require("@expo/package-manager"));
var _chalk = _interopRequireDefault(require("chalk"));
var _wrapAnsi = _interopRequireDefault(require("wrap-ansi"));
var Log = _interopRequireWildcard(require("../../../log"));
var _env = require("../../../utils/env");
var _errors = require("../../../utils/errors");
var _ora = require("../../../utils/ora");
var _prompts = require("../../../utils/prompts");
var _getMissingPackages = require("./getMissingPackages");
function _interopRequireDefault(obj) {
    return obj && obj.__esModule ? obj : {
        default: obj
    };
}
function _interopRequireWildcard(obj) {
    if (obj && obj.__esModule) {
        return obj;
    } else {
        var newObj = {};
        if (obj != null) {
            for(var key in obj){
                if (Object.prototype.hasOwnProperty.call(obj, key)) {
                    var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
                    if (desc.get || desc.set) {
                        Object.defineProperty(newObj, key, desc);
                    } else {
                        newObj[key] = obj[key];
                    }
                }
            }
        }
        newObj.default = obj;
        return newObj;
    }
}
async function ensureDependenciesAsync(projectRoot, { exp =(0, _config).getConfig(projectRoot).exp , requiredPackages , warningMessage , installMessage , // Don't prompt in CI
skipPrompt =_env.env.CI  }) {
    const { missing  } = await (0, _getMissingPackages).getMissingPackagesAsync(projectRoot, {
        sdkVersion: exp.sdkVersion,
        requiredPackages
    });
    if (!missing.length) {
        return true;
    }
    // Prompt to install or bail out...
    const readableMissingPackages = missing.map(({ pkg , version  })=>version ? [
            pkg,
            version
        ].join("@") : pkg
    ).join(", ");
    const isYarn = PackageManager.isUsingYarn(projectRoot);
    let title = installMessage;
    if (skipPrompt) {
        title += "\n\n";
    } else {
        const confirm = await (0, _prompts).confirmAsync({
            message: wrapForTerminal(title + ` Would you like to install ${_chalk.default.cyan(readableMissingPackages)}?`),
            initial: true
        });
        if (confirm) {
            // Format with version if available.
            const packages = missing.map(({ pkg , version  })=>version ? [
                    pkg,
                    version
                ].join("@") : pkg
            );
            // Install packages with versions
            await installPackagesAsync(projectRoot, {
                isYarn,
                packages
            });
            // Try again but skip prompting twice, simply fail if the packages didn't install correctly.
            return await ensureDependenciesAsync(projectRoot, {
                skipPrompt: true,
                installMessage,
                warningMessage,
                requiredPackages
            });
        }
        // Reset the title so it doesn't print twice in interactive mode.
        title = "";
    }
    const installCommand = createInstallCommand({
        isYarn,
        packages: missing
    });
    const disableMessage = warningMessage;
    const solution = `Please install ${_chalk.default.bold(readableMissingPackages)} by running:\n\n  ${_chalk.default.reset.bold(installCommand)}\n\n`;
    // This prevents users from starting a misconfigured JS or TS project by default.
    throw new _errors.CommandError(wrapForTerminal(title + solution + disableMessage + "\n"));
}
/**  Wrap long messages to fit smaller terminals. */ function wrapForTerminal(message) {
    return (0, _wrapAnsi).default(message, process.stdout.columns || 80);
}
function createInstallCommand({ isYarn , packages  }) {
    return (isYarn ? "yarn add" : "npm install") + " " + packages.map(({ pkg , version  })=>{
        if (version) {
            return [
                pkg,
                version
            ].join("@");
        }
        return pkg;
    }).join(" ");
}
/** Install packages in the project. */ async function installPackagesAsync(projectRoot, { isYarn , packages  }) {
    const packageManager = PackageManager.createForProject(projectRoot, {
        yarn: isYarn,
        log: Log.log,
        silent: !_env.env.EXPO_DEBUG
    });
    const packagesStr = _chalk.default.bold(packages.join(", "));
    Log.log();
    const installingPackageStep = (0, _ora).logNewSection(`Installing ${packagesStr}`);
    try {
        await packageManager.addAsync(...packages);
    } catch (e) {
        installingPackageStep.fail(`Failed to install ${packagesStr} with error: ${e.message}`);
        throw e;
    }
    installingPackageStep.succeed(`Installed ${packagesStr}`);
}

//# sourceMappingURL=ensureDependenciesAsync.js.map

Выполнить команду


Для локальной разработки. Не используйте в интернете!