const path = require("path"); const webpack = require("webpack") const WebpackNotifierPlugin = require("webpack-notifier") const appPath = path.resolve(__dirname, "js"); const PATHS = { app: path.join(__dirname, "app"), dist: path.join(__dirname, "..", "app", "dist") }; module.exports = { entry: ["babel-polyfill", "./js/main.js"], output: { path: path.join(PATHS.dist, "js"), publicPath: "/js/", filename: "bundle.js", pathinfo: true }, cache: true, devtool: "eval", resolve: { modules: [appPath, "node_modules"], extensions: [".js", ".jsx", ".css"] }, plugins: [ new WebpackNotifierPlugin(), new webpack.DefinePlugin({ ENV: JSON.stringify("development"), }), new webpack.LoaderOptionsPlugin({ debug: true }) ], module: { rules: [ { test: /\.jsx?$/, enforce: "pre", loaders: ["eslint"], // define an include so we check just the files we need include: PATHS.app }, { test: /\.css$/, use: ["style-loader", "css-loader"] }, { test: /\.jsx?$/, exclude: /node_modules/, use: { loader: "babel-loader", options: { cacheDirectory: true, presets: [ "es2015", "react", "stage-2" ] } } } ] }, target: "electron-main", };