Skip to content

Commit e183eda

Browse files
committed
Relates to requirejs#333: make the defaultPrefix just the default behavior for plugin resources.
Simplifies build requirements, no need to do special stubModules, likely the default wanted anyway.
1 parent 61d9109 commit e183eda

8 files changed

Lines changed: 482 additions & 12 deletions

File tree

require.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -380,11 +380,11 @@ var requirejs, require, define;
380380
if (index > -1) {
381381
prefix = name.substring(0, index);
382382
name = name.substring(index + 1, name.length);
383-
} else if (relMap &&
384-
relMap.defaultPrefix) {
383+
} else if (relMap && !handlers[name]) {
385384
//This is dependency mentioned by a plugin that
386-
//has a default prefix.
387-
prefix = relMap.defaultPrefix;
385+
//has a default prefix, and it is not one of the
386+
//special dependency names, require, exports, module.
387+
prefix = relMap.prefix || relMap.defaultPrefix;
388388
}
389389
return [prefix, name];
390390
}
@@ -419,9 +419,7 @@ var requirejs, require, define;
419419
name = '_@r' + (requireCounter += 1);
420420
}
421421

422-
//Split the name, and only pass in a parentModuleMap
423-
//for defaultPrefix reference if this is a define call.
424-
nameParts = splitPrefix(name, (isDefine ? parentModuleMap : null));
422+
nameParts = splitPrefix(name, parentModuleMap);
425423
prefix = nameParts[0];
426424
name = nameParts[1];
427425

@@ -995,7 +993,10 @@ var requirejs, require, define;
995993
var hasInteractive = useInteractive,
996994
moduleMap = makeModuleMap(moduleName);
997995

998-
if (plugin.useDefaultPrefix) {
996+
//If no specific prefix in place, pass on the prefix
997+
//to use, but only by module IDs that are normalized
998+
//against this ID.
999+
if (moduleName.charAt(0) !== '!' && !moduleMap.prefix) {
9991000
moduleMap.defaultPrefix = map.prefix;
10001001
}
10011002

@@ -1028,8 +1029,8 @@ var requirejs, require, define;
10281029
context.completeLoad(moduleName);
10291030

10301031
//Make sure to ask for the real JS module, and not
1031-
//get a handle on one that will have defaultPrefix
1032-
//applied.
1032+
//get a handle on one that will have a default plugin
1033+
//ID applied to dependency.
10331034
localRequire(['!' + moduleName], load);
10341035
});
10351036

tests/all.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ doh.registerUrl("pluginShim", "../plugins/pluginShim/pluginShim.html");
113113
doh.registerUrl("pluginMap", "../plugins/pluginMap/pluginMap.html");
114114
doh.registerUrl("pluginMapDynamic", "../plugins/pluginMap/dynamic/pluginMapDynamic.html");
115115
doh.registerUrl("pluginDefaultPrefix", "../plugins/defaultPrefix/defaultPrefix.html");
116+
doh.registerUrl("pluginDefaultPrefixBuilt", "../plugins/defaultPrefix/built/defaultPrefix.html");
117+
doh.registerUrl("pluginDefaultPrefixBuiltAlmond", "../plugins/defaultPrefix/built/defaultPrefixAlmond.html");
116118

117119
doh.registerUrl("requirePluginLoad", "../requirePluginLoad/requirePluginLoad.html");
118120

0 commit comments

Comments
 (0)