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, function () {/* save-prefix = ~ proprietary-attribs = false legacy-bundling = true */}.toString().split('\n').slice(1, -1).join('\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') }