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 {
|
||||
// 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)) {
|
||||
fs.mkdirSync(targetDir, { recursive: true });
|
||||
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
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user