commit 4f50e92d12fd2fd5e6256c8c16f17747d3eb550d
parent e5637864705685fc5d55153a44af8aa9faa1a4e8
Author: Sergey Zelenov <szelenov@spbtv.com>
Date: Thu, 1 Oct 2015 17:16:47 +0300
switch react-hot-loader (deprecated) to react-transform
Diffstat:
3 files changed, 35 insertions(+), 12 deletions(-)
diff --git a/package.json b/package.json
@@ -27,6 +27,7 @@
"autoprefixer": "^6.0.3",
"babel-eslint": "^4.1.3",
"babel-loader": "^5.3.2",
+ "babel-plugin-react-transform": "^1.1.1",
"browser-sync": "^2.9.7",
"css-loader": "^0.19.0",
"csscomb": "^3.1.8",
@@ -49,7 +50,10 @@
"postcss-loader": "^0.6.0",
"postcss-nested": "^1.0.0",
"psi": "^1.0.6",
- "react-hot-loader": "^1.3.0",
+ "react": "^0.13.3",
+ "react-transform-catch-errors": "^1.0.0",
+ "react-transform-hmr": "^1.0.1",
+ "redbox-react": "^1.1.1",
"replace": "^0.3.0",
"style-loader": "^0.12.4",
"url-loader": "^0.5.6",
diff --git a/tools/config.js b/tools/config.js
@@ -29,6 +29,15 @@ const GLOBALS = {
__DEV__: DEBUG,
};
+const defaultJSLoader = {
+ test: /\.jsx?$/,
+ include: [
+ path.resolve(__dirname, '../node_modules/react-routing/src'),
+ path.resolve(__dirname, '../src'),
+ ],
+ loader: 'babel-loader'
+};
+
//
// Common configuration chunk to be used for both
// client-side (app.js) and server-side (server.js) bundles
@@ -66,13 +75,6 @@ const config = {
module: {
loaders: [
{
- test: /\.jsx?$/,
- include: [
- path.resolve(__dirname, '../node_modules/react-routing/src'),
- path.resolve(__dirname, '../src'),
- ],
- loaders: [...(WATCH && ['react-hot']), 'babel-loader'],
- }, {
test: /\.json$/,
loader: 'json-loader',
}, {
@@ -127,10 +129,28 @@ const appConfig = merge({}, config, {
],
module: {
loaders: [
- ...config.module.loaders, {
+ ...config.module.loaders,
+ {
test: /\.css$/,
loader: 'style-loader/useable!css-loader!postcss-loader',
},
+ (WATCH ? merge({}, defaultJSLoader, {
+ query: {
+ 'plugins': ['react-transform'],
+ 'extra': {
+ 'react-transform': {
+ 'transforms': [{
+ 'transform': 'react-transform-hmr',
+ 'imports': ['react'],
+ 'locals': ['module']
+ }, {
+ 'transform': 'react-transform-catch-errors',
+ 'imports': ['react', 'redbox-react']
+ }]
+ }
+ }
+ }
+ }) : defaultJSLoader)
],
},
});
@@ -173,7 +193,7 @@ const serverConfig = merge({}, config, {
],
module: {
loaders: [
- ...config.module.loaders, {
+ ...config.module.loaders, defaultJSLoader, {
test: /\.css$/,
loader: 'css-loader!postcss-loader',
},
diff --git a/tools/start.js b/tools/start.js
@@ -39,8 +39,7 @@ export default task('start', async () => {
// pretty colored output
stats: config.stats,
- hot: true,
- historyApiFallback: true,
+ historyApiFallback: true
// for other settings see
// http://webpack.github.io/docs/webpack-dev-middleware.html