You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.7 KiB

var fs = require('graceful-fs')
var path = require('path')
var userconfigSrc = path.resolve(__dirname, '..', 'fixtures', 'config', 'userconfig')
exports.userconfig = userconfigSrc + '-with-gc'
exports.globalconfig = path.resolve(__dirname, '..', 'fixtures', 'config', 'globalconfig')
exports.builtin = path.resolve(__dirname, '..', 'fixtures', 'config', 'builtin')
exports.malformed = path.resolve(__dirname, '..', 'fixtures', 'config', 'malformed')
exports.ucData =
{ globalconfig: exports.globalconfig,
email: 'i@izs.me',
'env-thing': 'asdf',
'init.author.name': 'Isaac Z. Schlueter',
'init.author.email': 'i@izs.me',
'init.author.url': 'http://blog.izs.me/',
'init.version': '1.2.3',
'proprietary-attribs': false,
'npm:publishtest': true,
'_npmjs.org:couch': 'https://admin:password@localhost:5984/registry',
'npm-www:nocache': '1',
nodedir: '/Users/isaacs/dev/js/node-v0.8',
'sign-git-tag': true,
message: 'v%s',
'strict-ssl': false,
'tmp': process.env.HOME + '/.tmp',
_auth: 'dXNlcm5hbWU6cGFzc3dvcmQ=',
_token:
{ AuthSession: 'yabba-dabba-doodle',
version: '1',
expires: '1345001053415',
path: '/',
httponly: true } }
// set the userconfig in the env
// unset anything else that npm might be trying to foist on us
Object.keys(process.env).forEach(function (k) {
if (k.match(/^npm_config_/i)) {
delete process.env[k]
}
})
process.env.npm_config_userconfig = exports.userconfig
process.env.npm_config_other_env_thing = 1000
process.env.random_env_var = 'asdf'
process.env.npm_config__underbar_env_thing = 'underful'
process.env.NPM_CONFIG_UPPERCASE_ENV_THING = 42
exports.envData = {
userconfig: exports.userconfig,
'_underbar-env-thing': 'underful',
'uppercase-env-thing': '42',
'other-env-thing': '1000'
}
exports.envDataFix = {
userconfig: exports.userconfig,
'_underbar-env-thing': 'underful',
'uppercase-env-thing': 42,
'other-env-thing': 1000
}
var projectConf = path.resolve(__dirname, '..', '..', '.npmrc')
try {
fs.statSync(projectConf)
} catch (er) {
// project conf not found, probably working with packed npm
fs.writeFileSync(projectConf, 'save-prefix = ~\nproprietary-attribs = false\n')
}
var projectRc = path.join(__dirname, '..', 'fixtures', 'config', '.npmrc')
try {
fs.statSync(projectRc)
} catch (er) {
// project conf not found, probably working with packed npm
fs.writeFileSync(projectRc, 'just = testing')
}
if (module === require.main) {
// set the globalconfig in the userconfig
var uc = fs.readFileSync(userconfigSrc)
var gcini = 'globalconfig = ' + exports.globalconfig + '\n'
fs.writeFileSync(exports.userconfig, gcini + uc)
console.log('1..1')
console.log('ok 1 setup done')
}