Return styles to browser defaults.

webpack.config.js 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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-pseudo-class-any-link'),
  39. require('postcss-initial')(),
  40. require('postcss-prepend-selector')({ selector: '#embedded.embedded ' }),
  41. /* eslint-enable global-require */
  42. ],
  43. },
  44. },
  45. {
  46. loader: 'sass-loader',
  47. options: {
  48. sourceMap: true,
  49. includePaths: [
  50. path.join(__dirname),
  51. path.join(__dirname, 'node_modules'),
  52. ],
  53. },
  54. },
  55. ],
  56. }),
  57. },
  58. ],
  59. },
  60. plugins: [
  61. new ExtractTextPlugin({
  62. filename: '[name].min.css',
  63. allChunks: true,
  64. }),
  65. ],
  66. };