fix login and some errors while login
This commit is contained in:
Regular → Executable
+27
-2
@@ -1,10 +1,35 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
REAL_NPM="/usr/local/bin/npm"
|
||||
SELF_DIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
|
||||
|
||||
if [ -n "${REAL_NPM:-}" ]; then
|
||||
:
|
||||
elif [ -x /usr/local/bin/npm ]; then
|
||||
REAL_NPM=/usr/local/bin/npm
|
||||
elif [ -x /opt/homebrew/bin/npm ]; then
|
||||
REAL_NPM=/opt/homebrew/bin/npm
|
||||
else
|
||||
PATH_WITHOUT_SELF=$(printf '%s' "$PATH" | sed "s#${SELF_DIR}:##; s#:${SELF_DIR}##; s#${SELF_DIR}\$##")
|
||||
REAL_NPM=$(PATH="$PATH_WITHOUT_SELF" command -v npm)
|
||||
fi
|
||||
|
||||
find_workspace_root() {
|
||||
dir="$PWD"
|
||||
|
||||
while [ "$dir" != "/" ]; do
|
||||
if [ -f "$dir/package.json" ] && grep -q '"workspaces"' "$dir/package.json"; then
|
||||
printf '%s\n' "$dir"
|
||||
return 0
|
||||
fi
|
||||
dir=$(dirname "$dir")
|
||||
done
|
||||
|
||||
printf '%s\n' "$PWD"
|
||||
}
|
||||
|
||||
if [ "${1-}" = "config" ] && [ "${2-}" = "get" ] && [ "${3-}" = "registry" ]; then
|
||||
exec "$REAL_NPM" --prefix "$PWD" "$@"
|
||||
exec "$REAL_NPM" --prefix "$(find_workspace_root)" config get registry
|
||||
fi
|
||||
|
||||
exec "$REAL_NPM" "$@"
|
||||
|
||||
Reference in New Issue
Block a user