From c4ca97048942e9c72ef671bca4479490cbf676ec Mon Sep 17 00:00:00 2001 From: John Reilly Date: Sun, 22 Nov 2015 14:27:08 +0000 Subject: [PATCH 1/2] Migrated to React 0.14.3 --- es6-babel-react-flux-karma/package.json | 6 ++++-- .../src/components/App.tsx | 2 +- .../src/components/Greeting.tsx | 2 +- .../src/components/WhoToGreet.tsx | 2 +- es6-babel-react-flux-karma/src/main.tsx | 6 ++++-- es6-babel-react-flux-karma/src/tsconfig.json | 2 ++ .../test/components/App.tests.tsx | 6 +++--- .../test/components/Greeting.tests.tsx | 6 +++--- .../test/components/WhoToGreet.tests.tsx | 6 +++--- es6-babel-react-flux-karma/test/tsconfig.json | 2 ++ es6-babel-react-flux-karma/tsd.json | 16 +++++++++++----- es6-babel-react-flux-karma/webpack.config.js | 2 +- 12 files changed, 36 insertions(+), 22 deletions(-) diff --git a/es6-babel-react-flux-karma/package.json b/es6-babel-react-flux-karma/package.json index 2dadd5e..120215e 100644 --- a/es6-babel-react-flux-karma/package.json +++ b/es6-babel-react-flux-karma/package.json @@ -41,7 +41,6 @@ "gulp-eslint": "^1.0.0", "gulp-if": "^2.0.0", "gulp-inject": "^3.0.0", - "gulp-jshint": "^1.11.2", "gulp-notify": "^2.2.0", "gulp-sourcemaps": "^1.5.2", "gulp-streamify": "1.0.0", @@ -58,8 +57,11 @@ "karma-sourcemap-loader": "^0.3.6", "karma-webpack": "^1.7.0", "phantomjs": "^1.9.17", - "react": "^0.13.3", + "react": "^0.14.3", "ts-loader": "^0.6.0", + "react-addons-test-utils": "^0.14.3", + "react-dom": "^0.14.3", + "ts-loader": "^0.7.1", "typescript": "^1.6.2", "webpack": "^1.12.2", "webpack-notifier": "^1.2.1" diff --git a/es6-babel-react-flux-karma/src/components/App.tsx b/es6-babel-react-flux-karma/src/components/App.tsx index fb1cf4d..f6bceb6 100644 --- a/es6-babel-react-flux-karma/src/components/App.tsx +++ b/es6-babel-react-flux-karma/src/components/App.tsx @@ -1,4 +1,4 @@ -import * as React from 'react/addons'; +import * as React from 'react'; import GreetingStore from '../stores/GreetingStore'; import * as GreetingActions from '../actions/GreetingActions'; import GreetingState from '../types/GreetingState'; diff --git a/es6-babel-react-flux-karma/src/components/Greeting.tsx b/es6-babel-react-flux-karma/src/components/Greeting.tsx index 13ab314..213af66 100644 --- a/es6-babel-react-flux-karma/src/components/Greeting.tsx +++ b/es6-babel-react-flux-karma/src/components/Greeting.tsx @@ -1,4 +1,4 @@ -import * as React from 'react/addons'; +import * as React from 'react'; import * as GreetingActions from '../actions/GreetingActions'; interface Props { diff --git a/es6-babel-react-flux-karma/src/components/WhoToGreet.tsx b/es6-babel-react-flux-karma/src/components/WhoToGreet.tsx index 612670c..5e3794f 100644 --- a/es6-babel-react-flux-karma/src/components/WhoToGreet.tsx +++ b/es6-babel-react-flux-karma/src/components/WhoToGreet.tsx @@ -1,4 +1,4 @@ -import * as React from 'react/addons'; +import * as React from 'react'; import * as GreetingActions from '../actions/GreetingActions'; interface Props { diff --git a/es6-babel-react-flux-karma/src/main.tsx b/es6-babel-react-flux-karma/src/main.tsx index 7d7bf44..c8fc273 100644 --- a/es6-babel-react-flux-karma/src/main.tsx +++ b/es6-babel-react-flux-karma/src/main.tsx @@ -1,5 +1,7 @@ import './dependencies'; -import * as React from 'react/addons'; +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; import App from './components/App'; +const __react = React; // only in place to prevent React being purged from dependencies as not used directly -React.render(, document.getElementById('content')); +ReactDOM.render(, document.getElementById('content')); diff --git a/es6-babel-react-flux-karma/src/tsconfig.json b/es6-babel-react-flux-karma/src/tsconfig.json index b3d2de8..1bf1f59 100644 --- a/es6-babel-react-flux-karma/src/tsconfig.json +++ b/es6-babel-react-flux-karma/src/tsconfig.json @@ -3,6 +3,7 @@ "filesGlob": [ "../typings/**/*.*.ts", "!../typings/jasmine/jasmine.d.ts", + "!../typings/react/react-addons-test-utils.d.ts", "**/*.{ts,tsx}" ], "compilerOptions": { @@ -16,6 +17,7 @@ "files": [ "../typings/flux/flux.d.ts", "../typings/node/node.d.ts", + "../typings/react/react-dom.d.ts", "../typings/react/react.d.ts", "../typings/tsd.d.ts", "actions/GreetingActions.ts", diff --git a/es6-babel-react-flux-karma/test/components/App.tests.tsx b/es6-babel-react-flux-karma/test/components/App.tests.tsx index 1a0107f..301889e 100644 --- a/es6-babel-react-flux-karma/test/components/App.tests.tsx +++ b/es6-babel-react-flux-karma/test/components/App.tests.tsx @@ -1,10 +1,10 @@ -import * as React from 'react/addons'; +import * as React from 'react'; +import * as TestUtils from 'react-addons-test-utils'; import App from '../../src/components/App'; import WhoToGreet from '../../src/components/WhoToGreet'; import Greeting from '../../src/components/Greeting'; import GreetingStore from '../../src/stores/GreetingStore'; - -const { TestUtils } = React.addons; +const __react = React; // only in place to prevent React being purged from dependencies as not used directly describe('App', () => { it('renders expected HTML', () => { diff --git a/es6-babel-react-flux-karma/test/components/Greeting.tests.tsx b/es6-babel-react-flux-karma/test/components/Greeting.tests.tsx index bd08c33..21b7921 100644 --- a/es6-babel-react-flux-karma/test/components/Greeting.tests.tsx +++ b/es6-babel-react-flux-karma/test/components/Greeting.tests.tsx @@ -1,8 +1,8 @@ -import * as React from 'react/addons'; +import * as React from 'react'; +import * as TestUtils from 'react-addons-test-utils'; import Greeting from '../../src/components/Greeting'; import * as GreetingActions from '../../src/actions/GreetingActions'; - -const { TestUtils } = React.addons; +const __react = React; // only in place to prevent React being purged from dependencies as not used directly describe('Greeting', () => { let handleSelectionChangeSpy: jasmine.Spy; diff --git a/es6-babel-react-flux-karma/test/components/WhoToGreet.tests.tsx b/es6-babel-react-flux-karma/test/components/WhoToGreet.tests.tsx index 4fb94b1..836ce8f 100644 --- a/es6-babel-react-flux-karma/test/components/WhoToGreet.tests.tsx +++ b/es6-babel-react-flux-karma/test/components/WhoToGreet.tests.tsx @@ -1,8 +1,8 @@ -import * as React from 'react/addons'; +import * as React from 'react'; +import * as TestUtils from 'react-addons-test-utils'; import WhoToGreet from '../../src/components/WhoToGreet'; import * as GreetingActions from '../../src/actions/GreetingActions'; - -const { TestUtils } = React.addons; +const __react = React; // only in place to prevent React being purged from dependencies as not used directly describe('WhoToGreet', () => { let handleSelectionChangeSpy: jasmine.Spy; diff --git a/es6-babel-react-flux-karma/test/tsconfig.json b/es6-babel-react-flux-karma/test/tsconfig.json index d3e05bd..c1cfb5a 100644 --- a/es6-babel-react-flux-karma/test/tsconfig.json +++ b/es6-babel-react-flux-karma/test/tsconfig.json @@ -21,6 +21,8 @@ "../typings/flux/flux.d.ts", "../typings/jasmine/jasmine.d.ts", "../typings/node/node.d.ts", + "../typings/react/react-addons-test-utils.d.ts", + "../typings/react/react-dom.d.ts", "../typings/react/react.d.ts", "../typings/tsd.d.ts" ], diff --git a/es6-babel-react-flux-karma/tsd.json b/es6-babel-react-flux-karma/tsd.json index e874a87..faf9987 100644 --- a/es6-babel-react-flux-karma/tsd.json +++ b/es6-babel-react-flux-karma/tsd.json @@ -6,16 +6,22 @@ "bundle": "typings/tsd.d.ts", "installed": { "jasmine/jasmine.d.ts": { - "commit": "3191f6e0088eee07c4d8fd24e4d27a40a60d9eb9" + "commit": "fa04c80f4a889613b96cb4f283848c61a9f64233" }, "flux/flux.d.ts": { - "commit": "3191f6e0088eee07c4d8fd24e4d27a40a60d9eb9" + "commit": "fa04c80f4a889613b96cb4f283848c61a9f64233" }, "node/node.d.ts": { - "commit": "3191f6e0088eee07c4d8fd24e4d27a40a60d9eb9" + "commit": "fa04c80f4a889613b96cb4f283848c61a9f64233" }, "react/react.d.ts": { - "commit": "3191f6e0088eee07c4d8fd24e4d27a40a60d9eb9" - } + "commit": "fa04c80f4a889613b96cb4f283848c61a9f64233" + }, + "react/react-dom.d.ts": { + "commit": "fa04c80f4a889613b96cb4f283848c61a9f64233" + }, + "react/react-addons-test-utils.d.ts": { + "commit": "fa04c80f4a889613b96cb4f283848c61a9f64233" + } } } diff --git a/es6-babel-react-flux-karma/webpack.config.js b/es6-babel-react-flux-karma/webpack.config.js index df28b99..3a6fa77 100644 --- a/es6-babel-react-flux-karma/webpack.config.js +++ b/es6-babel-react-flux-karma/webpack.config.js @@ -9,7 +9,7 @@ module.exports = { entry: { main: './src/main.tsx', vendor: [ - 'react/addons', + 'react', 'flux', 'events', 'babel/polyfill' From e78f5f3045f57bb5946b6495542a47da0e4ef5b9 Mon Sep 17 00:00:00 2001 From: John Reilly Date: Mon, 23 Nov 2015 07:08:35 +0000 Subject: [PATCH 2/2] Using an imported entity as an expression as suggested by @danielrosenwasser --- es6-babel-react-flux-karma/src/main.tsx | 2 +- es6-babel-react-flux-karma/test/components/App.tests.tsx | 2 +- es6-babel-react-flux-karma/test/components/Greeting.tests.tsx | 2 +- es6-babel-react-flux-karma/test/components/WhoToGreet.tests.tsx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/es6-babel-react-flux-karma/src/main.tsx b/es6-babel-react-flux-karma/src/main.tsx index c8fc273..1b2e459 100644 --- a/es6-babel-react-flux-karma/src/main.tsx +++ b/es6-babel-react-flux-karma/src/main.tsx @@ -2,6 +2,6 @@ import './dependencies'; import * as React from 'react'; import * as ReactDOM from 'react-dom'; import App from './components/App'; -const __react = React; // only in place to prevent React being purged from dependencies as not used directly +React; // use React as an expression to prevent React being purged from dependencies as not used directly ReactDOM.render(, document.getElementById('content')); diff --git a/es6-babel-react-flux-karma/test/components/App.tests.tsx b/es6-babel-react-flux-karma/test/components/App.tests.tsx index 301889e..2488d1d 100644 --- a/es6-babel-react-flux-karma/test/components/App.tests.tsx +++ b/es6-babel-react-flux-karma/test/components/App.tests.tsx @@ -4,7 +4,7 @@ import App from '../../src/components/App'; import WhoToGreet from '../../src/components/WhoToGreet'; import Greeting from '../../src/components/Greeting'; import GreetingStore from '../../src/stores/GreetingStore'; -const __react = React; // only in place to prevent React being purged from dependencies as not used directly +React; // use React as an expression to prevent React being purged from dependencies as not used directly describe('App', () => { it('renders expected HTML', () => { diff --git a/es6-babel-react-flux-karma/test/components/Greeting.tests.tsx b/es6-babel-react-flux-karma/test/components/Greeting.tests.tsx index 21b7921..ddb1eb7 100644 --- a/es6-babel-react-flux-karma/test/components/Greeting.tests.tsx +++ b/es6-babel-react-flux-karma/test/components/Greeting.tests.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import * as TestUtils from 'react-addons-test-utils'; import Greeting from '../../src/components/Greeting'; import * as GreetingActions from '../../src/actions/GreetingActions'; -const __react = React; // only in place to prevent React being purged from dependencies as not used directly +React; // use React as an expression to prevent React being purged from dependencies as not used directly describe('Greeting', () => { let handleSelectionChangeSpy: jasmine.Spy; diff --git a/es6-babel-react-flux-karma/test/components/WhoToGreet.tests.tsx b/es6-babel-react-flux-karma/test/components/WhoToGreet.tests.tsx index 836ce8f..292f075 100644 --- a/es6-babel-react-flux-karma/test/components/WhoToGreet.tests.tsx +++ b/es6-babel-react-flux-karma/test/components/WhoToGreet.tests.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import * as TestUtils from 'react-addons-test-utils'; import WhoToGreet from '../../src/components/WhoToGreet'; import * as GreetingActions from '../../src/actions/GreetingActions'; -const __react = React; // only in place to prevent React being purged from dependencies as not used directly +React; // use React as an expression to prevent React being purged from dependencies as not used directly describe('WhoToGreet', () => { let handleSelectionChangeSpy: jasmine.Spy;