diff --git a/standards/mcp/templates/drone/npm-lib.yaml b/standards/mcp/templates/drone/npm-lib.yaml index 2ab3a5b..c2ff550 100644 --- a/standards/mcp/templates/drone/npm-lib.yaml +++ b/standards/mcp/templates/drone/npm-lib.yaml @@ -30,7 +30,8 @@ steps: exit 1 fi NPM_HOST=$(echo "$NPM_REPO_URL" | sed -E 's|^[a-z]+://||; s|/*$||') - echo "registry=$NPM_REPO_URL" > /tmp/.npmrc + NPM_SCOPE="@$(node -p "require('./package.json').name.split('/')[0].replace(/^@/,'')")" + echo "$NPM_SCOPE:registry=$NPM_REPO_URL" > /tmp/.npmrc echo "//$NPM_HOST/:_auth=$(echo -n "$NPM_USERNAME:$NPM_PASSWORD" | base64 | tr -d '\n')" >> /tmp/.npmrc echo "Checking if $PACKAGE_NAME@$VERSION exists on $NPM_REPO_URL ..." if npm view "$PACKAGE_NAME@$VERSION" version --userconfig /tmp/.npmrc >/dev/null 2>&1; then @@ -56,7 +57,8 @@ steps: exit 1 fi NPM_HOST=$(echo "$NPM_REPO_URL" | sed -E 's|^[a-z]+://||; s|/*$||') - echo "registry=$NPM_REPO_URL" > .npmrc + NPM_SCOPE="@$(node -p "require('./package.json').name.split('/')[0].replace(/^@/,'')")" + echo "$NPM_SCOPE:registry=$NPM_REPO_URL" > .npmrc echo "//$NPM_HOST/:_auth=$(echo -n "$NPM_USERNAME:$NPM_PASSWORD" | base64 | tr -d '\n')" >> .npmrc - npm install - echo "Running quality gate..." @@ -82,7 +84,8 @@ steps: commands: - | NPM_HOST=$(echo "$NPM_REPO_URL" | sed -E 's|^[a-z]+://||; s|/*$||') - echo "registry=$NPM_REPO_URL" > .npmrc + NPM_SCOPE="@$(node -p "require('./package.json').name.split('/')[0].replace(/^@/,'')")" + echo "$NPM_SCOPE:registry=$NPM_REPO_URL" > .npmrc echo "//$NPM_HOST/:_auth=$(echo -n "$NPM_USERNAME:$NPM_PASSWORD" | base64 | tr -d '\n')" >> .npmrc - echo "Publishing to private npm at $NPM_REPO_URL ..." - npm publish --access restricted @@ -122,7 +125,8 @@ steps: - apk add --no-cache git - | NPM_HOST=$(echo "$NPM_REPO_URL" | sed -E 's|^[a-z]+://||; s|/*$||') - echo "registry=$NPM_REPO_URL" > /tmp/.npmrc + NPM_SCOPE="@$(node -p "require('./package.json').name.split('/')[0].replace(/^@/,'')")" + echo "$NPM_SCOPE:registry=$NPM_REPO_URL" > /tmp/.npmrc echo "//$NPM_HOST/:_auth=$(echo -n "$NPM_USERNAME:$NPM_PASSWORD" | base64 | tr -d '\n')" >> /tmp/.npmrc - | set -e diff --git a/standards/src/templates/drone/npm-lib.yaml b/standards/src/templates/drone/npm-lib.yaml index 2ab3a5b..c2ff550 100644 --- a/standards/src/templates/drone/npm-lib.yaml +++ b/standards/src/templates/drone/npm-lib.yaml @@ -30,7 +30,8 @@ steps: exit 1 fi NPM_HOST=$(echo "$NPM_REPO_URL" | sed -E 's|^[a-z]+://||; s|/*$||') - echo "registry=$NPM_REPO_URL" > /tmp/.npmrc + NPM_SCOPE="@$(node -p "require('./package.json').name.split('/')[0].replace(/^@/,'')")" + echo "$NPM_SCOPE:registry=$NPM_REPO_URL" > /tmp/.npmrc echo "//$NPM_HOST/:_auth=$(echo -n "$NPM_USERNAME:$NPM_PASSWORD" | base64 | tr -d '\n')" >> /tmp/.npmrc echo "Checking if $PACKAGE_NAME@$VERSION exists on $NPM_REPO_URL ..." if npm view "$PACKAGE_NAME@$VERSION" version --userconfig /tmp/.npmrc >/dev/null 2>&1; then @@ -56,7 +57,8 @@ steps: exit 1 fi NPM_HOST=$(echo "$NPM_REPO_URL" | sed -E 's|^[a-z]+://||; s|/*$||') - echo "registry=$NPM_REPO_URL" > .npmrc + NPM_SCOPE="@$(node -p "require('./package.json').name.split('/')[0].replace(/^@/,'')")" + echo "$NPM_SCOPE:registry=$NPM_REPO_URL" > .npmrc echo "//$NPM_HOST/:_auth=$(echo -n "$NPM_USERNAME:$NPM_PASSWORD" | base64 | tr -d '\n')" >> .npmrc - npm install - echo "Running quality gate..." @@ -82,7 +84,8 @@ steps: commands: - | NPM_HOST=$(echo "$NPM_REPO_URL" | sed -E 's|^[a-z]+://||; s|/*$||') - echo "registry=$NPM_REPO_URL" > .npmrc + NPM_SCOPE="@$(node -p "require('./package.json').name.split('/')[0].replace(/^@/,'')")" + echo "$NPM_SCOPE:registry=$NPM_REPO_URL" > .npmrc echo "//$NPM_HOST/:_auth=$(echo -n "$NPM_USERNAME:$NPM_PASSWORD" | base64 | tr -d '\n')" >> .npmrc - echo "Publishing to private npm at $NPM_REPO_URL ..." - npm publish --access restricted @@ -122,7 +125,8 @@ steps: - apk add --no-cache git - | NPM_HOST=$(echo "$NPM_REPO_URL" | sed -E 's|^[a-z]+://||; s|/*$||') - echo "registry=$NPM_REPO_URL" > /tmp/.npmrc + NPM_SCOPE="@$(node -p "require('./package.json').name.split('/')[0].replace(/^@/,'')")" + echo "$NPM_SCOPE:registry=$NPM_REPO_URL" > /tmp/.npmrc echo "//$NPM_HOST/:_auth=$(echo -n "$NPM_USERNAME:$NPM_PASSWORD" | base64 | tr -d '\n')" >> /tmp/.npmrc - | set -e