-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: use util.getEnv to handle environment variables set with npm #19560
Merged
emilyrohrbough
merged 6 commits into
cypress-io:develop
from
legap:issue-19559-set-verify-timeout-from-npmrc
Jan 12, 2022
Merged
Changes from 3 commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
969a198
use util.getEnv to handle environment variables set with npm
legap ef9c092
Merge branch 'develop' into issue-19559-set-verify-timeout-from-npmrc
legap 79f2a5f
Merge branch 'develop' into issue-19559-set-verify-timeout-from-npmrc
legap cdcc719
Merge branch 'develop' into issue-19559-set-verify-timeout-from-npmrc
mjhenkes d15ffce
Merge branch 'develop' into issue-19559-set-verify-timeout-from-npmrc
mjhenkes ff38f4b
Merge branch 'develop' into issue-19559-set-verify-timeout-from-npmrc
emilyrohrbough File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing this locally, I'm noticing the capitalization makes a difference on the resolved value when testing with a simple dummy script.
.npmrc
Terminal
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the review and the testing @emilyrohrbough.
I had to dig a little deeper to understand how npm handles environment variables. The results are available in this README in a small test project.
As a conclusion we can see, that npm itself handles the key of an environment variable different, depending on the operating system (I didn't have an OSX available but I would guess it behaves the same as linux).
I also looked up all calls to the
getEnv
method in the cypress codebase and had a look at the tests in util_spec.js and they are always with uppercase keys.So in my opinion
getEnv
should work on all operating systems when using the key in uppercase and the benefit would be that we can also use the definition forCYPRESS_VERIFY_TIMEOUT
inpackage.json
or.npmrc
.The only exception is setting the variable in
.npmrc
where the result will vary depending on the operating system. But I guess this should be addressed with another issue for the getEnv method.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@legap WOW! You led a very thorough investigation into these differences. I truly appreciate it & this is great information.
You conclusions regarding Mac OS seems correct (I have a Mac). With your findings it appears this accomplishes the intent of how
CYPRESS_VERIFY_TIMEOUT
will be used and accessed for this timeout.