farpatch-ui/webpack.config.ts

54 lines
1.4 KiB
TypeScript

const path = require('path');
const CopyPlugin = require("copy-webpack-plugin");
const OUTPUT = "build";
import { installMiddlewares } from './mock/webpack.farpatch';
module.exports = {
mode: 'development',
entry: path.resolve(__dirname, './src/index.ts'),
plugins: [
new CopyPlugin({
patterns: [
{ from: "static", to: path.resolve(__dirname, OUTPUT) },
{ from: "node_modules/xterm/css/xterm.css", to: path.resolve(__dirname, OUTPUT, 'css') }
],
}),
],
performance: {
maxAssetSize: 512000
},
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/,
},
],
},
resolve: {
extensions: ['.ts', '.js'],
},
output: {
filename: 'main.js',
path: path.resolve(__dirname, OUTPUT),
},
devServer: {
allowedHosts: 'all',
static: {
directory: path.resolve(__dirname, OUTPUT),
},
compress: true,
port: 9000,
setupMiddlewares: (middlewares: any, devServer: any) => {
if (!devServer) {
throw new Error('webpack-dev-server is not defined');
}
installMiddlewares(devServer.app);
return middlewares;
}
},
};