mirror of https://github.com/nodejs/node.git
36 lines
997 B
PowerShell
36 lines
997 B
PowerShell
#!/usr/bin/env pwsh
|
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
|
|
|
$exe=""
|
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
|
# Fix case when both the Windows and Linux builds of Node
|
|
# are installed in the same directory
|
|
$exe=".exe"
|
|
}
|
|
$ret=0
|
|
|
|
$nodeexe = "node$exe"
|
|
$nodebin = $(Get-Command $nodeexe -ErrorAction SilentlyContinue -ErrorVariable F).Source
|
|
if ($nodebin -eq $null) {
|
|
Write-Host "$nodeexe not found."
|
|
exit 1
|
|
}
|
|
$nodedir = $(New-Object -ComObject Scripting.FileSystemObject).GetFile("$nodebin").ParentFolder.Path
|
|
|
|
$npmclijs="$nodedir/node_modules/npm/bin/npm-cli.js"
|
|
$npmprefix=(& $nodeexe $npmclijs prefix -g)
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "Could not determine Node.js install directory"
|
|
exit 1
|
|
}
|
|
$npmprefixclijs="$npmprefix/node_modules/npm/bin/npx-cli.js"
|
|
|
|
# Support pipeline input
|
|
if ($MyInvocation.ExpectingInput) {
|
|
$input | & $nodeexe $npmprefixclijs $args
|
|
} else {
|
|
& $nodeexe $npmprefixclijs $args
|
|
}
|
|
$ret=$LASTEXITCODE
|
|
exit $ret
|