| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- const webpack = require('webpack')
- const { merge } = require('webpack-merge')
- const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin')
- const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin')
- const CopyPlugin = require('copy-webpack-plugin')
- const baseConfig = require('./webpack.base.config')
- module.exports = merge(baseConfig, {
- target: 'electron-main',
- entry: {
- main: './src/main/main.ts',
- preload: './src/main/preload.ts'
- },
- resolve: {
- plugins: [ new TsconfigPathsPlugin({}) ]
- },
- module: {
- rules: [
- {
- test: /\.tsx?$/,
- exclude: /node_modules/,
- loader: 'babel-loader',
- options: {
- cacheDirectory: true,
- babelrc: false,
- presets: [
- [
- '@babel/preset-env',
- { targets: 'maintained node versions' }
- ],
- '@babel/preset-typescript'
- ],
- plugins: [
- [ '@babel/plugin-proposal-decorators', { legacy: true } ],
- [ '@babel/plugin-proposal-class-properties', { loose: true } ]
- ]
- }
- }
- ]
- },
- plugins: [
- new ForkTsCheckerWebpackPlugin({
- //reportFiles: ['src/main/**/*']
- }),
- new webpack.DefinePlugin({
- 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development')
- }),
- new CopyPlugin({
- patterns: [
- { from: 'src/assets', to: 'assets' }
- ]
- })
- ]
- })
|