diff --git a/web/package.json b/web/package.json --- a/web/package.json +++ b/web/package.json @@ -65,6 +65,7 @@ "isomorphic-fetch": "^3.0.0", "lib": "0.0.1", "lodash": "^4.17.21", + "@matrix-org/olm": "3.2.4", "react": "18.1.0", "react-circular-progressbar": "^2.0.2", "react-color": "^2.13.0", diff --git a/web/webpack.config.cjs b/web/webpack.config.cjs --- a/web/webpack.config.cjs +++ b/web/webpack.config.cjs @@ -1,4 +1,5 @@ const AssetsPlugin = require('assets-webpack-plugin'); +const CopyPlugin = require('copy-webpack-plugin'); const path = require('path'); const { @@ -10,6 +11,16 @@ const babelConfig = require('./babel.config.cjs'); const baseBrowserConfig = { + plugins: [ + new CopyPlugin({ + patterns: [ + { + from: 'node_modules/@matrix-org/olm/olm.wasm', + to: path.join(__dirname, 'dist'), + }, + ], + }), + ], entry: { browser: ['./script.js'], }, @@ -22,6 +33,9 @@ '../images': path.resolve('../keyserver/images'), }, }, + node: { + fs: 'empty', + }, }; const baseDevBrowserConfig = { @@ -45,6 +59,7 @@ const baseProdBrowserConfig = { ...baseBrowserConfig, plugins: [ + ...baseBrowserConfig.plugins, new AssetsPlugin({ filename: 'assets.json', path: path.join(__dirname, 'dist'),