dotenv multi logic
This commit is contained in:
parent
5582d09293
commit
060163f64a
11 changed files with 200 additions and 94 deletions
44
README.md
44
README.md
|
@ -1,14 +1,21 @@
|
|||
# dotenv-multi
|
||||
|
||||
Dotenv-multi is a module that uses `dotenv` and `dotenv-expand` to load files similarly to Create React App script's. It allows the use of NODE_ENV and local specific env files.
|
||||
Dotenv-multi is a module that uses [dotenv](https://www.npmjs.com/package/dotenv) and [dotenv-expand](https://www.npmjs.com/package/dotenv-expand) to load files similarly to [Create React App script's](https://create-react-app.dev/docs/adding-custom-environment-variables/#what-other-env-files-can-be-used). It allows the use of NODE_ENV and local specific env files.
|
||||
|
||||
This is useful because now you can commit your default env files into the repo and still have a sane way to override them locally without having changes in your local git on one .env file.
|
||||
|
||||
Example root files:
|
||||
```
|
||||
.env
|
||||
.env.development
|
||||
.env.development.local (not pushed to git)
|
||||
```
|
||||
|
||||
# Install
|
||||
|
||||
```
|
||||
# with npm
|
||||
npm install @ringofstorms/dotenv-multi dotenv dotenv-expand
|
||||
npm install @ringofstorms/dotenv-multi
|
||||
```
|
||||
|
||||
# Usage
|
||||
|
@ -25,6 +32,27 @@ import { config } from '@ringofstorms/multi-env';
|
|||
config();
|
||||
```
|
||||
|
||||
## Boolean support
|
||||
|
||||
This package also uses the [yn](https://www.npmjs.com/package/yn) package to convert environment variables into javascript strings that will resolve as true false. (It replaces values like `0`, `no`, `false`, etc into an empty string `""`)
|
||||
|
||||
```typescript
|
||||
config({
|
||||
convertToBooleanPredicate: variable => variable.includes("BOOL"),
|
||||
/* and or */ convertToBoolean: ["BOOL_VARIABLE_TO_CONVERT"]
|
||||
});
|
||||
```
|
||||
|
||||
## Debug
|
||||
|
||||
You can enable debug logs which will also enable debug mode on `dotenv` calls to see what is going on when a variable does not resolve how you expect.
|
||||
|
||||
```typescript
|
||||
config({
|
||||
debug: true,
|
||||
});
|
||||
```
|
||||
|
||||
# Configuring .gitignore
|
||||
|
||||
You should add the following to your `.gitignore` file:
|
||||
|
@ -36,4 +64,14 @@ You should add the following to your `.gitignore` file:
|
|||
.env.test.local
|
||||
```
|
||||
|
||||
## [What other `.env` files can be used?](https://create-react-app.dev/docs/adding-custom-environment-variables/#what-other-env-files-can-be-used)
|
||||
# Contributing
|
||||
|
||||
### building
|
||||
|
||||
`npm run build`
|
||||
|
||||
### publishing
|
||||
|
||||
if not already done `npm login`
|
||||
|
||||
`npm publish --access public`
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue