Skip to content

Commit 7172022

Browse files
timseTheLarkInn
authored andcommitted
refactor requireensure dependency to es6 (webpack#3705)
1 parent a1ffb61 commit 7172022

1 file changed

Lines changed: 23 additions & 17 deletions

File tree

lib/dependencies/RequireEnsureDependency.js

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,30 @@
22
MIT License http://www.opensource.org/licenses/mit-license.php
33
Author Tobias Koppers @sokra
44
*/
5-
var NullDependency = require("./NullDependency");
6-
var DepBlockHelpers = require("./DepBlockHelpers");
5+
"use strict";
6+
const NullDependency = require("./NullDependency");
7+
const DepBlockHelpers = require("./DepBlockHelpers");
78

8-
function RequireEnsureDependency(block) {
9-
NullDependency.call(this);
10-
this.block = block;
11-
}
12-
module.exports = RequireEnsureDependency;
9+
class RequireEnsureDependency extends NullDependency {
10+
constructor(block) {
11+
super();
12+
this.block = block;
13+
}
1314

14-
RequireEnsureDependency.prototype = Object.create(NullDependency.prototype);
15-
RequireEnsureDependency.prototype.constructor = RequireEnsureDependency;
16-
RequireEnsureDependency.prototype.type = "require.ensure";
15+
get type() {
16+
return "require.ensure";
17+
}
18+
}
1719

18-
RequireEnsureDependency.Template = function RequireEnsureDependencyTemplate() {};
20+
RequireEnsureDependency.Template = class RequireEnsureDependencyTemplate {
21+
apply(dep, source, outputOptions, requestShortener) {
22+
const depBlock = dep.block;
23+
const wrapper = DepBlockHelpers.getLoadDepBlockWrapper(depBlock, outputOptions, requestShortener, "require.ensure");
24+
const startBlock = wrapper[0] + "(";
25+
const endBlock = `).bind(null, __webpack_require__)${wrapper[1]}__webpack_require__.oe${wrapper[2]}`;
26+
source.replace(depBlock.expr.range[0], depBlock.expr.arguments[1].range[0] - 1, startBlock);
27+
source.replace(depBlock.expr.arguments[1].range[1], depBlock.expr.range[1] - 1, endBlock);
28+
}
29+
}
1930

20-
RequireEnsureDependency.Template.prototype.apply = function(dep, source, outputOptions, requestShortener) {
21-
var depBlock = dep.block;
22-
var wrapper = DepBlockHelpers.getLoadDepBlockWrapper(depBlock, outputOptions, requestShortener, "require.ensure");
23-
source.replace(depBlock.expr.range[0], depBlock.expr.arguments[1].range[0] - 1, wrapper[0] + "(");
24-
source.replace(depBlock.expr.arguments[1].range[1], depBlock.expr.range[1] - 1, ").bind(null, __webpack_require__)" + wrapper[1] + "__webpack_require__.oe" + wrapper[2]);
25-
};
31+
module.exports = RequireEnsureDependency;

0 commit comments

Comments
 (0)