JezK
Edit File: index.js.map
{"version":3,"file":"index.js","names":["require","Command","commander","process","stdout","prependListener","err","code","findProjectRoot","base","prev","dir","fs","existsSync","path","join","constants","NODE_PACKAGE_JSON","dirname","main","onUnexpectedError","writeErrorReport","log","errorReportLoc","config","enableMetaFolder","cwd","META_FOLDER","writeFileSync","reporter","error","lang","message","undefined","indent","str","trim","split","push","argv","env","PATH","version","versions","node","platform","arch","stack","registryNames","registryName","possibleLoc","registries","filename","manifest","readFileSync","lockLoc","lockfileFolder","LOCKFILE_FILENAME","lockfile","info","startArgs","args","endArgs","collect","val","acc","loudRejection","handleSignals","console","exitCode","name","usage","option","boolify","TERM_PROGRAM","parseInt","firstNonFlagIndex","findIndex","arg","idx","arr","isOption","startsWith","prevOption","_findOption","boundToPrevOption","optional","required","commandName","preCommandArgs","slice","isKnownCommand","Object","prototype","hasOwnProperty","call","commands","isHelp","helpInPre","helpInArgs","setHelpMode","unshift","splice","command","warnAboutRunDashDash","PROXY_COMMANDS","run","create","workspaces","workspace","length","preservedArgs","setFlags","parse","getRcArgs","concat","assert","shift","commanderOpts","opts","Reporter","json","JSONReporter","ConsoleReporter","emoji","isTTY","verbose","noProgress","progress","isSilent","boolifyWithDefault","YARN_SILENT","silent","nonInteractive","exit","close","initPeakMemoryCounter","Config","outputWrapperEnabled","YARN_WRAP_OUTPUT","shouldWrapOutput","hasWrapper","header","nodeVersionCheck","semver","satisfies","SUPPORTED_NODE_VERSIONS","warn","noArguments","getDocsInfo","yes","offline","network","isOffline","invariant","then","footer","runEventuallyWithFile","mutexFilename","isFirstTime","Promise","resolve","lockFilename","SINGLE_INSTANCE_FILENAME","lock","realpath","release","onDeath","setTimeout","runEventuallyWithNetwork","mutexPort","reject","connectionOptions","port","SINGLE_INSTANCE_PORT","host","startServer","clients","Set","server","http","createServer","manager","unref","timeout","on","reportServerName","socket","add","listen","killSockets","res","request","response","writeHead","end","JSON","stringify","pid","destroy","_getActiveHandles","handle","constructor","get","buffers","buffer","Buffer","toString","Error","waitForTheNetwork","net","createConnection","shouldRunInCurrentCwd","folderOptionKeys","resolvedFolderOptions","forEach","folderOptionKey","folderOption","resolvedFolderOption","init","enablePnp","pnp","disablePnp","enableDefaultRc","defaultRc","extraneousYarnrcFiles","useYarnrc","binLinks","preferOffline","captureHar","har","ignorePlatform","ignoreEngines","ignoreScripts","looseSemver","strictSemver","production","httpProxy","proxy","httpsProxy","registry","networkConcurrency","networkTimeout","updateChecksums","focus","otp","requireLockfile","MessageError","noProgressConfig","yarn","getOption","disableProgress","Date","toISOString","mutex","separatorLoc","indexOf","mutexType","mutexSpecifier","substring","ProcessTermError","EXIT_CODE","start","rc","getRcConfigForCwd","yarnPath","YARN_IGNORE_PATH","stdio","assign","test","spawnp","execPath","forkp","doubleDashIndex","element","autoRun","module","children"],"sourceRoot":"../../src","sources":["cli/index.js"],"sourcesContent":["/* @flow */\n\nimport http from 'http';\nimport net from 'net';\nimport path from 'path';\n\nconst { Command } = require('commander');\nimport fs from 'fs';\nimport invariant from 'invariant';\nimport lockfile from 'proper-lockfile';\nimport loudRejection from 'loud-rejection';\nimport onDeath from 'death';\nimport semver from 'semver';\n\nimport {ConsoleReporter, JSONReporter} from '../reporters/index.js';\nimport {registries, registryNames} from '../registries/index.js';\nimport commands from './commands/index.js';\nimport * as constants from '../constants.js';\nimport * as network from '../util/network.js';\nimport {MessageError} from '../errors.js';\nimport Config from '../config.js';\nimport {getRcConfigForCwd, getRcArgs} from '../rc.js';\nimport {spawnp, forkp} from '../util/child.js';\nimport {version} from '../util/yarn-version.js';\nimport handleSignals from '../util/signal-handler.js';\nimport {boolify, boolifyWithDefault} from '../util/conversion.js';\nimport {ProcessTermError} from '../errors';\n\nconst commander = new Command();\n\nprocess.stdout.prependListener('error', err => {\n // swallow err only if downstream consumer process closed pipe early\n if (err.code === 'EPIPE' || err.code === 'ERR_STREAM_DESTROYED') {\n return;\n }\n throw err;\n});\n\nfunction findProjectRoot(base: string): string {\n let prev = null;\n let dir = base;\n\n do {\n if (fs.existsSync(path.join(dir, constants.NODE_PACKAGE_JSON))) {\n return dir;\n }\n\n prev = dir;\n dir = path.dirname(dir);\n } while (dir !== prev);\n\n return base;\n}\n\nexport async function main({\n startArgs,\n args,\n endArgs,\n}: {\n startArgs: Array<string>,\n args: Array<string>,\n endArgs: Array<string>,\n}): Promise<void> {\n const collect = (val, acc) => {\n acc.push(val);\n return acc;\n };\n\n loudRejection();\n handleSignals();\n\n // if -v/--version is the first argument, then always exit after returning the version\n if ((args[0] === '-v') || (args[0] === '--version')) {\n console.log(version.trim());\n process.exitCode = 0;\n return;\n }\n\n // set global options\n commander.name('yarnpkg');\n commander.version(version, '-v, --version');\n commander.usage('[command] [flags]');\n commander.option('--no-default-rc', 'prevent Yarn from automatically detecting yarnrc and npmrc files');\n commander.option(\n '--use-yarnrc <path>',\n 'specifies a yarnrc file that Yarn should use (.yarnrc only, not .npmrc)',\n collect,\n [],\n );\n commander.option('--verbose', 'output verbose messages on internal operations');\n commander.option('--offline', 'trigger an error if any required dependencies are not available in local cache');\n commander.option('--prefer-offline', 'use network only if dependencies are not available in local cache');\n commander.option('--enable-pnp, --pnp', \"enable the Plug'n'Play installation\");\n commander.option('--disable-pnp', \"disable the Plug'n'Play installation\");\n commander.option('--strict-semver');\n commander.option('--json', 'format Yarn log messages as lines of JSON (see jsonlines.org)');\n commander.option('--ignore-scripts', \"don't run lifecycle scripts\");\n commander.option('--har', 'save HAR output of network traffic');\n commander.option('--ignore-platform', 'ignore platform checks');\n commander.option('--ignore-engines', 'ignore engines check');\n commander.option('--ignore-optional', 'ignore optional dependencies');\n commander.option('--force', 'install and build packages even if they were built before, overwrite lockfile');\n commander.option('--skip-integrity-check', 'run install without checking if node_modules is installed');\n commander.option('--check-files', 'install will verify file tree of packages for consistency');\n commander.option('--no-bin-links', \"don't generate bin links when setting up packages\");\n commander.option('--flat', 'only allow one version of a package');\n commander.option('--prod, --production [prod]', '', boolify);\n commander.option('--no-lockfile', \"don't read or generate a lockfile\");\n commander.option('--pure-lockfile', \"don't generate a lockfile\");\n commander.option('--frozen-lockfile', \"don't generate a lockfile and fail if an update is needed\");\n commander.option('--update-checksums', 'update package checksums from current repository');\n commander.option('--link-duplicates', 'create hardlinks to the repeated modules in node_modules');\n commander.option('--link-folder <path>', 'specify a custom folder to store global links');\n commander.option('--global-folder <path>', 'specify a custom folder to store global packages');\n commander.option(\n '--modules-folder <path>',\n 'rather than installing modules into the node_modules folder relative to the cwd, output them here',\n );\n commander.option('--preferred-cache-folder <path>', 'specify a custom folder to store the yarn cache if possible');\n commander.option('--cache-folder <path>', 'specify a custom folder that must be used to store the yarn cache');\n commander.option('--mutex <type>[:specifier]', 'use a mutex to ensure only one yarn instance is executing');\n commander.option(\n '--emoji [bool]',\n 'enable emoji in output',\n boolify,\n process.platform === 'darwin' ||\n process.env.TERM_PROGRAM === 'Hyper' ||\n process.env.TERM_PROGRAM === 'HyperTerm' ||\n process.env.TERM_PROGRAM === 'Terminus',\n );\n commander.option('-s, --silent', 'skip Yarn console logs, other types of logs (script output) will be printed');\n commander.option('--cwd <cwd>', 'working directory to use', process.cwd());\n commander.option('--proxy <host>', '');\n commander.option('--https-proxy <host>', '');\n commander.option('--registry <url>', 'override configuration registry');\n commander.option('--no-progress', 'disable progress bar');\n commander.option('--network-concurrency <number>', 'maximum number of concurrent network requests', parseInt);\n commander.option('--network-timeout <milliseconds>', 'TCP timeout for network requests', parseInt);\n commander.option('--non-interactive', 'do not show interactive prompts');\n commander.option(\n '--scripts-prepend-node-path [bool]',\n 'prepend the node executable dir to the PATH in scripts',\n boolify,\n );\n commander.option('--no-node-version-check', 'do not warn when using a potentially unsupported Node version');\n commander.option('--focus', 'Focus on a single workspace by installing remote copies of its sibling workspaces.');\n commander.option('--otp <otpcode>', 'one-time password for two factor authentication');\n\n // get command name\n const firstNonFlagIndex = args.findIndex((arg, idx, arr) => {\n const isOption = arg.startsWith('-');\n const prev = idx > 0 && arr[idx - 1];\n const prevOption = prev && prev.startsWith('-') && commander._findOption(prev);\n const boundToPrevOption = prevOption && (prevOption.optional || prevOption.required);\n\n return !isOption && !boundToPrevOption;\n });\n let preCommandArgs;\n let commandName = '';\n if (firstNonFlagIndex > -1) {\n preCommandArgs = args.slice(0, firstNonFlagIndex);\n commandName = args[firstNonFlagIndex];\n args = args.slice(firstNonFlagIndex + 1);\n } else {\n preCommandArgs = args;\n args = [];\n }\n\n let isKnownCommand = Object.prototype.hasOwnProperty.call(commands, commandName);\n const isHelp = arg => arg === '--help' || arg === '-h';\n const helpInPre = preCommandArgs.findIndex(isHelp);\n const helpInArgs = args.findIndex(isHelp);\n const setHelpMode = () => {\n if (isKnownCommand) {\n args.unshift(commandName);\n }\n commandName = 'help';\n isKnownCommand = true;\n };\n\n if (helpInPre > -1) {\n preCommandArgs.splice(helpInPre);\n setHelpMode();\n } else if (isKnownCommand && helpInArgs === 0) {\n args.splice(helpInArgs);\n setHelpMode();\n }\n\n if (!commandName) {\n commandName = 'install';\n isKnownCommand = true;\n }\n if (commandName === ('set': string) && args[0] === 'version') {\n commandName = ('policies': string);\n args.splice(0, 1, 'set-version');\n isKnownCommand = true;\n }\n if (!isKnownCommand) {\n // if command is not recognized, then set default to `run`\n args.unshift(commandName);\n commandName = 'run';\n }\n const command = commands[commandName];\n\n let warnAboutRunDashDash = false;\n // we are using \"yarn <script> -abc\", \"yarn run <script> -abc\", or \"yarn node -abc\", we want -abc\n // to be script options, not yarn options\n\n // PROXY_COMMANDS is a map of command name to the number of preservedArgs\n const PROXY_COMMANDS = {\n run: 1, // yarn run {command}\n create: 1, // yarn create {project}\n node: 0, // yarn node\n workspaces: 1, // yarn workspaces {command}\n workspace: 2, // yarn workspace {package} {command}\n };\n if (PROXY_COMMANDS.hasOwnProperty(commandName)) {\n if (endArgs.length === 0) {\n // $FlowFixMe doesn't like that PROXY_COMMANDS doesn't have keys for all commands.\n let preservedArgs = PROXY_COMMANDS[commandName];\n\n // If the --into option immediately follows the command (or the script name in the \"run/create\"\n // case), we parse them as regular options so that we can cd into them\n if (args[preservedArgs] === `--into`) {\n preservedArgs += 2;\n }\n endArgs = ['--', ...args.splice(preservedArgs)];\n } else {\n warnAboutRunDashDash = true;\n }\n }\n\n args = [...preCommandArgs, ...args];\n\n command.setFlags(commander);\n commander.parse([\n ...startArgs,\n // we use this for https://github.com/tj/commander.js/issues/346, otherwise\n // it will strip some args that match with any options\n 'this-arg-will-get-stripped-later',\n ...getRcArgs(commandName, args),\n ...args,\n ]);\n commander.args = commander.args.concat(endArgs.slice(1));\n\n // we strip cmd\n console.assert(commander.args.length >= 1);\n console.assert(commander.args[0] === 'this-arg-will-get-stripped-later');\n commander.args.shift();\n\n const commanderOpts = commander.opts();\n\n //\n const Reporter = commanderOpts.json ? JSONReporter : ConsoleReporter;\n const reporter = new Reporter({\n emoji: process.stdout.isTTY && commanderOpts.emoji,\n verbose: commanderOpts.verbose,\n noProgress: !commanderOpts.progress,\n isSilent: boolifyWithDefault(process.env.YARN_SILENT, false) || commanderOpts.silent,\n nonInteractive: commanderOpts.nonInteractive,\n });\n\n const exit = exitCode => {\n process.exitCode = exitCode || 0;\n reporter.close();\n };\n\n reporter.initPeakMemoryCounter();\n\n const config = new Config(reporter);\n const outputWrapperEnabled = boolifyWithDefault(process.env.YARN_WRAP_OUTPUT, true);\n const shouldWrapOutput =\n outputWrapperEnabled &&\n !commanderOpts.json &&\n command.hasWrapper(commander, commander.args) &&\n !(commandName === 'init' && commanderOpts[`2`]);\n\n if (shouldWrapOutput) {\n reporter.header(commandName, {name: 'yarn', version});\n }\n\n if (commanderOpts.nodeVersionCheck && !semver.satisfies(process.versions.node, constants.SUPPORTED_NODE_VERSIONS)) {\n reporter.warn(reporter.lang('unsupportedNodeVersion', process.versions.node, constants.SUPPORTED_NODE_VERSIONS));\n }\n\n if (command.noArguments && (commander.args.length > 0)) {\n reporter.error(reporter.lang('noArguments'));\n reporter.info(command.getDocsInfo);\n exit(1);\n return;\n }\n\n //\n if (commanderOpts.yes) {\n reporter.warn(reporter.lang('yesWarning'));\n }\n\n //\n if (!commanderOpts.offline && network.isOffline()) {\n reporter.warn(reporter.lang('networkWarning'));\n }\n\n //\n const run = (): Promise<void> => {\n invariant(command, 'missing command');\n\n if (warnAboutRunDashDash) {\n reporter.warn(reporter.lang('dashDashDeprecation'));\n }\n\n return command.run(config, reporter, commander, commanderOpts, commander.args).then(exitCode => {\n if (shouldWrapOutput) {\n reporter.footer(false);\n }\n return exitCode;\n });\n };\n\n //\n const runEventuallyWithFile = (mutexFilename: ?string, isFirstTime?: boolean): Promise<void> => {\n return new Promise(resolve => {\n const lockFilename = mutexFilename || path.join(config.cwd, constants.SINGLE_INSTANCE_FILENAME);\n lockfile.lock(lockFilename, {realpath: false})\n .then((release: (() => void) => void) => {\n onDeath(() => {\n process.exitCode = 1;\n });\n resolve(run().then(() => new Promise(resolve => release(resolve))));\n })\n .catch((err: mixed) => {\n if (isFirstTime) {\n reporter.warn(reporter.lang('waitingInstance'));\n }\n setTimeout(() => {\n resolve(runEventuallyWithFile(mutexFilename, false));\n }, 200); // do not starve the CPU\n });\n });\n };\n\n const runEventuallyWithNetwork = (mutexPort: ?string): Promise<void> => {\n return new Promise((resolve, reject) => {\n const connectionOptions = {\n port: +mutexPort || constants.SINGLE_INSTANCE_PORT,\n host: 'localhost',\n };\n\n function startServer() {\n const clients = new Set();\n const server = http.createServer(manager);\n\n // The server must not prevent us from exiting\n server.unref();\n\n // No socket must timeout, so that they aren't closed before we exit\n server.timeout = 0;\n\n // If we fail to setup the server, we ask the existing one for its name\n server.on('error', () => {\n reportServerName();\n });\n\n // If we succeed, keep track of all the connected sockets to close them later\n server.on('connection', socket => {\n clients.add(socket);\n socket.on('close', () => {\n clients.delete(socket);\n });\n });\n\n server.listen(connectionOptions, () => {\n // Don't forget to kill the sockets if we're being killed via signals\n onDeath(killSockets);\n\n // Also kill the sockets if we finish, whether it's a success or a failure\n run().then(\n res => {\n killSockets();\n resolve(res);\n },\n err => {\n killSockets();\n reject(err);\n },\n );\n });\n\n function manager(request, response) {\n response.writeHead(200);\n response.end(JSON.stringify({cwd: config.cwd, pid: process.pid}));\n }\n\n function killSockets() {\n try {\n server.close();\n } catch (err) {\n // best effort\n }\n\n for (const socket of clients) {\n try {\n socket.destroy();\n } catch (err) {\n // best effort\n }\n }\n\n // If the process hasn't exited in the next 5s, it has stalled and we abort\n const timeout = setTimeout(() => {\n console.error('Process stalled');\n if (process._getActiveHandles) {\n console.error('Active handles:');\n // $FlowFixMe: getActiveHandles is undocumented, but it exists\n for (const handle of process._getActiveHandles()) {\n console.error(` - ${handle.constructor.name}`);\n }\n }\n // eslint-disable-next-line no-process-exit\n process.exit(1);\n }, 5000);\n\n // This timeout must not prevent us from exiting\n // $FlowFixMe: Node's setTimeout returns a Timeout, not a Number\n timeout.unref();\n }\n }\n\n function reportServerName() {\n const request = http.get(connectionOptions, response => {\n const buffers = [];\n\n response.on('data', buffer => {\n buffers.push(buffer);\n });\n\n response.on('end', () => {\n try {\n const {cwd, pid} = JSON.parse(Buffer.concat(buffers).toString());\n reporter.warn(reporter.lang('waitingNamedInstance', pid, cwd));\n } catch (error) {\n reporter.verbose(error);\n reject(new Error(reporter.lang('mutexPortBusy', connectionOptions.port)));\n return;\n }\n waitForTheNetwork();\n });\n\n response.on('error', () => {\n startServer();\n });\n });\n\n request.on('error', () => {\n startServer();\n });\n }\n\n function waitForTheNetwork() {\n const socket = net.createConnection(connectionOptions);\n\n socket.on('error', () => {\n // catch & ignore, the retry is handled in 'close'\n });\n\n socket.on('close', () => {\n startServer();\n });\n }\n\n startServer();\n });\n };\n\n function onUnexpectedError(err: Error) {\n function indent(str: string): string {\n return '\\n ' + str.trim().split('\\n').join('\\n ');\n }\n\n const log = [];\n log.push(`Arguments: ${indent(process.argv.join(' '))}`);\n log.push(`PATH: ${indent(process.env.PATH || 'undefined')}`);\n log.push(`Yarn version: ${indent(version)}`);\n log.push(`Node version: ${indent(process.versions.node)}`);\n log.push(`Platform: ${indent(process.platform + ' ' + process.arch)}`);\n\n log.push(`Trace: ${indent(err.stack)}`);\n\n // add manifests\n for (const registryName of registryNames) {\n const possibleLoc = path.join(config.cwd, registries[registryName].filename);\n const manifest = fs.existsSync(possibleLoc) ? fs.readFileSync(possibleLoc, 'utf8') : 'No manifest';\n log.push(`${registryName} manifest: ${indent(manifest)}`);\n }\n\n // lockfile\n const lockLoc = path.join(\n config.lockfileFolder || config.cwd, // lockfileFolder might not be set at this point\n constants.LOCKFILE_FILENAME,\n );\n const lockfile = fs.existsSync(lockLoc) ? fs.readFileSync(lockLoc, 'utf8') : 'No lockfile';\n log.push(`Lockfile: ${indent(lockfile)}`);\n\n const errorReportLoc = writeErrorReport(log);\n\n reporter.error(reporter.lang('unexpectedError', err.message));\n\n if (errorReportLoc) {\n reporter.info(reporter.lang('bugReport', errorReportLoc));\n }\n }\n\n function writeErrorReport(log): ?string {\n const errorReportLoc = config.enableMetaFolder\n ? path.join(config.cwd, constants.META_FOLDER, 'yarn-error.log')\n : path.join(config.cwd, 'yarn-error.log');\n\n try {\n fs.writeFileSync(errorReportLoc, log.join('\\n\\n') + '\\n');\n } catch (err) {\n reporter.error(reporter.lang('fileWriteError', errorReportLoc, err.message));\n return undefined;\n }\n\n return errorReportLoc;\n }\n\n const cwd = command.shouldRunInCurrentCwd ? commanderOpts.cwd : findProjectRoot(commanderOpts.cwd);\n\n const folderOptionKeys = ['linkFolder', 'globalFolder', 'preferredCacheFolder', 'cacheFolder', 'modulesFolder'];\n\n // Resolve all folder options relative to cwd\n const resolvedFolderOptions = {};\n folderOptionKeys.forEach(folderOptionKey => {\n const folderOption = commanderOpts[folderOptionKey];\n const resolvedFolderOption = folderOption ? path.resolve(commanderOpts.cwd, folderOption) : folderOption;\n resolvedFolderOptions[folderOptionKey] = resolvedFolderOption;\n });\n\n await config\n .init({\n cwd,\n commandName,\n ...resolvedFolderOptions,\n enablePnp: commanderOpts.pnp,\n disablePnp: commanderOpts.disablePnp,\n enableDefaultRc: commanderOpts.defaultRc,\n extraneousYarnrcFiles: commanderOpts.useYarnrc,\n binLinks: commanderOpts.binLinks,\n preferOffline: commanderOpts.preferOffline,\n captureHar: commanderOpts.har,\n ignorePlatform: commanderOpts.ignorePlatform,\n ignoreEngines: commanderOpts.ignoreEngines,\n ignoreScripts: commanderOpts.ignoreScripts,\n offline: commanderOpts.preferOffline || commanderOpts.offline,\n looseSemver: !commanderOpts.strictSemver,\n production: commanderOpts.production,\n httpProxy: commanderOpts.proxy,\n httpsProxy: commanderOpts.httpsProxy,\n registry: commanderOpts.registry,\n networkConcurrency: commanderOpts.networkConcurrency,\n networkTimeout: commanderOpts.networkTimeout,\n nonInteractive: commanderOpts.nonInteractive,\n updateChecksums: commanderOpts.updateChecksums,\n focus: commanderOpts.focus,\n otp: commanderOpts.otp,\n })\n .then(() => {\n // lockfile check must happen after config.init sets lockfileFolder\n if (command.requireLockfile && !fs.existsSync(path.join(config.lockfileFolder, constants.LOCKFILE_FILENAME))) {\n throw new MessageError(reporter.lang('noRequiredLockfile'));\n }\n\n // option \"no-progress\" stored in yarn config\n const noProgressConfig = config.registries.yarn.getOption('no-progress');\n\n if (noProgressConfig) {\n reporter.disableProgress();\n }\n\n // verbose logs outputs process.uptime() with this line we can sync uptime to absolute time on the computer\n reporter.verbose(`current time: ${new Date().toISOString()}`);\n\n const mutex: mixed = commanderOpts.mutex;\n if (mutex && typeof mutex === 'string') {\n const separatorLoc = mutex.indexOf(':');\n let mutexType;\n let mutexSpecifier;\n if (separatorLoc === -1) {\n mutexType = mutex;\n mutexSpecifier = undefined;\n } else {\n mutexType = mutex.substring(0, separatorLoc);\n mutexSpecifier = mutex.substring(separatorLoc + 1);\n }\n\n if (mutexType === 'file') {\n return runEventuallyWithFile(mutexSpecifier, true).then(exit);\n } else if (mutexType === 'network') {\n return runEventuallyWithNetwork(mutexSpecifier).then(exit);\n } else {\n throw new MessageError(`Unknown single instance type ${mutexType}`);\n }\n } else {\n return run().then(exit);\n }\n })\n .catch((err: Error) => {\n reporter.verbose(err.stack);\n\n if (err instanceof ProcessTermError && reporter.isSilent) {\n return exit(err.EXIT_CODE || 1);\n }\n\n if (err instanceof MessageError) {\n reporter.error(err.message);\n } else {\n onUnexpectedError(err);\n }\n\n if (command.getDocsInfo) {\n reporter.info(command.getDocsInfo);\n }\n\n if (err instanceof ProcessTermError) {\n return exit(err.EXIT_CODE || 1);\n }\n\n return exit(1);\n });\n}\n\nasync function start(): Promise<void> {\n const rc = getRcConfigForCwd(process.cwd(), process.argv.slice(2));\n const yarnPath = rc['yarn-path'] || rc['yarnPath'];\n\n if (yarnPath && !boolifyWithDefault(process.env.YARN_IGNORE_PATH, false)) {\n const argv = process.argv.slice(2);\n const opts = {stdio: 'inherit', env: Object.assign({}, process.env, {YARN_IGNORE_PATH: 1})};\n let exitCode = 0;\n\n process.on(`SIGINT`, () => {\n // We don't want SIGINT to kill our process; we want it to kill the\n // innermost process, whose end will cause our own to exit.\n });\n\n handleSignals();\n\n try {\n if (/\\.[cm]?js$/.test(yarnPath)) {\n exitCode = await spawnp(process.execPath, [yarnPath, ...argv], opts);\n } else {\n exitCode = await spawnp(yarnPath, argv, opts);\n }\n } catch (firstError) {\n try {\n exitCode = await forkp(yarnPath, argv, opts);\n } catch (error) {\n throw firstError;\n }\n }\n\n process.exitCode = exitCode;\n } else {\n // ignore all arguments after a --\n const doubleDashIndex = process.argv.findIndex(element => element === '--');\n const startArgs = process.argv.slice(0, 2);\n const args = process.argv.slice(2, doubleDashIndex === -1 ? process.argv.length : doubleDashIndex);\n const endArgs = doubleDashIndex === -1 ? [] : process.argv.slice(doubleDashIndex);\n\n await main({startArgs, args, endArgs});\n }\n}\n\n// When this module is compiled via Webpack, its child\n// count will be 0 since it is a single-file bundle.\nexport const autoRun = module.children.length === 0;\n\nif (require.main === module) {\n start().catch(error => {\n console.error(error.stack || error.message || error);\n process.exitCode = 1;\n });\n}\n\nexport default start;\n"],"mappings":"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"}