Files
nym/nym-wallet/webpack.dev.js
T
Mark Sinclair 8575a72a22 Update Nym wallet dependencies to use ts-packages (#1144)
* Use shared ts-packages in wallet

* Add eslint rules

* Formatting: run eslint --fix on all files

* Formatting: fix linting errors for dependencies

* linting fixes

* fix sign in pages

* fix breaking change

* fix ts errors

fix ts and es errors

* Fix up typings for image and json modules
Add tsconfig for eslint to process webpack config

* Use shared webpack config

* Use shared logo component

* Remove unused images

* Allow html path to be passed as an argument in shared webpack config

* Fix up webpack config for html template

* Build shared ts-packages before starting dev mode

* Fix webpack config

* use shared logo component

Co-authored-by: fmtabbara <fmtabbara@hotmail.co.uk>
Co-authored-by: mmsinclair <mmsinclair@users.noreply.github.com>
2022-03-11 11:41:17 +00:00

67 lines
1.6 KiB
JavaScript

const { mergeWithRules } = require('webpack-merge');
const webpack = require('webpack');
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
const ReactRefreshTypeScript = require('react-refresh-typescript');
const commonConfig = require('./webpack.common');
module.exports = mergeWithRules({
module: {
rules: {
test: 'match',
use: 'replace',
},
},
})(commonConfig, {
mode: 'development',
devtool: 'inline-source-map',
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/,
options: {
getCustomTransformers: () => ({
before: [ReactRefreshTypeScript()],
}),
// `ts-loader` does not work with HMR unless `transpileOnly` is used.
// If you need type checking, `ForkTsCheckerWebpackPlugin` is an alternative.
transpileOnly: true,
},
},
],
},
plugins: [
new ReactRefreshWebpackPlugin(),
// this can be included automatically by the dev server, however build mode fails if missing
new webpack.HotModuleReplacementPlugin(),
],
// recommended for faster rebuild
optimization: {
runtimeChunk: true,
removeAvailableModules: false,
removeEmptyChunks: false,
splitChunks: false,
},
cache: {
type: 'filesystem',
buildDependencies: {
// restart on config change
config: ['./webpack.dev.js'],
},
},
devServer: {
port: 9000,
compress: true,
historyApiFallback: true,
hot: true,
client: {
overlay: false,
},
},
});