1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- const inquirer = require('inquirer')
- const { error } = require('@vue/cli-shared-utils')
- const Upgrader = require('./Upgrader')
- const confirmIfGitDirty = require('./util/confirmIfGitDirty')
- async function upgrade (packageName, options, context = process.cwd()) {
- if (!(await confirmIfGitDirty(context))) {
- return
- }
- const upgrader = new Upgrader(context)
- if (!packageName) {
- if (options.to) {
- error(`Must specify a package name to upgrade to ${options.to}`)
- process.exit(1)
- }
- if (options.all) {
- return upgrader.upgradeAll(options.next)
- }
- const upgradable = await upgrader.checkForUpdates(options.next)
- if (upgradable) {
- const { ok } = await inquirer.prompt([
- {
- name: 'ok',
- type: 'confirm',
- message: 'Continue to upgrade these plugins?',
- default: true
- }
- ])
- if (ok) {
- return upgrader.upgradeAll(options.next)
- }
- }
- return
- }
- return upgrader.upgrade(packageName, options)
- }
- module.exports = (...args) => {
- return upgrade(...args).catch(err => {
- error(err)
- if (!process.env.VUE_CLI_TEST) {
- process.exit(1)
- }
- })
- }
|