@odanado/config-loader
v0.0.6
Published
[](https://dev.azure.com/odan3240/config-loader/_build/latest?definitionId=1&branchName=master) [,
RDB_PASSWORD: new DefinePlugin('password'),
RDB_USER: new DefinePlugin('test_user'),
}
export default mapPlugin
// config/production.ts
import { MapPlugin, DefinePlugin, EnvPlugin } from "@odanado/config-loader"
import { ConfigScheme } from "./"
const mapPlugin: MapPlugin<ConfigScheme> = {
RDB_DB_NAME: new DefinePlugin('test'),
RDB_PASSWORD: new EnvPlugin('RDB_PASSWORD'),
RDB_USER: new DefinePlugin('test_user'),
}
export default mapPlugin
In app.ts
import { ConfigLoader } from "@odanado/config-loader"
import { ConfigScheme } from "./config"
async function main() {
const path = `${process.cwd()}/config`
const configLoader = new ConfigLoader<ConfigScheme>(path)
// if NODE_ENV === 'development'
await configLoader.load() // -> { RDB_DB_NAME: 'test', RDB_PASSWORD: 'password', RDB_USER: 'test_user' }
// if NODE_ENV === 'production' and RDB_PASSWORD === 'abcdef'
await configLoader.load() // -> { RDB_DB_NAME: 'test', RDB_PASSWORD: 'abcdef', RDB_USER: 'test_user' }
}
main()