diff --git a/Dockerfile b/Dockerfile
index bd5aeb220bd1abf3b8d51a88920b3677775a9b98..624571ae1e194f30abdd90e8888b321b44cbb539 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -16,6 +16,9 @@ USER node
 COPY package*.json ./
 COPY webpack*.js ./
 
+# Babel 7 presets and plugins
+COPY .babelrc ./
+
 # Bundle app source
 COPY src ./src
 
diff --git a/package.json b/package.json
index 60ab6601f8c68efc22163b17f4c6cfa6d374560e..d02c279d21d13eca2c6f9ab4d7eabe5b84c31462 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
     "client": "webpack-dev-server --config webpack.client.dev.js",
     "server": "nodemon src/server/index.js --exec babel-node",
     "build-client": "webpack --progress --config webpack.client.prod.js",
-    "build-server": "babel --no-babelrc --presets=es2015 src/server --out-dir ./dist/server",
+    "build-server": "babel src/server --out-dir ./dist/server",
     "serve": "NODE_ENV=production node dist/server/index.js",
     "test": "jest --watch"
   },
diff --git a/webpack.client.common.js b/webpack.client.common.js
index eb98e3839aa9f1753971a5b6a38326e925b87b58..ba4ef89cc9f7a57978a4495c1fd6fa035e998104 100644
--- a/webpack.client.common.js
+++ b/webpack.client.common.js
@@ -30,7 +30,7 @@ module.exports = {
   module: {
     rules: [
       {
-        test: /\.js$/,
+        test: /\.m?js$/,
         exclude: /node_modules/,
         use: ['babel-loader']
       },