Skip to content

Commit c04d02e

Browse files
committed
Add warnings to React module
1 parent b1e16b9 commit c04d02e

File tree

3 files changed

+48
-57
lines changed

3 files changed

+48
-57
lines changed

packages/react/react.js

Lines changed: 1 addition & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,3 @@
1-
/* eslint-disable comma-dangle */
21
'use strict';
32

4-
var React = require('./lib/React');
5-
6-
var assign = require('./lib/Object.assign');
7-
var deprecated = require('./lib/deprecated');
8-
9-
// We want to warn once when any of these methods are used.
10-
if (process.env.NODE_ENV !== 'production') {
11-
var deprecations = {
12-
// ReactDOM
13-
findDOMNode: deprecated(
14-
'findDOMNode',
15-
'react-dom',
16-
React,
17-
React.findDOMNode
18-
),
19-
render: deprecated(
20-
'render',
21-
'react-dom',
22-
React,
23-
React.render
24-
),
25-
unmountComponentAtNode: deprecated(
26-
'unmountComponentAtNode',
27-
'react-dom',
28-
React,
29-
React.unmountComponentAtNode
30-
),
31-
// ReactDOMServer
32-
renderToString: deprecated(
33-
'renderToString',
34-
'react-dom/server',
35-
React,
36-
React.renderToString
37-
),
38-
renderToStaticMarkup: deprecated(
39-
'renderToStaticMarkup',
40-
'react-dom/server',
41-
React,
42-
React.renderToStaticMarkup
43-
)
44-
};
45-
// Export a wrapped object. We'll use assign and take advantage of the fact
46-
// that this will override the original methods in React.
47-
module.exports = assign(
48-
{},
49-
React,
50-
deprecations
51-
);
52-
} else {
53-
module.exports = React;
54-
}
3+
module.exports = require('./lib/React');

src/React.js

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,52 @@ var ReactDOMServer = require('ReactDOMServer');
1616
var ReactIsomorphic = require('ReactIsomorphic');
1717

1818
var assign = require('Object.assign');
19+
var deprecated = require('deprecated');
1920

2021
var React = {};
2122

2223
assign(React, ReactIsomorphic);
23-
assign(React, ReactDOM);
24-
assign(React, ReactDOMServer);
24+
25+
assign(React, {
26+
// ReactDOM
27+
findDOMNode: deprecated(
28+
'findDOMNode',
29+
'ReactDOM',
30+
'react-dom',
31+
ReactDOM,
32+
ReactDOM.findDOMNode
33+
),
34+
render: deprecated(
35+
'render',
36+
'ReactDOM',
37+
'react-dom',
38+
ReactDOM,
39+
ReactDOM.render
40+
),
41+
unmountComponentAtNode: deprecated(
42+
'unmountComponentAtNode',
43+
'ReactDOM',
44+
'react-dom',
45+
ReactDOM,
46+
ReactDOM.unmountComponentAtNode
47+
),
48+
49+
// ReactDOMServer
50+
renderToString: deprecated(
51+
'renderToString',
52+
'ReactDOMServer',
53+
'react-dom/server',
54+
ReactDOMServer,
55+
ReactDOMServer.renderToString
56+
),
57+
renderToStaticMarkup: deprecated(
58+
'renderToStaticMarkup',
59+
'ReactDOMServer',
60+
'react-dom/server',
61+
ReactDOMServer,
62+
ReactDOMServer.renderToStaticMarkup
63+
),
64+
});
2565

2666
React.version = '0.14.0-beta3';
2767

src/shared/utils/deprecated.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ var warning = require('warning');
2020
*
2121
* @param {string} fnName The name of the function
2222
* @param {string} newModule The module that fn will exist in
23+
* @param {string} newPackage The module that fn will exist in
2324
* @param {*} ctx The context this forwarded call should run in
2425
* @param {function} fn The function to forward on to
2526
* @return {function} The function that will warn once and then call fn
2627
*/
27-
function deprecated(fnName, newModule, ctx, fn) {
28+
function deprecated(fnName, newModule, newPackage, ctx, fn) {
2829
var warned = false;
2930
if (__DEV__) {
3031
var newFn = function() {
@@ -33,11 +34,12 @@ function deprecated(fnName, newModule, ctx, fn) {
3334
// Require examples in this string must be split to prevent React's
3435
// build tools from mistaking them for real requires.
3536
// Otherwise the build tools will attempt to build a '%s' module.
36-
'`require' + '("react").%s` is deprecated. Please use `require' + '("%s").%s` ' +
37+
'React.%s is deprecated. Please use %s.%s from require' + '(\'%s\') ' +
3738
'instead.',
3839
fnName,
3940
newModule,
40-
fnName
41+
fnName,
42+
newPackage
4143
);
4244
warned = true;
4345
return fn.apply(ctx, arguments);

0 commit comments

Comments
 (0)