-
Notifications
You must be signed in to change notification settings - Fork 97
Expand file tree
/
Copy pathexternals.js
More file actions
68 lines (65 loc) · 1.77 KB
/
externals.js
File metadata and controls
68 lines (65 loc) · 1.77 KB
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
58
59
60
61
62
63
64
65
66
67
68
const { pascalCase, camelCase } = require('change-case');
const antdStyle = /^antd\/.*(\/style|\.css|\.less|\.sass|\.scss)/;
const antdComp = /^antd\//;
const antdCompLowcase = ['message', 'notification', 'version'];
const nextStyle = /^\@alifd\/next\/.*(\.css|\.less|\.sass|\.scss)/;
const nextComp = /^\@alifd\/next\//;
const nextCompLowcase = [];
const momentLocal = /^moment\/locale/;
const lodash = /^lodash\//;
const externals = [
{
'@ant-design/icons': 'var window.icons',
"lodash": "var window._",
moment: 'var window.moment'
},
function(ctx, req, cb) {
if(lodash.test(req)) {
let comp = req.split('/').pop();
comp = `var window._.${comp}`
console.info(comp);
return cb(null, comp);
}
else if(momentLocal.test(req)) {
return cb(null, '{}');
}
else if(antdStyle.test(req)) {
return cb(null, 'var window.antd.styles');
}
else if(antdComp.test(req)) {
if(req.indexOf('/locale/') >= 0) {
return cb();
}
let comp = req.split('/').pop();
if(antdCompLowcase.includes(comp)) {
comp = camelCase(comp);
}
else {
comp = pascalCase(comp);
}
comp = `var window.antd.${comp}`;
console.info(comp);
return cb(null, comp);
}
else if(nextStyle.test(req)) {
return cb(null, 'var window.Next.styles');
}
else if(nextComp.test(req)) {
if(req.indexOf('/locale/') >= 0) {
return cb();
}
let comp = req.split('/').pop();
if(nextCompLowcase.includes(comp)) {
comp = camelCase(comp);
}
else {
comp = pascalCase(comp);
}
comp = `var window.Next.${comp}`;
console.info(comp);
return cb(null, comp);
}
return cb();
},
]
module.exports = externals;