npm CLI robot 66b1356ebc
deps: upgrade npm to 9.3.0
PR-URL: https://github.com/nodejs/node/pull/46193
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2023-01-17 03:38:23 +00:00

34 lines
952 B
JavaScript

const t = require('tap')
const tspawk = require('../../fixtures/tspawk')
const { load: loadMockNpm } = require('../../fixtures/mock-npm')
const spawk = tspawk(t)
const isCmdRe = /(?:^|\\)cmd(?:\.exe)?$/i
t.test('should run stop script from package.json', async t => {
const { npm } = await loadMockNpm(t, {
prefixDir: {
'package.json': JSON.stringify({
name: 'x',
version: '1.2.3',
scripts: {
stop: 'node ./test-stop.js',
},
}),
},
config: {
loglevel: 'silent',
'script-shell': process.platform === 'win32' ? process.env.COMSPEC : 'sh',
},
})
const scriptShell = npm.config.get('script-shell')
const scriptArgs = isCmdRe.test(scriptShell)
? ['/d', '/s', '/c', 'node ./test-stop.js foo']
: ['-c', 'node ./test-stop.js foo']
const script = spawk.spawn(scriptShell, scriptArgs)
await npm.exec('stop', ['foo'])
t.ok(script.called, 'script ran')
})