add redux setup and typescript configuration
Change-Id: Ibe00e3e969d539d3898e412a0093ee2076bec857
diff --git a/client/webpack.config.js b/client/webpack.config.js
index 022b823..7da8fb5 100644
--- a/client/webpack.config.js
+++ b/client/webpack.config.js
@@ -36,44 +36,62 @@
export default {
entry,
output: {
- path: resolve(__dirname, 'dist'),
- filename: 'bundle.js',
- publicPath: '/'
+ path: resolve(__dirname, "dist"),
+ filename: "bundle.js",
+ publicPath: "/",
},
devtool,
mode,
module: {
rules: [
{
- test: /\.jsx?/,
+ // test: /\.jsx?/,
+ test: /\.(js|jsx|ts|tsx)?$/,
resolve: {
- fullySpecified: false
+ fullySpecified: false,
},
exclude: /node_modules/,
use: {
- loader: 'babel-loader',
+ loader: "babel-loader",
options: {
plugins: babelLoaderPlugins,
presets: [
- ['@babel/preset-env', {
- useBuiltIns: 'entry',
- corejs: { version: '3.10', proposals: true },
- }],
- ['@babel/preset-react', {
- runtime: 'automatic'
- }]]
- }
- }
+ [
+ "@babel/preset-env",
+ {
+ useBuiltIns: "entry",
+ corejs: { version: "3.10", proposals: true },
+ },
+ ],
+ [
+ "@babel/preset-react",
+ {
+ runtime: "automatic",
+ },
+ ],
+ ],
+ },
+ },
},
{
test: /\.s[ac]ss$/i,
- use: ['style-loader', 'css-loader', 'sass-loader'],
+ use: ["style-loader", "css-loader", "sass-loader"],
},
{
test: /\.svg$/,
- use: ['@svgr/webpack']
- }
- ]
+ use: ["@svgr/webpack"],
+ },
+ {
+ // test: /\.tsx?$/,
+ test: /\.(js|jsx|ts|tsx)?$/,
+ exclude: /node_modules/,
+ loader: "ts-loader",
+ },
+ ],
},
- plugins
-}
\ No newline at end of file
+ resolve: {
+ modules: ["node_modules", resolve(__dirname)],
+ extensions: [".ts", ".tsx", ".js", ".jsx"],
+ },
+ plugins,
+};
\ No newline at end of file