1if (module === require.main) { 2 console.log('1..1') 3 console.log('ok 1 setup done') 4 process.exit(0) 5} 6 7var fs = require('graceful-fs') 8var path = require('path') 9var userconfigSrc = path.resolve(__dirname, 'fixtures', 'config', 'userconfig') 10exports.userconfig = userconfigSrc + '-with-gc' 11exports.globalconfig = path.resolve(__dirname, 'fixtures', 'config', 'globalconfig') 12 13// if this hasn't been written yet, then do it now. 14try { 15 fs.statSync(exports.userconfig) 16} catch (er) { 17 var uc = fs.readFileSync(userconfigSrc) 18 var gcini = 'globalconfig = ' + exports.globalconfig + '\n' 19 // atomic! 20 fs.writeFileSync(exports.userconfig + '.' + process.pid, gcini + uc) 21 fs.renameSync(exports.userconfig + '.' + process.pid, exports.userconfig) 22} 23 24exports.builtin = path.resolve(__dirname, 'fixtures', 'config', 'builtin') 25exports.malformed = path.resolve(__dirname, 'fixtures', 'config', 'malformed') 26exports.ucData = 27 { globalconfig: exports.globalconfig, 28 email: 'i@izs.me', 29 'env-thing': 'asdf', 30 'init.author.name': 'Isaac Z. Schlueter', 31 'init.author.email': 'i@izs.me', 32 'init.author.url': 'http://blog.izs.me/', 33 'init.version': '1.2.3', 34 'npm:publishtest': true, 35 '_npmjs.org:couch': 'https://admin:password@localhost:5984/registry', 36 'npm-www:nocache': '1', 37 nodedir: '/Users/isaacs/dev/js/node-v0.8', 38 'sign-git-tag': true, 39 message: 'v%s', 40 'strict-ssl': false, 41 'tmp': path.normalize(process.env.HOME + '/.tmp'), 42 _auth: 'dXNlcm5hbWU6cGFzc3dvcmQ=', 43 _token: 44 { AuthSession: 'yabba-dabba-doodle', 45 version: '1', 46 expires: '1345001053415', 47 path: '/', 48 httponly: true } } 49 50// set the userconfig in the env 51// unset anything else that npm might be trying to foist on us 52Object.keys(process.env).forEach(function (k) { 53 if (k.match(/^npm_config_/i)) { 54 delete process.env[k] 55 } 56}) 57process.env.npm_config_userconfig = exports.userconfig 58process.env.npm_config_other_env_thing = '1000' 59process.env.random_env_var = 'asdf' 60process.env.npm_config__underbar_env_thing = 'underful' 61process.env.NPM_CONFIG_UPPERCASE_ENV_THING = '42' 62 63exports.envData = { 64 userconfig: exports.userconfig, 65 '_underbar-env-thing': 'underful', 66 'uppercase-env-thing': '42', 67 'other-env-thing': '1000' 68} 69exports.envDataFix = { 70 userconfig: exports.userconfig, 71 '_underbar-env-thing': 'underful', 72 'uppercase-env-thing': 42, 73 'other-env-thing': 1000 74} 75 76var projectConf = path.resolve(__dirname, '..', '.npmrc') 77try { 78 fs.statSync(projectConf) 79} catch (er) { 80 // project conf not found, probably working with packed npm 81 fs.writeFileSync(projectConf, '') 82} 83 84var projectRc = path.join(__dirname, 'fixtures', 'config', '.npmrc') 85try { 86 fs.statSync(projectRc) 87} catch (er) { 88 // project conf not found, probably working with packed npm 89 fs.writeFileSync(projectRc, 'just = testing') 90} 91