From 26afba70a76a0be834845bdc11aff26a9ffec012 Mon Sep 17 00:00:00 2001 From: Salman Al Fariz Date: Tue, 3 Sep 2019 09:31:20 +0700 Subject: [PATCH] fix(packages/treats): fix webpack server build --- packages/treats/package.json | 5 +++-- .../config/webpack.config.server.build.js | 16 ++++++++-------- .../config/webpack.config.server.development.js | 17 +++++++++-------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/packages/treats/package.json b/packages/treats/package.json index b285b2e..8c5cda0 100644 --- a/packages/treats/package.json +++ b/packages/treats/package.json @@ -1,7 +1,7 @@ { "name": "treats", "license": "Apache-2.0", - "version": "0.4.2", + "version": "0.4.3", "description": "Tokopedia React Development Kits", "author": "Tokopedia Engineering", "types": "./lib/treats.d.ts", @@ -110,7 +110,7 @@ "react-hot-loader": "4.6.0", "react-intl": "2.7.2", "react-redux": "5.1.0", - "react-router-dom": "4.3.1", + "react-router-dom": "5.0.0", "react-universal-component": "3.0.3", "redux": "4.0.1", "redux-devtools-extension": "2.13.5", @@ -127,6 +127,7 @@ "webpack-dev-server": "3.1.11", "webpack-flush-chunks": "1.2.3", "webpack-merge": "4.1.4", + "webpack-node-externals": "1.7.2", "webpack-source-map-support": "2.0.1", "winston": "2.4.2", "workbox-webpack-plugin": "4.1.0", diff --git a/packages/treats/scripts/config/webpack.config.server.build.js b/packages/treats/scripts/config/webpack.config.server.build.js index 20fd1d1..24cef32 100644 --- a/packages/treats/scripts/config/webpack.config.server.build.js +++ b/packages/treats/scripts/config/webpack.config.server.build.js @@ -9,7 +9,8 @@ const webpack = require("webpack"), babelMerge = require("babel-merge"), webpackMerge = require("webpack-merge"), extractEnv = require("./util/extract-env"), - useTypescript = fs.pathExistsSync(path.resolve(process.cwd(), "./tsconfig.json")); + useTypescript = fs.pathExistsSync(path.resolve(process.cwd(), "./tsconfig.json")), + nodeExternals = require("webpack-node-externals"); module.exports = ({ alias, @@ -40,13 +41,12 @@ module.exports = ({ ...resolve, alias }, - externals: fs - .readdirSync("./node_modules") - .filter(x => !/\.bin|react-universal-component|webpack-flush-chunks|treats/.test(x)) - .reduce((externals, mod) => { - externals[mod] = `commonjs ${mod}`; - return externals; - }, {}), + externals: nodeExternals({ + whitelist: [ + /\.bin|react-universal-component|webpack-flush-chunks|treats/, + /babel-plugin-universal-import|react-universal-component/ + ] + }), node: { __dirname: false }, diff --git a/packages/treats/scripts/config/webpack.config.server.development.js b/packages/treats/scripts/config/webpack.config.server.development.js index 6a923e8..1f2db27 100644 --- a/packages/treats/scripts/config/webpack.config.server.development.js +++ b/packages/treats/scripts/config/webpack.config.server.development.js @@ -8,7 +8,8 @@ const webpack = require("webpack"), babelMerge = require("babel-merge"), webpackMerge = require("webpack-merge"), extractEnv = require("./util/extract-env"), - useTypescript = fs.pathExistsSync(path.resolve(process.cwd(), "./tsconfig.json")); + useTypescript = fs.pathExistsSync(path.resolve(process.cwd(), "./tsconfig.json")), + nodeExternals = require("webpack-node-externals"); module.exports = ({ alias, @@ -33,13 +34,13 @@ module.exports = ({ mode: "development", devtool: "cheap-eval-source-map", entry: ["webpack/hot/signal?1000", path.join(alias["@treats/server"], "./entry")], - externals: fs - .readdirSync("./node_modules") - .filter(x => !/\.bin|react-universal-component|webpack-flush-chunks|treats/.test(x)) - .reduce((externals, mod) => { - externals[mod] = `commonjs ${mod}`; - return externals; - }, {}), + externals: nodeExternals({ + whitelist: [ + /\.bin|react-universal-component|webpack-flush-chunks|treats/, + /babel-plugin-universal-import|react-universal-component/, + "webpack/hot/signal?1000" + ] + }), watch: true, resolve: { ...resolve,