Browse Source

start upgrading toolchain, doesn't build yet

lawl 4 years ago
parent
commit
e2aef6b052
2 changed files with 46 additions and 60 deletions
  1. 19 10
      package.json
  2. 27 50
      webpack.config.js

+ 19 - 10
package.json

@@ -15,23 +15,25 @@
     "dist"
   ],
   "devDependencies": {
-    "audio-buffer-utils": "^3.1.2",
+    "@babel/core": "^7.7.7",
+    "@babel/preset-env": "^7.7.7",
+    "audio-buffer-utils": "^5.1.2",
     "audio-context": "^1.0.3",
     "babel-core": "^6.18.2",
-    "babel-loader": "^6.2.8",
+    "babel-loader": "^8.0.6",
     "babel-plugin-transform-runtime": "^6.15.0",
     "babel-preset-es2015": "^6.14.0",
     "babel-runtime": "^6.18.0",
-    "brfs": "^1.4.3",
+    "brfs": "^2.0.2",
     "bytebuffer": "^5.0.1",
-    "css-loader": "^0.26.0",
+    "css-loader": "^3.4.0",
     "dompurify": "^0.8.9",
     "drop-stream": "^1.0.0",
     "duplex-maker": "^1.0.0",
-    "extract-loader": "^0.1.0",
-    "file-loader": "^0.9.0",
+    "extract-loader": "^3.1.0",
+    "file-loader": "^4.3.0",
     "getusermedia": "^2.0.0",
-    "html-loader": "^0.4.4",
+    "html-loader": "^0.5.5",
     "json-loader": "^0.5.4",
     "keyboardjs": "^2.3.4",
     "knockout": "^3.4.0",
@@ -46,12 +48,19 @@
     "to-arraybuffer": "^1.0.1",
     "transform-loader": "^0.2.3",
     "voice-activity-detection": "johni0702/voice-activity-detection#9f8bd90",
-    "webpack": "^1.13.3",
-    "webworkify-webpack": "^1.1.8",
+    "webpack": "^4.41.4",
+    "webpack-cli": "^3.3.10",
+    "webworkify-webpack": "^2.1.5",
     "libsamplerate.js": "^1.0.0",
     "mumble-client-codecs-browser": "^1.2.0",
     "mumble-client-websocket": "^1.0.0",
     "mumble-client": "^1.3.0",
     "web-audio-buffer-queue": "^1.1.0"
-  }
+  },
+  "dependencies": {
+    "@babel/plugin-transform-runtime": "^7.7.6",
+    "@babel/runtime": "^7.7.7",
+    "fs": "0.0.1-security"
+  },
+  "optionalDependencies": {}
 }

+ 27 - 50
webpack.config.js

@@ -1,70 +1,53 @@
-var theme = 'MetroMumbleLight'
-
-var path = require('path')
+var path = require('path');
 
 module.exports = {
+  mode: 'development',
   entry: {
     index: [
       './app/index.js',
       './app/index.html'
     ],
-    config: './app/config.js',
-    theme: './app/theme.js',
-    matrix: './app/matrix.js'
+    config: './app/config.js'
   },
   output: {
-    filename: '[name].js',
-    path: './dist'
+    path: path.join(__dirname, 'dist'),
+    filename: '[name].js'
   },
   module: {
-    postLoaders: [
-      {
-        include: /mumble-streams\/lib\/data.js/,
-        loader: 'transform-loader?brfs'
-      }
-    ],
-    loaders: [
+    rules: [
       {
         test: /\.js$/,
         exclude: /node_modules/,
-        loader: 'babel-loader',
-        query: {
-          presets: ['es2015'],
-          plugins: ['transform-runtime']
+        use: {
+          loader: 'babel-loader',
+          options: {
+            presets: ['@babel/preset-env'],
+            plugins: ['@babel/plugin-transform-runtime']
+          }
         }
       },
       {
         test: /\.html$/,
-        loaders: [
+        use: [
           'file-loader?name=[name].[ext]',
           'extract-loader',
           'html-loader?' + JSON.stringify({
             attrs: ['img:src', 'link:href'],
-            interpolate: 'require',
-            root: theme
+            interpolate: 'require'
           })
         ]
       },
       {
         test: /\.css$/,
-        loaders: [
+        use: [
           'file-loader',
           'extract-loader',
           'css-loader'
         ]
       },
       {
-        test: /\.scss$/,
-        loaders: [
-          'file-loader?name=[hash].css',
-          'extract-loader',
-          'css-loader',
-          'sass-loader'
-        ]
-      },
-      {
         test: /manifest\.json$|\.xml$/,
-        loaders: [
+        use: [
           'file-loader',
           'extract-loader',
           'regexp-replace-loader?' + JSON.stringify({
@@ -78,30 +61,24 @@ module.exports = {
         ]
       },
       {
-        test: /\.json$/,
-        exclude: /manifest\.json$/,
-        loader: 'json-loader'
+        test: /\.(svg|png|ico)$/,
+        use: [
+          'file-loader'
+        ]
       },
       {
-        test: /\.(svg|png|ico)$/,
-        loader: 'file-loader'
+        enforce: 'post',
+        test: /mumble-streams\/lib\/data.js/,
+        use: [
+          'transform-loader?brfs'
+        ]
       }
     ]
   },
   resolve: {
     alias: {
       webworkify: 'webworkify-webpack'
-    },
-    root: [
-      path.resolve('./themes/')
-    ]
-  },
-  includes: {
-    pattern: function (filepath) {
-      return {
-        re: /#require\((.+)\)/,
-        index: 1
-      }
     }
-  }
+  },
+  target: 'web'
 }