From 59cf37962a2286e0f7d3bd37fa9c8bc3bac94218 Mon Sep 17 00:00:00 2001 From: isaacs Date: Wed, 24 Mar 2021 21:20:19 -0700 Subject: Always set npm.command to canonical command name This ensures that we get a npm_command env set to, eg 'run-script' instead of the shorthand 'run'. PR-URL: https://github.com/npm/cli/pull/2958 Credit: @isaacs Close: #2958 Reviewed-by: @wraithgar --- test/lib/npm.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/lib/npm.js b/test/lib/npm.js index 573919398..4d40792af 100644 --- a/test/lib/npm.js +++ b/test/lib/npm.js @@ -15,7 +15,7 @@ for (const env of Object.keys(process.env).filter(e => /^npm_/.test(e))) { 'should match "npm test" or "npm run test"' ) } else - t.match(process.env[env], /^(run)|(run-script)|(exec)$/) + t.match(process.env[env], /^(run-script|exec)$/) } delete process.env[env] } @@ -411,10 +411,15 @@ t.test('npm.load', t => { npm.localPrefix = dir await new Promise((res, rej) => { - npm.commands['run-script']([], er => { + // verify that calling the command with a short name still sets + // the npm.command property to the full canonical name of the cmd. + npm.command = null + npm.commands.run([], er => { if (er) rej(er) + t.equal(npm.command, 'run-script', 'npm.command set to canonical name') + t.match( consoleLogs, [ -- cgit v1.2.3