@alessiobonadonna/my-env-generator
v1.1.6
Published
Generate .env files dynamically based on JSON configurations and sample-env templates.
Downloads
502
Maintainers
Readme
my-env-generator
@alessiobonadonna/my-env-generator
è un pacchetto che automatizza la generazione di file .env
basati su configurazioni JSON e file .sample-env
presenti nel tuo progetto.
Come funziona
- Il pacchetto legge i file di configurazione JSON nella cartella
.environment
del progetto.common.json
: Configurazioni comuni a tutti gli ambienti.development.json
,production.json
, ecc.: Configurazioni specifiche per ambiente.
- Cerca i file
.sample-env
nel progetto (sia nella root che nelle sottocartelle). - Sostituisce i placeholder nei
.sample-env
con i valori dei file di configurazione. - Genera un file
.env
accanto al rispettivo.sample-env
.
Struttura del progetto
Esempio di struttura
root/
├── .environment/ # Configurazioni JSON
│ ├── common.json
│ ├── development.json
│ ├── production.json
├── .sample-env # File nella root del progetto
├── admin/
│ ├── .sample-env
├── api/
│ ├── .sample-env
└── site/
├── .sample-env
Esempio di common.json
{
"admin": {
"baseurl": "/admin"
},
"api": {
"baseurl": "/api"
},
"project": {
"name": "MyProject"
}
}
Esempio di development.json
{
"admin": {
"baseurl": "/admin-dev"
},
"api": {
"baseurl": "/api-dev"
}
}
Esempio di .sample-env
Nella root:
PROJECT_NAME={{project.name}}
ADMIN_URL={{admin.baseurl}}
API_URL={{api.baseurl}}
Nella cartella admin
:
ADMIN_BASEURL={{baseurl}}
Output generato (.env
)
Nella root:
PROJECT_NAME=MyProject
ADMIN_URL=/admin-dev
API_URL=/api-dev
Nella cartella admin
:
ADMIN_BASEURL=/admin-dev
Installazione
Aggiungi il pacchetto al tuo progetto:
npm install --save-dev @alessiobonadonna/my-env-generator
Aggiungi uno script al
package.json
del progetto:"scripts": { "env": "generate-env $1" }
Utilizzo
Assicurati di avere la cartella
.environment
nella root del progetto con i filecommon.json
e i file di configurazione per gli ambienti.Esegui lo script per generare i file
.env
:npm run env -- development npm run env -- production
Verifica che i file
.env
siano stati generati accanto ai rispettivi.sample-env
.
Errori parlanti
Il pacchetto restituisce errori chiari in caso di problemi:
- File di configurazione mancante:
[ERROR] Missing common.json in /path/to/.environment
- Cartella o servizio mancante:
[ERROR] No configuration found for service: admin
- Template
.sample-env
mancante:[ERROR] Missing .sample-env file in /path/to/admin
Contributi
Se desideri contribuire al progetto, sentiti libero di aprire issue o pull request.