webpack.config.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. const path = require("path");
  2. const MiniCssExtractPlugin = require("mini-css-extract-plugin");
  3. const babylonWebpackConfig = require('../Tools/WebpackPlugins/babylonWebpackConfig');
  4. var config = babylonWebpackConfig({
  5. module: "sandbox",
  6. entry: "./legacy/legacy.ts",
  7. output: {
  8. globalObject: '(typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this)',
  9. filename: "babylon.sandbox.js",
  10. path: path.resolve(__dirname, "public/dist"),
  11. publicPath: "./dist/",
  12. libraryTarget: 'umd',
  13. library: {
  14. root: ["SANDBOX"],
  15. },
  16. umdNamedDefine: true
  17. },
  18. resolve: {
  19. extensions: [".js", '.ts', ".tsx"],
  20. },
  21. moduleRules: [
  22. {
  23. test: /\.scss$/,
  24. use: [
  25. // fallback to style-loader in development
  26. process.env.NODE_ENV !== 'production' ? 'style-loader' : MiniCssExtractPlugin.loader,
  27. "css-loader",
  28. "sass-loader"
  29. ]
  30. },
  31. {
  32. test: /\.css$/,
  33. use: ['style-loader', 'css-loader']
  34. },
  35. {
  36. test: /\.svg$/,
  37. use: [
  38. {
  39. loader: 'svg-url-loader',
  40. options: {
  41. limit: 10000,
  42. },
  43. },
  44. ],
  45. }
  46. ],
  47. plugins: [
  48. new MiniCssExtractPlugin({
  49. // Options similar to the same options in webpackOptions.output
  50. // both options are optional
  51. filename: "[name].css",
  52. chunkFilename: "[id].css"
  53. })
  54. ]
  55. });
  56. module.exports = config;