First of all, thanks to the maintainers, this package is a nice job.
I just wanna point out that, after installing this package, there are 123 dependencies installed which are mostly useless because there not required for run-time.
Let me explain, prebuild-install, yes I know what it is and how it works. Indeed it provides a convenient way to installing C/C++ addons without compilation. I agree that it's helpful but only within installation. Also, node-gyp and tar are the same.
I would suggess to replace the install script in the package.json with this command:
npx -y prebuild-install@^7.1.1 -r napi || npx -y node-gyp@^8.0.0 rebuild
And then prebuild-install and node-gyp are no longer needed in the dependencies list, becuase it will only be used during installation, and will not be installed into anywhere except the NPM cache.
Finally, the tar package, I know it's used to extract the source from the .tar.gz file, but I believe that we could actually try tar command firstly, and use the extract.js as a fallback, like this:
tar -zxf xxxx.tgz -C dst_path || (npm i tar && node extract.js) # not tested, but may work.
How do you think? If I missed something, please point it out. Or if you agree, I could create a PR for this.
Relevant logs or output
$ npm i sqlite3
npm WARN deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs
added 123 packages in 28s
Issue Summary
First of all, thanks to the maintainers, this package is a nice job.
I just wanna point out that, after installing this package, there are 123 dependencies installed which are mostly useless because there not required for run-time.
Let me explain,
prebuild-install
, yes I know what it is and how it works. Indeed it provides a convenient way to installing C/C++ addons without compilation. I agree that it's helpful but only within installation. Also,node-gyp
andtar
are the same.I would suggess to replace the
install
script in thepackage.json
with this command:And then
prebuild-install
andnode-gyp
are no longer needed in the dependencies list, becuase it will only be used during installation, and will not be installed into anywhere except the NPM cache.Finally, the
tar
package, I know it's used to extract the source from the.tar.gz
file, but I believe that we could actually trytar
command firstly, and use theextract.js
as a fallback, like this:How do you think? If I missed something, please point it out. Or if you agree, I could create a PR for this.
Relevant logs or output
Version
5.1.7
Node.js Version
20.12.0
How did you install the library?
npm i sqlite3, on Linux x86_64