From 71c3ca5ad89ed73d5c9f6a4b1b71d28bf14b94a5 Mon Sep 17 00:00:00 2001 From: Dan Harman Date: Thu, 9 Mar 2017 12:52:10 +0000 Subject: [PATCH 1/4] Babel config enhancements #739 - Added 'babel-plugin-transform-react-jsx-source' to development build to add line numbers to debug output. - Added 'cacheDirectory: true' to babel config which improves webpack build time c. 40%. --- templates/ReactReduxSpa/package.json | 3 +++ templates/ReactReduxSpa/webpack.config.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/templates/ReactReduxSpa/package.json b/templates/ReactReduxSpa/package.json index e8e04fd1..124f99d1 100644 --- a/templates/ReactReduxSpa/package.json +++ b/templates/ReactReduxSpa/package.json @@ -41,5 +41,8 @@ "webpack": "^2.2.0", "webpack-hot-middleware": "^2.12.2", "webpack-merge": "^0.14.1" + }, + "devDependencies": { + "babel-plugin-transform-react-jsx-source": "^6.22.0" } } diff --git a/templates/ReactReduxSpa/webpack.config.js b/templates/ReactReduxSpa/webpack.config.js index 4a09f5a1..70bc2d78 100644 --- a/templates/ReactReduxSpa/webpack.config.js +++ b/templates/ReactReduxSpa/webpack.config.js @@ -17,7 +17,7 @@ module.exports = (env) => { }, module: { rules: [ - { test: /\.tsx?$/, include: /ClientApp/, use: 'babel-loader' }, + { test: /\.tsx?$/, include: /ClientApp/, use: { loader: 'babel-loader', options: { plugins: isDevBuild ? ["transform-react-jsx-source"] : [], cacheDirectory: true } } }, { test: /\.tsx?$/, include: /ClientApp/, use: 'awesome-typescript-loader?silent=true' } ] }, From 74eabaa3c6c4252e26b6ec68443c88a0e4db3a56 Mon Sep 17 00:00:00 2001 From: Dan Harman Date: Thu, 9 Mar 2017 14:21:35 +0000 Subject: [PATCH 2/4] Slightly more concise conditonal operator. --- templates/ReactReduxSpa/webpack.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/ReactReduxSpa/webpack.config.js b/templates/ReactReduxSpa/webpack.config.js index 70bc2d78..2a3dd4d5 100644 --- a/templates/ReactReduxSpa/webpack.config.js +++ b/templates/ReactReduxSpa/webpack.config.js @@ -17,7 +17,7 @@ module.exports = (env) => { }, module: { rules: [ - { test: /\.tsx?$/, include: /ClientApp/, use: { loader: 'babel-loader', options: { plugins: isDevBuild ? ["transform-react-jsx-source"] : [], cacheDirectory: true } } }, + { test: /\.tsx?$/, include: /ClientApp/, use: { loader: 'babel-loader', options: { plugins: isDevBuild && ["transform-react-jsx-source"], cacheDirectory: true } } }, { test: /\.tsx?$/, include: /ClientApp/, use: 'awesome-typescript-loader?silent=true' } ] }, From dea4f093cee52f324e28857740277d72c05f312b Mon Sep 17 00:00:00 2001 From: Dan Harman Date: Sat, 11 Mar 2017 20:57:37 +0000 Subject: [PATCH 3/4] Enhanced react diagnostics with line numbers for ReactSpa template. Turned on webpack file caching. --- templates/ReactSpa/package.json | 1 + templates/ReactSpa/webpack.config.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/ReactSpa/package.json b/templates/ReactSpa/package.json index a4874e30..eac3e4a7 100644 --- a/templates/ReactSpa/package.json +++ b/templates/ReactSpa/package.json @@ -11,6 +11,7 @@ "awesome-typescript-loader": "^3.0.0", "babel-core": "^6.17.0", "babel-loader": "^6.2.5", + "babel-plugin-transform-react-jsx-source": "^6.22.0", "babel-preset-es2015": "^6.16.0", "babel-preset-react": "^6.16.0", "bootstrap": "^3.3.6", diff --git a/templates/ReactSpa/webpack.config.js b/templates/ReactSpa/webpack.config.js index dc589094..9cc22de5 100644 --- a/templates/ReactSpa/webpack.config.js +++ b/templates/ReactSpa/webpack.config.js @@ -17,7 +17,7 @@ module.exports = (env) => { }, module: { rules: [ - { test: /\.ts(x?)$/, include: /ClientApp/, use: 'babel-loader' }, + { test: /\.ts(x?)$/, include: /ClientApp/, use: { loader: 'babel-loader', options: { plugins: isDevBuild && ["transform-react-jsx-source"], cacheDirectory: true } } }, { test: /\.tsx?$/, include: /ClientApp/, use: 'awesome-typescript-loader?silent=true' }, { test: /\.css$/, use: isDevBuild ? ['style-loader', 'css-loader'] : ExtractTextPlugin.extract({ use: 'css-loader' }) }, { test: /\.(png|jpg|jpeg|gif|svg)$/, use: 'url-loader?limit=25000' } From e6464e64486d10593c23f1bc6934477fca066970 Mon Sep 17 00:00:00 2001 From: Dan Harman Date: Sat, 11 Mar 2017 20:59:30 +0000 Subject: [PATCH 4/4] Removed tab that snuck into config. --- templates/ReactSpa/webpack.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/ReactSpa/webpack.config.js b/templates/ReactSpa/webpack.config.js index 9cc22de5..d7233293 100644 --- a/templates/ReactSpa/webpack.config.js +++ b/templates/ReactSpa/webpack.config.js @@ -17,7 +17,7 @@ module.exports = (env) => { }, module: { rules: [ - { test: /\.ts(x?)$/, include: /ClientApp/, use: { loader: 'babel-loader', options: { plugins: isDevBuild && ["transform-react-jsx-source"], cacheDirectory: true } } }, + { test: /\.ts(x?)$/, include: /ClientApp/, use: { loader: 'babel-loader', options: { plugins: isDevBuild && ["transform-react-jsx-source"], cacheDirectory: true } } }, { test: /\.tsx?$/, include: /ClientApp/, use: 'awesome-typescript-loader?silent=true' }, { test: /\.css$/, use: isDevBuild ? ['style-loader', 'css-loader'] : ExtractTextPlugin.extract({ use: 'css-loader' }) }, { test: /\.(png|jpg|jpeg|gif|svg)$/, use: 'url-loader?limit=25000' }