webpack.config.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. const DtsBundleWebpack = require('dts-bundle-webpack');
  4. const CleanWebpackPlugin = require('clean-webpack-plugin');
  5. module.exports = {
  6. context: __dirname,
  7. entry: {
  8. 'babylonjs-postProcessesLibrary': path.resolve(__dirname, './legacy/legacy.ts'),
  9. },
  10. output: {
  11. path: path.resolve(__dirname, '../dist/preview release/postProcessLibrary'),
  12. filename: 'babylonjs.postProcess.min.js',
  13. libraryTarget: 'umd',
  14. library: {
  15. root: ["PPLIB"],
  16. amd: "babylonjs-postProcessesLibrary",
  17. commonjs: "babylonjs-postProcessesLibrary"
  18. },
  19. umdNamedDefine: true
  20. },
  21. resolve: {
  22. extensions: [".js", '.ts']
  23. },
  24. externals: {
  25. babylonjs: {
  26. root: "BABYLON",
  27. commonjs: "babylonjs",
  28. commonjs2: "babylonjs",
  29. amd: "babylonjs"
  30. }
  31. },
  32. devtool: "source-map",
  33. module: {
  34. rules: [{
  35. test: /\.tsx?$/,
  36. loader: 'awesome-typescript-loader',
  37. options: {
  38. configFileName: '../../postProcessLibrary/tsconfig.json',
  39. declarationDir: '../../dist/preview release/postProcessesLibrary/build'
  40. }
  41. }]
  42. },
  43. mode: "production",
  44. devServer: {
  45. contentBase: path.join(__dirname, "dist"),
  46. compress: false,
  47. //open: true,
  48. port: 9000
  49. },
  50. plugins: [
  51. new CleanWebpackPlugin([
  52. path.resolve(__dirname, './src/**/*.js'),
  53. path.resolve(__dirname, './src/**/*.map')
  54. ]),
  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. }