JezK
Edit File: upgrade-interactive.js.map
{"version":3,"file":"upgrade-interactive.js","names":["path","require","requireLockfile","setFlags","commander","description","usage","option","hasWrapper","args","run","config","reporter","flags","outdatedFieldName","latest","Lockfile","fromDirectory","lockfileFolder","lockfile","getOutdated","includeWorkspaceDeps","deps","length","success","lang","install","Install","checkCompatibility","usesWorkspaces","workspaceRootFolder","maxLengthArr","name","current","range","keysWithDynamicLength","push","forEach","dep","key","Math","max","addPadding","repeat","headerPadding","header","format","bold","underline","colorizeName","from","to","colorForVersions","getNameFromHint","hint","makeRow","padding","blue","colorizeDiff","url","cyan","workspace","makeHeaderRow","groupedDeps","reduce","acc","upgradeTo","version","xs","concat","value","flatten","ys","y","Array","isArray","choices","Object","keys","map","inquirer","Separator","green","red","yellow","info","prompt","type","validate","answer","answers","getPattern","isHint","x","dev","peer","optional","ignoreWorkspaceRootCheck","workspaceRootIsCwd","filter","fetchRequestFromCwd","packagePatterns","requests","depsByWorkspace","workspaceLoc","cwd","loc","patterns","cleanLockfile","resolve","dirname","add","Add","init","Promise","reject"],"sourceRoot":"../../../src","sources":["cli/commands/upgrade-interactive.js"],"sourcesContent":["/* @flow */\n\nimport type {Dependency} from '../../types.js';\nimport type {Reporter} from '../../reporters/index.js';\nimport type Config from '../../config.js';\nimport inquirer from 'inquirer';\nimport Lockfile from '../../lockfile';\nimport {Add} from './add.js';\nimport {getOutdated, cleanLockfile} from './upgrade.js';\nimport colorForVersions from '../../util/color-for-versions';\nimport colorizeDiff from '../../util/colorize-diff.js';\nimport {Install} from './install.js';\n\nconst path = require('path');\n\nexport const requireLockfile = true;\n\nexport function setFlags(commander: Object) {\n commander.description('Provides an easy way to update outdated packages.');\n commander.usage('upgrade-interactive [flags]');\n commander.option('-S, --scope <scope>', 'upgrade packages under the specified scope');\n commander.option('--latest', 'list the latest version of packages, ignoring version ranges in package.json');\n commander.option('-E, --exact', 'install exact version. Only used when --latest is specified.');\n commander.option(\n '-T, --tilde',\n 'install most recent release with the same minor version. Only used when --latest is specified.',\n );\n commander.option(\n '-C, --caret',\n 'install most recent release with the same major version. Only used when --latest is specified.',\n );\n}\n\nexport function hasWrapper(commander: Object, args: Array<string>): boolean {\n return true;\n}\n\nexport async function run(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n const outdatedFieldName = flags.latest ? 'latest' : 'wanted';\n const lockfile = await Lockfile.fromDirectory(config.lockfileFolder);\n\n const deps = await getOutdated(config, reporter, {...flags, includeWorkspaceDeps: true}, lockfile, args);\n\n if (deps.length === 0) {\n reporter.success(reporter.lang('allDependenciesUpToDate'));\n return;\n }\n\n // Fail early with runtime compatibility checks so that it doesn't fail after you've made your selections\n const install = new Install(flags, config, reporter, lockfile);\n await install.checkCompatibility();\n\n const usesWorkspaces = !!config.workspaceRootFolder;\n\n const maxLengthArr = {\n name: 'name'.length,\n current: 'from'.length,\n range: 'latest'.length,\n [outdatedFieldName]: 'to'.length,\n workspaceName: 'workspace'.length,\n };\n\n const keysWithDynamicLength = ['name', 'current', outdatedFieldName];\n\n if (!flags.latest) {\n maxLengthArr.range = 'range'.length;\n keysWithDynamicLength.push('range');\n }\n\n if (usesWorkspaces) {\n keysWithDynamicLength.push('workspaceName');\n }\n\n deps.forEach(dep =>\n keysWithDynamicLength.forEach(key => {\n maxLengthArr[key] = Math.max(maxLengthArr[key], dep[key].length);\n }),\n );\n\n // Depends on maxLengthArr\n const addPadding = dep => key => `${dep[key]}${' '.repeat(maxLengthArr[key] - dep[key].length)}`;\n const headerPadding = (header, key) =>\n `${reporter.format.bold.underline(header)}${' '.repeat(maxLengthArr[key] - header.length)}`;\n\n const colorizeName = (from, to) => reporter.format[colorForVersions(from, to)];\n\n const getNameFromHint = hint => (hint ? `${hint}Dependencies` : 'dependencies');\n\n const makeRow = dep => {\n const padding = addPadding(dep);\n const name = colorizeName(dep.current, dep[outdatedFieldName])(padding('name'));\n const current = reporter.format.blue(padding('current'));\n const latest = colorizeDiff(dep.current, padding(outdatedFieldName), reporter);\n const url = reporter.format.cyan(dep.url);\n const range = reporter.format.blue(flags.latest ? 'latest' : padding('range'));\n if (usesWorkspaces) {\n const workspace = padding('workspaceName');\n return `${name} ${range} ${current} ❯ ${latest} ${workspace} ${url}`;\n } else {\n return `${name} ${range} ${current} ❯ ${latest} ${url}`;\n }\n };\n\n const makeHeaderRow = () => {\n const name = headerPadding('name', 'name');\n const range = headerPadding('range', 'range');\n const from = headerPadding('from', 'current');\n const to = headerPadding('to', outdatedFieldName);\n const url = reporter.format.bold.underline('url');\n if (usesWorkspaces) {\n const workspace = headerPadding('workspace', 'workspaceName');\n return ` ${name} ${range} ${from} ${to} ${workspace} ${url}`;\n } else {\n return ` ${name} ${range} ${from} ${to} ${url}`;\n }\n };\n\n const groupedDeps = deps.reduce((acc, dep) => {\n const {hint, name, upgradeTo} = dep;\n const version = dep[outdatedFieldName];\n const key = getNameFromHint(hint);\n const xs = acc[key] || [];\n acc[key] = xs.concat({\n name: makeRow(dep),\n value: dep,\n short: `${name}@${version}`,\n upgradeTo,\n });\n return acc;\n }, {});\n\n const flatten = xs => xs.reduce((ys, y) => ys.concat(Array.isArray(y) ? flatten(y) : y), []);\n\n const choices = flatten(\n Object.keys(groupedDeps).map(key => [\n new inquirer.Separator(reporter.format.bold.underline.green(key)),\n new inquirer.Separator(makeHeaderRow()),\n groupedDeps[key],\n new inquirer.Separator(' '),\n ]),\n );\n\n try {\n const red = reporter.format.red('<red>');\n const yellow = reporter.format.yellow('<yellow>');\n const green = reporter.format.green('<green>');\n reporter.info(reporter.lang('legendColorsForVersionUpdates', red, yellow, green));\n\n const answers: Array<Dependency> = await reporter.prompt('Choose which packages to update.', choices, {\n name: 'packages',\n type: 'checkbox',\n validate: answer => !!answer.length || 'You must choose at least one package.',\n });\n\n const getPattern = ({upgradeTo}) => upgradeTo;\n const isHint = x => ({hint}) => hint === x;\n\n for (const hint of [null, 'dev', 'optional', 'peer']) {\n // Reset dependency flags\n flags.dev = hint === 'dev';\n flags.peer = hint === 'peer';\n flags.optional = hint === 'optional';\n flags.ignoreWorkspaceRootCheck = true;\n flags.includeWorkspaceDeps = false;\n flags.workspaceRootIsCwd = false;\n const deps = answers.filter(isHint(hint));\n if (deps.length) {\n const install = new Install(flags, config, reporter, lockfile);\n const {requests: packagePatterns} = await install.fetchRequestFromCwd();\n const depsByWorkspace = deps.reduce((acc, dep) => {\n const {workspaceLoc} = dep;\n const xs = acc[workspaceLoc] || [];\n acc[workspaceLoc] = xs.concat(dep);\n return acc;\n }, {});\n const cwd = config.cwd;\n for (const loc of Object.keys(depsByWorkspace)) {\n const patterns = depsByWorkspace[loc].map(getPattern);\n cleanLockfile(lockfile, deps, packagePatterns, reporter);\n reporter.info(reporter.lang('updateInstalling', getNameFromHint(hint)));\n if (loc !== '') {\n config.cwd = path.resolve(path.dirname(loc));\n }\n const add = new Add(patterns, flags, config, reporter, lockfile);\n await add.init();\n config.cwd = cwd;\n }\n }\n }\n } catch (e) {\n Promise.reject(e);\n }\n}\n"],"mappings":"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"}