webpack.config.js 1.1 KB

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