const path = require('path'); const TerserPlugin = require('terser-webpack-plugin'); const frontendConf = { mode: 'production', target: "web", entry: path.resolve(__dirname, 'Client.ts'), output: { path: path.resolve(__dirname, '../lib'), filename: 'Frontend.js', libraryTarget: 'commonjs', }, module: { rules: [ { test: /\.ts?$/, loader: "ts-loader" } ] }, resolve: { extensions: [".ts", ".tsx", ".js"] }, optimization: { minimize: true, minimizer: [ new TerserPlugin({ parallel: true, exclude: [ /\.\/(.*)\/.ts/, /\.\/(.*).ts/, ], }), ], }, } const backendConf = { mode: 'production', target: "node", entry: path.resolve(__dirname, 'Server.ts'), output: { path: path.resolve(__dirname, '../lib'), filename: 'Backend.js', libraryTarget: 'commonjs', }, module: { rules: [ { test: /\.ts?$/, loader: "ts-loader" } ] }, resolve: { extensions: [".ts", ".tsx", ".js"] }, optimization: { minimize: true, minimizer: [ new TerserPlugin({ parallel: true, exclude: [ /\.\/(.*)\/.ts/, /\.\/(.*).ts/, ], }), ], }, } module.exports = [frontendConf, backendConf]