Skip to content

Commit 8c435f5

Browse files
committed
refactor ExternalModule to esnext
1 parent 27deabc commit 8c435f5

File tree

1 file changed

+80
-80
lines changed

1 file changed

+80
-80
lines changed

lib/ExternalModule.js

Lines changed: 80 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -2,92 +2,92 @@
22
MIT License http://www.opensource.org/licenses/mit-license.php
33
Author Tobias Koppers @sokra
44
*/
5-
var Module = require("./Module");
6-
var OriginalSource = require("webpack-sources").OriginalSource;
7-
var RawSource = require("webpack-sources").RawSource;
8-
var WebpackMissingModule = require("./dependencies/WebpackMissingModule");
5+
"use strict";
6+
const Module = require("./Module");
7+
const OriginalSource = require("webpack-sources").OriginalSource;
8+
const RawSource = require("webpack-sources").RawSource;
9+
const WebpackMissingModule = require("./dependencies/WebpackMissingModule");
910

10-
function ExternalModule(request, type) {
11-
Module.call(this);
12-
this.chunkCondition = function(chunk) {
13-
return chunk.hasEntryModule();
14-
};
15-
this.request = request;
16-
this.type = type;
17-
this.built = false;
18-
}
19-
module.exports = ExternalModule;
20-
21-
ExternalModule.prototype = Object.create(Module.prototype);
22-
ExternalModule.prototype.constructor = ExternalModule;
23-
24-
ExternalModule.prototype.external = true;
11+
class ExternalModule extends Module {
12+
constructor(request, type) {
13+
super();
14+
this.chunkCondition = function(chunk) {
15+
return chunk.hasEntryModule();
16+
};
17+
this.request = request;
18+
this.type = type;
19+
this.built = false;
20+
this.external = true;
21+
}
2522

26-
ExternalModule.prototype.identifier = function() {
27-
return "external " + JSON.stringify(this.request);
28-
};
23+
identifier() {
24+
return "external " + JSON.stringify(this.request);
25+
}
2926

30-
ExternalModule.prototype.readableIdentifier = function() {
31-
return "external " + JSON.stringify(this.request);
32-
};
27+
readableIdentifier() {
28+
return "external " + JSON.stringify(this.request);
29+
}
3330

34-
ExternalModule.prototype.needRebuild = function() {
35-
return false;
36-
};
31+
needRebuild() {
32+
return false;
33+
}
3734

38-
ExternalModule.prototype.build = function(options, compilation, resolver, fs, callback) {
39-
this.builtTime = new Date().getTime();
40-
callback();
41-
};
35+
build(options, compilation, resolver, fs, callback) {
36+
this.builtTime = new Date().getTime();
37+
callback();
38+
}
4239

43-
ExternalModule.prototype.source = function() {
44-
var str = "throw new Error('Externals not supported');";
45-
var request = this.request;
46-
if(typeof request === "object") request = request[this.type];
47-
switch(this.type) {
48-
case "this":
49-
case "window":
50-
case "global":
51-
if(Array.isArray(request)) {
52-
str = "(function() { module.exports = " + this.type + request.map(function(r) {
53-
return "[" + JSON.stringify(r) + "]";
54-
}).join("") + "; }());";
55-
} else
56-
str = "(function() { module.exports = " + this.type + "[" + JSON.stringify(request) + "]; }());";
57-
break;
58-
case "commonjs":
59-
case "commonjs2":
60-
if(Array.isArray(request)) {
61-
str = "module.exports = require(" + JSON.stringify(request[0]) + ")" + request.slice(1).map(function(r) {
62-
return "[" + JSON.stringify(r) + "]";
63-
}).join("") + ";";
64-
} else
65-
str = "module.exports = require(" + JSON.stringify(request) + ");";
66-
break;
67-
case "amd":
68-
case "umd":
69-
case "umd2":
70-
str = "";
71-
if(this.optional) {
72-
str += "if(typeof __WEBPACK_EXTERNAL_MODULE_" + this.id + "__ === 'undefined') {" + WebpackMissingModule.moduleCode(request) + "}\n";
73-
}
74-
str += "module.exports = __WEBPACK_EXTERNAL_MODULE_" + this.id + "__;";
75-
break;
76-
default:
77-
str = "";
78-
if(this.optional) {
79-
str += "if(typeof " + request + " === 'undefined') {" + WebpackMissingModule.moduleCode(request) + "}\n";
80-
}
81-
str += "module.exports = " + request + ";";
82-
break;
40+
source() {
41+
let str = "throw new Error('Externals not supported');";
42+
let request = this.request;
43+
if(typeof request === "object") request = request[this.type];
44+
switch(this.type) {
45+
case "this":
46+
case "window":
47+
case "global":
48+
if(Array.isArray(request)) {
49+
str = "(function() { module.exports = " + this.type + request.map(function(r) {
50+
return "[" + JSON.stringify(r) + "]";
51+
}).join("") + "; }());";
52+
} else
53+
str = "(function() { module.exports = " + this.type + "[" + JSON.stringify(request) + "]; }());";
54+
break;
55+
case "commonjs":
56+
case "commonjs2":
57+
if(Array.isArray(request)) {
58+
str = "module.exports = require(" + JSON.stringify(request[0]) + ")" + request.slice(1).map(function(r) {
59+
return "[" + JSON.stringify(r) + "]";
60+
}).join("") + ";";
61+
} else
62+
str = "module.exports = require(" + JSON.stringify(request) + ");";
63+
break;
64+
case "amd":
65+
case "umd":
66+
case "umd2":
67+
str = "";
68+
if(this.optional) {
69+
str += "if(typeof __WEBPACK_EXTERNAL_MODULE_" + this.id + "__ === 'undefined') {" + WebpackMissingModule.moduleCode(request) + "}\n";
70+
}
71+
str += "module.exports = __WEBPACK_EXTERNAL_MODULE_" + this.id + "__;";
72+
break;
73+
default:
74+
str = "";
75+
if(this.optional) {
76+
str += "if(typeof " + request + " === 'undefined') {" + WebpackMissingModule.moduleCode(request) + "}\n";
77+
}
78+
str += "module.exports = " + request + ";";
79+
break;
80+
}
81+
if(this.useSourceMap) {
82+
return new OriginalSource(str, this.identifier());
83+
} else {
84+
return new RawSource(str);
85+
}
8386
}
84-
if(this.useSourceMap) {
85-
return new OriginalSource(str, this.identifier());
86-
} else {
87-
return new RawSource(str);
87+
88+
size() {
89+
return 42;
8890
}
89-
};
91+
}
9092

91-
ExternalModule.prototype.size = function() {
92-
return 42;
93-
};
93+
module.exports = ExternalModule;

0 commit comments

Comments
 (0)