const path = require ( 'path' ) ; const commonConfig = { output : { path : path . resolve ( __dirname , 'build' ) , filename : '[name].js' } , module : { rules : [ { test : /\.tsx?$/ , enforce : 'pre' , use : [ { loader : 'tslint-loader' , options : { typeCheck : false , emitErrors : true , configFile : 'tslint.json' } } ] } , { test : /\.tsx?$/ , loader : [ 'babel-loader' , 'ts-loader' ] } , { test : /\.js$/ , enforce : 'pre' , loader : 'standard-loader' , options : { typeCheck : true , emitErrors : true } } , { test : /\.jsx?$/ , loader : 'babel-loader' } , { test : /\.css$/ , use : [ 'style-loader' , 'css-loader' ] } ] } , resolve : { extensions : [ '.js' , '.ts' , '.tsx' , '.jsx' , '.json' ] } , node : { __dirname : false } } ; const HtmlWebpackPlugin = require ( 'html-webpack-plugin' ) ; module . exports = [ Object . assign ( { target : 'electron-main' , entry : { main : './src/main/index.ts' } } , commonConfig ) , Object . assign ( { target : 'electron-renderer' , entry : { gui : './src/gui/index.tsx' } , plugins : [ new HtmlWebpackPlugin ( { template : 'src/gui/index.html' } ) ] } , commonConfig ) ] ;