Integrating Sqlite3 in electron project built with Electron-forge
I’ve been trying to integrate sqlite3 into my electron project which is built using electron-forge.
This is a brief and to the point article on how I solved this problem.
Here is my app’s tech stack:
- Webpack (electron-forge).
NOTE: After the first few attempt and some research, I realized that
better-sqlite3 was an advance package over
sqlite3 hence I tried solving things for
Following things I tried and failed:
- re-building the sqlite3 module with node-gyp
better-sqlite3instead of sqlite3
- Working with
windows-build-toolas suggested in this article .
The only thing that worked eventually was making
better-sqlite3 as externals in webpack config.
With this, I was able to run the app and create a database.
But when I tried packaging the app,
better-sqlite3 was missing from the package. This is because we have added this package as an external dependency.
Was hopeless and it was when I decided to use other packaging tools than
While checking the old issue pages, I saw that
better-sqlite3 have updated their package and is no more dependent on the native modules.
It means that we would be able to make use of better-sqlite like any other module.
Now all I had to do was:
yarn add better-sqlite3
yarn add @types/better-sqlite3 -D
This way, I was able to integrate
better-sqlite3 on both dev env as well as on the packaged app.
I hope you found this article useful. I would love to hear your thoughts. 😇
Thanks for reading. 😊
If you find this article useful, you can show your appreciation by clicking on the clap button. As the saying goes, ‘When we give cheerfully and accept gratefully, everyone is blessed’.