diff --git a/cli/src/cli.ts b/cli/src/cli.ts index e122cec9f..1b64b8a04 100644 --- a/cli/src/cli.ts +++ b/cli/src/cli.ts @@ -8,16 +8,17 @@ import { serve } from 'srvx' import { createConnectorApp, generateToken, CONNECTOR_VERSION } from './server.ts' import { getNpmUser, NPM_REGISTRY_URL } from './npm-client.ts' import { initLogger, showToken, logInfo, logWarning, logError } from './logger.ts' +import { resolveNpmProcessCommand } from './npm-process.ts' const DEFAULT_PORT = 31415 const DEFAULT_FRONTEND_URL = 'https://npmx.dev/' const DEV_FRONTEND_URL = 'http://127.0.0.1:3000/' - async function runNpmLogin(): Promise { return new Promise(resolve => { - const child = spawn('npm', ['login', `--registry=${NPM_REGISTRY_URL}`], { + const { command, args } = resolveNpmProcessCommand(['login', `--registry=${NPM_REGISTRY_URL}`]) + + const child = spawn(command, args, { stdio: 'inherit', - shell: true, }) child.on('close', code => { diff --git a/cli/src/npm-client.ts b/cli/src/npm-client.ts index 8448413b5..076ff5a18 100644 --- a/cli/src/npm-client.ts +++ b/cli/src/npm-client.ts @@ -8,6 +8,7 @@ import { join } from 'node:path' import * as v from 'valibot' import { PackageNameSchema, UsernameSchema, OrgNameSchema, ScopeTeamSchema } from './schemas.ts' import { logCommand, logSuccess, logError, logDebug } from './logger.ts' +import { resolveNpmProcessCommand } from './npm-process.ts' const execFileAsync = promisify(execFile) export const NPM_REGISTRY_URL = 'https://registry.npmjs.org/' @@ -332,13 +333,10 @@ async function execNpm(args: string[], options: ExecNpmOptions = {}): Promise