webpack.config.js 2.0 KB

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