diff --git a/src/cli.ts b/src/cli.ts index 5c9fa7f6..4bed3f8d 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -1,4 +1,4 @@ -import { existsSync, readFileSync } from 'node:fs' +import { existsSync, readFileSync, mkdirSync } from 'node:fs' import { homedir } from 'node:os' import { resolve } from 'node:path' @@ -154,9 +154,16 @@ async function _checkDisabled(dir: string): Promise return 'by ' + resolve(dir, RC_FILENAME) } + // This is maintained for backward compatibility if (disabledByConf(rc.readUser({ name: RC_FILENAME }))) { return 'by ' + resolve(homedir(), RC_FILENAME) } + + if (disabledByConf(rc.readUserConfig({ name: RC_FILENAME }))) { + // Uses the same resolving logic as rc9 + const rc9Base = process.env.XDG_CONFIG_HOME || resolve(homedir(), '.config') + return 'by ' + resolve(rc9Base, RC_FILENAME) + } } async function showStatus(dir: string, global: boolean) { @@ -172,7 +179,11 @@ async function showStatus(dir: string, global: boolean) { function setRC(dir: string, key: any, val: any, global: boolean) { const update = { [key]: val } if (global) { - rc.updateUser(update, RC_FILENAME) + // Uses the same resolving logic as rc9 + const rc9Base = process.env.XDG_CONFIG_HOME || resolve(homedir(), '.config') + // Make sure the directory exists before rc9 attempt to write there + mkdirSync(rc9Base, { recursive: true }) + rc.updateUserConfig(update, RC_FILENAME) } else { rc.update(update, { name: RC_FILENAME, dir }) diff --git a/src/utils/nuxtrc.ts b/src/utils/nuxtrc.ts index b85d51bf..952b95ed 100644 --- a/src/utils/nuxtrc.ts +++ b/src/utils/nuxtrc.ts @@ -1,5 +1,12 @@ -import { updateUser } from 'rc9' +import { updateUserConfig } from 'rc9' +import { homedir } from 'node:os' +import { resolve } from 'node:path' +import { mkdirSync } from 'node:fs' export function updateUserNuxtRc(key: string, val: string | number | boolean) { - updateUser({ [key]: val }, '.nuxtrc') + // Uses the same resolving logic as rc9 + const rc9Base = process.env.XDG_CONFIG_HOME || resolve(homedir(), '.config') + // Make sure the directory exists before rc9 attempt to write there + mkdirSync(rc9Base, { recursive: true }) + updateUserConfig({ [key]: val }, '.nuxtrc') }