const webpack = require('webpack'); const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin'); const CopyPlugin = require("copy-webpack-plugin"); const isDevServer = process.env.WEBPACK_SERVE; console.log("Dev server is " + isDevServer); var host; if (isDevServer){ host = 'http://192.168.1.172'; } else { host = ''; } module.exports = { mode: "development", entry: ['./src/main.ts'], devtool: 'inline-source-map', plugins: [ new webpack.DefinePlugin({ PUBLIC_URL: JSON.stringify(host), }), new webpack.EnvironmentPlugin({ redirect: 'true' }), new HtmlWebpackPlugin({ alwaysWriteToDisk: true, title: "PlantCtrl", }), new HtmlWebpackHarddiskPlugin(), new CopyPlugin({ patterns: [ { from: "public/bootstrap-grid.css", to: "bootstrap-grid.css", } ], }), ], module: { rules: [ { test: /\.html$/, type: 'asset/source', }, { test: /\.tsx?$/, use: 'ts-loader', exclude: /node_modules/, } ] }, resolve: { extensions: ['.tsx', '.ts', '.js', '.html'], }, output: { filename: 'bundle.js', path: path.resolve(__dirname, '../src/webserver'), }, devServer: { } };