aboutsummaryrefslogtreecommitdiff
path: root/webpack.config.js
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2020-04-12 23:37:30 -0700
committerSam Wilkins <samwilkins333@gmail.com>2020-04-12 23:37:30 -0700
commitcfe2272c7f9a63edd449b460b31f0c45a77a07ca (patch)
tree0e357ff2b989c548669dbdb233b4bf640fad6588 /webpack.config.js
parent8143af6ed24b4d3b02e8be306e1dd6fba1e206ce (diff)
fixed edge case that caused npm crash on start if no .env file
Diffstat (limited to 'webpack.config.js')
-rw-r--r--webpack.config.js44
1 files changed, 24 insertions, 20 deletions
diff --git a/webpack.config.js b/webpack.config.js
index 655334ef2..9225093be 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -2,14 +2,30 @@ var path = require('path');
var webpack = require('webpack');
const CopyWebpackPlugin = require("copy-webpack-plugin");
const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin");
+
+const plugins = [
+ new CopyWebpackPlugin([{
+ from: "deploy",
+ to: path.join(__dirname, "build")
+ }]),
+ new ForkTsCheckerWebpackPlugin({
+ tslint: true,
+ useTypescriptIncrementalApi: true
+ }),
+ new webpack.optimize.OccurrenceOrderPlugin(),
+ new webpack.HotModuleReplacementPlugin(),
+];
+
const env = require('dotenv').config().parsed;
-const envKeys = Object.keys(env).reduce((prev, next) => {
- if (next.startsWith("DASH_")) {
- const resolved = next.replace("DASH_", "");
- prev[`process.env.${resolved}`] = JSON.stringify(env[next]);
- }
- return prev;
-}, {});
+if (env) {
+ plugins.push(new webpack.DefinePlugin(Object.keys(env).reduce((prev, next) => {
+ if (next.startsWith("DASH_")) {
+ const resolved = next.replace("DASH_", "");
+ prev[`process.env.${resolved}`] = JSON.stringify(env[next]);
+ }
+ return prev;
+ }, {})));
+}
module.exports = {
mode: 'development',
@@ -80,19 +96,7 @@ module.exports = {
}
]
},
- plugins: [
- new CopyWebpackPlugin([{
- from: "deploy",
- to: path.join(__dirname, "build")
- }]),
- new webpack.DefinePlugin(envKeys),
- new ForkTsCheckerWebpackPlugin({
- tslint: true,
- useTypescriptIncrementalApi: true
- }),
- new webpack.optimize.OccurrenceOrderPlugin(),
- new webpack.HotModuleReplacementPlugin(),
- ],
+ plugins,
devServer: {
compress: false,
host: "localhost",