Javascript State Machine v2.3

Sat, Mar 15, 2014

I took a little time out today to clean up a few loose ends and publish a tiny point-release to my javascript state machine library. The code, as usual, is available on github.

The release includes:

  • nodejs support
  • bower support
  • requirejs/amd support

And now that I’ve (finally) added nodejs support, you can run the tests without a browser:

$ cd javascript-state-machine
$ npm install
$ node test/runner.js

The Future

This library is pretty small, it works well for it’s intended use case (simple state machines), is stable, and has no (known) bugs. This 2.x release branch is, I think, a nice small self contained library, and I don’t plan on making any more changes to it (except perhaps a graphviz export).

However there are some significant features that could extend the library to serve more complex use cases:

  • Nested/composable states
  • Conditional transitions
  • Observers (pub/sub) for state changes (instead of singular on*** callbacks)
  • State history (undo/redo)

I had planned to work on a major (v3.0) rewrite to work on some of these features but haven’t been able to find the time… and that’s unlikely to change, at least for the rest of 2014.

So the library is going back into hibernation mode for a while longer, Sorry.