@@ -29,6 +29,63 @@ const MODULES = {
29
29
// Rule Definition
30
30
// ------------------------------------------------------------------------------
31
31
32
+ function getDeprecated ( pragma ) {
33
+ const deprecated = { } ;
34
+ // 0.12.0
35
+ deprecated [ `${ pragma } .renderComponent` ] = [ '0.12.0' , `${ pragma } .render` ] ;
36
+ deprecated [ `${ pragma } .renderComponentToString` ] = [ '0.12.0' , `${ pragma } .renderToString` ] ;
37
+ deprecated [ `${ pragma } .renderComponentToStaticMarkup` ] = [ '0.12.0' , `${ pragma } .renderToStaticMarkup` ] ;
38
+ deprecated [ `${ pragma } .isValidComponent` ] = [ '0.12.0' , `${ pragma } .isValidElement` ] ;
39
+ deprecated [ `${ pragma } .PropTypes.component` ] = [ '0.12.0' , `${ pragma } .PropTypes.element` ] ;
40
+ deprecated [ `${ pragma } .PropTypes.renderable` ] = [ '0.12.0' , `${ pragma } .PropTypes.node` ] ;
41
+ deprecated [ `${ pragma } .isValidClass` ] = [ '0.12.0' ] ;
42
+ deprecated [ 'this.transferPropsTo' ] = [ '0.12.0' , 'spread operator ({...})' ] ;
43
+ // 0.13.0
44
+ deprecated [ `${ pragma } .addons.classSet` ] = [ '0.13.0' , 'the npm module classnames' ] ;
45
+ deprecated [ `${ pragma } .addons.cloneWithProps` ] = [ '0.13.0' , `${ pragma } .cloneElement` ] ;
46
+ // 0.14.0
47
+ deprecated [ `${ pragma } .render` ] = [ '0.14.0' , 'ReactDOM.render' ] ;
48
+ deprecated [ `${ pragma } .unmountComponentAtNode` ] = [ '0.14.0' , 'ReactDOM.unmountComponentAtNode' ] ;
49
+ deprecated [ `${ pragma } .findDOMNode` ] = [ '0.14.0' , 'ReactDOM.findDOMNode' ] ;
50
+ deprecated [ `${ pragma } .renderToString` ] = [ '0.14.0' , 'ReactDOMServer.renderToString' ] ;
51
+ deprecated [ `${ pragma } .renderToStaticMarkup` ] = [ '0.14.0' , 'ReactDOMServer.renderToStaticMarkup' ] ;
52
+ // 15.0.0
53
+ deprecated [ `${ pragma } .addons.LinkedStateMixin` ] = [ '15.0.0' ] ;
54
+ deprecated [ 'ReactPerf.printDOM' ] = [ '15.0.0' , 'ReactPerf.printOperations' ] ;
55
+ deprecated [ 'Perf.printDOM' ] = [ '15.0.0' , 'Perf.printOperations' ] ;
56
+ deprecated [ 'ReactPerf.getMeasurementsSummaryMap' ] = [ '15.0.0' , 'ReactPerf.getWasted' ] ;
57
+ deprecated [ 'Perf.getMeasurementsSummaryMap' ] = [ '15.0.0' , 'Perf.getWasted' ] ;
58
+ // 15.5.0
59
+ deprecated [ `${ pragma } .createClass` ] = [ '15.5.0' , 'the npm module create-react-class' ] ;
60
+ deprecated [ `${ pragma } .addons.TestUtils` ] = [ '15.5.0' , 'ReactDOM.TestUtils' ] ;
61
+ deprecated [ `${ pragma } .PropTypes` ] = [ '15.5.0' , 'the npm module prop-types' ] ;
62
+ // 15.6.0
63
+ deprecated [ `${ pragma } .DOM` ] = [ '15.6.0' , 'the npm module react-dom-factories' ] ;
64
+ // 16.9.0
65
+ // For now the following life-cycle methods are just legacy, not deprecated:
66
+ // `componentWillMount`, `componentWillReceiveProps`, `componentWillUpdate`
67
+ // https://github.com/yannickcr/eslint-plugin-react/pull/1750#issuecomment-425975934
68
+ deprecated . componentWillMount = [
69
+ '16.9.0' ,
70
+ 'UNSAFE_componentWillMount' ,
71
+ 'https://reactjs.org/docs/react-component.html#unsafe_componentwillmount. '
72
+ + 'Use https://github.com/reactjs/react-codemod#rename-unsafe-lifecycles to automatically update your components.' ,
73
+ ] ;
74
+ deprecated . componentWillReceiveProps = [
75
+ '16.9.0' ,
76
+ 'UNSAFE_componentWillReceiveProps' ,
77
+ 'https://reactjs.org/docs/react-component.html#unsafe_componentwillreceiveprops. '
78
+ + 'Use https://github.com/reactjs/react-codemod#rename-unsafe-lifecycles to automatically update your components.' ,
79
+ ] ;
80
+ deprecated . componentWillUpdate = [
81
+ '16.9.0' ,
82
+ 'UNSAFE_componentWillUpdate' ,
83
+ 'https://reactjs.org/docs/react-component.html#unsafe_componentwillupdate. '
84
+ + 'Use https://github.com/reactjs/react-codemod#rename-unsafe-lifecycles to automatically update your components.' ,
85
+ ] ;
86
+ return deprecated ;
87
+ }
88
+
32
89
const messages = {
33
90
deprecated : '{{oldMethod}} is deprecated since React {{version}}{{newMethod}}{{refs}}' ,
34
91
} ;
@@ -49,67 +106,9 @@ module.exports = {
49
106
50
107
create : Components . detect ( ( context , components , utils ) => {
51
108
const pragma = pragmaUtil . getFromContext ( context ) ;
52
-
53
- function getDeprecated ( ) {
54
- const deprecated = { } ;
55
- // 0.12.0
56
- deprecated [ `${ pragma } .renderComponent` ] = [ '0.12.0' , `${ pragma } .render` ] ;
57
- deprecated [ `${ pragma } .renderComponentToString` ] = [ '0.12.0' , `${ pragma } .renderToString` ] ;
58
- deprecated [ `${ pragma } .renderComponentToStaticMarkup` ] = [ '0.12.0' , `${ pragma } .renderToStaticMarkup` ] ;
59
- deprecated [ `${ pragma } .isValidComponent` ] = [ '0.12.0' , `${ pragma } .isValidElement` ] ;
60
- deprecated [ `${ pragma } .PropTypes.component` ] = [ '0.12.0' , `${ pragma } .PropTypes.element` ] ;
61
- deprecated [ `${ pragma } .PropTypes.renderable` ] = [ '0.12.0' , `${ pragma } .PropTypes.node` ] ;
62
- deprecated [ `${ pragma } .isValidClass` ] = [ '0.12.0' ] ;
63
- deprecated [ 'this.transferPropsTo' ] = [ '0.12.0' , 'spread operator ({...})' ] ;
64
- // 0.13.0
65
- deprecated [ `${ pragma } .addons.classSet` ] = [ '0.13.0' , 'the npm module classnames' ] ;
66
- deprecated [ `${ pragma } .addons.cloneWithProps` ] = [ '0.13.0' , `${ pragma } .cloneElement` ] ;
67
- // 0.14.0
68
- deprecated [ `${ pragma } .render` ] = [ '0.14.0' , 'ReactDOM.render' ] ;
69
- deprecated [ `${ pragma } .unmountComponentAtNode` ] = [ '0.14.0' , 'ReactDOM.unmountComponentAtNode' ] ;
70
- deprecated [ `${ pragma } .findDOMNode` ] = [ '0.14.0' , 'ReactDOM.findDOMNode' ] ;
71
- deprecated [ `${ pragma } .renderToString` ] = [ '0.14.0' , 'ReactDOMServer.renderToString' ] ;
72
- deprecated [ `${ pragma } .renderToStaticMarkup` ] = [ '0.14.0' , 'ReactDOMServer.renderToStaticMarkup' ] ;
73
- // 15.0.0
74
- deprecated [ `${ pragma } .addons.LinkedStateMixin` ] = [ '15.0.0' ] ;
75
- deprecated [ 'ReactPerf.printDOM' ] = [ '15.0.0' , 'ReactPerf.printOperations' ] ;
76
- deprecated [ 'Perf.printDOM' ] = [ '15.0.0' , 'Perf.printOperations' ] ;
77
- deprecated [ 'ReactPerf.getMeasurementsSummaryMap' ] = [ '15.0.0' , 'ReactPerf.getWasted' ] ;
78
- deprecated [ 'Perf.getMeasurementsSummaryMap' ] = [ '15.0.0' , 'Perf.getWasted' ] ;
79
- // 15.5.0
80
- deprecated [ `${ pragma } .createClass` ] = [ '15.5.0' , 'the npm module create-react-class' ] ;
81
- deprecated [ `${ pragma } .addons.TestUtils` ] = [ '15.5.0' , 'ReactDOM.TestUtils' ] ;
82
- deprecated [ `${ pragma } .PropTypes` ] = [ '15.5.0' , 'the npm module prop-types' ] ;
83
- // 15.6.0
84
- deprecated [ `${ pragma } .DOM` ] = [ '15.6.0' , 'the npm module react-dom-factories' ] ;
85
- // 16.9.0
86
- // For now the following life-cycle methods are just legacy, not deprecated:
87
- // `componentWillMount`, `componentWillReceiveProps`, `componentWillUpdate`
88
- // https://github.com/jsx-eslint/eslint-plugin-react/pull/1750#issuecomment-425975934
89
- deprecated . componentWillMount = [
90
- '16.9.0' ,
91
- 'UNSAFE_componentWillMount' ,
92
- 'https://reactjs.org/docs/react-component.html#unsafe_componentwillmount. '
93
- + 'Use https://github.com/reactjs/react-codemod#rename-unsafe-lifecycles to automatically update your components.' ,
94
- ] ;
95
- deprecated . componentWillReceiveProps = [
96
- '16.9.0' ,
97
- 'UNSAFE_componentWillReceiveProps' ,
98
- 'https://reactjs.org/docs/react-component.html#unsafe_componentwillreceiveprops. '
99
- + 'Use https://github.com/reactjs/react-codemod#rename-unsafe-lifecycles to automatically update your components.' ,
100
- ] ;
101
- deprecated . componentWillUpdate = [
102
- '16.9.0' ,
103
- 'UNSAFE_componentWillUpdate' ,
104
- 'https://reactjs.org/docs/react-component.html#unsafe_componentwillupdate. '
105
- + 'Use https://github.com/reactjs/react-codemod#rename-unsafe-lifecycles to automatically update your components.' ,
106
- ] ;
107
- return deprecated ;
108
- }
109
+ const deprecated = getDeprecated ( pragma ) ;
109
110
110
111
function isDeprecated ( method ) {
111
- const deprecated = getDeprecated ( ) ;
112
-
113
112
return (
114
113
deprecated
115
114
&& deprecated [ method ]
@@ -122,7 +121,6 @@ module.exports = {
122
121
if ( ! isDeprecated ( methodName ) ) {
123
122
return ;
124
123
}
125
- const deprecated = getDeprecated ( ) ;
126
124
const version = deprecated [ methodName ] [ 0 ] ;
127
125
const newMethod = deprecated [ methodName ] [ 1 ] ;
128
126
const refs = deprecated [ methodName ] [ 2 ] ;
0 commit comments