Files
trezor-suite/packages/connect-web/webpack/dev.webpack.config.ts
2025-03-18 11:59:21 +01:00

48 lines
1.6 KiB
TypeScript

import fs from 'fs';
import path from 'path';
import { merge } from 'webpack-merge';
import { WebpackPluginServe } from 'webpack-plugin-serve';
// todo: https://github.com/trezor/trezor-suite/issues/5305
import prod from './prod.webpack.config';
import iframe from '../../connect-iframe/webpack/iframe.webpack.config';
import popup from '../../connect-popup/webpack/prod.webpack.config';
// todo: https://github.com/trezor/trezor-suite/issues/5305
const dev = {
mode: 'development',
watch: true,
devtool: 'eval-source-map',
entry: {
'trezor-connect': path.resolve(__dirname, '../src/index.ts'),
},
output: {
filename: 'js/[name].js',
path: path.resolve(__dirname, '../build'),
publicPath: './',
library: 'TrezorConnect',
libraryTarget: 'umd',
libraryExport: 'default',
},
plugins: [
new WebpackPluginServe({
port: process.env.PORT ? parseInt(process.env.PORT) : 8088,
hmr: true,
https:
process.env.NO_HTTPS === 'true'
? undefined
: {
key: fs.readFileSync(path.join(__dirname, '../webpack/connect_dev.key')),
cert: fs.readFileSync(path.join(__dirname, '../webpack/connect_dev.crt')),
},
static: [
path.join(__dirname, '../build'),
path.join(__dirname, '../../connect-popup/build'),
path.join(__dirname, '../../connect-iframe/build'),
],
}),
],
};
export default merge([iframe, popup, prod, dev]);