4.1.1 • Published 11 months ago
@soluzioni-futura/config-component v4.1.1
config-component
Quick start
Install the package
npm i @soluzioni-futura/config-component
Usage
Simple setup example
import ConfigComponent, { ProcessEnvConfigDriver } from "@soluzioni-futura/config-component"
type ConfigState = {
SECRET: string
}
const config = new ConfigComponent<ConfigState>([
new ProcessEnvConfigDriver()
])
await config.fetch()
console.log(config.state.SECRET)
With validation schema
import ConfigComponent, { ProcessEnvDriver } from "@soluzioni-futura/config-component"
type ConfigState = {
SECRET: string
}
const config = new ConfigComponent<ConfigState>([
new ProcessEnvDriver(),
validationSchema: {
type: "object",
additionalProperties: true,
properties: {
SECRET: { type: "string" }
},
required: ["SECRET"]
}
])
await config.fetch()
console.log(config.state.SECRET)
Complete setup example
import ConfigComponent, { ProcessEnvDriver, SSMConfigDriver } from "@soluzioni-futura/config-component"
const { NODE_ENV = "local" } = process.env
const validationSchema = {
type: "object",
additionalProperties: true,
properties: {
SECRET: { type: "string" }
},
required: ["SECRET"]
}
const drivers = ["staging", "production"].includes(NODE_ENV) ?
[
new SSMConfigDriver({
keys: ["ENV"],
prefix: `/secrets/${NODE_ENV}`
ssm: new SSM({
region: "eu-west-1"
})
})
] : [
new ProcessEnvDriver()
]
const config = new ConfigComponent(drivers, validationSchema)
await config.fetch()
4.1.0
11 months ago
4.1.1
11 months ago
4.0.1-test
2 years ago
4.0.1
2 years ago
4.0.0
2 years ago
4.0.3
2 years ago
4.0.2
2 years ago
4.0.0-test
2 years ago
3.0.7
2 years ago
3.0.6
2 years ago
3.0.4
2 years ago
3.0.3
2 years ago
3.0.2
2 years ago
3.0.1
2 years ago
3.0.5
2 years ago
3.0.0
2 years ago
2.0.2
3 years ago
2.0.1
3 years ago
2.0.0
3 years ago
1.0.2
3 years ago
1.0.1
3 years ago
1.0.0
3 years ago