Skip to content

Commit

Permalink
Merge pull request #1148 from Calyhre/feature/deprecations-react-15.5
Browse files Browse the repository at this point in the history
Add new deprecations from 15.5.0
  • Loading branch information
yannickcr committed Apr 20, 2017
2 parents fd90dae + 3da1140 commit eae04d4
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 2 deletions.
6 changes: 6 additions & 0 deletions docs/rules/no-deprecated.md
Expand Up @@ -16,6 +16,12 @@ React.findDOMNode(this.refs.foo);
React.renderToString(<MyComponent />);

React.renderToStaticMarkup(<MyComponent />);

React.createClass({ /* Class object */ });

const propTypes = {
foo: React.PropTypes.bar,
};
```

The following patterns are not considered warnings:
Expand Down
3 changes: 3 additions & 0 deletions lib/rules/no-deprecated.js
Expand Up @@ -64,6 +64,9 @@ module.exports = {
deprecated.MemberExpression['Perf.printDOM'] = ['15.0.0', 'Perf.printOperations'];
deprecated.MemberExpression['ReactPerf.getMeasurementsSummaryMap'] = ['15.0.0', 'ReactPerf.getWasted'];
deprecated.MemberExpression['Perf.getMeasurementsSummaryMap'] = ['15.0.0', 'Perf.getWasted'];
// 15.5.0
deprecated.MemberExpression[pragma + '.createClass'] = ['15.5.0', 'the npm module create-react-class'];
deprecated.MemberExpression[pragma + '.PropTypes'] = ['15.5.0', 'the npm module prop-types'];

return deprecated;
}
Expand Down
21 changes: 19 additions & 2 deletions tests/lib/rules/no-deprecated.js
Expand Up @@ -23,7 +23,6 @@ ruleTester.run('no-deprecated', rule, {

valid: [
// Not deprecated
'var MyClass = React.createClass({});',
'var element = React.createElement(\'p\', {}, null);',
'var clone = React.cloneElement(element);',
'ReactDOM.render(element, container);',
Expand All @@ -32,7 +31,9 @@ ruleTester.run('no-deprecated', rule, {
'ReactDOMServer.renderToString(element);',
'ReactDOMServer.renderToStaticMarkup(element);',
// Deprecated in a later version
{code: 'React.renderComponent()', settings: {react: {version: '0.11.0'}}}
{code: 'React.renderComponent()', settings: {react: {version: '0.11.0'}}},
{code: 'React.createClass()', settings: {react: {version: '15.4.0'}}},
{code: 'React.PropTypes', settings: {react: {version: '15.4.0'}}}
],

invalid: [{
Expand Down Expand Up @@ -94,6 +95,22 @@ ruleTester.run('no-deprecated', rule, {
'use ReactDOMServer.renderToStaticMarkup instead'
)
}]
}, {
code: 'React.createClass({});',
errors: [{
message: 'React.createClass is deprecated since React 15.5.0, use the npm module create-react-class instead'
}]
}, {
code: 'Foo.createClass({});',
settings: {react: {pragma: 'Foo'}},
errors: [{
message: 'Foo.createClass is deprecated since React 15.5.0, use the npm module create-react-class instead'
}]
}, {
code: 'React.PropTypes',
errors: [{
message: 'React.PropTypes is deprecated since React 15.5.0, use the npm module prop-types instead'
}]
}]

});

0 comments on commit eae04d4

Please sign in to comment.