From c66e352efee8c3c2b282c5f4200aee646ca1a1fe Mon Sep 17 00:00:00 2001 From: Colin Meinke Date: Thu, 5 Nov 2015 16:39:01 +0100 Subject: [PATCH 1/3] Update to Babel 6 --- .babelrc | 4 ++-- examples/counter/.babelrc | 3 ++- examples/counter/package.json | 8 ++++++-- examples/counter/src/components/Counter.js | 4 +++- examples/todomvc/.babelrc | 3 ++- examples/todomvc/components/Footer.js | 4 +++- examples/todomvc/components/Header.js | 4 +++- examples/todomvc/components/MainSection.js | 4 +++- examples/todomvc/components/TodoItem.js | 4 +++- examples/todomvc/components/TodoTextInput.js | 4 +++- examples/todomvc/package.json | 8 ++++++-- package.json | 15 +++++++++------ src/createDevTools.js | 7 ++++--- 13 files changed, 49 insertions(+), 23 deletions(-) diff --git a/.babelrc b/.babelrc index 15d27ad9..fe784a30 100644 --- a/.babelrc +++ b/.babelrc @@ -1,4 +1,4 @@ { - "stage": 0, - "loose": "all" + "plugins": ["transform-react-jsx"], + "presets": ["es2015", "stage-0"] } diff --git a/examples/counter/.babelrc b/examples/counter/.babelrc index b0b9a96e..fe784a30 100644 --- a/examples/counter/.babelrc +++ b/examples/counter/.babelrc @@ -1,3 +1,4 @@ { - "stage": 0 + "plugins": ["transform-react-jsx"], + "presets": ["es2015", "stage-0"] } diff --git a/examples/counter/package.json b/examples/counter/package.json index d5e9be7f..440b5bb2 100644 --- a/examples/counter/package.json +++ b/examples/counter/package.json @@ -23,8 +23,12 @@ "redux-thunk": "^1.0.0" }, "devDependencies": { - "babel-core": "^5.6.18", - "babel-loader": "^5.1.4", + "babel-cli": "^6.1.2", + "babel-core": "^6.1.2", + "babel-loader": "^6.0.1", + "babel-plugin-transform-react-jsx": "^6.0.18", + "babel-preset-es2015": "^6.1.2", + "babel-preset-stage-0": "^6.1.2", "node-libs-browser": "^0.5.2", "react-hot-loader": "^1.3.0", "redux-devtools": "^3.0.0-beta-3", diff --git a/examples/counter/src/components/Counter.js b/examples/counter/src/components/Counter.js index c58dc316..072a634e 100644 --- a/examples/counter/src/components/Counter.js +++ b/examples/counter/src/components/Counter.js @@ -1,6 +1,6 @@ import React, { Component, PropTypes } from 'react'; -export default class Counter extends Component { +class Counter extends Component { static propTypes = { increment: PropTypes.func.isRequired, incrementIfOdd: PropTypes.func.isRequired, @@ -23,3 +23,5 @@ export default class Counter extends Component { ); } } + +export default Counter; diff --git a/examples/todomvc/.babelrc b/examples/todomvc/.babelrc index b0b9a96e..fe784a30 100644 --- a/examples/todomvc/.babelrc +++ b/examples/todomvc/.babelrc @@ -1,3 +1,4 @@ { - "stage": 0 + "plugins": ["transform-react-jsx"], + "presets": ["es2015", "stage-0"] } diff --git a/examples/todomvc/components/Footer.js b/examples/todomvc/components/Footer.js index b8feaa92..bee5ea7b 100644 --- a/examples/todomvc/components/Footer.js +++ b/examples/todomvc/components/Footer.js @@ -8,7 +8,7 @@ const FILTER_TITLES = { [SHOW_MARKED]: 'Completed' }; -export default class Footer extends Component { +class Footer extends Component { static propTypes = { markedCount: PropTypes.number.isRequired, unmarkedCount: PropTypes.number.isRequired, @@ -69,3 +69,5 @@ export default class Footer extends Component { } } } + +export default Footer; diff --git a/examples/todomvc/components/Header.js b/examples/todomvc/components/Header.js index 203a7157..4dcfa15a 100644 --- a/examples/todomvc/components/Header.js +++ b/examples/todomvc/components/Header.js @@ -1,7 +1,7 @@ import React, { PropTypes, Component } from 'react'; import TodoTextInput from './TodoTextInput'; -export default class Header extends Component { +class Header extends Component { static propTypes = { addTodo: PropTypes.func.isRequired }; @@ -23,3 +23,5 @@ export default class Header extends Component { ); } } + +export default Header; diff --git a/examples/todomvc/components/MainSection.js b/examples/todomvc/components/MainSection.js index 42ee1856..98a4d9ab 100644 --- a/examples/todomvc/components/MainSection.js +++ b/examples/todomvc/components/MainSection.js @@ -9,7 +9,7 @@ const TODO_FILTERS = { [SHOW_MARKED]: todo => todo.marked }; -export default class MainSection extends Component { +class MainSection extends Component { static propTypes = { todos: PropTypes.array.isRequired, actions: PropTypes.object.isRequired @@ -82,3 +82,5 @@ export default class MainSection extends Component { } } } + +export default MainSection; diff --git a/examples/todomvc/components/TodoItem.js b/examples/todomvc/components/TodoItem.js index 89f29afc..19e639b5 100644 --- a/examples/todomvc/components/TodoItem.js +++ b/examples/todomvc/components/TodoItem.js @@ -2,7 +2,7 @@ import React, { Component, PropTypes } from 'react'; import classnames from 'classnames'; import TodoTextInput from './TodoTextInput'; -export default class TodoItem extends Component { +class TodoItem extends Component { static propTypes = { todo: PropTypes.object.isRequired, editTodo: PropTypes.func.isRequired, @@ -66,3 +66,5 @@ export default class TodoItem extends Component { ); } } + +export default TodoItem; diff --git a/examples/todomvc/components/TodoTextInput.js b/examples/todomvc/components/TodoTextInput.js index 761299f1..ce8bfc39 100644 --- a/examples/todomvc/components/TodoTextInput.js +++ b/examples/todomvc/components/TodoTextInput.js @@ -1,7 +1,7 @@ import React, { Component, PropTypes } from 'react'; import classnames from 'classnames'; -export default class TodoTextInput extends Component { +class TodoTextInput extends Component { static propTypes = { onSave: PropTypes.func.isRequired, text: PropTypes.string, @@ -53,3 +53,5 @@ export default class TodoTextInput extends Component { ); } } + +export default TodoTextInput; diff --git a/examples/todomvc/package.json b/examples/todomvc/package.json index 6e1ad053..0750366c 100644 --- a/examples/todomvc/package.json +++ b/examples/todomvc/package.json @@ -35,8 +35,12 @@ "redux": "^3.0.0" }, "devDependencies": { - "babel-core": "^5.6.18", - "babel-loader": "^5.1.4", + "babel-cli": "^6.1.2", + "babel-core": "^6.1.2", + "babel-loader": "^6.0.1", + "babel-plugin-transform-react-jsx": "^6.0.18", + "babel-preset-es2015": "^6.1.2", + "babel-preset-stage-0": "^6.1.2", "node-libs-browser": "^0.5.2", "raw-loader": "^0.5.1", "react-hot-loader": "^1.3.0", diff --git a/package.json b/package.json index 0f99e4fa..0d3e8810 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "clean": "rimraf lib", "build": "babel src --out-dir lib", "lint": "eslint src test examples", - "test": "NODE_ENV=test mocha --compilers js:babel/register --recursive", - "test:watch": "NODE_ENV=test mocha --compilers js:babel/register --recursive --watch", + "test": "NODE_ENV=test mocha --compilers js:babel-core/register --recursive", + "test:watch": "NODE_ENV=test mocha --compilers js:babel-core/register --recursive --watch", "test:cov": "babel-node ./node_modules/.bin/isparta cover ./node_modules/.bin/_mocha -- --recursive", "prepublish": "npm run lint && npm run test && npm run clean && npm run build" }, @@ -31,10 +31,13 @@ }, "homepage": "https://github.com/gaearon/redux-devtools", "devDependencies": { - "babel": "^5.5.8", - "babel-core": "^5.6.18", - "babel-eslint": "^3.1.15", - "babel-loader": "^5.1.4", + "babel-cli": "^6.1.2", + "babel-core": "^6.1.2", + "babel-eslint": "^4.1.4", + "babel-loader": "^6.0.1", + "babel-plugin-transform-react-jsx": "^6.0.18", + "babel-preset-es2015": "^6.1.2", + "babel-preset-stage-0": "^6.1.2", "eslint": "^0.23", "eslint-config-airbnb": "0.0.6", "eslint-plugin-react": "^2.3.0", diff --git a/src/createDevTools.js b/src/createDevTools.js index 215fdbf8..a34014f2 100644 --- a/src/createDevTools.js +++ b/src/createDevTools.js @@ -11,7 +11,7 @@ export default function createDevTools(children) { Monitor.reducer(state, action, monitorProps) ); - return class DevTools extends Component { + class DevTools extends Component { static contextTypes = { store: PropTypes.object }; @@ -37,6 +37,7 @@ export default function createDevTools(children) { store={this.liftedStore} /> ); } - }; -} + } + return DevTools; +} From ac48eb35b3a1269a4c584e4ae4b4ef08dc44bc63 Mon Sep 17 00:00:00 2001 From: Colin Meinke Date: Mon, 14 Dec 2015 17:18:34 -0600 Subject: [PATCH 2/3] Use es2015-loose and react babel presets --- .babelrc | 3 +-- examples/counter/.babelrc | 3 +-- examples/counter/package.json | 18 +++++++++--------- examples/todomvc/.babelrc | 3 +-- examples/todomvc/package.json | 18 +++++++++--------- package.json | 14 +++++++------- 6 files changed, 28 insertions(+), 31 deletions(-) diff --git a/.babelrc b/.babelrc index fe784a30..65836a67 100644 --- a/.babelrc +++ b/.babelrc @@ -1,4 +1,3 @@ { - "plugins": ["transform-react-jsx"], - "presets": ["es2015", "stage-0"] + "presets": ["es2015-loose", "stage-0", "react"] } diff --git a/examples/counter/.babelrc b/examples/counter/.babelrc index fe784a30..65836a67 100644 --- a/examples/counter/.babelrc +++ b/examples/counter/.babelrc @@ -1,4 +1,3 @@ { - "plugins": ["transform-react-jsx"], - "presets": ["es2015", "stage-0"] + "presets": ["es2015-loose", "stage-0", "react"] } diff --git a/examples/counter/package.json b/examples/counter/package.json index 440b5bb2..ca9c6a67 100644 --- a/examples/counter/package.json +++ b/examples/counter/package.json @@ -23,17 +23,17 @@ "redux-thunk": "^1.0.0" }, "devDependencies": { - "babel-cli": "^6.1.2", - "babel-core": "^6.1.2", - "babel-loader": "^6.0.1", - "babel-plugin-transform-react-jsx": "^6.0.18", - "babel-preset-es2015": "^6.1.2", - "babel-preset-stage-0": "^6.1.2", + "babel-cli": "^6.3.17", + "babel-core": "^6.3.17", + "babel-loader": "^6.2.0", + "babel-preset-es2015-loose": "^6.1.3", + "babel-preset-react": "6.3.13", + "babel-preset-stage-0": "^6.3.13", "node-libs-browser": "^0.5.2", "react-hot-loader": "^1.3.0", - "redux-devtools": "^3.0.0-beta-3", - "redux-devtools-log-monitor": "^1.0.0-beta-3", - "redux-devtools-dock-monitor": "^1.0.0-beta-3", + "redux-devtools": "^3.0.0", + "redux-devtools-log-monitor": "^1.0.1", + "redux-devtools-dock-monitor": "^1.0.1", "webpack": "^1.9.11", "webpack-dev-server": "^1.9.0" } diff --git a/examples/todomvc/.babelrc b/examples/todomvc/.babelrc index fe784a30..65836a67 100644 --- a/examples/todomvc/.babelrc +++ b/examples/todomvc/.babelrc @@ -1,4 +1,3 @@ { - "plugins": ["transform-react-jsx"], - "presets": ["es2015", "stage-0"] + "presets": ["es2015-loose", "stage-0", "react"] } diff --git a/examples/todomvc/package.json b/examples/todomvc/package.json index 0750366c..e5fe41fd 100644 --- a/examples/todomvc/package.json +++ b/examples/todomvc/package.json @@ -35,18 +35,18 @@ "redux": "^3.0.0" }, "devDependencies": { - "babel-cli": "^6.1.2", - "babel-core": "^6.1.2", - "babel-loader": "^6.0.1", - "babel-plugin-transform-react-jsx": "^6.0.18", - "babel-preset-es2015": "^6.1.2", - "babel-preset-stage-0": "^6.1.2", + "babel-cli": "^6.3.17", + "babel-core": "^6.3.17", + "babel-loader": "^6.2.0", + "babel-preset-es2015-loose": "^6.1.3", + "babel-preset-react": "6.3.13", + "babel-preset-stage-0": "^6.3.13", "node-libs-browser": "^0.5.2", "raw-loader": "^0.5.1", "react-hot-loader": "^1.3.0", - "redux-devtools": "^3.0.0-beta-3", - "redux-devtools-log-monitor": "^1.0.0-beta-3", - "redux-devtools-dock-monitor": "^1.0.0-beta-3", + "redux-devtools": "^3.0.0", + "redux-devtools-log-monitor": "^1.0.1", + "redux-devtools-dock-monitor": "^1.0.1", "style-loader": "^0.12.3", "todomvc-app-css": "^2.0.1", "webpack": "^1.9.11", diff --git a/package.json b/package.json index 0d3e8810..eaebd941 100644 --- a/package.json +++ b/package.json @@ -31,13 +31,13 @@ }, "homepage": "https://github.com/gaearon/redux-devtools", "devDependencies": { - "babel-cli": "^6.1.2", - "babel-core": "^6.1.2", - "babel-eslint": "^4.1.4", - "babel-loader": "^6.0.1", - "babel-plugin-transform-react-jsx": "^6.0.18", - "babel-preset-es2015": "^6.1.2", - "babel-preset-stage-0": "^6.1.2", + "babel-cli": "^6.3.17", + "babel-core": "^6.3.17", + "babel-eslint": "^4.1.6", + "babel-loader": "^6.2.0", + "babel-preset-es2015-loose": "^6.1.3", + "babel-preset-react": "6.3.13", + "babel-preset-stage-0": "^6.3.13", "eslint": "^0.23", "eslint-config-airbnb": "0.0.6", "eslint-plugin-react": "^2.3.0", From 3054bfac1ba0ccbcb4cfecca9362c22457bb87f7 Mon Sep 17 00:00:00 2001 From: Colin Meinke Date: Mon, 14 Dec 2015 17:23:19 -0600 Subject: [PATCH 3/3] Export on same line as class definition --- examples/counter/src/components/Counter.js | 4 +--- examples/todomvc/components/Footer.js | 4 +--- examples/todomvc/components/Header.js | 4 +--- examples/todomvc/components/MainSection.js | 4 +--- examples/todomvc/components/TodoItem.js | 4 +--- examples/todomvc/components/TodoTextInput.js | 4 +--- 6 files changed, 6 insertions(+), 18 deletions(-) diff --git a/examples/counter/src/components/Counter.js b/examples/counter/src/components/Counter.js index 072a634e..c58dc316 100644 --- a/examples/counter/src/components/Counter.js +++ b/examples/counter/src/components/Counter.js @@ -1,6 +1,6 @@ import React, { Component, PropTypes } from 'react'; -class Counter extends Component { +export default class Counter extends Component { static propTypes = { increment: PropTypes.func.isRequired, incrementIfOdd: PropTypes.func.isRequired, @@ -23,5 +23,3 @@ class Counter extends Component { ); } } - -export default Counter; diff --git a/examples/todomvc/components/Footer.js b/examples/todomvc/components/Footer.js index bee5ea7b..b8feaa92 100644 --- a/examples/todomvc/components/Footer.js +++ b/examples/todomvc/components/Footer.js @@ -8,7 +8,7 @@ const FILTER_TITLES = { [SHOW_MARKED]: 'Completed' }; -class Footer extends Component { +export default class Footer extends Component { static propTypes = { markedCount: PropTypes.number.isRequired, unmarkedCount: PropTypes.number.isRequired, @@ -69,5 +69,3 @@ class Footer extends Component { } } } - -export default Footer; diff --git a/examples/todomvc/components/Header.js b/examples/todomvc/components/Header.js index 4dcfa15a..203a7157 100644 --- a/examples/todomvc/components/Header.js +++ b/examples/todomvc/components/Header.js @@ -1,7 +1,7 @@ import React, { PropTypes, Component } from 'react'; import TodoTextInput from './TodoTextInput'; -class Header extends Component { +export default class Header extends Component { static propTypes = { addTodo: PropTypes.func.isRequired }; @@ -23,5 +23,3 @@ class Header extends Component { ); } } - -export default Header; diff --git a/examples/todomvc/components/MainSection.js b/examples/todomvc/components/MainSection.js index 98a4d9ab..42ee1856 100644 --- a/examples/todomvc/components/MainSection.js +++ b/examples/todomvc/components/MainSection.js @@ -9,7 +9,7 @@ const TODO_FILTERS = { [SHOW_MARKED]: todo => todo.marked }; -class MainSection extends Component { +export default class MainSection extends Component { static propTypes = { todos: PropTypes.array.isRequired, actions: PropTypes.object.isRequired @@ -82,5 +82,3 @@ class MainSection extends Component { } } } - -export default MainSection; diff --git a/examples/todomvc/components/TodoItem.js b/examples/todomvc/components/TodoItem.js index 19e639b5..89f29afc 100644 --- a/examples/todomvc/components/TodoItem.js +++ b/examples/todomvc/components/TodoItem.js @@ -2,7 +2,7 @@ import React, { Component, PropTypes } from 'react'; import classnames from 'classnames'; import TodoTextInput from './TodoTextInput'; -class TodoItem extends Component { +export default class TodoItem extends Component { static propTypes = { todo: PropTypes.object.isRequired, editTodo: PropTypes.func.isRequired, @@ -66,5 +66,3 @@ class TodoItem extends Component { ); } } - -export default TodoItem; diff --git a/examples/todomvc/components/TodoTextInput.js b/examples/todomvc/components/TodoTextInput.js index ce8bfc39..761299f1 100644 --- a/examples/todomvc/components/TodoTextInput.js +++ b/examples/todomvc/components/TodoTextInput.js @@ -1,7 +1,7 @@ import React, { Component, PropTypes } from 'react'; import classnames from 'classnames'; -class TodoTextInput extends Component { +export default class TodoTextInput extends Component { static propTypes = { onSave: PropTypes.func.isRequired, text: PropTypes.string, @@ -53,5 +53,3 @@ class TodoTextInput extends Component { ); } } - -export default TodoTextInput;