[PR #986] [MERGED] fix(checkpoint-sqlite): upgrade better-sqlite3 to 11.7.0 #1159

Closed
opened 2026-02-15 19:17:28 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/langchain-ai/langgraphjs/pull/986
Author: @littledivy
Created: 3/12/2025
Status: Merged
Merged: 3/13/2025
Merged by: @benjamincburns

Base: mainHead: upgrade_better_sqlite3


📝 Commits (1)

  • 09222fc fix(checkpoint-sqlite): support node >= 23.4.0

📊 Changes

4 files changed (+17 additions, -17 deletions)

View changed files

📝 libs/checkpoint-mongodb/package.json (+1 -1)
📝 libs/checkpoint-sqlite/package.json (+3 -3)
📝 libs/checkpoint-validation/package.json (+1 -1)
📝 yarn.lock (+12 -12)

📄 Description

Fixes gyp compilation errors on Node.js >= 23.4.0 (LTS):

prebuild-install warn install No prebuilt binaries found (target=23.7.0 runtime=node arch=arm64 libc= platform=darwin)
gyp info it worked if it ends with ok
gyp info using node-gyp@11.1.0
gyp info using node@23.7.0 | darwin | arm64
gyp info find Python using Python version 3.13.2 found at "/opt/homebrew/opt/python@3.13/bin/python3.13"

gyp info spawn /opt/homebrew/opt/python@3.13/bin/python3.13
gyp info spawn args [
gyp info spawn args '/Users/divy/gh/langgraphjs/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/divy/gh/langgraphjs/node_modules/better-sqlite3/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/divy/gh/langgraphjs/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/divy/Library/Caches/node-gyp/23.7.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/divy/Library/Caches/node-gyp/23.7.0',
gyp info spawn args '-Dnode_gyp_dir=/Users/divy/gh/langgraphjs/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/divy/Library/Caches/node-gyp/23.7.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/divy/gh/langgraphjs/node_modules/better-sqlite3',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  TOUCH ba23eeee118cd63e16015df367567cb043fed872.intermediate
  ACTION deps_sqlite3_gyp_locate_sqlite3_target_copy_builtin_sqlite3 ba23eeee118cd63e16015df367567cb043fed872.intermediate
  TOUCH Release/obj.target/deps/locate_sqlite3.stamp
  CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
  LIBTOOL-STATIC Release/sqlite3.a
  CXX(target) Release/obj.target/better_sqlite3/src/better_sqlite3.o
In file included from ../src/better_sqlite3.cpp:4:
In file included from ./src/better_sqlite3.lzz:11:
In file included from /Users/divy/Library/Caches/node-gyp/23.7.0/include/node/node.h:73:
In file included from /Users/divy/Library/Caches/node-gyp/23.7.0/include/node/v8.h:23:
In file included from /Users/divy/Library/Caches/node-gyp/23.7.0/include/node/cppgc/common.h:8:
/Users/divy/Library/Caches/node-gyp/23.7.0/include/node/v8config.h:13:2: error: "C++20 or later required."
   13 | #error "C++20 or later required."
      |  ^
In file included from ../src/better_sqlite3.cpp:4:
./src/util/macros.lzz:31:69: error: no template named 'CopyablePersistentTraits' in namespace 'v8'; did you mean 'NonCopyablePersistentTraits'?
   31 | template <class T> using CopyablePersistent = v8::Persistent<T, v8::CopyablePersistentTraits<T>>;
      |                                                                 ~~~~^~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                     NonCopyablePersistentTraits
/Users/divy/Library/Caches/node-gyp/23.7.0/include/node/v8-persistent-handle.h:223:7: note: 'NonCopyablePersistentTraits' declared here
  223 | class NonCopyablePersistentTraits {
      |       ^
In file included from ../src/better_sqlite3.cpp:4:
./src/util/macros.lzz:149:6: error: no type named 'AccessorGetterCallback' in namespace 'v8'; did you mean 'AccessorNameGetterCallback'?
  149 |         v8::AccessorGetterCallback func
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~
      |             AccessorNameGetterCallback
/Users/divy/Library/Caches/node-gyp/23.7.0/include/node/v8-object.h:155:7: note: 'AccessorNameGetterCallback' declared here
  155 | using AccessorNameGetterCallback =
      |       ^
./src/util/macros.lzz:158:6: error: no type named 'AccessorGetterCallback' in namespace 'v8'; did you mean 'AccessorNameGetterCallback'?
  158 |         v8::AccessorGetterCallback func
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~
      |             AccessorNameGetterCallback
/Users/divy/Library/Caches/node-gyp/23.7.0/include/node/v8-object.h:155:7: note: 'AccessorNameGetterCallback' declared here
  155 | using AccessorNameGetterCallback =
      |       ^

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/langchain-ai/langgraphjs/pull/986 **Author:** [@littledivy](https://github.com/littledivy) **Created:** 3/12/2025 **Status:** ✅ Merged **Merged:** 3/13/2025 **Merged by:** [@benjamincburns](https://github.com/benjamincburns) **Base:** `main` ← **Head:** `upgrade_better_sqlite3` --- ### 📝 Commits (1) - [`09222fc`](https://github.com/langchain-ai/langgraphjs/commit/09222fce3c480773d5a4f9271f62cebe1f5f0254) fix(checkpoint-sqlite): support node >= 23.4.0 ### 📊 Changes **4 files changed** (+17 additions, -17 deletions) <details> <summary>View changed files</summary> 📝 `libs/checkpoint-mongodb/package.json` (+1 -1) 📝 `libs/checkpoint-sqlite/package.json` (+3 -3) 📝 `libs/checkpoint-validation/package.json` (+1 -1) 📝 `yarn.lock` (+12 -12) </details> ### 📄 Description Fixes gyp compilation errors on Node.js >= 23.4.0 (LTS): ``` prebuild-install warn install No prebuilt binaries found (target=23.7.0 runtime=node arch=arm64 libc= platform=darwin) gyp info it worked if it ends with ok gyp info using node-gyp@11.1.0 gyp info using node@23.7.0 | darwin | arm64 gyp info find Python using Python version 3.13.2 found at "/opt/homebrew/opt/python@3.13/bin/python3.13" gyp info spawn /opt/homebrew/opt/python@3.13/bin/python3.13 gyp info spawn args [ gyp info spawn args '/Users/divy/gh/langgraphjs/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/Users/divy/gh/langgraphjs/node_modules/better-sqlite3/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/Users/divy/gh/langgraphjs/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/Users/divy/Library/Caches/node-gyp/23.7.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/Users/divy/Library/Caches/node-gyp/23.7.0', gyp info spawn args '-Dnode_gyp_dir=/Users/divy/gh/langgraphjs/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/Users/divy/Library/Caches/node-gyp/23.7.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/Users/divy/gh/langgraphjs/node_modules/better-sqlite3', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] gyp info spawn make gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] TOUCH ba23eeee118cd63e16015df367567cb043fed872.intermediate ACTION deps_sqlite3_gyp_locate_sqlite3_target_copy_builtin_sqlite3 ba23eeee118cd63e16015df367567cb043fed872.intermediate TOUCH Release/obj.target/deps/locate_sqlite3.stamp CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o LIBTOOL-STATIC Release/sqlite3.a CXX(target) Release/obj.target/better_sqlite3/src/better_sqlite3.o In file included from ../src/better_sqlite3.cpp:4: In file included from ./src/better_sqlite3.lzz:11: In file included from /Users/divy/Library/Caches/node-gyp/23.7.0/include/node/node.h:73: In file included from /Users/divy/Library/Caches/node-gyp/23.7.0/include/node/v8.h:23: In file included from /Users/divy/Library/Caches/node-gyp/23.7.0/include/node/cppgc/common.h:8: /Users/divy/Library/Caches/node-gyp/23.7.0/include/node/v8config.h:13:2: error: "C++20 or later required." 13 | #error "C++20 or later required." | ^ In file included from ../src/better_sqlite3.cpp:4: ./src/util/macros.lzz:31:69: error: no template named 'CopyablePersistentTraits' in namespace 'v8'; did you mean 'NonCopyablePersistentTraits'? 31 | template <class T> using CopyablePersistent = v8::Persistent<T, v8::CopyablePersistentTraits<T>>; | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | NonCopyablePersistentTraits /Users/divy/Library/Caches/node-gyp/23.7.0/include/node/v8-persistent-handle.h:223:7: note: 'NonCopyablePersistentTraits' declared here 223 | class NonCopyablePersistentTraits { | ^ In file included from ../src/better_sqlite3.cpp:4: ./src/util/macros.lzz:149:6: error: no type named 'AccessorGetterCallback' in namespace 'v8'; did you mean 'AccessorNameGetterCallback'? 149 | v8::AccessorGetterCallback func | ~~~~^~~~~~~~~~~~~~~~~~~~~~ | AccessorNameGetterCallback /Users/divy/Library/Caches/node-gyp/23.7.0/include/node/v8-object.h:155:7: note: 'AccessorNameGetterCallback' declared here 155 | using AccessorNameGetterCallback = | ^ ./src/util/macros.lzz:158:6: error: no type named 'AccessorGetterCallback' in namespace 'v8'; did you mean 'AccessorNameGetterCallback'? 158 | v8::AccessorGetterCallback func | ~~~~^~~~~~~~~~~~~~~~~~~~~~ | AccessorNameGetterCallback /Users/divy/Library/Caches/node-gyp/23.7.0/include/node/v8-object.h:155:7: note: 'AccessorNameGetterCallback' declared here 155 | using AccessorNameGetterCallback = | ^ ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-15 19:17:28 -05:00
yindo closed this issue 2026-02-15 19:17:28 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langchain-ai/langgraphjs#1159