webpack.config.cjs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. const path = require('path')
  2. const nodeExternals = require('webpack-node-externals')
  3. module.exports = {
  4. target: 'es2020',
  5. entry: {
  6. 'api/cli': './src/api/cli.ts',
  7. 'api/tauricon': './src/api/tauricon.ts',
  8. 'api/dependency-manager': './src/api/dependency-manager/index.ts',
  9. 'helpers/spawn': './src/helpers/spawn.ts',
  10. 'helpers/rust-cli': './src/helpers/rust-cli.ts',
  11. 'helpers/download-binary': './src/helpers/download-binary.ts'
  12. },
  13. mode: process.env.NODE_ENV || 'development',
  14. devtool: 'source-map',
  15. module: {
  16. rules: [
  17. {
  18. test: /\.tsx?$/,
  19. use: 'ts-loader',
  20. exclude: /node_modules/
  21. },
  22. {
  23. test: /\.toml?$/,
  24. use: 'toml-loader'
  25. }
  26. ]
  27. },
  28. node: false,
  29. resolve: {
  30. extensions: ['.ts', '.js']
  31. },
  32. output: {
  33. library: {
  34. type: 'module'
  35. },
  36. filename: '[name].js',
  37. path: path.resolve(__dirname, 'dist'),
  38. globalObject: 'this'
  39. },
  40. experiments: {
  41. outputModule: true
  42. },
  43. externals: [
  44. nodeExternals({
  45. importType: 'module'
  46. })
  47. ],
  48. externalsPresets: { node: true }
  49. }