Skip to content

Commit 00f5011

Browse files
committed
Fixes requirejs#388, do not rename function declarations for define
1 parent 825cc46 commit 00f5011

File tree

6 files changed

+55
-0
lines changed

6 files changed

+55
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ build/tests/lib/mainConfigBaseUrl/www-built
3434
build/tests/lib/moduleThenPlugin/built.js
3535
build/tests/lib/modulesExclude/built
3636
build/tests/lib/nameInsertion/built.js
37+
build/tests/lib/nameInsertion/nested/built.js
3738
build/tests/lib/namespace/foo.js
3839
build/tests/lib/nested/main-built.js
3940
build/tests/lib/nested/main-builtWithCE.js

build/jslib/transform.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@ define([ './esprima', './parse', 'logger', 'lang'], function (esprima, parse, lo
103103
return;
104104
}
105105

106+
if (prev && prev.type === 'Keyword' &&
107+
prev.value === 'function') {
108+
//A declaration of a define function. Skip it.
109+
return;
110+
}
111+
106112
next2 = tokens[i + 2];
107113
if (!next2) {
108114
return;

build/tests/builds.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,25 @@ define(['build', 'env!env/file'], function (build, file) {
695695
);
696696
doh.run();
697697

698+
//Make sure a nested function declaration for a define function is not
699+
//renamed: https://github.com/jrburke/r.js/issues/388
700+
doh.register("nameInsertionNested",
701+
[
702+
function nameInsertionNested(t) {
703+
file.deleteFile("lib/nameInsertion/nested/built.js");
704+
705+
build(["lib/nameInsertion/nested/build.js"]);
706+
707+
t.is(nol(c("lib/nameInsertion/nested/expected.js")),
708+
nol(c("lib/nameInsertion/nested/built.js")));
709+
710+
require._buildReset();
711+
}
712+
713+
]
714+
);
715+
doh.run();
716+
698717
doh.register("moduleThenPlugin",
699718
[
700719
function moduleThenPlugin(t) {
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
({
2+
baseUrl: '.',
3+
name: 'main',
4+
out: 'built.js',
5+
optimize: 'none'
6+
})
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
define("main",[],
3+
function(){
4+
function define(clazz) {
5+
6+
}
7+
return {
8+
define : define,
9+
extend : extend
10+
};
11+
12+
});
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
define("main",[],
2+
function(){
3+
function define(clazz) {
4+
5+
}
6+
return {
7+
define : define,
8+
extend : extend
9+
};
10+
11+
});

0 commit comments

Comments
 (0)