From be8ed65e3adc74a5afc9d884abfdd80ed055e6ae Mon Sep 17 00:00:00 2001 From: Tristan Partin Date: Fri, 18 May 2018 16:34:23 -0500 Subject: [PATCH] feat(xdg-compliance): rc file location hierarchy `vue-cli` now uses the following hierarchy for hosting its rc file: * `VUE_CLI_CONFIG_PATH * `XDG_CONFIG_HOME/vue/.vuerc` * `HOME/.config/vue/.vuerc` * `HOME/.vuerc` closes #1325 --- packages/@vue/cli/lib/options.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/@vue/cli/lib/options.js b/packages/@vue/cli/lib/options.js index b9000cae11..94f41a7bf3 100644 --- a/packages/@vue/cli/lib/options.js +++ b/packages/@vue/cli/lib/options.js @@ -6,8 +6,22 @@ const { error } = require('@vue/cli-shared-utils/lib/logger') const { createSchema, validate } = require('@vue/cli-shared-utils/lib/validate') const { exit } = require('@vue/cli-shared-utils/lib/exit') +const xdgConfigPath = () => { + const xdgConfigHome = process.env.XDG_CONFIG_HOME + if (xdgConfigHome) { + const rcDir = path.join(xdgConfigHome, 'vue') + if (!fs.existsSync(rcDir)) { + fs.mkdirSync(rcDir, 0o700) + } + return path.join(rcDir, '.vuerc') + } + + return undefined +} + const rcPath = exports.rcPath = ( process.env.VUE_CLI_CONFIG_PATH || + xdgConfigPath() || path.join(os.homedir(), '.vuerc') )