webpack.config.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  2. const {version} = require('./package.json');
  3. const webpack = require('webpack');
  4. module.exports = {
  5. entry: {
  6. 'dist/pickr.es5.min': './src/js/pickr.js',
  7. 'dist/themes/classic.min': './src/scss/themes/classic.scss',
  8. 'dist/themes/nano.min': './src/scss/themes/nano.scss',
  9. 'dist/themes/monolith.min': './src/scss/themes/monolith.scss'
  10. },
  11. output: {
  12. filename: '[name].js',
  13. library: {
  14. type: 'umd',
  15. name: 'Pickr',
  16. export: 'default',
  17. umdNamedDefine: true
  18. }
  19. },
  20. devServer: {
  21. static: '.',
  22. host: '0.0.0.0',
  23. port: 3006
  24. },
  25. module: {
  26. rules: [
  27. {
  28. test: /\.js$/,
  29. use: 'babel-loader'
  30. },
  31. {
  32. test: /\.scss$/,
  33. use: [
  34. MiniCssExtractPlugin.loader,
  35. 'css-loader',
  36. 'sass-loader'
  37. ]
  38. }
  39. ]
  40. },
  41. plugins: [
  42. new MiniCssExtractPlugin({
  43. filename: '[name].css'
  44. }),
  45. new webpack.DefinePlugin({
  46. VERSION: JSON.stringify(version)
  47. })
  48. ]
  49. };