mirror of
https://github.com/tsl0922/ttyd.git
synced 2025-12-21 11:24:20 +01:00
47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
|
const devMode = process.env.NODE_ENV !== 'production';
|
|
|
|
module.exports = {
|
|
entry: {
|
|
app: './js/app.ts'
|
|
},
|
|
output: {
|
|
path: __dirname + '/dist',
|
|
filename: devMode ? '[name].js' : '[name].[hash].js',
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.tsx?$/,
|
|
use: 'ts-loader',
|
|
exclude: /node_modules/
|
|
},
|
|
{
|
|
test: /\.s?[ac]ss$/,
|
|
use: [
|
|
devMode ? 'style-loader' : MiniCssExtractPlugin.loader,
|
|
'css-loader',
|
|
'sass-loader',
|
|
],
|
|
},
|
|
]
|
|
},
|
|
resolve: {
|
|
extensions: [ '.tsx', '.ts', '.js' ]
|
|
},
|
|
plugins: [
|
|
new CopyWebpackPlugin([
|
|
{ from: 'favicon.png', to: '.' }
|
|
], {}),
|
|
new MiniCssExtractPlugin({
|
|
filename: devMode ? '[name].css' : '[name].[hash].css',
|
|
chunkFilename: devMode ? '[id].css' : '[id].[hash].css',
|
|
})
|
|
],
|
|
performance : {
|
|
hints : false
|
|
},
|
|
devtool: 'source-map',
|
|
};
|