diff --git a/lib/rules/no-deprecated.js b/lib/rules/no-deprecated.js index 1c6ace661d..be063e91da 100644 --- a/lib/rules/no-deprecated.js +++ b/lib/rules/no-deprecated.js @@ -65,8 +65,8 @@ module.exports = { deprecated.MemberExpression['ReactPerf.getMeasurementsSummaryMap'] = ['15.0.0', 'ReactPerf.getWasted']; deprecated.MemberExpression['Perf.getMeasurementsSummaryMap'] = ['15.0.0', 'Perf.getWasted']; // 15.5.0 - deprecated.MemberExpression['React.createClass'] = ['15.5.0', 'the npm module create-react-class']; - deprecated.MemberExpression['React.PropTypes'] = ['15.5.0', 'the npm module prop-types']; + 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; } diff --git a/tests/lib/rules/no-deprecated.js b/tests/lib/rules/no-deprecated.js index be5edae408..8ebb3ce847 100644 --- a/tests/lib/rules/no-deprecated.js +++ b/tests/lib/rules/no-deprecated.js @@ -31,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: [{ @@ -98,6 +100,12 @@ ruleTester.run('no-deprecated', rule, { 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: [{