cuz
Version:
Front-end modular development kit.
47 lines (39 loc) • 1.95 kB
JavaScript
var fs = require('fs');
var path = require('path');
var webpack = require('webpack');
var basedir = process.cwd();
var _require = require(basedir + '/src/config.js');
var _require$port = _require.port;
var port = _require$port === undefined ? 5000 : _require$port;
var babelrc = fs.readFileSync(__dirname + '/../../.babelrc');
var 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' }]
}
};
;