{"version":3,"sources":["jsdelivr-header.js","/npm/fis3-command-npm3@4.2.3/index.js"],"names":[],"mappings":"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","file":"/npm/fis3-command-npm3@4.2.3/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/fis3-command-npm3@4.2.3/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/* global fis */\nvar config = require('./config');\nvar spawn = require('cross-spawn');\nvar fs = require('fs');\nvar path = require('path');\nvar extendsMethd = {\n    web: 1,\n    check: 1,\n    doc: 1,\n    sync: 1,\n    user: 1,\n    search: 1,\n};\nexports.name = 'npm';\nexports.desc = 'npm packager';\nexports.options = {\n    '-h, --help': 'print this help message',\n    '--files': 'some options.',\n    '-r, --registry [registry]': 'registry url, default is ' + config.cnpmRegistry,\n    '-w, --registryweb [registryweb]': 'web url, default is ' + config.cnpmHost,\n    '--disturl [disturl]': 'dist url for node-gyp, default is ' + config.disturl,\n    '-c, --cache [cache]': 'cache folder, default is ' + config.cache,\n    '-u, --userconfig [userconfig]': 'userconfig file, default is ' + config.userconfig,\n    '-y, --yes': 'yes all confirm'\n};\n\nexports.run = function (argv, cli) {\n    var CWD = process.cwd();\n    argv.userconfig = argv.userconfig || config.userconfig;\n    if (argv.h || argv.help) {\n        return cli.help(exports.name, exports.options);\n    }\n    if (!argv.registry) {\n        // try to use registry in uerconfig\n        argv.registry = getDefaultRegistry(argv.userconfig);\n        function getDefaultRegistry(userconfig) {\n            if (argv.userconfig !== 'none' && fs.existsSync(argv.userconfig)) {\n                var content = fs.readFileSync(argv.userconfig, 'utf8');\n                // registry = {registry-url}\n                var m = /^registry\\s*=\\s*(.+)$/m.exec(content);\n                if (m) {\n                    return m[1];\n                }\n            }\n            return config.cnpmRegistry;\n        }\n    }\n    if (!argv.disturl) {\n        var isIOJS = process.execPath.indexOf('iojs') >= 0;\n        argv.disturl = isIOJS ? config.iojsDisturl : config.disturl;\n    }\n    if (argv.disturl === 'none') {\n        delete argv.disturl;\n    }\n    if (argv.userconfig === 'none') {\n        delete argv.userconfig;\n    }\n    argv.registryweb = argv.registryweb || config.cnpmHost;\n    var rawArgs = argv._;\n    var action = rawArgs[1];\n    var args = rawArgs.slice(1);\n    var packageUrl = fis.project.getProjectPath() + '/package.json';\n    argv.packageUrl = packageUrl;\n    if (extendsMethd[action]) {\n        return require('./lib/' + action)(argv);\n    }\n    \n    function getGitUrl(name) {\n        var host = 'git+http://git.superboss.cc/';\n\n        var map = {\n            'tatami': 'zhengchao/raycloud'\n        };\n        if (map[name]) {\n            return host + map[name] + '.git';\n        }\n        return '';\n    }\n    function getNpm(url) {\n        var name = url;\n        var version = '';\n        var _tmp = url.split('@');\n        name = _tmp[0];\n        if (_tmp[1]) {\n            version = _tmp[1];\n        }\n\n        return {\n            ver: version,\n            name: name\n        };\n    }\n    // 可以通过 argv 知道命令行中有哪些参数以及是什么值。\n    if (action === 'install') {\n        if (args.length === 1) {\n            var packageJson;\n            try {\n                packageJson = fis.util.readJSON(packageUrl);\n            } catch (e) {\n                fis.log.warn(e);\n            }\n\n            if (packageJson && packageJson.dependencies) {\n                fis.util.map(packageJson.dependencies, function (name, version) {\n                    var gitUrl = getGitUrl(name);\n                    if (gitUrl) {\n                        var ver = version.split('#')[1];\n                        version = gitUrl;\n                        if(ver){\n                            version += '#'+ver;\n                        }\n                    }\n                });\n                fis.util.write(packageUrl,JSON.stringify(packageJson));\n            }\n        } else {\n            var pack = getNpm(args[1]);\n            var _url = getGitUrl(pack.name);\n            if (_url) {\n                args[1] = _url;\n                if (pack.ver) {\n                    args[1] += '#' + pack.ver;\n                }\n            }\n        }\n    }\n    \n    if (argv.userconfig && !fs.existsSync(argv.userconfig)) {\n        fs.writeFileSync(argv.userconfig, 'email =\\n');\n    }\n\n    var nodeModulesDir = path.join(__dirname, 'node_modules');\n    var nodegyp = path.join(nodeModulesDir, 'node-gyp', 'bin', 'node-gyp.js');\n    args.unshift('--node-gyp=' + nodegyp);\n    args.unshift('--registry=' + argv.registry);\n    args.unshift('--cache=' + argv.cache);\n    if (argv.disturl) {\n        args.unshift('--disturl=' + argv.disturl);\n    }\n    if (argv.userconfig) {\n        args.unshift('--userconfig=' + argv.userconfig);\n    }\n\n    var npmBin;\n\n    try {\n        npmBin = require.resolve('npm');\n        npmBin = path.join(npmBin, '..', '..', '..', '.bin', 'npm');\n    } catch (_) {\n        npmBin = path.join(path.dirname(process.execPath), 'npm');\n    }\n\n    var env = {\n        NVM_NODEJS_ORG_MIRROR: config.mirrorsUrl + '/node',\n        NVM_IOJS_ORG_MIRROR: config.mirrorsUrl + '/iojs',\n        PHANTOMJS_CDNURL: config.mirrorsUrl + '/phantomjs',\n        CHROMEDRIVER_CDNURL: 'http://oss.npm.taobao.org/dist/chromedriver',\n        SELENIUM_CDNURL: config.mirrorsUrl + '/selenium',\n        ELECTRON_MIRROR: config.mirrorsUrl + '/electron/',\n        SASS_BINARY_SITE: config.mirrorsUrl + '/node-sass',\n    };\n\n    for (var k in process.env) {\n        env[k] = process.env[k];\n    }\n\n    var npm = spawn(npmBin, args, {\n        env: env,\n        cwd: CWD,\n        stdio: [\n            process.stdin,\n            process.stdout,\n            process.stderr,\n        ]\n    });\n\n    npm.on('exit', function (code, signal) {\n        process.exit(code);\n    });\n};"]}