This repo uses Conventional Commits so that releases can be automated by release-please.
Every commit subject must start with one of:
| Prefix | Use for | Version bump |
|---|---|---|
feat: |
A new feature visible to consumers | minor (e.g. 2.1.0 → 2.2.0) |
fix: |
A bug fix | patch (e.g. 2.1.0 → 2.1.1) |
perf: |
Performance improvement | patch |
docs: |
Documentation only | none |
test: |
Adding or updating tests | none |
build: |
Build system / tooling | none |
ci: |
CI configuration | none |
refactor: |
Code refactor with no behavior change | none |
chore: |
Anything else (deps bump, file moves, etc.) | none |
revert: |
Reverts a prior commit | varies |
For a breaking change that should force a major version bump, append ! to the type and/or add a BREAKING CHANGE: footer:
feat!: drop support for kyte-api-js v1.x HMAC mode
BREAKING CHANGE: HmacSessionStrategy is removed. Customers must migrate
to JWT mode. See migration guide in CHANGELOG.
- Land your work on
masterwith conventional commit messages. - release-please watches
masterand opens a "Release PR" whenever shippable changes have accumulated. It computes the version bump from the commit types, updatesCHANGELOG.mdandpackage.json, and waits for review. - Review the Release PR. Adjust the CHANGELOG if needed (the bot accepts edits before merge).
- Merge the Release PR. release-please tags the commit
v<x.y.z>and pushes the tag. - The tag triggers deploy.yml which builds with terser, uploads
kyte.js/kyte.min.js/kyte.js.mapto S3, invalidates CloudFront, and creates a GitHub Release with the CHANGELOG entry attached.
You should not need to run release.sh under normal circumstances — it's kept as an escape hatch for manually-tagged emergency releases.
npm install
npm test # one-shot run
npm run test:watch # watch mode11+ baseline tests cover constructor invariants, cookie handling, and utility methods. New features should ship with corresponding tests under tests/.
CI builds the published artifacts; you only need this for local debugging:
npm install -g terser
terser kyte-source.js -c -m --source-map "url='kyte.js.map'" -o kyte.jsThe output is gitignored.