[Pkg-javascript-commits] [uglifyjs] annotated tag v2.6.3 created (now 2009a94)
Antonio Terceiro
terceiro at moszumanska.debian.org
Sun Aug 7 23:17:26 UTC 2016
This is an automated email from the git hooks/post-receive script.
terceiro pushed a change to annotated tag v2.6.3
in repository uglifyjs.
at 2009a94 (tag)
tagging 55c592dd43bc72a2be6cdfbcce05d2645eed0656 (commit)
tagged by Richard van Velzen
on Sun Jun 19 21:57:09 2016 +0200
- Log -----------------------------------------------------------------
v2.6.3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJXZvkaAAoJEJUJ+PyD0MXVnw0IAK6fkE9GMKoS+0cvHtJLAR4y
jm+6jLsagRo9bYHCfYhzPkDYS4AwRciTYeqdHSPpREZYbpwf9GaNeIB+nFkO5JT7
cRkSZPk7FFpxGZVVAYoVHnlxhmvLNecf4iCstWQD7secBr87+wULDtuqWnFUN/kb
KCzxsql0jUt1M01yBDFp+8aTOJsjVnXoGGKPlVDYby4ydM8/vvRnJxWBgceXQmnq
zi05JVZpXW+u72dCvCRXI/v9453ysVC4thiiSJBlMeY6L+LG6ga6hZITbpzOCDlg
cd/U/PXcZQepNJwDD+ORrEyTrVllnfj8Nrn46efZabsG96KuzOpCZk5AA/28kGA=
=SmoL
-----END PGP SIGNATURE-----
Alberto González Palomo (1):
fromString option, use index from argument array for filename instead of "?"
Andreas Lind Petersen (2):
uglifyjs binary: Make read_whole_file async and don't attempt to read STDIN synchronously.
Output, to_ascii: Escape non-ascii chars with \xnn instead of \unnnn whenever possible.
Andrew Levine (1):
Add keep_fnames compressor option to README.md
Anthony Van de Gejuchte (33):
Update unicode letter
Add unicode digit parsing support
Add test
Keep single line comments after nlb, after nlb
Parse regexes properly
Add node 4.x in Travis
Implement shebang support
Semicolon after do...while statement is optional
Add tests
Disable loop optimization for parse-only tests
Do not allow newlines in string literals
Fix ch that could contain other newline characters
Add mocha tests
Add test case for line continuation
Never mangle arguments and keep them in their scope
Add scope test for arguments
Make arguments test slightly more strict
Add some tests for comment-filters through api
Add keywords to package.json
Allow operator names as getters/setters
Add node 6 to travis
Fix regression causing tests to fail on windows
Do not allow newlines in regex
Fix uglify attempting to rewrite invalid new expressions
Catch errors when compression test fails to parse
Throw errors in strict mode for octal strings
Don't drop unused if scope uses with statement
Stop dropping args in new expressions
Don't allow with statements in strict mode
Re-add parens after new expression in beautify mode
Fix test262 failures related to <, <=, in and instanceof
Don't mix strings with directives in output
Normalize error messages
Arnavion (3):
Handle the case when SourceMapConsumer.originalPositionFor returns null source.
Allow colons in the pairs passed to AST_Toplevel.wrap_enclose
Don't warn for an unreferenced exception symbol in a catch block.
Artemy Tregubenko (4):
Added support for sourcesContent property of source map
added hasOwnProperty check to avoid warnings
added @ngInject support for inline functions
added newline at the end of the file
Asia (1):
Document the except option to mangle
Austin Brown (1):
Update README.md
Benoît Zugmeyer (2):
--version option
Set --version as a boolean #87
Boris Letocha (1):
Fixes #951 missing export for SymbolDef
Bryan Rayner (1):
Add mangleProperties documentation to README
Bryce Cronkite-Ratcliff (1):
fixes issue #621 SourceMap toString JSON format
Caridy Patino (1):
using the original sourcemap as the base
ChALkeR (1):
Export tokenizer function
Cheng Liangyu (1):
fix base54
Chris Cowan (2):
Give a good error message if an invalid regular expression is found.
Re-use the caught exception's error message in the parse error call.
Christopher Chedeau (1):
[Fix] --define replaces SymbolRefs in LHS of assignments
Conrad Irwin (1):
Handle TryStatements trees from acorn >=0.2.0
Damian Krzeminski (2):
upgrade yargs 3.5.4 -> 3.10.0
add `--pure-funcs` option
Dan Wolff (4):
convert x.toString() to ""+x instead of x+""
Concatenate strings also on the right-hand side of an expression that cannot be evaluated. Fix #126
Evaluate [...].join() if possible: minor bugfix
Evaluate "foo".length ==> 3
Daniel Stutzman (1):
Don't unescape \x00 in regexes (it breaks IE8)
David Bau (1):
Escape null characters as \0 unless followed by 0-7.
David Caldwell (1):
Document passing source maps directly to minify() using inSourceMap
David Glasser (3):
Fix output for arrays containing undefined values.
Fix output for arrays whose last element is a hole: [1,,]
Only allow identifier start characters at the beginning of identifiers.
Derek Wickern (1):
Fix backslashes in source-map paths on Windows
Devon Govett (1):
Allow inSourceMap to be a generated JSON source map instead of just a file name
Dusan Bartos (1):
added option for dropping unused params
Edward Casbon (1):
Add filename to the JS_Parse_Error exception.
Forbes Lindesay (3):
Update installation instructions re #4
Make `DefaultsError` a real `Error` object
Add support for browserify
Fábio Santos (2):
Added expect_exact for testing the OutputStream
Fix #836
Ingo Struck (1):
allow for anonymous map generation using string type check
Ingvar Stepanyan (9):
Improved UglifyJS<->SpiderMonkey AST conversions.
Fixes and improvements for UglifyJS->SM AST conversion.
Small fixes for AST conversion.
SpiderMonkey `Identifier` nodes should contain mangled names.
Added generative testing for AST conversions.
Install newest NPM on oldest Node.js.
Added example for usage with SpiderMonkey AST.
Track ending lines/columns; fix end locations in Mozilla AST.
Location fix for Mozilla AST start token.
Jacob Kristhammar (1):
Use uglify source map token names if missing
Jake Archibald (1):
Compressor options use underscores rather than hyphens
Jake Harding (1):
Add support for enclose option. Closes #139.
Jeremy Marzka (1):
Added a mangle properties option
Joao Carlos (3):
Add --mangle-regex option
Show descriptive error when --mangle-regex is invalid
Change --mangle-regex to accept a full regex
Jordan Harband (1):
Test on latest `node` and `io.js`
Justin Lau (6):
Added scenario in test case where properties shouldn't be accessed with
Fixed dot property issue with invlid identifier names.
Added test scenario with unicode in properties name.
Fixed dot properties not optimizing unicode identifiers. Signed-off-by: Justin Lau <justin at tclau.com>
Added test cases for #104.
Fixed typeof undefined optimization and updated related test case to
Kenneth Powers (1):
Use yargs instead of optimist.
Kim Joar Bekkelund (1):
Fix typo in bin and readme
Kosei Kitahara (1):
Support wrap and exportAll options.
Kyle Mitchell (1):
use a valid SPDX license identifier
Mark Jaquith (1):
Add a unit test for issue-126
Martii (1):
Create and map `bare-returns` into new `parse` property name
Matt Basta (1):
Simplify nested conditionals if possible
Matt Robenolt (3):
Wraps sourceMappingURL in a multiline comment. Fixes #108
SourceMapping pragma has changed to //#
The extra /* */ isn't needed now
Michael Ficarra (4):
unbalanced parentheses in readme
fixes #189: use dotted member access when --screw-ie8 option given
fixes #259: don't unnecessarily quote object properties when --screw-ie8
fixes #845: \v escaping should be restricted to "screw_ie8" mode
Michał Gołębiowski (1):
renamed --screw-ie to --screw-ie8, documented it in README.md, indicated it doesn't break IE9+
Mihai Bazon (587):
init repo
Fixes some gotchas.
added small node test script
WIP
WIP
codegen and dropped the useless walker
lots'o'fixes in the output routines; still a looong way to go.
code generator finally seems to work properly
fix one more glitch
added some comments about the rules governing parens
don't output both space and semicolon when beautify=false
big speed improvement (observable when beautify = false)
minor whitespace issues
some fixes (need testing) in AST_If codegen
simple visitor API and code to figure out scope and references
doc (WIP)
added mangler and other stuff
more fixes:
warn about unreferenced symbols
handle labels properly
some reorganization
cleaned up some mess and started the actual compressor
hint that brackets may be required in AST_BlockStatement
declare some properties in the node constructor so that they're copied in clone
fix output for certain edge cases
wrote more of the compressor and added some tests
added license
fix current_col and force a newline every 32K (support options.max_line_len)
added print_to_string helper method
fix compressing `a,b; return c;` into `return a,b,c;`
minor
update (c) years
minor
added README
fix code generator for this case:
fix output for arrays containing undefined values
docstring for AST_StatementWithBody
update with link to discussion about Esprima vs. UglifyJS speed
don't mangle names of setters/getters
started support for generating source maps (WIP)
minor perf. improvements
add source mappings for more node types; started CLI utility
add -b
Reverting "minor perf. improvements"
switch branches must be declared `required` so that the compressor doesn't
declare boolean options
a LabeledStatement should be in fact a StatementWithBody
an AST_If is too a StatementWithBody
jumps, try and definitions are statements too
resolve constant expressions
more optimizations for ifs/conditionals
minor
boolean and if/exit optimizations
if present, the `else` in an `if` should always be forced statement
more fiddling with boolean expressions, etc.
checkpoint
cleaned up usage of AST_BlockStatement
support for hoisting declarations
fix for variable names like `toString`
declared `--stats` as boolean
don't duplicate argument names
fixed tests (need to drop the toplevel block in "expected" if it's a single statement)
always keep declarations found in unreachable code
fix bug (forgot arg name)
checkpoint
fix output for division followed by regexp
minor
fix "file" in the source map
more progress on the compressor (WIP)
adaptive base54 digits depending on char frequency (WIP)
hoist_vars is pretty bad, it seems. cancelled it for now.
checkpoint
fixed some mess with symbols/scope
minor
fixed run-tests and an issue about reversing the condition in AST_If
side effect fixes and small optimization for gzip
more AST_If optimizations
minor
few more optimizations:
added -m and -c options
more optimizations that v1 does and some cleanups
adding an imaginary "return undefined" can sometimes help
minor
compress typeof x == "undefined" to x === undefined, which further gets
join_vars:
figure out label targets
other small optimization:
rewrite handle_if_return
drop unused function
more sequencesizing (WIP)
some cleanup
try negating AST_Binary
more smallish optimizations
empty block to empty statement: {} ==> ;
possible optimization for AST_Undefined
one more test for sequences
minor
fix .undeclared (it's now a function)
moved `typeof foo == "undefined"` ==> `foo === undefined` under `--unsafe`
only do the typeof x == "undefined" optimization if x is a symbol reference and it's declared in scope, or x is not a symbol reference.
added AST_NaN (output as 0/0)
support for directives
minor
fixed label scope/mangling
support -c with no arguments to disable compression entirely
drop unused variables
more on detecting side effects
better support for multiple input files:
log filename in parse errors / compressor warnings
tree transformer api (WIP)
properly drop mutually-referring declarations that are not otherwise
minor tests fix
Support input source map
some boolean cleanup
it's not safe to assume that property access is side-effect-free
minor
started some refactoring (WIP) -- moving squeezer to TreeTransformer
discard all \uFEFF characters (https://github.com/mishoo/UglifyJS/issues/462)
moving code around (refactoring, WIP)
more cleanups
minor
checkpoint (refactoring, WIP)
compressor successfully moved to TreeTransformer
some speedup and more savings from unused vars that have side effects in initialization
removed the "squeeze" method (it's now effectively "transform")
fix mangling
minor
a shy attempt to obey `width` in the beautifier; added `bracketize` option to always print brackets around if/do/while/for statements; export more options via the CLI
drop more unused names
add AST_SymbolConst for names defined with `const`
more constant folding (for names defined with `const`)
"use strict";
support defines
option to exclude certain names from mangling
added option to keep some comments in the output
line numbers start at 1
discard annoying nodejs warning
support for `--comments` option to keep comments containing @license or @preserve
fixed usage string
disable `hoist_vars` by default and change `comparations` to `comparisons`
fix for `a = !b && !c && !d && !e → a=!(b||c||d||e)`
document the CLI tool
drop tmp. files
fix endless loop in tests
added option for side-effect-free statements, fix test
added package.json
AST cleanup (dropped AST_StatementBase)
more cleanup (dropped AST_SwitchBlock)
ignore tmp/
define AST_Node.from_mozilla_ast(ast)
moving code around
removed some unused variables
minor
use the appropriate constructor for symbols
fixed import of locations from SpiderMonkey AST
added --acorn and --spidermonkey options
add note about installation
prevent mangling only when eval is *called*, not when it's just referenced
replace `(function(){ ...no side effects ... })()` with `undefined`.
minor
remove unused code
fix typo
for certain nodes that we invent we might not have a original source file to
eliminate redundant directives in the same scope
added --self to easily get a browser-runnable version of UglifyJS
should not expose base54.sort() in the API docs, I think
added some basic API doc
add simple API wrapper: UglifyJS.minify
fix `inSourceMap` in `minify` (should read the file)
Merge pull request #8 from SevInf/master
fix detecting symbols in use
add `--ast-help`
minor AST cleanup (AST_BlockStatement may inherit from AST_Block)
added $propdoc to AST nodes and some cleanups
make `--comments` keep @cc_on too
add AST_Infinity node
update on @cc_on
minor
add `--lint` and display {file} in scope_warnings
drop unused variable
small improvements in wrap_commonjs:
seems cleaner if AST_Label doesn't inherit from AST_SymbolDeclaration
fix node name
disable warnings by default in `minify` (pass warnings: true to enable)
fix propagation of symbol references
cleanup
using makeComparator from acorn to generate functions that tests whether a
stealing more hacks from acorn in the name of speed
fix pos in syntax error exception
use AST_Lambda for object setters/getters
fix in_boolean_context() (two tests were broken)
add test for issue #12
remove the $self hack
actually enable the option that drops unused names in the test of issue #12
minor
update for acorn
fix end tokens in spidermonkey ast import
fix regression from fb5c01c073d06034815d5f3b782fd11cbdf6d6f5
minor
fix compressing benchmark.js (it tried to evaluate a statement)
add parens to AST_Seq whose parent is AST_Unary
drop unused function arguments
disable warnings in the test suite
fix small glitches in source map generation
add `semicolons` option in the code generator (default: `true`)
the `sort` option is broken anyway, removed it
employ a better parser for command-line arguments
define aborts on AST_If: true if both branches abort
more small optimizations
added note about API docs and online demo
v2.1.0
fix `--comments` (close #16)
v2.1.1
more optimizations for some break/continue cases
add fromString argument to `UglifyJS.minify` (allows to pass the source
minor fix for dropping unused definitions.
Merge pull request #19 from SevInf/master
alternate hack to disable deprecation warning
Merge branch 'master' of github.com:mishoo/UglifyJS2
v2.1.2
more sequence optimizations (lift some sequences above binary/unary expressions so that we can avoid parens)
fix for `if (...) return; else return ...;`
v2.1.3
test for fs.existsSync
cripple scope to make IE happy :-(
v2.1.4
don't move expressions containing the binary `in` operator into the `for` initializer
v2.1.5
fix compressing UnaryPrefix
added unsafe_comps for negating `<=` with `>`
it's safe to negate expression in !EXP only in boolean context
v2.1.6
use a Dictionary object instead of plain object for hashes
print final semicolon
minor optimization
minor
convert `while` into `for`
discard the hack that worked around the deprecation warning
add option to mangle names even if eval/with is in use
add proper parens around unary expressions
parenthesize a Call expression when its parent is New
further fix for parens around New (refs #35)
parenthesize property access when it's the expression in New
add AST_Accessor and AST_SymbolAccessor node types
v2.1.7
fix regression from 5346fb94 (shouldn't parenthesize i++ in x[i++])
v2.1.8
fix another small regression
v2.1.9
ignore node_modules/
optimization for if/break as first statement in a loop body
fix API breakage
v2.1.10
AST_LabelRef no longer inherits from AST_SymbolRef
declare dependency versions
Merge pull request #41 from Skalman/toString-patch
fix invalid AST produced by dropping unused variable
v2.1.11
don't change order in binary expressions if both operands have side effects
Merge branch 'optimize_concat' of https://github.com/rvanvelzen/UglifyJS2 into rvanvelzen-optimize_concat
optimize constant switch blocks
better solution for the last test in constant switch folding
retain (1,eval) as is when it's the expression of an AST_Call
fix #51
rename the npm package to "uglify-js" and cli tool to "uglifyjs"
fix for https://github.com/mishoo/UglifyJS/issues/474
v2.2.1
fix #55
Merge pull request #58 from roxeteer/master
Don't messup compressor stack while optimizing Switch
Add test for issue #59
Revert "Fixed reading from STDIN."
When hoisting variables, try to merge in assignments that follow.
small improvement on merging assignments into hoisted vars
Add proper parens in "NoIn" expressions.
v2.2.2
Small cleanup
Fix output when semicolons is off.
Optimize new Array(1, 2, 3) → [1, 2, 3]
Accept string or number as name of an accessor.
Implement `-m sort=true`
Merge pull request #87 from BenoitZugmeyer/master
Support `output`, `mangle` and `compress` options to `UglifyJS.minify`.
Fix handling of labels in nested scopes
v2.2.3
Merge pull request #90 from jakearchibald/patch-1
Handle String() with no arguments.
Merge pull request #98 from ForbesLindesay/patch-1
[AST_Hole] the print function can be a no-op.
Add --source-map-url option
Merge pull request #106 from gibson042/105
Merge pull request #94 from paulmillr/patch-1
Fix end token for Assign nodes
v2.2.4
Merge pull request #111 from mattrobenolt/safer-sourcemap
Ugly hack to print comments before return/throw statements
Fix handling of constants
Fix parens for AST_New
Fix parens for negative numbers
Fix parens for NaN
Give up evaluating (unary-prefix '-' 0)
Force space after literal regexp when used in "instanceof" or "in"
v2.2.5
Fix compressing `do {...} while (false)`
Add license
Compress boolean constants after evaluation
Drop last `default:` if it's the last branch and empty
Add `--screw-ie` option
Fix reordering comparisons
Merge pull request #146 from mbostock/read-all-stdin
Disable `unsafe` by default
Support mangling toplevel names
Merge pull request #125 from devongovett/master
Keep legit code working even when --screw-ie is not passed.
Don't print the warning on parse error, just throw a JS_Parse_Error.
Merge pull request #163 from mzgol/screw-oldie
Don't use \xYY for identifiers
fix package.json
Merge pull request #190 from michaelficarra/patch-1
Merge pull request #191 from michaelficarra/use-es5-member-access-with-screw-ie
Make compress/mangle disabled by default, as before 5af144522a6fea302abdd0b63d48864de0664207
Workaround for missing `prefix` in UnaryExpression generated by Esprima
v2.3
Take two. v2.3.0
Merge pull request #194 from ulikoehler/master
Merge pull request #195 from kjbekkelund/typo
Better fix for equality of typeof ... against "undefined"
v2.3.1
Fix property names
Fix is_assignable
Use the negation hack rather than parens for a toplevel function expression call
v2.3.2
Merge pull request #202 from nschonni/add-travis-ci
Fix a["1_1"]
Compress code passed to `new Function` if it's a constant.
v2.3.3
Only compress code in `new Function` if all arguments are strings.
Add `--expr`, an option to parse a single expression (suitable for JSON)
v2.3.4
Fix package.json (use `repository` instead of `repositories`)
v2.3.5
Fix output of statement: `new function(){...};`
Set "global" on undeclared SymbolDef-s
Add `negate_iife` option to the code generator.
Merge pull request #213 from mattrobenolt/patch-1
v2.3.6
Merge pull request #220 from lautis/escape-null
Don't swap binary ops when "use asm" is in effect.
Reset the base54 counters every time minify is called.
Fix typo.
Apply transformer to AST_VarDef's name
Add "position" option to parser, to specify initial pos/line/col
Revert previous patch, it was no good.
Reverting "added option for dropping unused params"
Don't require arguments to --enclose
Fix #251
Don't pretend to evaluate lambdas
Support `-p relative`. Fix #256
Don't drop unused setter argument.
fix usage
Merge pull request #270 from michaelficarra/GH-259
Move support for `negate_iife` in the compressor, rather than code generator
Remove --ie-proof from the readme.
v2.4.0
Better reporting of parse errors
Fix parsing regexp after unary-prefix operator
Fix parsing `a.case /= 1`
Better fix for #286
Disallow `continue` referring to a non-IterationStatement. Fix #287
Fix names.
minor
Support HTML5 comment syntax (enabled by default!)
Avoid printing <!-- in the output (HTML5 comment)
When `unsafe` is set, evaluate [...].join() if possible
More dirty handling of [ ... ].join() in unsafe mode
Actually let's move away those monsters from the evaluate function
More attempts to determine when addition is associative
Fix error in the output minifying `Function("return this")()`
minor optimization
add `clean_getters` compressor option (default `false`)
Merge pull request #308 from meteor/fix-unicode-keys
Rename clean_getters to pure_getters; add pure_funcs.
Don't drop_unused before compression.
wrap up
`arguments` outside of a function is an ordinary variable.
v2.4.1
Revert #3a81f60 for now
Merge pull request #322 from rvanvelzen/test-exit-code-1
Merge pull request #323 from rvanvelzen/undefined-drop-vars-fix
Merge pull request #325 from rvanvelzen/fix-269
Merge pull request #331 from rvanvelzen/rhs-strings-fix
Merge pull request #330 from markjaquith/master
Display number of failed tests and corresponding files
Merge branch 'master' of github.com:mishoo/UglifyJS2
Fix codegen for when comments_before is undefined.
Add "preamble" output option
Avoid shadowing name of function expression with function argument
Fix reading arguments
Fix typo
minor
Fix output for `x = 2 * (a % b / b * c)`
indentation
Fix regression after e4c530240650535d1cb46569dfb013193471af05
Fix parsing setters/getters (allow keywords for name).
Workaround for Safari bug
[README] Fix #278
v2.4.2
Do not lift sequence from right-hand side of binary operation. Fix #343
v2.4.3
Better fix for #343
Only descend twice after drop_unused if it's the same node type.
Fix faulty compression
v2.4.4
Add --noerr to turn off argument name checking
v2.4.5
v2.4.6, because npm is foobar
Properly scope `catch` identifier when --screw-ie8
AST_Catch shouldn't really inherit from AST_Scope. Fix #363
v2.4.7
minor
Add `drop_console` option to the compressor
Merge pull request #245 from ForbesLindesay/patch-1
semicolons
Merge pull request #371 from colorhook/master
minor
Add option to adjust the src/target line in the source map
v2.4.8
Take out all comments from an AST_Exit's value
Better fix for comments in AST_Exit
Optimize seq,void 0. Close #377.
Mark `yield` as reserved word. Close #375.
Conditional/call optimization
Fix parens for property access -- (foo, bar)["baz"]
minor: exp["10"] => exp[10]
Fix #392
doh.
Support SpiderMonkey AST in UglifyJS.minify. Fix #393.
Disable node 0.6 since the build fails consistently and it's not our fault.
Support @ngInject with `angular` compressor option. Close #395.
Better process_for_angular before other statement reductions. #395
Unescape Unicode sequences in regexps when ascii_only is false. #54
simplify
v2.4.9
Fix example
Don't unescape \x2f (slash) in regexps. #54
v2.4.10
Merge pull request #402 from lautis/bom-regexps
Fix end token for conditionals. Close #404
More chars that cannot be unescaped in regexps.
v2.4.11
Move unescaping regexps under a codegen option (`unescape_regexps`)
Merge pull request #408 from danielstutzman/escape-null-in-regex
Merge branch 'master' of github.com:mishoo/UglifyJS2
v2.4.12
Merge branch 'sourcesContent' of https://github.com/arty-name/UglifyJS2 into arty-name-sourcesContent
Update source-map
Fix if_return dropping the alternative. Close #413
Merge pull request #422 from mourner/patch-1
Merge pull request #424 from mattbasta/simplify_conditionals
Add option `keep_fargs`.
Mangle name of exception when --screw-ie8. Fix #430.
Merge pull request #439 from Arnavion/null-source-in-sourcemap
v2.4.13
Merge pull request #454 from Arnavion/allow-colons-in-wrap_enclose
Merge pull request #470 from ebednarz/master
Always quote property names that contain non-ASCII characters.
Update tests.
Merge pull request #445 from ConradIrwin/try-statement
Merge branch 'master' of github.com:mishoo/UglifyJS2
Fix parens in +(+x). Close #475
Better fix for #475
Actually, even better. #475
v2.4.14
Merge pull request #499 from shinnn/master
Check for the case an AST_For's init is an EmptyStatement
Lock source-map to 0.1.34
v2.4.15
Fix parens for AST_Undefined
Merge branch 'patch-1' of https://github.com/gdw2/UglifyJS2
Merge branch 'master' of https://github.com/RReverser/UglifyJS2
Merge pull request #529 from RReverser/master
Prevent error for Function(""). Close #538
Turn foo.new into foo["new"] when not --screw-ie8. Fix #534
Merge pull request #541 from TalAter/conditional-improvements
Merge pull request #549 from Arnavion/unreferenced-catch-symbol
Referencing a global is assumed to have side effects.
Document `keep_fargs`. Close #557
Add option to allow return outside of functions.
Merge pull request #546 from jacobk/patch-1
v2.4.16
Merge pull request #599 from rvanvelzen/fix-597
Support keep_fnames in compressor, and --keep-fnames. #552
Merge branch 'keep-function-expression-names' of https://github.com/rvanvelzen/UglifyJS2
Declare boolean type for --keep-fnames
Fix handling \r\n
AST_Do nodes: walk body before condition
aborts(AST_If) returns the `if` node
Fix make_node_from_constant for Regexp-s
Merge pull request #606 from rvanvelzen/document-double-dash
Merge pull request #482 from arty-name/inline-ng-inject
Merge pull request #612 from rvanvelzen/issue-611
Merge pull request #615 from avdg/unicode
Add option to preserve/enforce string quote style
v2.4.17
Add property name mangler
Fix --reserved-file
Fix prop mangling
rename --prop-cache to --name-cache
Export readNameCache / writeNameCache
Add tool to list DOM properties/methods
tools/props.html: use try/catch in a few more places
Fix parsing for U+2028 / U+2029
Fix parsing for U+2028 / U+2029
Bump yargs version (for .array arguments)
Support multiple --reserved-file args
Add --reserve-domprops along with a default exclusion list in tools/domprops.json
tools/props.html: output complete JSON
Don't use Object.create
Keep unused function arguments by default
Export readDefaultReservedFile
Add start/end nodes for NaN/Infinity transformations
Avoid sequencesize for more than 2000 statements.
[sequencesize] Actually even better:
Fix compressing `![foo()];` as a statement
Merge in more DOM properties.
Add tool to extract property names
Merge branch 'propmangle'
Update README
v2.4.18
Disable testing with Node 0.8
Merge pull request #660 from ntkme/fix-long-options
v2.4.19
Merge pull request #669 from galvanix/documentation-inSourceMap
More fixes for the breaking changes in yargs
Use the `before` visitor in mangle props
Fix compression of conditionals
v2.4.20
Drop NaN -> 0/0 transformation.
Fix tests
If name_cache is specified, do rename cached properties
Fix parsing strings with literal DOS newlines
Avoid spurious brackets when dropping unused vars
Remove deprecated calls to utils.print/utils.error
Fix blank lines in the output.
v2.4.21
Only drop the BOM when it's the first character.
Make reserved names take priority over the name cache
fix again reserved props
Fix compressing conditionals
v2.4.22
Treat \uFEFF as whitespace.
v2.4.23
Merge pull request #733 from jcxplorer/add-mangle-regex-option
Don't drop parens in a * (b * c). Close #744
Merge pull request #735 from kzc/master
Don't attempt to negate non-boolean AST_Binary
v2.4.24
Merge pull request #757 from rvanvelzen/semicolon-fix
Fix wrap_commonjs to include code first
No longer use `vm` to load code.
Fix mozilla-ast after module loading changes
Disable node 0.8 in Travis
Merge pull request #808 from avdg/travis
v2.5.0
Only encode <!-- and --> in strings when inline_script
Fix tests
Merge pull request #829 from kzc/html_comment_ops
Fix parsing invalid input
Merge pull request #854 from kzc/moz-regexp-2
Rework has_directive
Replace util.error with console.log
Build label def/refs info when figuring out scope
Fix output for "use asm" code from SpiderMonkey AST
v2.6.0
Limit max iterations for tighten_body
Fix endless loop
v2.6.1
Fix hoisting the var in ForIn
Add start/end in the `arguments` definition
Merge pull request #949 from kzc/collapse_vars_conditions
v2.6.2
Merge pull request #1019 from kzc/escape-ascii-only
Merge pull request #1011 from kzc/dont-produce-let-in-mangle
Avoid using inherited hasOwnProperty
Merge pull request #1032 from kzc/member
Actually limit sequence length.
Merge pull request #1053 from rvanvelzen/hoist_if_return_funs
Mike Bostock (1):
Read the entire STDIN.
Nick Schonning (2):
Add CI build for supported Node versions
Add Travis build badge to README
OiNutter (1):
add sourceMappingUrl to output in node module
Paul Miller (1):
Add better fromstring docs.
Peter Dave Hello (1):
Use svg instead of png to get better image quality
ReadmeCritic (1):
Update README URLs based on HTTP redirects
Richard Gibson (1):
Fix #105: property comparison to undefined is not always safe
Richard van Velzen (58):
Add simple optimization for empty-string concats.
Add support for somewhat preserving line numbers.
Add an exit code to the test suite
Fix #280
Fix #269
Fix RHS concat (raised in #330)
Disallow reversal where lhs has higher or equal precedence
Fix #597
Fix #569
Merge pull request #600 from KenPowers/master
Merge pull request #592 from micschro/patch-1
Merge pull request #584 from clyfish/fix-base54
Merge pull request #570 from rvanvelzen/fix-569
Fix #556
Add a "keep_fnames" option to the compressor to retain function expression names
Add an option to prevent function names from being mangled
Pass mangle options to `figure_out_scope` and `compute_char_frequence`
Document `--` for usage in CLI class
Replace the correct node when replacing in `void` sequences
Make empty source map values more reasonable in .minify()
Drop all `console` statements properly
Fix invalid removal of left side in && and || compression
Clean up unit test breakage
Replace util.puts in run-tests with console.log
Fix semicolon printing when restricting max line length
Revert "Fix semicolon printing when restricting max line length"
Fix semicolon printing when restricting max line length
Merge pull request #753 from Surgo/master
Fix mangling of property names which overwrite unmangleable properties
Merge pull request #729 from DrewML/keep_fnames_docs
Merge pull request #736 from AlbertoGP/master
Merge pull request #767 from vjeux/208
Don't change sequences that influence lexical binding in calls
Fix bad parsing of `new new x()()` constructs
Merge pull request #786 from istr/anonymous-source-map
Stop building for io.js
Allow specification beautify options in tests
Prevent ReDoS by not using a regexp to verify floating point numbers
Merge pull request #864 from plievone/patch-1
Merge pull request #879 from ReadmeCritic/master
Merge pull request #896 from avdg/do-while-semicolon
Merge pull request #874 from kzc/fix-conditionals
Merge pull request #905 from avdg/unit-tests
Merge pull request #918 from avdg/fix-arguments-handling
Merge pull request #928 from STRML/constPragma
Allow cli options to be specified in separate definitions
Merge pull request #948 from kzc/collapse_vars_doc
Don't compress (0, eval)() to eval()
Allow --no-* options to disable their respective parameter
Add base54.reset() to compress tests
Prevent endless recursion when evaluating self-referencing consts
Hoist functions when reversing if (x) return; ... vs. if (!x) ...
Add test case for hoisting a single function
Add test cases for slightly more esoteric cases
Never produce -0 when evaluating expressions (like -"")
Completely allow evaluating -0
Fix octal string strict mode tests
v2.6.3
Rob Loach (1):
Add .npmignore
Roman Bataev (2):
Add tests for typeof evaluation
Fix typeof evaluation for regex and function
Samuel Reed (5):
Mark vars with /** @const */ pragma as consts so they can be eliminated.
Update README for /** @const */
Use TreeWalker for more accurate @const results and update tests
Simplify by skipping extra tree walk.
Tighten up @const regex.
Sebastien Daniel (1):
added documentation on conditional compilation using API
Sergej Tatarincev (2):
Fix nodejs minify without inSourceMap exception
Add sourceRoot option to minify
Shinnosuke Watanabe (1):
Do not run a test for Node v0.4
Shrey Banga (1):
Respect quote style in object literals
SpainTrain (1):
Pin dependencies with npm shrinkwrap
Tal Ater (4):
Compress conditional assignments where all possible outcomes are equivalant and condition has no side effects
Added a test for else if
Compress conditions that have side effects using sequences
Optimize conditionals where the consequent and alternative are both booleans and not equivalent
Trey Griffith (1):
add a test for zero-length string in is_identifier_string, which is used in property compression. Also added a test exercising the change.
Uli Köhler (1):
Add README syntax highlighting
Ville Lautanala (3):
Escape null characters as \x00
Don't unescape byte order marks in regexps
Control keeping function arguments with a single option
Visa Kopu (1):
Fixed reading from STDIN.
Vladimir Agafonkin (1):
fix readme typo (when -> with)
Vladimir Zhuravlev (1):
Quote objects with numeric keys
XhmikosR (2):
Normalize package.json.
Make node.js 0.8 the minimum supported version.
achingbrain (1):
passes in references to process and Buffer to silence ReferenceErrors
alexlamsl (2):
Preserve ThisBinding in conditionals & collapse_vars
preserve ThisBinding for side_effects
colorhook (1):
bugfix #242
ebednarz (1):
Fix sourceMapIncludeSources exception in Node API
gdw2 (1):
Added license
kzc (44):
optimizations for && and || where left side is constant expression
operator && and || optimization: add "else" before "if" as intended
spacing
Add proper support for "use asm"; blocks. Disable -c optimization within "use asm"; sections and preserve floating point literals in their original form. Non-asm.js sections are optimized as before. Asm.js sections can still be mangled and minified of whitespace. No special command line flags are required.
add asm.js test
Fix handling of "use asm" when no command line flags are passed to uglifyjs. SCOPE_IS_NEEDED is unconditionally true now. Refactored floating point literal parsing to be more in keeping with the AST class design.
get rid of SCOPE_IS_NEEDED as it was always true
have minify() call figure_out_scope() if needed to produce well formed "use asm" code
Output `-- >` instead of `-->` in expressions. Escape `<!--` and `-->` within string literals.
Fix other operator output related to <!-- or -->
optimize `return undefined` and `return void 0`
more tests for `return undefined` optimization
`return undefined` optimization no longer uses `return_void_0` option
Fixed RegExp literal in mozilla AST generation/output and added a --dump-spidermonkey-ast flag
rename To_Moz_Literal to To_Moz_RegExp
Have mozilla AST RegExpLiteral parser use regex.pattern and regex.flags rather than non-standard `raw` property.
simplify mozilla AST RegExpLiteral token parse and handle corner cases of regex.pattern better
#873 Fix `conditionals` optimizations with default compress options
Collapse single use var definitions
fix bug in collapse_vars for right side of "||" and "&&"
collapse_vars: fix bug in repeated var defs of same name
collapse_vars: document option in README
collapse_vars: small change to README
collapse_vars: fix if/else and ternary operator side effects
collapse_vars: avoid replacement across AST_Case nodes to be on safe side even though no issues seen.
Take operator || precendence into account for AST_If optimization.
boolean_expression ? true : false --> boolean_expression
#877 Ignore mangle sort option
Do not produce `let` as a variable name in mangle.
Attempt to increase timeout for mocha let test.
Escape all ASCII control characters within strings when using ascii_only.
Speedup `unused` compress option for already minified code
Optimize ternaries with boolean consequent or alternative.
Simplify member(name, array) implementation.
Fix warnings for referenced non-hoisted functions.
Parse comments without recursion to avoid RangeError.
Add `passes` compress option. Fix duplicate compress warnings.
Handle CR line endings in comments.
Workaround for process.exit() tty output truncation.
Retain comments before AST_Constants during mangle.
Do not apply negate_iife optimization to `new` expression
Simplify iife `new` fix
Optimize if_return for single if/return cases.
collapse_vars: Do not consider RegExp literals to be constants
micschro (1):
Fix max_line_len not working for JSON files
philippsimon (1):
Fix: Uglified Number.prototype functions on big numbers
plievone (1):
Fix docs for keep_fargs
sergeyv (1):
Revert "using the original sourcemap as the base"
startswithaj (1):
Make_string was missing \v and wasnt reversing vertical tabs even though read_escaped_char coverts them
thorn0 (1):
Advanced way to specify if a function call might have side effects. #400
truiken (1):
Resolve the relative path to lib files last
なつき (1):
Fix long options
-----------------------------------------------------------------------
This annotated tag includes the following new commits:
new 65ee5af Add keep_fnames compressor option to README.md
new 4fba3e0 fromString option, use index from argument array for filename instead of "?"
new 8108c7f Support wrap and exportAll options.
new 252fc65 Advanced way to specify if a function call might have side effects. #400
new d681405 Give a good error message if an invalid regular expression is found.
new 9854deb Re-use the caught exception's error message in the parse error call.
new 881bda7 Make node.js 0.8 the minimum supported version.
new f8684f4 Replace util.puts in run-tests with console.log
new 170e8b5 Fix semicolon printing when restricting max line length
new 3afad58 Revert "Fix semicolon printing when restricting max line length"
new 66761d7 Fix semicolon printing when restricting max line length
new ab15d67 Merge pull request #757 from rvanvelzen/semicolon-fix
new 958b6c2 Merge pull request #753 from Surgo/master
new 759b3f7 Fix mangling of property names which overwrite unmangleable properties
new d7a4a4a Merge pull request #729 from DrewML/keep_fnames_docs
new 464a942 Merge pull request #736 from AlbertoGP/master
new 3ff0b9e [Fix] --define replaces SymbolRefs in LHS of assignments
new 6c8db6e Merge pull request #767 from vjeux/208
new e3bd223 Don't change sequences that influence lexical binding in calls
new fcde610 Fix bad parsing of `new new x()()` constructs
new 3a5f354 allow for anonymous map generation using string type check
new ba939cc Merge pull request #786 from istr/anonymous-source-map
new 5fd1245 Control keeping function arguments with a single option
new 20542a3 use a valid SPDX license identifier
new 3352800 Fix wrap_commonjs to include code first
new 99233c4 No longer use `vm` to load code.
new 6637c26 Fix mozilla-ast after module loading changes
new 233fb62 Disable node 0.8 in Travis
new 7ee1ec9 Add node 4.x in Travis
new 2a06c77 Merge pull request #808 from avdg/travis
new c69294c Implement shebang support
new 593677d Add proper support for "use asm"; blocks. Disable -c optimization within "use asm"; sections and preserve floating point literals in their original form. Non-asm.js sections are optimized as before. Asm.js sections can still be mangled and minified of whitespace. No special command line flags are required.
new 0d952ae add asm.js test
new 99945fc Pin dependencies with npm shrinkwrap
new 4d2f7d8 Fix handling of "use asm" when no command line flags are passed to uglifyjs. SCOPE_IS_NEEDED is unconditionally true now. Refactored floating point literal parsing to be more in keeping with the AST class design.
new 6500f8c get rid of SCOPE_IS_NEEDED as it was always true
new e870c7d have minify() call figure_out_scope() if needed to produce well formed "use asm" code
new a8e67d1 v2.5.0
new 9f1f21b Output `-- >` instead of `-->` in expressions. Escape `<!--` and `-->` within string literals.
new 17eef5a Only encode <!-- and --> in strings when inline_script
new 1940fb6 Fix tests
new dff54a6 Fix other operator output related to <!-- or -->
new ce10072 Merge pull request #829 from kzc/html_comment_ops
new eac67b2 upgrade yargs 3.5.4 -> 3.10.0
new d5138f7 add `--pure-funcs` option
new 6b2861e Make_string was missing \v and wasnt reversing vertical tabs even though read_escaped_char coverts them
new b5623b1 Fix #836
new a887cde fixes #845: \v escaping should be restricted to "screw_ie8" mode
new 2a88d07 Stop building for io.js
new 335e349 Allow specification beautify options in tests
new 7491d07 optimize `return undefined` and `return void 0`
new 841a661 more tests for `return undefined` optimization
new bd0ae65 `return undefined` optimization no longer uses `return_void_0` option
new 83db98a Fixed RegExp literal in mozilla AST generation/output and added a --dump-spidermonkey-ast flag
new 37ee9de rename To_Moz_Literal to To_Moz_RegExp
new 94c4daa Have mozilla AST RegExpLiteral parser use regex.pattern and regex.flags rather than non-standard `raw` property.
new 7dbe961 simplify mozilla AST RegExpLiteral token parse and handle corner cases of regex.pattern better
new 63d35f8 Prevent ReDoS by not using a regexp to verify floating point numbers
new 18d37ac Fix parsing invalid input
new 3c43467 Merge pull request #854 from kzc/moz-regexp-2
new 7691beb Rework has_directive
new 619adb0 Replace util.error with console.log
new c898a26 Build label def/refs info when figuring out scope
new 08623aa Fix output for "use asm" code from SpiderMonkey AST
new d895c09 v2.6.0
new 645626e Fix docs for keep_fargs
new 08b8030 Merge pull request #864 from plievone/patch-1
new b6968b6 Limit max iterations for tighten_body
new 7f48d5b Fix endless loop
new 15b5f70 v2.6.1
new 774bda1 #873 Fix `conditionals` optimizations with default compress options
new e87c77e Update README URLs based on HTTP redirects
new 9e2f9f7 Merge pull request #879 from ReadmeCritic/master
new bd99b00 Semicolon after do...while statement is optional
new 5cd26c0 Add tests
new 0cabedc Disable loop optimization for parse-only tests
new ac810dc Merge pull request #896 from avdg/do-while-semicolon
new 60c4030 Merge pull request #874 from kzc/fix-conditionals
new 174404c Do not allow newlines in string literals
new 6f3e35b Fix ch that could contain other newline characters
new 8c6af09 Add mocha tests
new fe4e9f9 Fix hoisting the var in ForIn
new 88b77dd Add test case for line continuation
new ac8db97 Merge pull request #905 from avdg/unit-tests
new 6605d15 Never mangle arguments and keep them in their scope
new 5c4e470 Add scope test for arguments
new 8439c8b Make arguments test slightly more strict
new 57e0faf Merge pull request #918 from avdg/fix-arguments-handling
new 70e5b6f Add some tests for comment-filters through api
new ebe118d Add keywords to package.json
new 26641f3 Allow operator names as getters/setters
new 8b71c65 Mark vars with /** @const */ pragma as consts so they can be eliminated.
new 918c17b Update README for /** @const */
new f97da42 Use TreeWalker for more accurate @const results and update tests
new 4a7179f Simplify by skipping extra tree walk.
new 1b70334 Tighten up @const regex.
new b5a7197 Merge pull request #928 from STRML/constPragma
new 799509e Added a mangle properties option
new 915f907 Add start/end in the `arguments` definition
new f4c2ea3 Collapse single use var definitions
new 0a38a68 fix bug in collapse_vars for right side of "||" and "&&"
new 3eb9101 Add mangleProperties documentation to README
new af2472d collapse_vars: fix bug in repeated var defs of same name
new 00c8d1d collapse_vars: document option in README
new 12e6ad3 collapse_vars: small change to README
new 929de2b collapse_vars: fix if/else and ternary operator side effects
new 7c3fee9 collapse_vars: avoid replacement across AST_Case nodes to be on safe side even though no issues seen.
new 601780a Merge pull request #949 from kzc/collapse_vars_conditions
new a123e23 Fixes #951 missing export for SymbolDef
new cdba43c Create and map `bare-returns` into new `parse` property name
new d5c651a Allow cli options to be specified in separate definitions
new 7a4ed9d Revert "using the original sourcemap as the base"
new 63b01fe Merge pull request #948 from kzc/collapse_vars_doc
new 31a9b05 Preserve ThisBinding in conditionals & collapse_vars
new 9662228 Don't compress (0, eval)() to eval()
new 6547437 preserve ThisBinding for side_effects
new bdd8e34 Allow --no-* options to disable their respective parameter
new 5486b68 Take operator || precendence into account for AST_If optimization.
new 11b0efd boolean_expression ? true : false --> boolean_expression
new 294861b v2.6.2
new 102d1b9 #877 Ignore mangle sort option
new ee6c9fa Fix: Uglified Number.prototype functions on big numbers
new a9d4a62 Do not produce `let` as a variable name in mangle. Would previously occur in large generated functions with 21,000+ variables. Fixes #986.
new 21befe5 Attempt to increase timeout for mocha let test.
new 07bb726 Escape all ASCII control characters within strings when using ascii_only.
new c3c7587 Merge pull request #1019 from kzc/escape-ascii-only
new f68de86 Merge pull request #1011 from kzc/dont-produce-let-in-mangle
new 9bcf702 added documentation on conditional compilation using API
new 45ddb9c Speedup `unused` compress option for already minified code
new 9843425 Optimize ternaries with boolean consequent or alternative.
new 9317237 Avoid using inherited hasOwnProperty
new c70d176 Simplify member(name, array) implementation.
new b434b75 Merge pull request #1032 from kzc/member
new 3907a5e Fix warnings for referenced non-hoisted functions.
new b5a7a23 Actually limit sequence length.
new 187a0ca Add base54.reset() to compress tests
new 4b4528e Prevent endless recursion when evaluating self-referencing consts
new e4fa4b1 Parse comments without recursion to avoid RangeError.
new c55dd5e Add `passes` compress option. Fix duplicate compress warnings.
new 4fe6304 Hoist functions when reversing if (x) return; ... vs. if (!x) ...
new 4d9a085 Add test case for hoisting a single function
new e9224ab Add test cases for slightly more esoteric cases
new 65887d9 Merge pull request #1053 from rvanvelzen/hoist_if_return_funs
new f39fd3d Handle CR line endings in comments.
new 35bc716 Add node 6 to travis
new d294574 Workaround for process.exit() tty output truncation.
new 6641dca Fix regression causing tests to fail on windows
new a0e03c9 Retain comments before AST_Constants during mangle.
new bcc1318 Do not apply negate_iife optimization to `new` expression
new 5f464b4 Simplify iife `new` fix
new 27eedbc Never produce -0 when evaluating expressions (like -"")
new bc49dfd Completely allow evaluating -0
new 1e39026 Optimize if_return for single if/return cases.
new 09d5707 collapse_vars: Do not consider RegExp literals to be constants
new 00ad57e Do not allow newlines in regex
new 5cb5305 Export tokenizer function
new 8287ef6 Fix uglify attempting to rewrite invalid new expressions
new 31d5825 Catch errors when compression test fails to parse
new 4d7746b Throw errors in strict mode for octal strings
new ea31da2 Don't drop unused if scope uses with statement
new f99b7b6 Escape null characters as \0 unless followed by 0-7.
new 9c53c7a Fix octal string strict mode tests
new 6c8e001 Stop dropping args in new expressions
new bb9c970 Don't allow with statements in strict mode
new 5c4cfaa Re-add parens after new expression in beautify mode
new d7971ba Fix test262 failures related to <, <=, in and instanceof
new 2149bfb Don't mix strings with directives in output
new 6c99816 Normalize error messages
new e645ba8 Respect quote style in object literals
new fc1abd1 Document the except option to mangle
new 55c592d v2.6.3
The 171 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/uglifyjs.git
More information about the Pkg-javascript-commits
mailing list