UNPKG

@react-native/core-cli-utils

Version:
52 lines (50 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true, }); exports.assertDependencies = assertDependencies; exports.isMacOS = void 0; exports.isOnPath = isOnPath; exports.isWindows = void 0; exports.task = task; exports.toPascalCase = void 0; var _execa = _interopRequireDefault(require("execa")); var _os = _interopRequireDefault(require("os")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function task(order, label, action) { return { action, label, order, }; } const isWindows = (exports.isWindows = _os.default.platform() === "win32"); const isMacOS = (exports.isMacOS = _os.default.platform() === "darwin"); const toPascalCase = (label) => label.length === 0 ? "" : label[0].toUpperCase() + label.slice(1); exports.toPascalCase = toPascalCase; function isOnPath(dep, description) { const cmd = isWindows ? ["where", [dep]] : ["command", ["-v", dep]]; try { return { dep, description, found: _execa.default.sync(...cmd).exitCode === 0, }; } catch { return { dep, description, found: false, }; } } function assertDependencies(...deps) { for (const { found, dep, description } of deps) { if (!found) { throw new Error(`"${dep}" not found, ${description}`); } } }