We're currently working in two branches:
v3001
: the branch for v3001. This is the branch you should use to fix bugs on v3001 and v4000.master
: the main branch, where we develop v4000. This is the branch you must use to develop new features.
When you publish a PR with a fix for v3001 and v4000, you should create 2 PRs,
one targeting v3001
and the other targeting master
. We recommend you using
cherry-pick
to apply the fix to both branches.
git clone https://github.com/kaplayjs/kaplay.git # to clone the repo.
cd kaplay # to enter the project directory.
pnpm install # to install dependencies.
- Pick on example to test and edit the corresponding
/examples/[name].js
, or create a new file under/examples
to test anything you're working on. - The source entry point is
src/kaplay.ts
, editing any files referenced will automatically trigger rebuild. Make sure not to break any existing examples. - Run
pnpm dev
to start the dev server and try examples.
Most KAPLAY docs are written on every component file in src/components
, and
src/types.ts
as
jsDoc
above each KAPLAY component entry.
Help on improving the documentation is appreciated!
- Follow our conventional commits format. You can see how seeing the commit history.
pnpm run check
to check TypeScript.pnpm run fmt
to format.
This guide should be followed for all commits to the repository, and also for issues and PRs.
A commit starts with a type, a scope, and a subject:
<type>(<scope>): <subject>
- The type is mandatory. Should be one of the following.
- We don't use the scope right now, you must omit it. This may change in the future.
- The subject must be a short description of the change. Use the imperative, present tense: "change" not "changed" nor "changes".
feat
: a new feature or part of a feature
feat: add hello() component
fix
: a bug fix
fix: fix platformer example
docs
: changes to documentation (jsDoc, md files, etc)
docs: update add() component jsDoc example
style
: changes that do not affect the meaning of the code (white-space,
formatting, missing semi-colons, etc)
style: format all files
refactor
: a code change that neither fixes a bug nor adds a feature
refactor: move assets to src/assets
test
: adding missing tests or correcting existing tests
test: added tests for add() component
build
: changes that affect the build system or external dependencies (esbuild,
typescript)
build: update esbuild to 0.12.0
ci
: changes to our CI configuration files and scripts (Github Actions)
ci: add examples test workflow
revert
: reverts a previous commit
revert: feat: add hello() component
chore
: updating tasks, general maintenance, etc (anything that doesn't fit in
the above types)
chore: update README.md
bug
: for bugs on issues. Is not a commit type but used on issues.