Skip to content

Latest commit

 

History

History
55 lines (34 loc) · 2.22 KB

CONTRIBUTING.md

File metadata and controls

55 lines (34 loc) · 2.22 KB

Contributing to @uu-cdh/backbone-util

Required software

First time after cloning the repository

npm install

Code organization

All source code is in ES module format in the src/ directory.

Please be mindful of users who need backwards compatibility. Do not use new language features such as spread syntax or async/await unless you really need to. Transpiled code can be bulky and polyfills tend to be huge.

Whitespace formatting

Please see the .editorconfig on how to format whitespace. Installing the appropriate editorconfig plugin for your favorite editor is the easiest way to ensure that you respect the conventions.

Running tests

npm run test, then open http://localhost:9876/ in a browser. Test output goes to the terminal. As long as the browser tab stays in the foreground, tests will automatically rerun when you edit the code.

Press the DEBUG button in the browser in order to get a version of the page where you can inspect the code and set breakpoints.

If you edit the karma.conf.js or the package.json, you need to stop and restart the process in order for changes to take effect.

Branching model

Gitflow. main is the branch with only releases, develop is our integration branch where all pull requests go. Versions are tagged with a v prefix, for example v1.2.3.

Versioning scheme

Semver.

How to cut a release

  1. Create a release branch and have it reviewed.
  2. Double-check that you bumped the version number and that all tests pass.
  3. Double-check that changes are documented.
  4. Run npm publish.
  5. Run git flow release finish if you can and skip to step 8. Otherwise continue with the next step.
  6. Merge the release branch both in main and in develop.
  7. Tag the merge commit on main with the version number.
  8. Push main, develop and the new tag to the upstream repository.
  9. Generate release notes for the new tag on GitHub.