3.1.0 • Published 1 year ago

@codling/environments v3.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@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