@@ -23,7 +23,7 @@ const MODULES = {
23
23
'react-addons-perf' : [ 'ReactPerf' , 'Perf' ]
24
24
} ;
25
25
26
- const DEPRECATED_MESSAGE = '{{oldMethod}} is deprecated since React {{version}}{{newMethod}}' ;
26
+ const DEPRECATED_MESSAGE = '{{oldMethod}} is deprecated since React {{version}}{{newMethod}}{{refs}} ' ;
27
27
28
28
// ------------------------------------------------------------------------------
29
29
// Rule Definition
@@ -77,9 +77,21 @@ module.exports = {
77
77
// 15.6.0
78
78
deprecated [ `${ pragma } .DOM` ] = [ '15.6.0' , 'the npm module react-dom-factories' ] ;
79
79
// 16.3.0
80
- deprecated . componentWillMount = [ '16.3.0' ] ;
81
- deprecated . componentWillReceiveProps = [ '16.3.0' ] ;
82
- deprecated . componentWillUpdate = [ '16.3.0' ] ;
80
+ deprecated . componentWillMount = [
81
+ '16.3.0' ,
82
+ 'constructor' ,
83
+ 'https://reactjs.org/docs/react-component.html#unsafe_componentwillmount'
84
+ ] ;
85
+ deprecated . componentWillReceiveProps = [
86
+ '16.3.0' ,
87
+ 'getDerivedStateFromProps' ,
88
+ 'https://reactjs.org/docs/react-component.html#unsafe_componentwillreceiveprops'
89
+ ] ;
90
+ deprecated . componentWillUpdate = [
91
+ '16.3.0' ,
92
+ 'getDerivedStateFromProps' ,
93
+ 'https://reactjs.org/docs/react-component.html#unsafe_componentwillupdate'
94
+ ] ;
83
95
return deprecated ;
84
96
}
85
97
@@ -98,13 +110,17 @@ module.exports = {
98
110
return ;
99
111
}
100
112
const deprecated = getDeprecated ( ) ;
113
+ const version = deprecated [ method ] [ 0 ] ;
114
+ const newMethod = deprecated [ method ] [ 1 ] ;
115
+ const refs = deprecated [ method ] [ 2 ] ;
101
116
context . report ( {
102
117
node : node ,
103
118
message : DEPRECATED_MESSAGE ,
104
119
data : {
105
120
oldMethod : method ,
106
- version : deprecated [ method ] [ 0 ] ,
107
- newMethod : deprecated [ method ] [ 1 ] ? `, use ${ deprecated [ method ] [ 1 ] } instead` : ''
121
+ version,
122
+ newMethod : newMethod ? `, use ${ newMethod } instead` : '' ,
123
+ refs : refs ? `, see ${ refs } ` : ''
108
124
}
109
125
} ) ;
110
126
}
@@ -173,10 +189,10 @@ module.exports = {
173
189
VariableDeclarator : function ( node ) {
174
190
const reactModuleName = getReactModuleName ( node ) ;
175
191
const isRequire = node . init && node . init . callee && node . init . callee . name === 'require' ;
176
- const isReactRequire =
177
- node . init && node . init . arguments &&
178
- node . init . arguments . length && typeof MODULES [ node . init . arguments [ 0 ] . value ] !== 'undefined'
179
- ;
192
+ const isReactRequire = node . init
193
+ && node . init . arguments
194
+ && node . init . arguments . length
195
+ && typeof MODULES [ node . init . arguments [ 0 ] . value ] !== 'undefined' ;
180
196
const isDestructuring = node . id && node . id . type === 'ObjectPattern' ;
181
197
182
198
if (
0 commit comments