Bobtail has two main packages. The core reactive primitives and utility functions are defined in the
bobtail-rx package. This functionality is included
and re-exported as part of the
bobtail package, which
extends it with the
rxt templating DSL and utility functions.
Any bugs or feature requests can always be reported on the
bobtail issues page. If you know the bug or FR
you’re reporting is related to the core framework rather than the templating extension,
you can instead report the issue on the
After forking and cloning the project, run
npm install. To test your changes,
npm test. To build your changes, run
npm run build.
If you are using Windows for your development environment, you’ll need to use the Linux Subsystem for Windows or, alternatively, a Bash emulator like Cygwin.
Before committing code, you should always run
npm run build and add the
folder as part of your commit. (Yes, this should be a pre-commit hook). Once you’ve
committed and pushed to your fork, you can open a pull request on the parent project.
Unit tests and CI
Bobtail is an extensively tested framework. Unit tests are written in
unit tests (which cover the
rxt templating code only) are executed using
bobtail-rx’s unit tests (covering
everything else) are also written in Jasmine, but currently only executed in NodeJS. Adding
Karma support to execute these tests in the browser is a priority. We use
Travis for continuous integration, which you should enable for
your forked copy.
New code should always be unit tested, and bug fixes should ship with a unit test that reproduces the bug being solved.
The documentation (which is to say, this website) is written in Markdown as part of
Documentation improvements and contributions are always welcome!
Regular contributors are encouraged to join the bobtail-dev Github organization.