Skip to content

Commit 638e822

Browse files
committed
updates to enhanced-require, optimizing amd
1 parent 3d08e8c commit 638e822

File tree

6 files changed

+34
-39
lines changed

6 files changed

+34
-39
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ var b = require("./b"); // and files
238238
// like in node.js
239239

240240
// polyfill require method to use the new members in node.js too
241-
require = require("enhanced-require")(__filename, require.valueOf());
241+
require = require("enhanced-require")(module);
242242

243243
// create a lazy loaded bundle
244244
require.ensure([], function(require) {

buildin/__webpack_amd_define.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
var amdRequire = require("./__webpack_amd_require");
2-
module.exports = function(module, req) {
3-
req = amdRequire(req);
2+
module.exports = function(module) {
43
function define(id, dependencies, factory) {
54
if(typeof id != "number") {
65
factory = dependencies;
@@ -9,7 +8,7 @@ module.exports = function(module, req) {
98
}
109
if(!factory) {
1110
factory = dependencies;
12-
dependencies = [req, module.exports, module];
11+
dependencies = [amdRequire, module.exports, module];
1312
}
1413
var result = typeof factory == "function" ? factory.apply(null, dependencies) : factory;
1514
if(result !== undefined)

buildin/__webpack_amd_require.js

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
1-
function amdRequireFactory(req) {
2-
function amdRequire(chunk, requiresFn, fn) {
3-
if(!requiresFn) {
4-
// commonjs
5-
return req(chunk);
6-
}
7-
req.e(chunk, function() {
8-
var modules = requiresFn();
9-
if(fn)
10-
return fn.apply(null, modules);
11-
});
1+
var req = require.valueOf();
2+
function amdRequire(chunk, requiresFn, fn) {
3+
if(!requiresFn) {
4+
// commonjs
5+
return req(chunk);
126
}
13-
for(var name in req)
14-
amdRequire[name] = req[name];
15-
amdRequire.amd = amdRequireFactory.amd;
16-
amdRequire.config = function() {/* config is ignored, use webpack options */};
17-
return amdRequire;
7+
req.e(chunk, function() {
8+
var modules = requiresFn();
9+
if(fn)
10+
return fn.apply(null, modules);
11+
});
1812
}
19-
amdRequireFactory.amd = {};
20-
module.exports = amdRequireFactory;
13+
for(var name in req)
14+
amdRequire[name] = req[name];
15+
amdRequire.amd = {};
16+
amdRequire.config = function() {/* config is ignored, use webpack options */};
17+
module.exports = amdRequire;

lib/parse.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,6 @@ function walkExpression(context, expression) {
259259
context.requires = context.requires || [];
260260
context.requires.push({
261261
name: "__webpack_amd_require",
262-
append: "(require)",
263262
line: expression.callee.loc.start.line,
264263
column: expression.callee.loc.start.column,
265264
variable: "require"
@@ -277,7 +276,6 @@ function walkExpression(context, expression) {
277276
context.requires = context.requires || [];
278277
context.requires.push({
279278
name: "__webpack_amd_require",
280-
append: "(require)",
281279
line: expression.callee.loc.start.line,
282280
column: expression.callee.loc.start.column,
283281
variable: "require"
@@ -326,7 +324,7 @@ function walkExpression(context, expression) {
326324
context.requires = context.requires || [];
327325
context.requires.push({
328326
name: "__webpack_amd_define",
329-
append: "(module,require)",
327+
append: "(module)",
330328
line: expression.callee.loc.start.line,
331329
column: expression.callee.loc.start.column,
332330
amdNameRange: amdNameRange,
@@ -343,7 +341,7 @@ function walkExpression(context, expression) {
343341
expression.callee.name === "define") {
344342
context.requires.push({
345343
name: "__webpack_amd_define",
346-
append: "(module,require)",
344+
append: "(module)",
347345
line: expression.callee.loc.start.line,
348346
column: expression.callee.loc.start.column,
349347
variable: "define"
@@ -363,7 +361,7 @@ function walkExpression(context, expression) {
363361
context.requires = context.requires || [];
364362
context.requires.push({
365363
name: "__webpack_amd_define",
366-
append: "(module,require)",
364+
append: "(module)",
367365
amdNameRange: expression.arguments[0].range,
368366
label: expression.arguments[0].value+"",
369367
line: expression.callee.loc.start.line,

test/browsertest/lib/index.web.js

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// Should not break it... should not include complete directory...
2-
require = require("../../../require-polyfill")(require.valueOf());
2+
require = require("enhanced-require")(module);
3+
if(typeof define != "function") var define = require.define;
34

45
window.test(true, "index.js should be replaced with index.web.js");
56
require("script!../js/libary1.js");
@@ -161,26 +162,26 @@ window.test(require("./singluar2") !== singlarObj, "require.cache can be deleted
161162

162163
// AMD
163164
var template = "tmpl";
164-
var amdLoaded = 0;
165+
var amdLoaded = "";
165166
require(["./circular", "../templates/" + template, true ? "./circular" : "./circular"], function(circular, testTemplate, circular2) {
166167
window.test(circular === 1, "AMD-style requires should work");
167168
window.test(circular2 === 1, "AMD-style requires should work with conditionals");
168169
window.test(testTemplate === "test template", "AMD-style requires should work with context");
169-
amdLoaded++;
170+
amdLoaded+=1;
170171
});
171172
define("name", ["./circular"], function(circular) {
172173
window.test(circular === 1, "AMD-style requires should work, in define");
173-
amdLoaded++;
174+
amdLoaded+=2;
174175
});
175176
define("name", [], function() {
176-
amdLoaded++;
177+
amdLoaded+=3;
177178
});
178179
define(["./circular"], function(circular) {
179180
window.test(circular === 1, "AMD-style requires should work, in define without name");
180-
amdLoaded++;
181+
amdLoaded+=4;
181182
});
182183
define("blaa", function() {
183-
amdLoaded++;
184+
amdLoaded+=5;
184185
});
185186
var obj = {};
186187
define("blaaa", obj);
@@ -193,17 +194,17 @@ define(function(require, exports, module) {
193194
window.test(exports == _test_exports, "AMD-style define CommonJs: exports is correct");
194195
window.test(module == _test_module, "AMD-style define CommonJs: module is correct");
195196
window.test(require("./circular") === 1, "AMD-style requires should work, in define without name and requires");
196-
amdLoaded++;
197+
amdLoaded+=6;
197198
});
198199
require(["./circular"]);
199200
require(["./c"], function(c) {
200201
window.test(c === "c", "AMD-style require should work, in chunk");
201202
window.test(require("./d") === "d", "AMD-style require should work, in chunk");
202-
amdLoaded++;
203+
amdLoaded+=7;
203204
});
204-
window.test(amdLoaded == 6, "AMD-style require should work (sync)");
205+
window.test(amdLoaded == "123456", "AMD-style require should work (sync) "+amdLoaded);
205206
setTimeout(function() {
206-
window.test(amdLoaded == 7, "AMD-style require should work (async)");
207+
window.test(amdLoaded == "1234567", "AMD-style require should work (async) " + amdLoaded);
207208
}, 1500);
208209

209210
// cross module system support

test/polyfills.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55
var should = require("should");
66
var path = require("path");
7-
require = require("enhanced-require")(__filename);
7+
require = require("enhanced-require")(module);
88

99
describe("polyfill", function() {
1010
describe("loader", function() {

0 commit comments

Comments
 (0)