webpack.config.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
  4. module.exports = {
  5. context: path.resolve(__dirname, './src'),
  6. entry: {
  7. 'babylonjs-procedural-textures': path.resolve(__dirname, './legacy/legacy.ts'),
  8. },
  9. output: {
  10. path: path.resolve(__dirname, '../dist/preview release/gui'),
  11. filename: 'babylonjs.proceduralTextures.min.js',
  12. libraryTarget: 'umd',
  13. library: {
  14. root: ["PTLIB"],
  15. amd: "babylonjs-procedural-textures",
  16. commonjs: "babylonjs-procedural-textures"
  17. },
  18. umdNamedDefine: true,
  19. //devtoolModuleFilenameTemplate: "[absolute-resource-path]"
  20. },
  21. resolve: {
  22. extensions: [".js", '.ts']
  23. },
  24. externals: [
  25. {
  26. babylonjs: {
  27. root: "BABYLON",
  28. commonjs: "babylonjs",
  29. commonjs2: "babylonjs",
  30. amd: "babylonjs"
  31. }
  32. },
  33. /^babylonjs.*$/i
  34. ],
  35. devtool: "source-map",
  36. module: {
  37. rules: [{
  38. test: /\.tsx?$/,
  39. loader: 'awesome-typescript-loader',
  40. options: {
  41. configFileName: '../../proceduralTexturesLibrary/tsconfig.json',
  42. declaration: false
  43. }
  44. }]
  45. },
  46. mode: "production",
  47. devServer: {
  48. contentBase: path.join(__dirname, "dist"),
  49. compress: false,
  50. //open: true,
  51. port: 9000
  52. },
  53. plugins: [
  54. new HardSourceWebpackPlugin(),
  55. new webpack.WatchIgnorePlugin([
  56. /\.js$/,
  57. /\.d\.ts$/,
  58. /\.fx$/
  59. ])
  60. ],
  61. watchOptions: {
  62. ignored: [path.resolve(__dirname, './dist/**/*.*'), 'node_modules']
  63. }
  64. }