Skip to content

Commit a5752b0

Browse files
authored
Merge pull request #965 from elliot-nelson/license-comments
Fix license comment "doubling" issue
2 parents c5ba493 + 9b325fc commit a5752b0

File tree

10 files changed

+75
-1
lines changed

10 files changed

+75
-1
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ build/tests/lib/sourcemap/onejs/www/js/built.js
9797
build/tests/lib/sourcemap/onejs/www/js/built.js.map
9898
build/tests/lib/sourcemap/twojs/www-built
9999
build/tests/lib/sourcemapWrap/built
100+
build/tests/lib/sourcemapComments/main-built.js
101+
build/tests/lib/sourcemapComments/main-built.js.map
100102
build/tests/lib/stubModules/create/foobar-built.js
101103
build/tests/lib/stubModules/main-built.js
102104
build/tests/lib/stubModules/perModule/built

build/jslib/optimize.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ function (lang, logger, envOptimize, file, parse,
461461
} catch (e) {
462462
throw new Error('Cannot uglify file: ' + fileName + '. Skipping it. Error is:\n' + e.toString());
463463
}
464-
return preamble + fileContents;
464+
return fileContents;
465465
}
466466
}
467467
};

build/tests/builds.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2284,6 +2284,26 @@ define(['build', 'env!env/file', 'env', 'lang'], function (build, file, env, lan
22842284
);
22852285
doh.run();
22862286

2287+
//Test a single file with optimize, preserve license comments, and source maps
2288+
doh.register("sourcemapComments",
2289+
[
2290+
function sourcemapComments(t) {
2291+
file.deleteFile("lib/sourcemapComments/main-built.js");
2292+
file.deleteFile("lib/sourcemapComments/main-built.js.map");
2293+
2294+
build(["lib/sourcemapComments/build.js"]);
2295+
2296+
t.is(nol(c("lib/sourcemapComments/expected-main-built.js")),
2297+
nol(c("lib/sourcemapComments/main-built.js")));
2298+
sourcemapEquals(t, c("lib/sourcemapComments/expected-main-built.js.map"), c("lib/sourcemapComments/main-built.js.map"));
2299+
2300+
require._buildReset();
2301+
}
2302+
2303+
]
2304+
);
2305+
doh.run();
2306+
22872307
// The output in rhino is slightly different, but enough to cause the
22882308
// text compare to fail. So just disabling it for now. Long term,
22892309
// a fancier sourcemap diff checking would be nice.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**
2+
* Module A
3+
*/
4+
define({
5+
name: 'a',
6+
doSomething: function (name) {
7+
console.log('Hello ' + name);
8+
}
9+
});
10+
console.log('a is done');
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/**
2+
* Module B
3+
*/
4+
define(function () {
5+
var name = 'b';
6+
return {
7+
name: name
8+
};
9+
});
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
({
2+
baseUrl: '.',
3+
optimize: 'uglify',
4+
generateSourceMaps: true,
5+
preserveLicenseComments: true,
6+
name: 'main',
7+
out: 'main-built.js'
8+
})

build/tests/lib/sourcemapComments/expected-main-built.js

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/tests/lib/sourcemapComments/expected-main-built.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<script data-main="main-built" src="../../../../require.js"></script>
5+
</head>
6+
<body>
7+
<h1>Hello World</h1>
8+
</body>
9+
</html>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/**
2+
* A test of source maps with preserved license comments on an uglified file.
3+
*/
4+
require(['a', 'b'], function (a, b) {
5+
console.log('a message below:');
6+
a.doSomething('world');
7+
console.log('b name: ' + b.name);
8+
});

0 commit comments

Comments
 (0)