This is an automated email from the ASF dual-hosted git repository.

lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/main by this push:
     new ccaf86198 ci: fix gemfury push for Node.js packages (#4097)
ccaf86198 is described below

commit ccaf861987b3133bc582ed398300b26e7e6ea790
Author: Kent Wu <[email protected]>
AuthorDate: Tue Mar 17 06:58:44 2026 -0400

    ci: fix gemfury push for Node.js packages (#4097)
    
    Fixed `ENEEDAUTH` when publishing npm packages to Gemfury.
    
    The root cause is the script not accounting for NPM_REGISTRY URL having
    a trailing slash, causing a double-slash in the generated `.npmrc` key
    (`npm.fury.io/arrow-adbc-nightlies//:_authToken`)
    
    **Test Plan**
    
    Tested full gemfury package upload on my fork
    - Pointed URL's to my own gemfury
    -
    
https://github.com/kentkwu/arrow-adbc/actions/runs/23171042963/job/67325129419
    
    Closes #4093.
---
 ci/scripts/node_npm_upload.sh | 13 +++++++++----
 javascript/README.md          |  4 ++--
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/ci/scripts/node_npm_upload.sh b/ci/scripts/node_npm_upload.sh
index 0ce063397..ddb1876d8 100755
--- a/ci/scripts/node_npm_upload.sh
+++ b/ci/scripts/node_npm_upload.sh
@@ -32,6 +32,7 @@ main() {
     local packages_dir
     packages_dir="$(realpath "$1")"
     local registry="${NPM_REGISTRY:-https://registry.npmjs.org}";
+    local registry_key="${registry%/}"  # strip trailing slash for .npmrc key 
construction
     local dry_run_flag=""
     if [[ "${DRY_RUN:-0}" == "1" ]]; then
         dry_run_flag="--dry-run"
@@ -41,22 +42,26 @@ main() {
         tag_flag="--tag ${NPM_TAG}"
     fi
 
+    if [[ -z "${NPM_TOKEN:-}" ]]; then
+        echo "Error: NPM_TOKEN is required" >&2
+        exit 1
+    fi
+
     # Write a temp .npmrc with the auth token for the target registry
     local npmrc
     npmrc=$(mktemp)
     trap "rm -f ${npmrc}" EXIT
-    echo "//${registry#*://}/:_authToken=${NPM_TOKEN:-}" > "${npmrc}"
-    export NPM_CONFIG_USERCONFIG="${npmrc}"
+    echo "//${registry_key#*://}/:_authToken=${NPM_TOKEN}" > "${npmrc}"
 
     # Publish platform-specific packages first, then the main package
     for pkg in "${packages_dir}"/apache-arrow-adbc-driver-manager-*-*.tgz; do
         echo "==== Publishing ${pkg}"
-        npm publish "${pkg}" --access public --registry "${registry}" 
${tag_flag} ${dry_run_flag}
+        npm publish "${pkg}" --access public --registry "${registry}" 
--userconfig "${npmrc}" ${tag_flag} ${dry_run_flag}
     done
 
     echo "==== Publishing main package"
     npm publish "${packages_dir}"/apache-arrow-adbc-driver-manager-[0-9]*.tgz \
-        --access public --registry "${registry}" ${tag_flag} ${dry_run_flag}
+        --access public --registry "${registry}" --userconfig "${npmrc}" 
${tag_flag} ${dry_run_flag}
 }
 
 main "$@"
diff --git a/javascript/README.md b/javascript/README.md
index 1e5573885..ff5deaf44 100644
--- a/javascript/README.md
+++ b/javascript/README.md
@@ -29,7 +29,7 @@ support browser or Deno environments. Bun is not officially 
tested.
 ## Installation
 
 ```bash
-npm install adbc-driver-manager apache-arrow
+npm install @apache-arrow/adbc-driver-manager apache-arrow
 ```
 
 ## Usage
@@ -39,7 +39,7 @@ name. When using a short name, the driver manager searches 
system and user
 paths for a matching ADBC driver manifest or library.
 
 ```typescript
-import { AdbcDatabase } from 'adbc-driver-manager'
+import { AdbcDatabase } from '@apache-arrow/adbc-driver-manager'
 
 // Short name (resolves from system/user paths)
 const db = new AdbcDatabase({ driver: 'sqlite' })

Reply via email to