From 63ccde84e9cee2c1dbc33fb55ce30907804d682f Mon Sep 17 00:00:00 2001 From: Guillaume Chau Date: Mon, 12 Mar 2018 13:57:00 +0100 Subject: [PATCH] feat(ui): install/uninstall plugin --- .../src/components/InstantSearchInput.vue | 5 + .../@vue/cli-ui/src/components/ItemLogo.vue | 21 +++- .../src/components/PackageSearchItem.vue | 10 ++ .../@vue/cli-ui/src/graphql-api/channels.js | 1 + .../src/graphql-api/connectors/plugins.js | 95 ++++++++++++++++++- .../src/graphql-api/connectors/progress.js | 2 + .../@vue/cli-ui/src/graphql-api/resolvers.js | 16 +++- .../@vue/cli-ui/src/graphql-api/type-defs.js | 14 ++- .../@vue/cli-ui/src/graphql/pluginInstall.gql | 7 ++ .../cli-ui/src/graphql/pluginInstallation.gql | 7 ++ .../graphql/pluginInstallationFragment.gql | 8 ++ .../@vue/cli-ui/src/graphql/pluginInvoke.gql | 7 ++ .../cli-ui/src/graphql/pluginUninstall.gql | 7 ++ .../cli-ui/src/graphql/progressFragment.gql | 1 + .../cli-ui/src/graphql/progressRemoved.gql | 3 + packages/@vue/cli-ui/src/mixins/Progress.js | 49 +++++++--- packages/@vue/cli-ui/src/style/main.styl | 3 + .../cli-ui/src/views/ProjectPluginsAdd.vue | 90 +++++++++++++++--- packages/@vue/cli/lib/util/installDeps.js | 20 ++++ 19 files changed, 331 insertions(+), 35 deletions(-) create mode 100644 packages/@vue/cli-ui/src/graphql/pluginInstall.gql create mode 100644 packages/@vue/cli-ui/src/graphql/pluginInstallation.gql create mode 100644 packages/@vue/cli-ui/src/graphql/pluginInstallationFragment.gql create mode 100644 packages/@vue/cli-ui/src/graphql/pluginInvoke.gql create mode 100644 packages/@vue/cli-ui/src/graphql/pluginUninstall.gql create mode 100644 packages/@vue/cli-ui/src/graphql/progressRemoved.gql diff --git a/packages/@vue/cli-ui/src/components/InstantSearchInput.vue b/packages/@vue/cli-ui/src/components/InstantSearchInput.vue index f0a774c5d..647a0faa4 100644 --- a/packages/@vue/cli-ui/src/components/InstantSearchInput.vue +++ b/packages/@vue/cli-ui/src/components/InstantSearchInput.vue @@ -1,6 +1,7 @@ diff --git a/packages/@vue/cli/lib/util/installDeps.js b/packages/@vue/cli/lib/util/installDeps.js index 1bc9e4575..a1ebb1fff 100644 --- a/packages/@vue/cli/lib/util/installDeps.js +++ b/packages/@vue/cli/lib/util/installDeps.js @@ -281,3 +281,23 @@ exports.installPackage = async function (targetDir, command, cliRegistry, packag await executeCommand(command, args, targetDir) } + +exports.uninstallPackage = async function (targetDir, command, cliRegistry, packageName) { + const args = [] + if (command === 'npm') { + args.push('uninstall', '--loglevel', 'error') + } else if (command === 'yarn') { + args.push('remove') + } else { + throw new Error(`Unknown package manager: ${command}`) + } + + await addRegistryToArgs(command, args, cliRegistry) + + args.push(packageName) + + debug(`command: `, command) + debug(`args: `, args) + + await executeCommand(command, args, targetDir) +}