forked from swagger-api/swagger-ui
-
Notifications
You must be signed in to change notification settings - Fork 17
/
webpack-dist.config.js
57 lines (51 loc) · 1.34 KB
/
webpack-dist.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
const path = require("path")
const fs = require("fs")
const nodeModules = fs.readdirSync("node_modules").filter(function(x) { return x !== ".bin" })
const styleRules = require("./webpack.dist-style.config.js")
let rules = [
{ test: /\.(worker\.js)(\?.*)?$/,
use: [
{
loader: "worker-loader",
options: {
inline: true,
name: "[name].js"
}
},
{ loader: "babel-loader?retainLines=true" }
]
}
]
rules = rules.concat(styleRules)
module.exports = require("./make-webpack-config.js")(rules, {
_special: {
separateStylesheets: true,
minimize: true,
sourcemaps: true,
},
entry: {
"swagger-ui": [
"./src/style/main.scss",
"./src/polyfills",
"./src/core/index.js"
]
},
externals: function(context, request, cb) {
// webpack injects some stuff into the resulting file,
// these libs need to be pulled in to keep that working.
var exceptionsForWebpack = ["ieee754", "base64-js"]
if(nodeModules.indexOf(request) !== -1 || exceptionsForWebpack.indexOf(request) !== -1) {
cb(null, "commonjs " + request)
return
}
cb()
},
output: {
path: path.join(__dirname, "dist"),
publicPath: "/dist",
library: "SwaggerUICore",
libraryTarget: "umd",
filename: "[name].js",
chunkFilename: "js/[name].js",
},
})