1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- const fs = require('fs-extra')
- const os = require('os')
- const path = require('path')
- const xdgConfigPath = file => {
- const xdgConfigHome = process.env.XDG_CONFIG_HOME
- if (xdgConfigHome) {
- const rcDir = path.join(xdgConfigHome, 'vue')
- if (!fs.existsSync(rcDir)) {
- fs.ensureDirSync(rcDir, 0o700)
- }
- return path.join(rcDir, file)
- }
- }
- // migration for 3.0.0-rc.7
- // we introduced a change storing .vuerc in AppData, but the benefit isn't
- // really obvious so we are reverting it to keep consistency across OSes
- const migrateWindowsConfigPath = file => {
- if (process.platform !== 'win32') {
- return
- }
- const appData = process.env.APPDATA
- if (appData) {
- const rcDir = path.join(appData, 'vue')
- const rcFile = path.join(rcDir, file)
- const properRcFile = path.join(os.homedir(), file)
- if (fs.existsSync(rcFile)) {
- try {
- if (fs.existsSync(properRcFile)) {
- fs.removeSync(rcFile)
- } else {
- fs.moveSync(rcFile, properRcFile)
- }
- } catch (e) {}
- }
- }
- }
- exports.getRcPath = file => {
- migrateWindowsConfigPath(file)
- return (
- process.env.VUE_CLI_CONFIG_PATH ||
- xdgConfigPath(file) ||
- path.join(os.homedir(), file)
- )
- }
|