import { resolve } from 'path' import { Configuration } from 'webpack' import HtmlWebpackPlugin from 'html-webpack-plugin' import MiniCssExtractPlugin from 'mini-css-extract-plugin' const config: Configuration = { mode: 'development', devtool: 'eval-source-map', entry: { app: resolve(__dirname, './index.tsx'), }, output: { path: resolve(__dirname, '../../../../dist/apps/text-app/'), filename: '[name].js', }, optimization: { splitChunks: { chunks: 'all', }, }, resolve: { extensions: ['.ts', '.tsx', '.js'], }, module: { rules: [ { test: /\.ts(x?)$/, exclude: /node_modules/, use: 'ts-loader', }, { test: /\.scss$/, use: [ MiniCssExtractPlugin.loader, 'css-loader', { loader: 'sass-loader', options: { sourceMap: true, }, }, ], }, ], }, plugins: [ new HtmlWebpackPlugin({ title: 'Text App', hash: true, template: resolve(__dirname, './index.ejs'), filename: 'composer.html', }), new MiniCssExtractPlugin({ filename: '[name].css', }), ], } export default config