JezK
Edit File: global.js.map
{"version":3,"file":"global.js","names":["GlobalAdd","args","flags","config","reporter","lockfile","linker","setTopLevelBinLinking","addedPatterns","pattern","manifest","resolver","getStrictResolvedPattern","ls","Promise","resolve","Add","path","require","hasWrapper","updateCwd","fs","mkdirp","globalFolder","init","cwd","offline","binLinks","cacheFolder","_cacheRootFolder","linkFolder","enableDefaultRc","extraneousYarnrcFiles","getBins","dirs","Object","keys","registries","registryName","registry","push","loc","paths","Set","dir","binDir","join","exists","readdir","name","add","getGlobalPrefix","prefix","getOption","String","process","env","PREFIX","potentialPrefixFolders","FALLBACK_GLOBAL_PREFIX","platform","LOCALAPPDATA","unshift","POSIX_GLOBAL_PREFIX","binFolders","map","getFirstSuitableFolder","prefixFolderQueryResult","folder","dirname","warn","lang","skipped","item","getBinFolder","initUpdateBins","throwPermError","err","dest","code","MessageError","beforeBins","binFolder","afterBins","src","has","basename","unlink","linkBin","indexOf","rename","saved","bins","bin","human","version","length","success","info","list","Lockfile","fromDirectory","install","Install","NoopReporter","getFlattenedDeps","patterns","buildSubCommands","commander","updateBins","force","log","remove","runRemove","upgrade","runUpgrade","upgradeInteractive","runUpgradeInteractive","run","_setFlags","setFlags","description","option"],"sourceRoot":"../../../src","sources":["cli/commands/global.js"],"sourcesContent":["/* @flow */\n\nimport type {Reporter} from '../../reporters/index.js';\nimport type {Manifest} from '../../types.js';\nimport type Config from '../../config.js';\nimport {MessageError} from '../../errors.js';\nimport {registries} from '../../registries/index.js';\nimport NoopReporter from '../../reporters/base-reporter.js';\nimport buildSubCommands from './_build-sub-commands.js';\nimport Lockfile from '../../lockfile';\nimport {Install} from './install.js';\nimport {Add} from './add.js';\nimport {run as runRemove} from './remove.js';\nimport {run as runUpgrade} from './upgrade.js';\nimport {run as runUpgradeInteractive} from './upgrade-interactive.js';\nimport {linkBin} from '../../package-linker.js';\nimport {POSIX_GLOBAL_PREFIX, FALLBACK_GLOBAL_PREFIX} from '../../constants.js';\nimport * as fs from '../../util/fs.js';\n\nclass GlobalAdd extends Add {\n constructor(args: Array<string>, flags: Object, config: Config, reporter: Reporter, lockfile: Lockfile) {\n super(args, flags, config, reporter, lockfile);\n\n this.linker.setTopLevelBinLinking(false);\n }\n\n maybeOutputSaveTree(): Promise<void> {\n for (const pattern of this.addedPatterns) {\n const manifest = this.resolver.getStrictResolvedPattern(pattern);\n ls(manifest, this.reporter, true);\n }\n return Promise.resolve();\n }\n\n _logSuccessSaveLockfile() {\n // noop\n }\n}\n\nconst path = require('path');\n\nexport function hasWrapper(flags: Object, args: Array<string>): boolean {\n return args[0] !== 'bin' && args[0] !== 'dir';\n}\n\nasync function updateCwd(config: Config): Promise<void> {\n await fs.mkdirp(config.globalFolder);\n\n await config.init({\n cwd: config.globalFolder,\n offline: config.offline,\n binLinks: true,\n globalFolder: config.globalFolder,\n cacheFolder: config._cacheRootFolder,\n linkFolder: config.linkFolder,\n enableDefaultRc: config.enableDefaultRc,\n extraneousYarnrcFiles: config.extraneousYarnrcFiles,\n });\n}\n\nasync function getBins(config: Config): Promise<Set<string>> {\n // build up list of registry folders to search for binaries\n const dirs = [];\n for (const registryName of Object.keys(registries)) {\n const registry = config.registries[registryName];\n dirs.push(registry.loc);\n }\n\n // build up list of binary files\n const paths = new Set();\n for (const dir of dirs) {\n const binDir = path.join(dir, '.bin');\n if (!await fs.exists(binDir)) {\n continue;\n }\n\n for (const name of await fs.readdir(binDir)) {\n paths.add(path.join(binDir, name));\n }\n }\n return paths;\n}\n\nasync function getGlobalPrefix(config: Config, flags: Object): Promise<string> {\n if (flags.prefix) {\n return flags.prefix;\n } else if (config.getOption('prefix', true)) {\n return String(config.getOption('prefix', true));\n } else if (process.env.PREFIX) {\n return process.env.PREFIX;\n }\n\n const potentialPrefixFolders = [FALLBACK_GLOBAL_PREFIX];\n if (process.platform === 'win32') {\n // %LOCALAPPDATA%\\Yarn --> C:\\Users\\Alice\\AppData\\Local\\Yarn\n if (process.env.LOCALAPPDATA) {\n potentialPrefixFolders.unshift(path.join(process.env.LOCALAPPDATA, 'Yarn'));\n }\n } else {\n potentialPrefixFolders.unshift(POSIX_GLOBAL_PREFIX);\n }\n\n const binFolders = potentialPrefixFolders.map(prefix => path.join(prefix, 'bin'));\n const prefixFolderQueryResult = await fs.getFirstSuitableFolder(binFolders);\n const prefix = prefixFolderQueryResult.folder && path.dirname(prefixFolderQueryResult.folder);\n\n if (!prefix) {\n config.reporter.warn(\n config.reporter.lang(\n 'noGlobalFolder',\n prefixFolderQueryResult.skipped.map(item => path.dirname(item.folder)).join(', '),\n ),\n );\n\n return FALLBACK_GLOBAL_PREFIX;\n }\n\n return prefix;\n}\n\nexport async function getBinFolder(config: Config, flags: Object): Promise<string> {\n const prefix = await getGlobalPrefix(config, flags);\n return path.resolve(prefix, 'bin');\n}\n\nasync function initUpdateBins(config: Config, reporter: Reporter, flags: Object): Promise<() => Promise<void>> {\n const beforeBins = await getBins(config);\n const binFolder = await getBinFolder(config, flags);\n\n function throwPermError(err: Error & {[code: string]: string}, dest: string) {\n if (err.code === 'EACCES') {\n throw new MessageError(reporter.lang('noPermission', dest));\n } else {\n throw err;\n }\n }\n\n return async function(): Promise<void> {\n try {\n await fs.mkdirp(binFolder);\n } catch (err) {\n throwPermError(err, binFolder);\n }\n\n const afterBins = await getBins(config);\n\n // remove old bins\n for (const src of beforeBins) {\n if (afterBins.has(src)) {\n // not old\n continue;\n }\n\n // remove old bin\n const dest = path.join(binFolder, path.basename(src));\n try {\n await fs.unlink(dest);\n } catch (err) {\n throwPermError(err, dest);\n }\n }\n\n // add new bins\n for (const src of afterBins) {\n // insert new bin\n const dest = path.join(binFolder, path.basename(src));\n try {\n await fs.unlink(dest);\n await linkBin(src, dest);\n if (process.platform === 'win32' && dest.indexOf('.cmd') !== -1) {\n await fs.rename(dest + '.cmd', dest);\n }\n } catch (err) {\n throwPermError(err, dest);\n }\n }\n };\n}\n\nfunction ls(manifest: Manifest, reporter: Reporter, saved: boolean) {\n const bins = manifest.bin ? Object.keys(manifest.bin) : [];\n const human = `${manifest.name}@${manifest.version}`;\n if (bins.length) {\n if (saved) {\n reporter.success(reporter.lang('packageInstalledWithBinaries', human));\n } else {\n reporter.info(reporter.lang('packageHasBinaries', human));\n }\n reporter.list(`bins-${manifest.name}`, bins);\n } else if (saved) {\n reporter.warn(reporter.lang('packageHasNoBinaries', human));\n }\n}\n\nasync function list(config: Config, reporter: Reporter, flags: Object, args: Array<string>): Promise<void> {\n await updateCwd(config);\n\n // install so we get hard file paths\n const lockfile = await Lockfile.fromDirectory(config.cwd);\n const install = new Install({}, config, new NoopReporter(), lockfile);\n const patterns = await install.getFlattenedDeps();\n\n // dump global modules\n for (const pattern of patterns) {\n const manifest = install.resolver.getStrictResolvedPattern(pattern);\n ls(manifest, reporter, false);\n }\n}\n\nconst {run, setFlags: _setFlags} = buildSubCommands('global', {\n async add(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n await updateCwd(config);\n\n const updateBins = await initUpdateBins(config, reporter, flags);\n if (args.indexOf('yarn') !== -1) {\n reporter.warn(reporter.lang('packageContainsYarnAsGlobal'));\n }\n\n // install module\n const lockfile = await Lockfile.fromDirectory(config.cwd);\n const install = new GlobalAdd(args, flags, config, reporter, lockfile);\n await install.init();\n\n // link binaries\n await updateBins();\n },\n\n async bin(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n reporter.log(await getBinFolder(config, flags), {force: true});\n },\n\n dir(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n reporter.log(config.globalFolder, {force: true});\n return Promise.resolve();\n },\n\n async ls(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n reporter.warn(`\\`yarn global ls\\` is deprecated. Please use \\`yarn global list\\`.`);\n await list(config, reporter, flags, args);\n },\n\n async list(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n await list(config, reporter, flags, args);\n },\n\n async remove(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n await updateCwd(config);\n\n const updateBins = await initUpdateBins(config, reporter, flags);\n\n // remove module\n await runRemove(config, reporter, commander, flags, args);\n\n // remove binaries\n await updateBins();\n },\n\n async upgrade(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n await updateCwd(config);\n\n const updateBins = await initUpdateBins(config, reporter, flags);\n\n // upgrade module\n await runUpgrade(config, reporter, commander, flags, args);\n\n // update binaries\n await updateBins();\n },\n\n async upgradeInteractive(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n await updateCwd(config);\n\n const updateBins = await initUpdateBins(config, reporter, flags);\n\n // upgrade module\n await runUpgradeInteractive(config, reporter, commander, flags, args);\n\n // update binaries\n await updateBins();\n },\n});\n\nexport {run};\n\nexport function setFlags(commander: Object) {\n _setFlags(commander);\n commander.description('Installs packages globally on your operating system.');\n commander.option('--prefix <prefix>', 'bin prefix to use to install binaries');\n commander.option('--latest', 'upgrade to the latest version of packages');\n}\n"],"mappings":"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"}