1.1.2 โข Published 2 years ago
@odg/config v1.1.2
Table of Contents
- ๐ Benefits
- ๐ Dependencies
- โฉ Get Started
- ๐ป Prepare to develop
- ๐ Start Project
- ๐จ Build and Run
- ๐งช Test Code
๐ Benefits
- ๐ Speed start new project or package using typescript
- ๐จ Over 800 rules for pattern, possible errors and errors in Linter
- ๐ Code quality guaranteed
- ๐ข AutoReview when opening a pull-request/merge

- ๐งช Automatic Test when opening pull-request/merge
- ๐ Automatic Code Coverage when opening pull-request/merge

- ๐ฆ Automatic Package and release generate on merge
- ๐ช Run Lint/Test command pre-commit execute
- โ๏ธ IOT/IOC (Inversion of Control) for easy use of libraries
๐ Dependencies
โฉ Get Started
๐ Example Usage
Create new instance config class
// Example transform config with zod
const zBoolean = zod.union([
zod.string().transform((value): boolean => value === "true" || value === "1"),
zod.boolean(),
]);
const myValidator = zod.object({
USE_HTTPS: zBoolean,
OPTIONAL: zod.string().optional(),
});
// Container Instance Configuration
const config = new JsonConfig<zod.infer<typeof myValidator>>({ ...process.env }, validator);
await config.init();๐งฒ Get Configs
const config: ConfigInterface;
// Get Configs
const useHttps = await config.get("USE_HTTPS");
const optional = await config.get("OPTIONAL", () => "default value");
// Has Config
if (await config.has("OPTIONAL")) {
// Config key exists
}
// set Config
await config
.set("OPTIONAL", "filled")
.set("USE_HTTPS", false);
// All Configs
const all = config.all(); // Return Json with configs
// Prepare class to use
const all = config.init();๐ Send Configs to class
For packages and SDK, always prefer to send an object instead of the entire config class
new PackageClass({
timeout: await config.get("DEFAULT_TIMEOUT", () => 1000),
attempt: await config.get("ATTEMPT"),
})๐ป Prepare To Develop
Copy .env.example to .env and add the values according to your needs.
๐ Start Project
First install dependencies with the following command
yarn install
# or
npm install๐จ Build and Run
To build the project, you can use the following command
if you change files, you need to run
yarn buildandyarn startagain
yarn build && yarn test๐งช Test Code
To Test execute this command
yarn test
# or
yarn test:watch