diff --git a/cli/lib/util.js b/cli/lib/util.js index 6c42b3f587..1a5e548990 100644 --- a/cli/lib/util.js +++ b/cli/lib/util.js @@ -533,6 +533,7 @@ const util = { la(is.unemptyString(varName), 'expected environment variable name, not', varName) const configVarName = `npm_config_${varName}` + const configVarNameLower = configVarName.toLowerCase() const packageConfigVarName = `npm_package_config_${varName}` let result @@ -545,6 +546,10 @@ const util = { debug(`Using ${varName} from npm config`) result = process.env[configVarName] + } else if (process.env.hasOwnProperty(configVarNameLower)) { + debug(`Using ${varName.toLowerCase()} from npm config`) + + result = process.env[configVarNameLower] } else if (process.env.hasOwnProperty(packageConfigVarName)) { debug(`Using ${varName} from package.json config`) diff --git a/cli/test/lib/util_spec.js b/cli/test/lib/util_spec.js index 7a347e1129..008f4719e2 100644 --- a/cli/test/lib/util_spec.js +++ b/cli/test/lib/util_spec.js @@ -543,6 +543,11 @@ describe('util', () => { expect(util.getEnv('CYPRESS_FOO')).to.eql('') }) + it('npm config set should work', () => { + process.env.npm_config_cypress_foo_foo = 'bazz' + expect(util.getEnv('CYPRESS_FOO_FOO')).to.eql('bazz') + }) + it('throws on non-string name', () => { expect(() => { util.getEnv()