Comments (3)
@RamIdeas this is simply not possible because it's not dotenv-cli who evaluates too early but your shell before even passing this value to dotenv-cli, see also #31 (comment) for more information
what you can do is have 2 scripts
// package.json
{
"scripts": {
"echo:raw": "echo $VAR_NAME",
"echo": "dotenv -- yarn echo:raw",
}
}
from dotenv-cli.
I feel like I didn't explain myself clearly enough. I'm aware it's the shell that evaluates early.
My recommendation is to export the vars if no command is given. Notice the semicolon in the example on the last line?
from dotenv-cli.
Ah okay, that makes more sense.
However, I don't think dotenv
can change the env values of the outer shell script, that seems like it would be dangerous security wise?
$ URL=example.com
$ bash -c 'echo $URL' # doesn't output google.com because wasn't exported
$ export URL=example.com
$ bash -c 'echo $URL' # does output goolge.com because it was exported
$ bash -c 'export URL=google.com'
$ echo $URL # doesn't have google.com because child doesn't export to parent
I'd be happy to implement something if you can prove me wrong. I'd probably put it behind a feature flag then but for the rest it should be fine. I'm just not sure if it can be done.
from dotenv-cli.
Related Issues (20)
- Documentation should recommend use of "--" separator HOT 2
- Specify directory containing .env files HOT 3
- its adding double quotes HOT 1
- [Bug]Runtime error when using "-p" option HOT 3
- Upgrade dotenv version? HOT 6
- Setting variable does not work when value has dash HOT 11
- dontenv-cli not escaping dollar sign correctly HOT 1
- sorry HOT 1
- dotenv-expand: TypeError: Cannot read property 'split' of undefined HOT 6
- .env.local should have higher priority than .env.<environment> HOT 2
- unable to run command with prefix HOT 1
- Fail to load env HOT 4
- Allow setting variable with a value containing strings HOT 7
- Change load order of multiple .env files HOT 2
- Override system variables HOT 2
- Conflicting options: 'override' and 'cascade' HOT 5
- Loading Vault files HOT 4
- Dotenv-cli removes output colors HOT 1
- npm ERR! could not determine executable to run HOT 1
- Add longopts 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 dotenv-cli.