Skip to content

Commit 407215c

Browse files
committed
Fixes #944 Plugin undef should use map config
1 parent 003a611 commit 407215c

File tree

8 files changed

+886
-1
lines changed

8 files changed

+886
-1
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ build/tests/lib/packages/main-built.js
6969
build/tests/lib/packagesNode/main-built.js
7070
build/tests/lib/pathsNoCopy/js-built
7171
build/tests/lib/pluginBuilder/main-built.js
72+
build/tests/lib/pluginBuildUndef/out.js
7273
build/tests/lib/pluginDepExec/main-built.js
7374
build/tests/lib/pluginShimDep/main-built.js
7475
build/tests/lib/plugins/main-built.js

build/jslib/requirePatch.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,8 @@ define([ 'env!env/file', 'pragma', 'parse', 'lang', 'logger', 'commonJs', 'prim'
370370
lang.each(depMaps, lang.bind(this, function (depMap) {
371371
if (typeof depMap === 'string') {
372372
depMap = context.makeModuleMap(depMap,
373-
(this.map.isDefine ? this.map : this.map.parentMap));
373+
(this.map.isDefine ? this.map : this.map.parentMap),
374+
false, true);
374375
}
375376

376377
if (!context.fullExec[depMap.id]) {

build/tests/builds.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1860,6 +1860,26 @@ define(['build', 'env!env/file', 'env', 'lang'], function (build, file, env, lan
18601860
);
18611861
doh.run();
18621862

1863+
// When undefining a plugin to re-execute for full build execution, make
1864+
// sure its dependency undefs consider map config.
1865+
// https://github.com/requirejs/r.js/issues/944
1866+
doh.register("pluginBuildUndef",
1867+
[
1868+
function pluginFirstWithDeps(t) {
1869+
file.deleteFile("lib/pluginBuildUndef/out.js");
1870+
1871+
build(["lib/pluginBuildUndef/build.js"]);
1872+
1873+
t.is(nol(c("lib/pluginBuildUndef/expected.js")),
1874+
nol(c("lib/pluginBuildUndef/out.js")));
1875+
1876+
require._buildReset();
1877+
}
1878+
1879+
]
1880+
);
1881+
doh.run();
1882+
18631883
//Make sure plugin dependencies that need normalization run in a build.
18641884
//https://github.com/requirejs/r.js/issues/648
18651885
doh.register("pluginDepExec",
@@ -2870,4 +2890,5 @@ define(['build', 'env!env/file', 'env', 'lang'], function (build, file, env, lan
28702890
]
28712891
);
28722892
doh.run();
2893+
28732894
});
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"include": ["lib/foo", "a"],
3+
"out": "out.js",
4+
"baseUrl": "files/",
5+
"optimize": "none",
6+
"map": {
7+
"lib/foo": {
8+
"text": "lib/text",
9+
}
10+
}
11+
}

0 commit comments

Comments
 (0)