better-sqlite3 نسخهٔ ۱۳ با N-API اومد
خلاصهٔ کاملتر
تیم WiseLibs نسخهٔ 13.0.0 کتابخونهٔ better-sqlite3 رو منتشر کرد. تو یادداشت انتشار اومده که این نسخه یه نقطهٔ عطف مهمه، چون اولین نسخهایه که روی N-API نود اجرا میشه. برای این کار کل کدبیس بازنویسی شده تا از node-addon-api استفاده کنه.
نتیجهٔ عملیش اینه که باینریهای از پیش ساختهشده در تئوری باید روی نسخههای مختلف نودجیاس و الکترون — و شاید حتی رانتایمهایی مثل Bun — کار کنن. به همین خاطر وابستگی منسوخ prebuild-install حذف شده و باینریها مستقیماً همراه خود کد better-sqlite3 منتشر میشن. اگه پلتفرم یا معماری شما باینری آماده نداشته باشه، مثل قبل موقع نصب کامپایل میشه.
کنار این تغییر زیرساختی، دو متد جدید هم اضافه شده: db.explain() که اجازه میده کوئریهای EXPLAIN رو بدون اینکه مجبور باشین پارامترهای bind رو بدین اجرا کنین، و preparedStatement.toString() که SQL بسطدادهشدهٔ یه statement آمادهشده رو برمیگردونه — مخصوصاً برای دیباگ و لاگکردن کوئریها بهدردبخوره.
یه رفع باگ هم داره: سازگاری SqliteError تو حالت cross-realm و با Error.isError درست شده. این تغییر رو dennismutuku2005 فرستاده که اولین مشارکتش تو این پروژه بوده.
نکات کلیدی:
- انتقال کامل به N-API با بازنویسی کدبیس روی node-addon-api
- باینریهای آماده مستقل از نسخهٔ نود و الکترون، منتشرشده کنار خود پکیج
- حذف وابستگی منسوخ prebuild-install
- متدهای جدید db.explain() و preparedStatement.toString()
- رفع مشکل سازگاری SqliteError با cross-realm و Error.isError




