Compare commits

..

9 Commits

Author SHA1 Message Date
Mihai Bazon
188e28efd7 v2.3.6 2013-05-23 23:42:32 +03:00
Mihai Bazon
2df48924cc Merge pull request #213 from mattrobenolt/patch-1
SourceMapping pragma has changed to //#
2013-05-22 11:30:54 -07:00
Mihai Bazon
9fc6796d2a Add negate_iife option to the code generator.
See discussion in a9511dfbe5
2013-05-22 21:22:14 +03:00
Mihai Bazon
9fc8a52142 Set "global" on undeclared SymbolDef-s 2013-05-22 13:08:19 +03:00
Matt Robenolt
3a21861580 The extra /* */ isn't needed now 2013-05-21 08:50:21 -06:00
Matt Robenolt
1dbffd48ea SourceMapping pragma has changed to //#
See: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit

The spec was updated on May 16th since `//@` was causing some issues with IE.
2013-05-21 08:46:27 -06:00
Mihai Bazon
22a038e6a2 Fix output of statement: new function(){...};
Close #209
2013-05-20 08:27:37 +03:00
Mihai Bazon
f652372c9a v2.3.5 2013-05-19 14:25:05 +03:00
Mihai Bazon
ad1fc3b71a Fix package.json (use repository instead of repositories) 2013-05-19 14:24:33 +03:00
5 changed files with 14 additions and 8 deletions

View File

@@ -287,6 +287,10 @@ can pass additional arguments that control the code output:
you pass `false` then whenever possible we will use a newline instead of a
semicolon, leading to more readable output of uglified code (size before
gzip could be smaller; size after gzip insignificantly larger).
- `negate-iife` (default `!beautify`) -- prefer negation, rather than
parens, for "Immediately-Called Function Expressions". This defaults to
`true` when beautification is off, and `false` if beautification is on;
pass it manually to force a value.
### Keeping copyright notices or other comments

View File

@@ -20,7 +20,7 @@ mangling you need to use `-c` and `-m`.\
")
.describe("source-map", "Specify an output file where to generate source map.")
.describe("source-map-root", "The path to the original source to be included in the source map.")
.describe("source-map-url", "The path to the source map to be added in //@ sourceMappingURL. Defaults to the value passed with --source-map.")
.describe("source-map-url", "The path to the source map to be added in //# sourceMappingURL. Defaults to the value passed with --source-map.")
.describe("in-source-map", "Input source map, useful if you're compressing JS that was generated from some other original code.")
.describe("screw-ie8", "Pass this flag if you don't care about full compliance with Internet Explorer 6-8 quirks (by default UglifyJS will try to be IE-proof).")
.describe("expr", "Parse a single expression, rather than a program (for parsing JSON)")
@@ -309,7 +309,7 @@ async.eachLimit(files, 1, function (file, cb) {
if (SOURCE_MAP) {
fs.writeFileSync(ARGS.source_map, SOURCE_MAP, "utf8");
output += "\n/*\n//@ sourceMappingURL=" + (ARGS.source_map_url || ARGS.source_map) + "\n*/";
output += "\n//# sourceMappingURL=" + (ARGS.source_map_url || ARGS.source_map);
}
if (OUTPUT_FILE) {

View File

@@ -60,7 +60,8 @@ function OutputStream(options) {
bracketize : false,
semicolons : true,
comments : false,
preserve_line : false
preserve_line : false,
negate_iife : !(options && options.beautify),
}, true);
var indentation = 0;
@@ -352,7 +353,7 @@ function OutputStream(options) {
var self = this, generator = self._codegen;
stream.push_node(self);
var needs_parens = self.needs_parens(stream);
var fc = self instanceof AST_Function && !stream.option("beautify");
var fc = self instanceof AST_Function && stream.option("negate_iife");
if (force_parens || (needs_parens && !fc)) {
stream.with_parens(function(){
self.add_comments(stream);
@@ -1122,7 +1123,7 @@ function OutputStream(options) {
if (p instanceof AST_Statement && p.body === node)
return true;
if ((p instanceof AST_Seq && p.car === node ) ||
(p instanceof AST_Call && p.expression === node ) ||
(p instanceof AST_Call && p.expression === node && !(p instanceof AST_New) ) ||
(p instanceof AST_Dot && p.expression === node ) ||
(p instanceof AST_Sub && p.expression === node ) ||
(p instanceof AST_Conditional && p.condition === node ) ||

View File

@@ -187,6 +187,7 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(){
} else {
g = new SymbolDef(self, globals.size(), node);
g.undeclared = true;
g.global = true;
globals.set(name, g);
}
node.thedef = g;

View File

@@ -3,17 +3,17 @@
"description": "JavaScript parser, mangler/compressor and beautifier toolkit",
"homepage": "http://lisperator.net/uglifyjs",
"main": "tools/node.js",
"version": "2.3.4",
"version": "2.3.6",
"engines": { "node" : ">=0.4.0" },
"maintainers": [{
"name": "Mihai Bazon",
"email": "mihai.bazon@gmail.com",
"web": "http://lisperator.net/"
}],
"repositories": [{
"repository": {
"type": "git",
"url": "https://github.com/mishoo/UglifyJS2.git"
}],
},
"dependencies": {
"async" : "~0.2.6",
"source-map" : "~0.1.7",