const autoprefixer = require('autoprefixer') const postcss = require('postcss') const webpack = require('webpack') const pkg = require('./package.json') const classPrefix = require('postcss-class-prefix') const banner = pkg.name + ' v' + pkg.version + ' ' + pkg.homepage var exports = { devtool: 'source-map', entry: './src/index.js', devServer: { contentBase: './', port: 3000 }, output: { path: __dirname, filename: 'eruda-dom.js', publicPath: '/assets/', library: ['erudaDom'], libraryTarget: 'umd' }, module: { loaders: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['env'], plugins: ['transform-runtime', 'transform-object-rest-spread'] } } }, { test: /\.scss$/, loaders: [ 'css-loader', { loader: 'postcss-loader', options: { plugins: function() { return [ postcss.plugin('postcss-namespace', function() { // Add '.dev-tools .tools ' to every selector. return function(root) { root.walkRules(function(rule) { if (!rule.selectors) return rule rule.selectors = rule.selectors.map(function(selector) { return '.dev-tools .tools ' + selector }) }) } }), classPrefix('eruda-'), autoprefixer ] } } }, 'sass-loader' ] }, { test: /\.hbs$/, loader: 'handlebars-loader' } ] }, plugins: [new webpack.BannerPlugin(banner)] } module.exports = exports