2.7 KiB
Contributing
General guidelines for contributing to node-sqlite3
Install Help
If you’ve landed here due to a failed install of
node-sqlite3
then feel free to create a new issue
to ask for help. The most likely problem is that we do not yet provide
pre-built binaries for your particular platform and so the
node-sqlite3
install attempted a source compile but failed
because you are missing the dependencies
for node-gyp. But please provide as much detail on your problem as
possible and we’ll try to help. Please include: - terminal logs of
failed install (preferably from running
npm install sqlite3 --loglevel=info
) -
node-sqlite3
version you tried to install - node version
you are running - operating system and architecture you are running,
e.g. Windows 7 64 bit
.
Developing / Pre-release
Create a milestone for the next release on github. If all anticipated
changes are back compatible then a patch
release is in
order. If minor API changes are needed then a minor
release
is in order. And a major
bump is warranted if major API
changes are needed.
Assign tickets and pull requests you are working to the milestone you created.
Releasing
To release a new version:
1) Ensure tests are passing
Before considering a release all the tests need to be passing on appveyor and travis.
2) Bump commit
Bump the version in package.json
like
77d51d5785
What if you already committed the package.json
bump and
you have no changes to commit but want to publish binaries? In this case
you can do:
git commit --allow-empty -m "[publish binary]"
3) Ensure binaries built
Check the travis and appveyor pages to ensure they are all green as
an indication that the [publish binary]
command worked.
If you need to republish binaries you can do this with the command below, however this should not be a common thing for you to do!
git commit --allow-empty -m "[republish binary]"
Note: NEVER republish binaries for an existing released version.
7) Officially release
An official release requires:
- Updating the CHANGELOG.md
- Create and push github tag like
git tag v3.1.1 -m "v3.1.1" && git push --tags
- Ensure you have a clean checkout (no extra files in your check that
are not known by git). You need to be careful, for instance, to avoid a
large accidental file being packaged by npm. You can get a view of what
npm will publish by running
make testpack
- Fully rebuild and ensure install from binary works:
make clean && npm install --fallback-to-build=false
- Then publish the module to npm repositories by running
npm publish