From b12859dcb8d5a8389bd676e7e84caaf8c4de21b9 Mon Sep 17 00:00:00 2001 From: isaacs Date: Thu, 16 Jul 2020 18:40:44 -0700 Subject: refactor and test for main cli script --- bin/npm-cli.js | 69 +--------------------------------------------------------- 1 file changed, 1 insertion(+), 68 deletions(-) (limited to 'bin/npm-cli.js') diff --git a/bin/npm-cli.js b/bin/npm-cli.js index 7507ef40a..577abe03e 100755 --- a/bin/npm-cli.js +++ b/bin/npm-cli.js @@ -1,69 +1,2 @@ #!/usr/bin/env node - -process.title = 'npm' - -const { - checkForBrokenNode, - checkForUnsupportedNode -} = require('../lib/utils/unsupported.js') - -checkForBrokenNode() - -const log = require('npmlog') -// pause it here so it can unpause when we've loaded the configs -// and know what loglevel we should be printing. -log.pause() - -checkForUnsupportedNode() - -const npm = require('../lib/npm.js') -const { defs: { shorthands, types } } = require('../lib/config/core.js') -const errorHandler = require('../lib/utils/error-handler.js') -const nopt = require('nopt') - -// if npm is called as "npmg" or "npm_g", then -// run in global mode. -if (process.argv[1][process.argv[1].length - 1] === 'g') { - process.argv.splice(1, 1, 'npm', '-g') -} - -log.verbose('cli', process.argv) - -const conf = nopt(types, shorthands) -npm.argv = conf.argv.remain - -if (conf.version) { - console.log(npm.version) - return errorHandler.exit(0) -} - -if (conf.versions) { - npm.argv = ['version'] - conf.usage = false -} - -log.info('using', 'npm@%s', npm.version) -log.info('using', 'node@%s', process.version) - -process.on('uncaughtException', errorHandler) -process.on('unhandledRejection', errorHandler) - -// now actually fire up npm and run the command. -// this is how to use npm programmatically: -conf._exit = true -const updateNotifier = require('../lib/utils/update-notifier.js') -npm.load(conf, function (er) { - if (er) return errorHandler(er) - - updateNotifier(npm) - - const cmd = npm.argv.shift() - const impl = npm.commands[cmd] - if (impl) { - impl(npm.argv, errorHandler) - } else { - npm.config.set('usage', false) - npm.argv.unshift(cmd) - npm.commands.help(npm.argv, errorHandler) - } -}) +require('../lib/cli.js')(process) -- cgit v1.2.3