| const path = require('path'); |
| const webpack = require('webpack'); |
|
|
| module.exports = { |
| mode: 'development', |
| entry: './src/index.js', |
| output: { |
| path: path.resolve(__dirname, 'dist'), |
| filename: 'bundle.js', |
| library: 'KetcherBundle', |
| libraryTarget: 'umd', |
| globalObject: 'this', |
| }, |
| module: { |
| rules: [ |
| { |
| test: /\.js$/, |
| exclude: /node_modules/, |
| use: { |
| loader: 'babel-loader', |
| options: { |
| presets: ['@babel/preset-env'], |
| plugins: ['@babel/plugin-transform-runtime'], |
| }, |
| }, |
| }, |
| { |
| test: /\.wasm$/, |
| type: 'javascript/auto', |
| loader: 'file-loader', |
| options: { |
| name: '[name].[hash].wasm', |
| outputPath: 'binaryWasm/', |
| }, |
| }, |
| ], |
| }, |
| resolve: { |
| fallback: { |
| path: require.resolve('path-browserify'), |
| buffer: require.resolve('buffer/'), |
| process: require.resolve('process/browser'), |
| fs: false, |
| }, |
| }, |
| plugins: [ |
| new webpack.ProvidePlugin({ |
| Buffer: ['buffer', 'Buffer'], |
| process: 'process/browser', |
| }), |
| ], |
| experiments: { |
| asyncWebAssembly: true, |
| }, |
| }; |
|
|