@mostajs/env-sync
v0.1.0
Published
Upsert idempotent de clés gérées dans un .env (local ou distant SSH) en préservant le reste — pour les déploiements. Piloté par un manifeste. Zéro-dépendance. Membre de mosta-deploy-stack.
Maintainers
Readme
@mostajs/env-sync
Auteur : Dr Hamid MADANI [email protected]
Upsert idempotent de clés gérées dans un .env (local ou distant SSH) en préservant le reste — pour pousser secrets/config au déploiement sans écraser le .env distant. Zéro-dépendance (node:fs + node:child_process). Membre de mosta-deploy-stack.
// env-sync.config.mjs
export default {
source: '.env.production',
keys: ['NODE_ENV', 'SMTP_PASS', 'EVENTS_SECRET'],
target: { ssh: 'amia', file: '/home/hmd/prod/incubator/.env',
reload: 'pm2 startOrReload ecosystem.config.cjs --update-env' },
};mosta-env-sync --config env-sync.config.mjs --dry-run # rapport (secrets masqués), rien écrit
mosta-env-sync --config env-sync.config.mjs # pousse les clés gérées + reloadLocal : target: { file: './.env' }. Distant : target: { ssh, file, reload? }.
API
envSync(config, { dryRun }) · parseEnv · buildBlock · upsertLocal · buildRemoteScript · mask.
Tests : npm test. Licence : AGPL-3.0-or-later.
