fix: Correction de la résolution des chemins relatifs VAULT_CONFS_DIR
- Ajout de la méthode _getEnvFileDirectory() pour trouver le répertoire du fichier .env - Modification de syncLocalFiles() pour résoudre les chemins relatifs par rapport au répertoire du .env au lieu de process.cwd() - Cela corrige le problème où VAULT_CONFS_DIR avec des chemins relatifs n'était pas respecté dans les projets clonés - Les chemins relatifs comme '../../../projects/lecoffre/lecoffre_node/confs' sont maintenant correctement résolus
This commit is contained in:
parent
84de922488
commit
21548dbdce
@ -391,7 +391,10 @@ export class SecureVaultClient {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
// 1. Créer le dossier de destination s'il n'existe pas
|
// 1. Créer le dossier de destination s'il n'existe pas
|
||||||
const targetDir = path.resolve(localDir);
|
// Si c'est un chemin relatif, le résoudre par rapport au répertoire du fichier .env
|
||||||
|
const targetDir = path.isAbsolute(localDir)
|
||||||
|
? localDir
|
||||||
|
: path.resolve(this._getEnvFileDirectory(), localDir);
|
||||||
if (!fs.existsSync(targetDir)) {
|
if (!fs.existsSync(targetDir)) {
|
||||||
fs.mkdirSync(targetDir, { recursive: true });
|
fs.mkdirSync(targetDir, { recursive: true });
|
||||||
if (verbose) {
|
if (verbose) {
|
||||||
@ -611,6 +614,35 @@ export class SecureVaultClient {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le répertoire du fichier .env trouvé
|
||||||
|
*/
|
||||||
|
private _getEnvFileDirectory(): string {
|
||||||
|
const possibleEnvPaths = [
|
||||||
|
'.env', // Répertoire courant
|
||||||
|
'../.env', // Répertoire parent
|
||||||
|
'../../.env', // Répertoire grand-parent
|
||||||
|
path.join(__dirname, '.env'), // Répertoire du SDK
|
||||||
|
path.join(__dirname, '../.env'), // Parent du SDK
|
||||||
|
path.join(__dirname, '../../.env'), // Grand-parent du SDK
|
||||||
|
path.join(process.cwd(), '.env'), // Répertoire de travail
|
||||||
|
];
|
||||||
|
|
||||||
|
for (const envPath of possibleEnvPaths) {
|
||||||
|
try {
|
||||||
|
if (fs.existsSync(envPath)) {
|
||||||
|
return path.dirname(path.resolve(envPath));
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
// Ignorer les erreurs et continuer avec le chemin suivant
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fallback vers le répertoire de travail si aucun .env n'est trouvé
|
||||||
|
return process.cwd();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Charge les variables d'environnement depuis plusieurs emplacements possibles
|
* Charge les variables d'environnement depuis plusieurs emplacements possibles
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user