From 15603c54059cfef0f3c9278061d01f5e9ac5ee14 Mon Sep 17 00:00:00 2001 From: Dominik Date: Thu, 28 Feb 2019 17:26:20 +0100 Subject: [PATCH] Allow relative path for VUE_CLI_CONTEXT --- packages/@vue/cli-service/bin/vue-cli-service.js | 8 +++++++- packages/@vue/cli-service/webpack.config.js | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/@vue/cli-service/bin/vue-cli-service.js b/packages/@vue/cli-service/bin/vue-cli-service.js index d8a578bb9f..80ac1a72f7 100755 --- a/packages/@vue/cli-service/bin/vue-cli-service.js +++ b/packages/@vue/cli-service/bin/vue-cli-service.js @@ -1,5 +1,6 @@ #!/usr/bin/env node +const path = require('path') const semver = require('semver') const { error } = require('@vue/cli-shared-utils') const requiredVersion = require('../package.json').engines.node @@ -12,8 +13,13 @@ if (!semver.satisfies(process.version, requiredVersion)) { process.exit(1) } +let vueCliContext = process.env.VUE_CLI_CONTEXT +if (vueCliContext && !path.isAbsolute(vueCliContext)) { + vueCliContext = path.resolve(process.cwd(), vueCliContext) +} + const Service = require('../lib/Service') -const service = new Service(process.env.VUE_CLI_CONTEXT || process.cwd()) +const service = new Service(vueCliContext || process.cwd()) const rawArgv = process.argv.slice(2) const args = require('minimist')(rawArgv, { diff --git a/packages/@vue/cli-service/webpack.config.js b/packages/@vue/cli-service/webpack.config.js index 642ea1526e..1215624ac9 100644 --- a/packages/@vue/cli-service/webpack.config.js +++ b/packages/@vue/cli-service/webpack.config.js @@ -1,11 +1,16 @@ // this file is for cases where we need to access the // webpack config as a file when using CLI commands. +const path = require('path') +let vueCliContext = process.env.VUE_CLI_CONTEXT let service = process.VUE_CLI_SERVICE if (!service || process.env.VUE_CLI_API_MODE) { const Service = require('./lib/Service') - service = new Service(process.env.VUE_CLI_CONTEXT || process.cwd()) + if (vueCliContext && !path.isAbsolute(vueCliContext)) { + vueCliContext = path.resolve(process.cwd(), vueCliContext) + } + service = new Service(vueCliContext || process.cwd()) service.init(process.env.VUE_CLI_MODE || process.env.NODE_ENV) }