3.1.0 • Published 1 year ago
@codling/environments v3.1.0
@codling/environments
An environment management tool for populating private environment variables into non-sensative objects.
Examples
Basic Example
import { EnvManager } from '@codling/environments'
const configSchema = z.object({
domain: z.string().url(),
database: z.object({
url: z.string().url(),
username: z.string(),
password: z.string()
})
});
const envSchema = configSchema.pick({
database: {
password: true
}
});
const localConfig: z.infer<typeof configSchema> = {
domain: 'https://localhost:8000',
database: {
url: 'http://localhost:5123',
username: 'admin',
password: ''
}
};
const envManager = new EnvManager(
configSchema,
envSchema,
{ local: localConfig },
'local'
)
envManager.onRequestEnvs(() => {
return {
database: {
password: 'my-pass'
}
}
})
envManager.onPopulateConfig((baseConfig, envs) => {
baseConfig.database.password = envs.database.password;
return baseConfig;
})
const config = await envManager.fetchConfig(); // local config object populated with envs
...
3.0.4
1 year ago
3.1.0
1 year ago
3.0.3
1 year ago
3.0.2
1 year ago
3.0.1
1 year ago
3.0.0
1 year ago
2.5.0
1 year ago
2.4.0
1 year ago
2.3.0
1 year ago
2.2.1
1 year ago
2.2.0
1 year ago
2.1.4
1 year ago
2.1.3
1 year ago
2.1.2
1 year ago
2.1.1
1 year ago
2.1.0
1 year ago
2.0.3
1 year ago
2.0.2
1 year ago
2.0.1
1 year ago
2.0.0
1 year ago
1.1.4
1 year ago
1.0.6
1 year ago