A fork of the Rails 5 ActionCable client code, lightly patched and maintained for proper module support.
As of 5.0.0, the official actioncable npm package was broken outside of browser usage, and the core team was unwilling to release a fixed version bump for more than five months (until Rails 5.0.1 was released). This package provided support for webpack/node builds during that timespan, and will ensure modules continue to be properly supported in the future.
To ready the code for modular usage, Sprockets requires have been replaced with module requires and module.exports added to each source file. Additionally, I have made a few light patches to work better with modules; each is labeled with a
# PATCH comment to make it clear where the code diverts from the official Rails source.
Versioning of this package will match the versioning of the related Rails gem (starting with 5.0.0). Any minor version bumps for project-specific bugs will be hyphenated on the third semver point, e.g.
New versions will be published to npm for each new stable version of Rails. Beta and rc versions (tagged
rc respectively) will be published if the corresponding Rails beta/rc contains any changes to the ActionCable frontend code.
npm install actioncable-modules --save
Simply require the module. The API matches the official Rails docs.
const ActionCable = ;let actionCable = ActionCable;actionCablesubscriptionscreate "AppearanceChannel" ...
Full documentation can be found here.
Additionally, for debug usage, you can temporarily (or permanently) enable more verbose logging:
const ActionCable = ;ActionCabledebugstart;// more verbose logsActionCabledebug;// no more verbose logs
- Fork it ( https://github.com/schneidmaster/actioncable-modules/fork )
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create a new Pull Request
MIT. (The rails source code included in this project is also MIT-licensed.)