Skip to content

chore(spanner-driver): sync spannerlib-node code - #9025

Draft
yoshi-code-bot wants to merge 1 commit into
googleapis:mainfrom
yoshi-code-bot:automated-spanner-lib-code-update
Draft

chore(spanner-driver): sync spannerlib-node code#9025
yoshi-code-bot wants to merge 1 commit into
googleapis:mainfrom
yoshi-code-bot:automated-spanner-lib-code-update

Conversation

@yoshi-code-bot

Copy link
Copy Markdown
Contributor

Update the Spanner Node.js driver with the latest spannerlib-node code from go-sql-spanner.

@yoshi-code-bot
yoshi-code-bot requested a review from a team as a code owner July 30, 2026 11:35
@dpebot

dpebot commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

/gcbrun

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a high-performance Node-API (N-API) wrapper for the Go-based Spanner shared library, establishing a three-layer pipeline that bridges TypeScript/JavaScript to the native Go SDK. It includes build configurations, shell scripts, C++ addon source code, TypeScript wrappers for connection and pool management, and a comprehensive test suite. Feedback on the changes highlights two issues: several devDependencies in package.json specify non-existent major versions that will cause installation failures, and a link in README.md contains a hardcoded local absolute file URL that should be updated to a relative path.

Comment on lines +51 to +59
"typescript": "^6.0.0",
"@types/node": "^24.0.0",
"@types/bindings": "^1.5.0",
"@types/mocha": "^10.0.6",
"@babel/core": "^8.0.0",
"@babel/cli": "^8.0.0",
"sinon": "^22.0.0",
"@types/sinon": "^21.0.0",
"gts": "^7.0.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Several devDependencies specify non-existent or hallucinated major versions (e.g., typescript v6.0.0, @types/node v24.0.0, @babel/core v8.0.0, @babel/cli v8.0.0, sinon v22.0.0, @types/sinon v21.0.0, and gts v7.0.0). These versions do not exist on the npm registry and will cause npm install to fail. Please downgrade them to the latest stable, existing versions.

Suggested change
"typescript": "^6.0.0",
"@types/node": "^24.0.0",
"@types/bindings": "^1.5.0",
"@types/mocha": "^10.0.6",
"@babel/core": "^8.0.0",
"@babel/cli": "^8.0.0",
"sinon": "^22.0.0",
"@types/sinon": "^21.0.0",
"gts": "^7.0.0",
"typescript": "^5.4.5",
"@types/node": "^20.14.2",
"@types/bindings": "^1.5.0",
"@types/mocha": "^10.0.6",
"@babel/core": "^7.24.5",
"@babel/cli": "^7.24.5",
"sinon": "^18.0.0",
"@types/sinon": "^18.0.0",
"gts": "^6.0.2",
References
  1. Verify the existence of a package version on the npm registry (e.g. npmjs.com) before flagging it as a typo or non-existent.
  2. When managing dependencies in package.json, ensure that @types packages (e.g., @types/sinon) are kept in sync with the major version of their corresponding main packages (e.g., sinon).

npm install
```

For a comprehensive architectural breakdown of the 3-layer compilation pipeline (Go Link, C++ node-gyp bridge, and Dual-publishing ESM/CJS), refer to the [BUILD_AND_RELEASE.md](file:///Users/gargsurbhi/Work/Github/go-sql-spanner/spannerlib/wrappers/spannerlib-node/BUILD_AND_RELEASE.md) documentation.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The link to BUILD_AND_RELEASE.md uses a hardcoded local absolute file:/// URL pointing to the author's local directory. This link will be broken for anyone else reading the documentation. Please change it to a relative link.

Suggested change
For a comprehensive architectural breakdown of the 3-layer compilation pipeline (Go Link, C++ node-gyp bridge, and Dual-publishing ESM/CJS), refer to the [BUILD_AND_RELEASE.md](file:///Users/gargsurbhi/Work/Github/go-sql-spanner/spannerlib/wrappers/spannerlib-node/BUILD_AND_RELEASE.md) documentation.
For a comprehensive architectural breakdown of the 3-layer compilation pipeline (Go Link, C++ node-gyp bridge, and Dual-publishing ESM/CJS), refer to the [BUILD_AND_RELEASE.md](BUILD_AND_RELEASE.md) documentation.

@dpebot

dpebot commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

/gcbrun

@surbhigarg92
surbhigarg92 marked this pull request as draft July 30, 2026 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants