From e7e763435eff68efa97d45150547f15b9b0248fa Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 21 Dec 2024 21:22:27 +0200 Subject: [PATCH] feat(client): use shared config which also fixes production builds --- src/routes/assets.ts | 35 ++++++----------------------------- webpack.config.ts | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/src/routes/assets.ts b/src/routes/assets.ts index e6f5fd6c5..3b7c9ce9d 100644 --- a/src/routes/assets.ts +++ b/src/routes/assets.ts @@ -20,38 +20,15 @@ async function register(app: express.Application) { if (env.isDev()) { const webpack = (await import("webpack")).default; const webpackMiddleware = (await import("webpack-dev-middleware")).default; + const productionConfig = (await import("../../webpack.config.js")).default; const frontendCompiler = webpack({ mode: "development", - entry: { - setup: './src/public/app/setup.js', - mobile: './src/public/app/mobile.js', - desktop: './src/public/app/desktop.js', - }, - devtool: 'source-map', - target: 'electron-renderer', - module: { - rules: [ - { - test: /\.ts$/, - use: [{ - loader: 'ts-loader', - options: { - configFile: path.join(srcRoot, "..", "tsconfig.webpack.json") - } - }], - exclude: /node_modules/, - }, - ] - }, - resolve: { - extensions: ['.ts', '.js'], - extensionAlias: { - ".js": [".js", ".ts"], - ".cjs": [".cjs", ".cts"], - ".mjs": [".mjs", ".mts"] - } - } + entry: productionConfig.entry, + module: productionConfig.module, + resolve: productionConfig.resolve, + devtool: productionConfig.devtool, + target: productionConfig.target }); app.use(`/${assetPath}/app`, webpackMiddleware(frontendCompiler)); diff --git a/webpack.config.ts b/webpack.config.ts index 30293de06..9470d7a79 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -15,6 +15,28 @@ export default { path: path.resolve(rootDir, 'src/public/app-dist'), filename: '[name].js', }, + module: { + rules: [ + { + test: /\.ts$/, + use: [{ + loader: 'ts-loader', + options: { + configFile: path.join(rootDir, "tsconfig.webpack.json") + } + }], + exclude: /node_modules/, + }, + ] + }, + resolve: { + extensions: ['.ts', '.js'], + extensionAlias: { + ".js": [".js", ".ts"], + ".cjs": [".cjs", ".cts"], + ".mjs": [".mjs", ".mts"] + } + }, devtool: 'source-map', target: 'electron-renderer', };