diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e913d422..6daf0040 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,8 +13,15 @@ on: workflow_dispatch: {} env: - NODE_BUILD_CMD: npx --no-install prebuild -r node -t 18.0.0 -t 20.0.0 -t 21.0.0 --include-regex 'better_sqlite3.node$' - ELECTRON_BUILD_CMD: npx --no-install prebuild -r electron -t 16.0.0 -t 17.0.0 -t 18.0.0 -t 19.0.0 -t 20.0.0 -t 21.0.0 -t 22.0.0 -t 23.0.0 -t 24.0.0 -t 25.0.0 -t 26.0.0 -t 27.0.0 -t 28.0.0 -t 29.0.0 --include-regex 'better_sqlite3.node$' + # See https://github.com/nodejs/release#release-schedule + # Node.js v16 EOL = 2023-09-11. v21 EOL = 2024-06-01. + NODE_BUILD_CMD: npx --no-install prebuild -r node -t 18.0.0 -t 20.0.0 -t 22.0.0 --include-regex 'better_sqlite3.node$' + # Merge with NODE_BUILD_CMD when Node.js v18 is EOL + NO_V18_NODE_BUILD_CMD: npx --no-install prebuild -r node -t 20.0.0 -t 22.0.0 --include-regex 'better_sqlite3.node$' + # See https://www.electronjs.org/docs/latest/tutorial/electron-timelines#version-support-policy + # Electron v25 EOL = 2023-12-05. v26 EOL = 2024-02-20. v27 EOL = 2024-04-16. v28 EOL = 2024-06-11. v29 EOL = 2024-08-20. + ELECTRON_BUILD_CMD: npx --no-install prebuild -r electron -t 26.0.0 -t 27.0.0 -t 28.0.0 -t 29.0.0 -t 30.0.0 -t 31.0.0 --include-regex 'better_sqlite3.node$' + jobs: test: diff --git a/src/better_sqlite3.hpp b/src/better_sqlite3.hpp index 736e8754..44bef308 100644 --- a/src/better_sqlite3.hpp +++ b/src/better_sqlite3.hpp @@ -17,7 +17,7 @@ #include #include #line 31 "./src/util/macros.lzz" -template using CopyablePersistent = v8::Persistent>; +template using CopyablePersistent = v8::Global; #line 144 "./src/util/macros.lzz" void SetPrototypeGetter( v8::Isolate* isolate, diff --git a/src/util/macros.lzz b/src/util/macros.lzz index 31b9850c..4763b3c3 100644 --- a/src/util/macros.lzz +++ b/src/util/macros.lzz @@ -28,7 +28,7 @@ inline v8::Local InternalizedFromLatin1(v8::Isolate* isolate, const } #hdr -template using CopyablePersistent = v8::Persistent>; +template using CopyablePersistent = v8::Global; #end inline void SetFrozen(v8::Isolate* isolate, v8::Local ctx, v8::Local obj, CopyablePersistent& key, v8::Local value) { obj->DefineOwnProperty(ctx, key.Get(isolate), value, static_cast(v8::DontDelete | v8::ReadOnly)).FromJust();