UNPKG

@kd-kfront/knpm

Version:

knpm: npm client for knpm

49 lines (42 loc) 1.34 kB
'use strict'; const debug = require('debug')('knpm:config'); const path = require('path'); const fs = require('fs'); const cp = require('child_process'); const ini = require('ini'); let root; if (process.platform === 'win32') { root = process.env.USERPROFILE || process.env.APPDATA || process.env.TMP || process.env.TEMP; } else { root = process.env.HOME || process.env.TMPDIR || '/tmp'; } let prefix = null; try { prefix = cp.execSync('npm config get prefix').toString().trim(); } catch (err) { // ignore it debug('npm config cli error: %s', err); } let proxy = ''; const userconfig = path.join(root, '.knpmrc'); if (fs.existsSync(userconfig)) { let knpmrc; try { knpmrc = ini.parse(fs.readFileSync(userconfig, 'utf-8')); } catch (err) { console.warn('[knpm:config] [WARN] read %s ini format error', userconfig); } if (knpmrc && knpmrc.proxy) { proxy = knpmrc.proxy; } } module.exports = { knpmHost: 'https://kfront-dev-dev.devdolphin.com/ty-knpm', knpmRegistry: 'https://kfront-dev-dev.devdolphin.com/ty-knpm', disturl: 'https://npm.taobao.org/mirrors/node', // download dist tarball for node-gyp iojsDisturl: 'https://npm.taobao.org/mirrors/iojs', cache: path.join(root, '.knpm'), // cache folder name userconfig, proxy, prefix, };