Skip to content

Commit 68d3370

Browse files
committed
Fix issues/bugs introduced by merge conflict resolution
**what is the change?:** A couple of bugs and holes were introduced when cherry-picking #9232 onto the 15.6 branch. This fixes them. We also needed to add some logic from #9399 **why make this change?:** To keep tests passing and get this change working. **test plan:** `yarn test` **issue:** #9398
1 parent 4c9c859 commit 68d3370

File tree

9 files changed

+82
-1285
lines changed

9 files changed

+82
-1285
lines changed

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
"coffee-script": "^1.8.0",
4141
"core-js": "^2.2.1",
4242
"coveralls": "^2.11.6",
43-
"create-react-class": "^15.5.0",
4443
"del": "^2.0.2",
4544
"derequire": "^2.0.3",
4645
"eslint": "^3.10.2",
@@ -72,7 +71,6 @@
7271
"object-assign": "^4.1.1",
7372
"platform": "^1.1.0",
7473
"prettier": "^1.2.2",
75-
"prop-types": "15.5.7",
7674
"run-sequence": "^1.1.4",
7775
"through2": "^2.0.0",
7876
"tmp": "~0.0.28",
@@ -85,6 +83,10 @@
8583
"node": "4.x || 5.x || 6.x || 7.x",
8684
"npm": "2.x || 3.x || 4.x"
8785
},
86+
"dependencies": {
87+
"create-react-class": "^15.5.2",
88+
"prop-types": "^15.5.6"
89+
},
8890
"commonerConfig": {
8991
"version": 7
9092
},

src/isomorphic/React.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@
1414
var ReactChildren = require('ReactChildren');
1515
var ReactComponent = require('ReactComponent');
1616
var ReactPureComponent = require('ReactPureComponent');
17-
var ReactClass = require('ReactClass');
1817
var ReactDOMFactories = require('ReactDOMFactories');
1918
var ReactElement = require('ReactElement');
2019
var ReactPropTypes = require('ReactPropTypes');
2120
var ReactVersion = require('ReactVersion');
2221

22+
var createReactClass = require('createClass');
2323
var onlyChild = require('onlyChild');
24+
var warning = require('warning');
2425

2526
var createElement = ReactElement.createElement;
2627
var createFactory = ReactElement.createFactory;
@@ -90,7 +91,7 @@ var React = {
9091
// Classic
9192

9293
PropTypes: ReactPropTypes,
93-
createClass: ReactClass.createClass,
94+
createClass: createReactClass,
9495
createFactory: createFactory,
9596
createMixin: createMixin,
9697

@@ -104,8 +105,9 @@ var React = {
104105
__spread: __spread,
105106
};
106107

107-
// TODO: Fix tests so that this deprecation warning doesn't cause failures.
108108
if (__DEV__) {
109+
let warnedForCreateMixin = false;
110+
let warnedForCreateClass = false;
109111
if (canDefineProperty) {
110112
Object.defineProperty(React, 'PropTypes', {
111113
get() {
@@ -133,7 +135,7 @@ if (__DEV__) {
133135
'drop-in replacement.',
134136
);
135137
didWarnPropTypesDeprecated = true;
136-
return ReactPropTypes;
138+
return createReactClass;
137139
},
138140
});
139141
}

src/isomorphic/__tests__/React-test.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ describe('React', () => {
4242
spyOn(console, 'error');
4343
let createClass = React.createClass;
4444
createClass = React.createClass;
45-
expect(createClass).toBe(undefined);
45+
expect(createClass).not.toBe(undefined);
4646
expectDev(console.error.calls.count()).toBe(1);
4747
expectDev(console.error.calls.argsFor(0)[0]).toContain(
4848
'React.createClass is no longer supported. Use a plain ' +
@@ -51,4 +51,16 @@ describe('React', () => {
5151
'drop-in replacement.',
5252
);
5353
});
54+
55+
it('should warn once when attempting to access React.PropTypes', () => {
56+
spyOn(console, 'error');
57+
let PropTypes = React.PropTypes;
58+
PropTypes = React.PropTypes;
59+
expect(PropTypes).not.toBe(undefined);
60+
expectDev(console.error.calls.count()).toBe(1);
61+
expectDev(console.error.calls.argsFor(0)[0]).toContain(
62+
'PropTypes have moved out of the react package. ' +
63+
'Use the prop-types package from npm instead.',
64+
);
65+
});
5466
});

0 commit comments

Comments
 (0)