deemixer/server/webpack.config.js
2021-07-13 19:23:12 +01:00

49 lines
1.1 KiB
JavaScript

const path = require('path');
const webpack = require('webpack');
const NodemonPlugin = require('nodemon-webpack-plugin');
module.exports = (env) => {
const isProduction = !!env.production;
const config = {
mode: isProduction ? 'production' : 'development',
entry: './src/app.ts',
devtool: isProduction ? false : 'eval-source-map',
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/,
},
],
},
resolve: {
extensions: ['.tsx', '.ts', '.js']
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'app.js',
sourceMapFilename: '[file].map',
library: {
name: 'DeemixServer',
type: 'umd'
}
},
target: 'node',
plugins: [
new NodemonPlugin(),
new webpack.DefinePlugin({ "global.GENTLY": false }),
new webpack.ContextReplacementPlugin(
/[\/\\](express|keyv)[\/\\]/,
(data) => {
delete data.dependencies[0].critical;
return data;
},
),
new webpack.ContextReplacementPlugin(/yargs/),
],
}
return config
};