From: Mihai Bazon Date: Wed, 22 May 2013 18:22:14 +0000 (+0300) Subject: Add `negate_iife` option to the code generator. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=9fc6796d2a5f385500efc84020b5f6f73a6bb4a0;p=UglifyJS.git Add `negate_iife` option to the code generator. See discussion in a9511dfbe5c0d96d8cacb87582aa9a19737bbb98 --- diff --git a/README.md b/README.md index 88dc310e..749b8cec 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/lib/output.js b/lib/output.js index b510cb35..60a4a26c 100644 --- a/lib/output.js +++ b/lib/output.js @@ -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);