UNPKG

cuz

Version:

Front-end modular development kit.

59 lines (52 loc) 1.93 kB
const fs = require('fs'); const path = require('path'); const webpack = require('webpack'); const basedir = process.cwd(); const { port = 5000 } = require(basedir + '/src/config.js'); const babelrc = fs.readFileSync(__dirname + '/../../.babelrc'); let babelLoaderQuery = {}; try { babelLoaderQuery = JSON.parse(babelrc); } catch (err) { console.error('ERROR: Error parsing your .babelrc.'); console.error(err); } babelLoaderQuery.plugins = babelLoaderQuery.plugins || []; babelLoaderQuery.plugins.push('react-transform'); babelLoaderQuery.extra = babelLoaderQuery.extra || {}; babelLoaderQuery.extra['react-transform'] = { transforms: [{ transform: 'react-transform-hmr', imports: ['react'], locals: ['module'] }] }; module.exports = { devtool: 'cheap-module-eval-source-map', entry: [ `webpack-dev-server/client?http://localhost:${port}`, 'webpack/hot/only-dev-server', 'font-awesome-webpack!./node_modules/cuz/src/cli/font-awesome.config.js', './src/index' ], output: { path: path.join(__dirname, 'debug'), filename: 'index.js', publicPath: `http://localhost:${port}/` }, plugins: [ new webpack.HotModuleReplacementPlugin() ], module: { loaders: [ { test: /\.js$/, exclude: /node_modules/, loaders: ['babel?' + JSON.stringify(babelLoaderQuery)] }, { test: /\.css$/, loader: 'style!css' }, { test: /\.(jpe?g|png|gif|svg)$/i, loader: 'url' }, { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff' }, { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff' }, { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/octet-stream' }, { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file' }, { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=image/svg+xml' } ] } };