@gobistories/gobi-web-integration
Version:
Welcome to Gobi Web Integration. This library will let you put your Gobi stories on your site.
76 lines (74 loc) • 1.98 kB
text/coffeescript
path = require 'path'
MiniCssExtractPlugin = require 'mini-css-extract-plugin'
autoprefixer = require 'autoprefixer'
CleanWebpackPlugin = require 'clean-webpack-plugin'
OptimizeCSSAssetsPlugin = require 'optimize-css-assets-webpack-plugin'
developmentMode = false
module.exports =
mode: if developmentMode then 'development' else 'production'
entry: ['babel-polyfill', './src/index.coffee']
output:
path: path.resolve(__dirname, 'dist')
filename: 'index.js'
library: 'gobi'
libraryTarget: 'umd'
devServer:
contentBase: path.join(__dirname, 'dist')
host: '0.0.0.0'
port: 9000
resolve:
modules: [
path.resolve(__dirname, 'src')
'node_modules'
]
extensions: ['*', '.coffee', '.js', '.jsx', '.styl']
alias: '@': path.resolve(__dirname, 'src/')
module: rules: [
{
test: /\.svg$/
use: 'raw-loader'
}
{
test: /\.coffee$/
use: [
{
loader: 'babel-loader'
options:
presets: ['env'],
plugins: ['@babel/plugin-transform-classes'],
cacheDirectory: true
env:
'development': comments: false
'production':
comments: false
minified: true
}
{ loader: 'coffee-loader' }
]
}
{
test: /\.styl$/
use: [
{ loader: if developmentMode then 'style-loader' else MiniCssExtractPlugin.loader }
{
loader: 'css-loader'
options: sourceMap: developmentMode
}
{
loader: 'postcss-loader'
options:
plugins: [ autoprefixer() ]
sourceMap: developmentMode
}
{
loader: 'stylus-loader'
options: sourceMap: developmentMode
}
]
}
]
optimization: minimizer: [ new OptimizeCSSAssetsPlugin({}) ]
plugins: [
new CleanWebpackPlugin
new MiniCssExtractPlugin(filename: 'index.css')
]