58 lines
1.2 KiB
JavaScript
58 lines
1.2 KiB
JavaScript
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
|
|
import ESLintWebpackPlugin from 'eslint-webpack-plugin';
|
|
import HtmlWebpackPlugin from 'html-webpack-plugin';
|
|
import path from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
import webpack from 'webpack';
|
|
|
|
const ROOT = fileURLToPath(new URL('..', import.meta.url));
|
|
const PORT = 3000;
|
|
|
|
export default {
|
|
cache: true,
|
|
|
|
devServer: {
|
|
host: 'localhost',
|
|
port: PORT,
|
|
},
|
|
|
|
devtool: 'source-map',
|
|
|
|
entry: [path.resolve(ROOT, 'DEV_ONLY', 'index.tsx')],
|
|
|
|
mode: 'development',
|
|
|
|
module: {
|
|
rules: [
|
|
{
|
|
include: [path.resolve(ROOT, 'src'), path.resolve(ROOT, 'DEV_ONLY')],
|
|
loader: 'ts-loader',
|
|
options: {
|
|
reportFiles: ['src/*.{ts|tsx}'],
|
|
},
|
|
test: /\.(ts|tsx)$/,
|
|
},
|
|
],
|
|
},
|
|
|
|
output: {
|
|
filename: 'fast-equals.js',
|
|
library: 'fastEquals',
|
|
libraryTarget: 'umd',
|
|
path: path.resolve(ROOT, 'dist'),
|
|
publicPath: `http://localhost:${PORT}/`,
|
|
umdNamedDefine: true,
|
|
},
|
|
|
|
plugins: [
|
|
new ESLintWebpackPlugin(),
|
|
new webpack.EnvironmentPlugin(['NODE_ENV']),
|
|
new HtmlWebpackPlugin(),
|
|
],
|
|
|
|
resolve: {
|
|
extensions: ['.tsx', '.ts', '.js'],
|
|
},
|
|
};
|