A module to maintain components with broad React version compatibility.  This module can be
used to have React components which are compatible from versions 0.12.0 through 15.5.2.
As new versions of react come out we will add to this as we go.
Provides compatibility for:
- Refs: Strings for pre 0.13, functions for after 0.14 and normalizes getting the dom node
- Create React Class: For after 15.5, includes the standalone module
- Prop Types: After 15.5 includes the standalone module
$ npm install --save @streammedev/react-compat
With newer React's you need to also install prop-types and create-react-class.
$ npm install --save prop-types create-react-class
var React = require('React')
var reactCompat = require('@streammedev/react-compat')
var MyComponent = reactCompat.createClass({
  propTypes: {
    foo: reactCompat.PropTypes.object
  },
  render: function () {
    return <div ref={reactCompat.refSet(this, 'myRef')} onClick={this.doSomething} />
  },
  doSomething: function () {
    var domNode = reactCompat.refGet(this, 'myRef')
    // Do something with the dom node
  }
})This package follows semver. When you wish to publish a version run the proper npm command. For example, if we made a bug fix you can do this:
$ npm version patch
$ git push
$ npm publish
Here are the other types of version bumps:
- Major (npm version major): This is for breaking changes. Anytime a method is changed or the functionality is modified this bump should be made.
- Minor (npm version minor): This is for features additions. When a new method is added which doesn't affect the behavior of existing features, this bump should be made.
- Patch (npm version patch): This is for bug fixes. Only bump this if it is safe for production code to update wihout being QA'd. (AKA, almost never)
For each of these you can run a 'pre' version by prepending to the command, ex npm version preminor.
All feature development should be done on a branch off master.  When a feature is complete and the pull request approved, publish a 'pre' version of the package for testing across environments.
To install that 'pre' version of the package do the following, where the version number contains the correct 'pre' version:
$ npm install --save @streammedev/[email protected]
Running the tests:
$ npm install && npm test