webpack.config.js 905 B

1234567891011121314151617181920212223242526272829303132333435
  1. const path = require('path');
  2. module.exports = {
  3. entry: path.resolve(__dirname, 'src', 'frontend', 'index.tsx'),
  4. devtool: 'inline-source-map',
  5. module: {
  6. rules: [
  7. {
  8. test: /\.tsx?$/,
  9. use: 'ts-loader',
  10. exclude: /node_modules/,
  11. },
  12. ],
  13. },
  14. resolve: {
  15. extensions: ['.tsx', '.ts', '.js'],
  16. fallback: {
  17. util: path.resolve(__dirname, 'src', 'onion', 'mock_node_util.ts'),
  18. // The following are needed to make NodeJS' 'crypto' module work in the browser:
  19. // Should probably migrate to the SubtleCrypto Web API
  20. crypto: require.resolve('crypto-browserify'),
  21. stream: require.resolve('stream-browserify'),
  22. buffer: require.resolve('buffer'),
  23. },
  24. },
  25. output: {
  26. filename: 'bundle.js',
  27. path: path.resolve(__dirname, 'dist'),
  28. },
  29. devServer: {
  30. static: path.resolve(__dirname, 'dist'),
  31. port: 9000,
  32. },
  33. };