Comments (10)
fixed with #62 release v.1.1.0
now you can silence dotenv
require('dotenv').config({silent: true})
from dotenv.
Let's put aside what's normal for production and what's not.
We do try/catch the error and politely console.log it as you've described because it's important to let someone know why dotenv may not be working. If we remove the log line, people are left to figure it out themselves (dig into source, add their own logs, etc.). We could add something like debug but then dotenv would no longer be dependency-free.
What's a solution that satisfies all of these concerns?
from dotenv.
Many thanks for the swift reply. I can only think of 2 possible solutions.
- Leave the code structure as-is; wrap the ENOENT error into something friendlier, e.g. ".env file not found". I would also suggest changing
console.error
toconsole.log
, but that is debatable. - Add a "verbose" or "debug" option to the #load method, set to true by default. That would give us the option to suppress errors by doing
require('dotenv').load({verbose: false});
Hope that makes sense,
from dotenv.
Would a pull request help to get this going?
from dotenv.
@jmike those always seem to push things along faster π
from dotenv.
Since i have the same problem, i can volunteer for the PR if needed
from dotenv.
Took a stab at this in #62
from dotenv.
Hey guys,
It's great that there is a way to pass {silent: true}
in the code to suppress an error. I'm wondering if something like that is also possible for babel users. Here is how I start my server:
#dev
nodemon src/ --exec \"node --require dotenv/config --require babel-register\"
#prod (not recommended; build instead and then run without babel)
babel-node --require dotenv/config --require babel-register src/
The reason for not using equire('dotenv').config({silent: true})
in src/index.js
is that cannot be placed before import x from 'x'
, which may rely on process.env.*
.
Any ideas?
from dotenv.
@kachkaev I think you can use dotenv_config_silent=true
in node argv.
from dotenv.
@calebboyd thanks for the hint, I did not know this trick existed. Looks like in v3.0.0 this is no longer the case though. Errors are not shown by default unless you pass a verbose
option.
from dotenv.
Related Issues (20)
- NodeJS 18 native feature caveats and `dotenvx` HOT 5
- Archive repo HOT 3
- Bug: `_parseVault()` doesnβt respect `processEnv` option. HOT 3
- Can we throw or stop execution through .env? HOT 3
- Readme links to nonexisting example page HOT 2
- override system variables HOT 2
- Cannot find module 'node:url' or its corresponding type declarations HOT 4
- In ES6 DOTENV enviroment not getting HOT 2
- Use of dotenv in a cron job with ES6 modules HOT 2
- Another issue asking about multiple env files HOT 6
- Links in examples section on NPM package page are broken HOT 1
- DotenvPopulateOutput typing is incorrect HOT 1
- Request for help! HOT 3
- Possible regression: `USERNAME` in .env file does not update process.env on Windows HOT 9
- Using an array for config.path does not work HOT 1
- Crypto HOT 1
- Troubleshooting dotenv Preloading in GitHub Actions HOT 3
- Multiple paths in config: README incorrect? HOT 8
- Getting error while reinstalling the dotenv (updating to `16.4.4` should fix. apologies for the bad patch release of `16.4.3` everyone) HOT 28
- Source Other env files? HOT 3
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 dotenv.