Return styles to browser defaults.

webpack.config.js 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. const ExtractTextPlugin = require('extract-text-webpack-plugin');
  4. module.exports = {
  5. entry: {
  6. default: path.resolve(__dirname, 'default.css'),
  7. example: path.resolve(__dirname, 'example/example.scss')
  8. },
  9. output: {
  10. filename: '[name].min.js',
  11. path: path.resolve(__dirname, 'dist'),
  12. },
  13. devtool: 'source-map',
  14. module: {
  15. rules: [
  16. {
  17. test: /(.scss|.css)$/,
  18. use: ExtractTextPlugin.extract({
  19. fallback: 'style-loader',
  20. use: [
  21. {
  22. loader: 'css-loader',
  23. options: {
  24. sourceMap: true,
  25. minimize: true,
  26. importLoaders: 1,
  27. },
  28. },
  29. {
  30. loader: 'postcss-loader',
  31. options: {
  32. sourceMap: true,
  33. ident: 'postcss',
  34. plugins: () => [
  35. /* eslint-disable global-require */
  36. require('autoprefixer'),
  37. require('./matches-prefixer.js'),
  38. require('postcss-initial')(),
  39. require('postcss-prepend-selector')({ selector: '#embedded.embedded ' }),
  40. /* eslint-enable global-require */
  41. ],
  42. },
  43. },
  44. {
  45. loader: 'sass-loader',
  46. options: {
  47. sourceMap: true,
  48. includePaths: [
  49. path.join(__dirname),
  50. path.join(__dirname, 'node_modules'),
  51. ],
  52. },
  53. },
  54. ],
  55. }),
  56. },
  57. ],
  58. },
  59. plugins: [
  60. new ExtractTextPlugin({
  61. filename: '[name].min.css',
  62. allChunks: true,
  63. }),
  64. ],
  65. };