UNPKG

envilder

Version:

A CLI that securely centralizes your environment variables from AWS SSM as a single source of truth

41 lines 1.33 kB
import { SSM } from '@aws-sdk/client-ssm'; import { fromIni } from '@aws-sdk/credential-providers'; import { Envilder } from '../application/EnvilderHandler.js'; import { AwsSsmSecretProvider } from '../infrastructure/AwsSsmSecretProvider.js'; import { EnvFileManager } from '../infrastructure/EnvFileManager.js'; export class EnvilderBuilder { static build() { return new EnvilderBuilder(); } withDefaultFileManager() { this.fileManager = new EnvFileManager(); return this; } withEnvFileManager(fileManager) { this.fileManager = fileManager; return this; } withProvider(provider) { this.provider = provider; return this; } withAwsProvider(profile) { const ssm = profile == null ? new SSM() : new SSM({ credentials: fromIni({ profile: profile }), }); this.provider = new AwsSsmSecretProvider(ssm); return this; } create() { if (!this.provider) { throw new Error('Secret provider must be specified'); } if (!this.fileManager) { throw new Error('Env file manager must be specified'); } return new Envilder(this.provider, this.fileManager); } } //# sourceMappingURL=EnvilderBuilder.js.map