Comments (5)
Having it throw has caught bugs before hitting production for us, which is a use case I think is more important than debuggability.
That said, we have added extra stuff allowing you to e.g. console.log
the object, so if you can send a PR to make it support lodash's size
that would be great.
I can also support adding a second mode which was the original "strict" (just exposing predefined variables, but on a plain object), but that's up to @af
from envalid.
I think there are 2 use cases here:
- The original "strict" mode - only reading in those env variables which are defined
- Warning / erroring if trying to access environment variables that don't exist
Gating these both behind one configuration flag seems too much.
I propose reverting "strict" mode back to what it originally did, and creating a separate config option that sanity checks accessing properties (by throwing errors). This could also be done by making "strict" non-binary (eg. "off", "strict", "super-strict")
from envalid.
Eh, I don't think this justifies adding an extra config option– IMO there's more than enough configuration already. I'd be more interested in adding a dummy length
attribute in the proxy so this doesn't throw, like @SimenB is suggesting
from envalid.
Btw if you want strict mode without the throwing behaviour, you can always use v3 of the library, which is mostly the same otherwise.
from envalid.
@billdybas I believe the linked commit should fix this issue with lodash. Could you try the latest master and re-open the issue if the problem persists?
from envalid.
Related Issues (20)
- Add parse options to str() HOT 1
- array validator HOT 1
- 7.3.0 breaking change? HOT 11
- Add option to load validator specs from .example.env file HOT 1
- Access value of env object by name HOT 1
- envalid in react-native for preview crashes without giving description of missing env HOT 2
- testOnly setting variable to Symbol instead of failing HOT 5
- Pick from validators HOT 2
- str({ devDefault: undefined }) generates an incorrect type HOT 2
- Require environment variables only if `NODE_ENV` is not set to `test` HOT 2
- Skipping env var validation in tests HOT 1
- Prevent process exit during tests HOT 1
- makeExactValidator is not exported HOT 1
- Combine envalid with Docker secrets
- Issue with envalid in test. HOT 1
- Typescript, typing the environment variables returns never HOT 1
- Waiting for an async reporter callback HOT 3
- How to see description and help for optional env? HOT 4
- Add a warn option
- devDefault does not work when NODE_ENV is undefined HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from envalid.