webpack.config.js 2.0 KB

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