UNPKG

xchain-components

Version:
90 lines (86 loc) 2.4 kB
const path = require('path'); const autoprefixer = require('autoprefixer'); const flexBugFixer = require('postcss-flexbugs-fixes'); module.exports = { entry: './src/components/index.js', output: { path: path.resolve(__dirname, 'build'), filename: 'index.js', libraryTarget: 'commonjs2', }, module: { rules: [ { test: /\.jpe?g$|\.gif$|\.ico$|\.png$|\.svg$/, use: 'file-loader?name=[name].[ext]?[hash]', }, // the following 3 rules handle font extraction { test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff', }, { test: /\.(ttf|eot)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'file-loader', }, { test: /\.otf(\?.*)?$/, use: 'file-loader?name=/fonts/[name].[ext]&mimetype=application/font-otf', }, { test: /\.css$/, use: [ 'style-loader', 'css-loader', { loader: require.resolve('postcss-loader'), options: { // Necessary for external CSS imports to work // https://github.com/facebookincubator/create-react-app/issues/2677 ident: 'postcss', plugins: () => [ flexBugFixer, autoprefixer({ browsers: [ '>1%', 'last 4 versions', 'Firefox ESR', 'not ie < 9', // React doesn't support IE8 anyway ], flexbox: 'no-2009', }), ], }, }, ], }, { test: /\.jsx?$/, exclude: /node_modules/, use: [ { loader: 'babel-loader', options: { babelrc: true, }, }, // Need to run the react preset first to strip flow annotations { loader: 'babel-loader', options: { babelrc: true, plugins: ['transform-class-properties', 'transform-object-rest-spread'], }, }, ], }, ], }, resolve: { alias: { components: path.resolve('src/components'), stories: path.resolve('src/stories'), semantic: path.resolve('src/semantic'), }, } };