redoc/build/webpack.prod.js

87 lines
1.8 KiB
JavaScript
Raw Normal View History

2016-08-28 21:46:10 +03:00
const webpack = require('webpack');
const VERSION = JSON.stringify(require('../package.json').version);
const root = require('./helpers').root;
const CopyWebpackPlugin = require('copy-webpack-plugin');
const BANNER =
`ReDoc - OpenAPI/Swagger-generated API Reference Documentation
-------------------------------------------------------------
Version: ${VERSION}
Repo: https://github.com/Rebilly/ReDoc`;
2016-08-28 21:46:10 +03:00
module.exports = {
context: root(),
devtool: 'cheap-module-source-map',
resolve: {
extensions: ['', '.ts', '.js', '.json', '.css', '.scss', '.html'],
root: root('lib'),
descriptionFiles: ['package.json'],
modules: [
'node_modules',
root('lib')
],
alias: {
http: 'stream-http',
https: 'stream-http'
}
},
externals: {
2016-08-29 07:35:47 +03:00
"jquery": "jQuery"
2016-08-28 21:46:10 +03:00
},
node: {
fs: "empty"
},
entry: {
'redoc': ['./lib/polyfills.ts', './lib/vendor.ts', './lib/index.ts']
},
output: {
path: root('dist'),
filename: '[name].min.js',
sourceMapFilename: '[name].min.map',
library: 'Redoc',
libraryTarget: 'umd',
umdNamedDefine: true
},
module: {
2016-08-29 07:35:47 +03:00
preLoaders: [{
test: /\.js$/,
loader: 'source-map'
}],
2016-08-28 21:46:10 +03:00
loaders: [{
test: /\.ts$/,
loader: 'awesome-typescript-loader',
exclude: /(node_modules)/
}, {
test: /\.css$/,
loaders: ['style', 'css?-import']
}]
},
plugins: [
new webpack.LoaderOptionsPlugin({
minimize: true,
debug: false
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false,
screw_ie8: true
},
mangle: { screw_ie8 : true },
output: {
comments: false
},
2016-08-29 07:35:47 +03:00
sourceMap: true
2016-08-28 21:46:10 +03:00
}),
new webpack.BannerPlugin(BANNER),
2016-08-28 21:46:10 +03:00
new webpack.DefinePlugin({
'IS_PRODUCTION': true,
'LIB_VERSION': VERSION
})
],
}