1
0
mirror of https://github.com/fazo96/ipfs-boards synced 2025-01-10 12:24:20 +01:00
ipfs-boards/webpack.config.js
2015-12-13 19:13:03 +08:00

87 lines
2.1 KiB
JavaScript

var path = require('path')
var webpack = require('webpack')
var HtmlWebpackPlugin = require('html-webpack-plugin')
// Most of the config was copied from js-ipfs-api's webpack configuration
var config = {
entry: path.join(__dirname,'webapp','app.jsx'),
output: {
path: path.join(__dirname,'webapp','dist'),
filename: 'app.js'
},
resolve: {
modulesDirectories: [
'node_modules', './webapp/', 'lib', './webapp/components/', './webapp/assets/',
'./webapp/pages/', 'node_modules/font-awesome/css', 'node_modules/font-awesome/fonts'
],
alias: {
http: 'stream-http',
https: 'https-browserify'
}
},
module: {
loaders: [
{ test: /\.(ttf|eot|svg|woff(2?))(\?v=\d+\.\d+\.\d+)?$/, loader: 'file' },
{ test: /\.css$/, loaders: ['style','css'] },
{ test: /\.md$/, loaders: ['html','markdown'] },
{ test: /\.json$/, loader: 'json' },
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel',
query: {
presets: ['es2015','react'],
plugins: ['transform-runtime']
}
},
{
test: /\.js$/,
include: /node_modules(\\|\/)(ipfs-api|hoek|qs|boom|wreck)/,
loader: 'babel',
query: {
presets: ['es2015'],
plugins: ['transform-runtime']
}
}
]
},
externals: {
net: '{}',
fs: '{}',
tls: '{}',
console: '{}',
'require-dir': '{}'
},
plugins: [
new HtmlWebpackPlugin({
title: 'Boards',
template: 'webapp/index.html',
inject: 'body'
}),
// Optimization
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.optimize.DedupePlugin()
]
}
config.devServer = {
// webpack-dev-server -w --progress --devtool eval --port 9090 --quiet --content-base ./webapp/dist
watch: true,
progress: true,
debug: true,
devtool: 'eval-source',
port: 9090,
noInfo: true,
colors: true,
inline: true,
contentBase: config.output.path
},
module.exports = config