aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2015-02-11Add filename to the JS_Parse_Error exception.Edward Casbon
It would be nice to have access to the filename of the file that includes the code that causes a JavaScript error. This is especially handy if uglifying multiple files at once. Only a small change is needed for this to happen as it's already available in the function that throws the error.
2015-02-11Fix invalid removal of left side in && and || compressionRichard van Velzen
See #637. This does not produce the optimal result, but it does prevent the removal of non-side-effect-free code.
2015-01-31Drop all `console` statements properlyRichard van Velzen
Because the base reference can be an member expression as well, we have to dig a bit deeper to find the leftmost base reference. Fixes #451
2015-01-27Add option to preserve/enforce string quote styleMihai Bazon
`-q 0` (default) use single or double quotes such as to minimize the number of bytes (prefers double quotes when both will do); this is the previous behavior. `-q 1` -- always use single quotes `-q 2` -- always use double quotes `-q 3` or just `-q` -- always use the original quotes. Related codegen option: `quote_style`. Close #495 Close #460 Some `yargs` guru please tell me why `uglifyjs --help` doesn't display the help string for `-q` / `--quotes`, and why it doesn't output the expected argument types anymore, like good old `optimist` did.
2015-01-26Keep single line comments after nlb, after nlbAnthony Van de Gejuchte
Fixes #583
2015-01-24fixes issue #621 SourceMap toString JSON formatBryce Cronkite-Ratcliff
The correct format of a sourcemap is acquired from a mozilla source map generator by calling toJSON on this object. This patch alters the toString function on mozilla generators to print the format that is to spec instead of the generator's internal representation of itself.
2015-01-20Merge pull request #615 from avdg/unicodeMihai Bazon
Give parser more unicode support
2015-01-20Add unicode digit parsing supportAnthony Van de Gejuchte
2015-01-20Update unicode letterAnthony Van de Gejuchte
2015-01-13Optimize conditionals where the consequent and alternative are both booleans ↵Tal Ater
and not equivalent
2015-01-12Replace the correct node when replacing in `void` sequencesRichard van Velzen
Close #611.
2015-01-11Merge pull request #482 from arty-name/inline-ng-injectMihai Bazon
added @ngInject support for inline functions
2015-01-07Fix make_node_from_constant for Regexp-sMihai Bazon
Close #588
2015-01-06aborts(AST_If) returns the `if` nodeMihai Bazon
Previously it returned the abort node from the alternative branch. This is not much use as it can be different from the one in the body branch (i.e. return vs. throw) and can trick us into issues like #591. Fix #591
2015-01-06Location fix for Mozilla AST start token.Ingvar Stepanyan
2015-01-06Track ending lines/columns; fix end locations in Mozilla AST.Ingvar Stepanyan
2015-01-06AST_Do nodes: walk body before conditionMihai Bazon
2015-01-05Fix handling \r\nMihai Bazon
Close #437
2015-01-05Support keep_fnames in compressor, and --keep-fnames. #552Mihai Bazon
Passing `--keep-fnames` will enable it both for compressor/mangler, so that function names will not be dropped (when unused) nor mangled.
2015-01-04Add an option to prevent function names from being mangledRichard van Velzen
See #552. This is mostly useful for having the actual function names in traces.
2015-01-04using the original sourcemap as the baseCaridy Patino
* Creates a new SourceMapGenerator based on a SourceMapConsumer: https://github.com/mozilla/source-map#sourcemapgeneratorfromsourcemapsourcemapconsumer
2015-01-04Fix #556Richard van Velzen
`\uFEFF` (ZERO WIDTH NO-BREAK SPACE) is removed when parsing, but was un-escaped for the output when `ascii_only` was false. When using UglifyJS multiple times (creating packages from minified sources, for example), this would lead to problems because the byte was removed when parsing for the second time.
2015-01-04Merge pull request #570 from rvanvelzen/fix-569Richard van Velzen
Fix #569
2015-01-04Merge pull request #584 from clyfish/fix-base54Richard van Velzen
fix base54
2015-01-04Merge pull request #592 from micschro/patch-1Richard van Velzen
Fix max_line_len not working for JSON files
2015-01-04Fix #569Richard van Velzen
When no arguments are given to `new Function()`, it should be treated as a regular anonymous function (http://es5.github.io/#x15.3.2.1)
2014-12-31Fix #597Richard van Velzen
NaN and Infinity were replaced in the output generation, instead of during compression. This could lead to results where `1/0` was inserted without parens leading to invalid output. The nodes are replaced in the compression step now, and the output generation returns their regular names. This should not be a problem, since they're already only constructed from the original name.
2014-12-17Fix max_line_len not working for JSON filesmicschro
As `maybe_newline()` is only called when `might_need_semicolon` is `true`, the `max_line_len` option has no effect for files without (or with very few) semicolons (like JSON files). A simple for this problem is to use `maybe_newline()` instead of `noop` as the `newline()` function in non-beautify mode.
2014-12-04Merge pull request #546 from jacobk/patch-1Mihai Bazon
Use uglify source map token names if missing
2014-12-01fix base54Cheng Liangyu
2014-10-20Add option to allow return outside of functions.Mihai Bazon
Close #288
2014-09-28Referencing a global is assumed to have side effects.Mihai Bazon
Close #550
2014-09-12Don't warn for an unreferenced exception symbol in a catch block.Arnavion
2014-09-09Use uglify source map token names if missingJacob Kristhammar
2014-09-04Compress conditions that have side effects using sequencesTal Ater
2014-09-02Compress conditional assignments where all possible outcomes are equivalant ↵Tal Ater
and condition has no side effects
2014-08-26Turn foo.new into foo["new"] when not --screw-ie8. Fix #534Mihai Bazon
2014-08-20Prevent error for Function(""). Close #538Mihai Bazon
2014-08-03Added generative testing for AST conversions.Ingvar Stepanyan
2014-08-03SpiderMonkey `Identifier` nodes should contain mangled names.Ingvar Stepanyan
2014-08-02Small fixes for AST conversion.Ingvar Stepanyan
2014-08-01Fixes and improvements for UglifyJS->SM AST conversion.Ingvar Stepanyan
* Explicitly forbidden multiple catch clauses as SM-specific feature. * Simplified describing of UglifyJS->Mozilla AST conversion rules. * Moved alias rules to single place. * Removed usage of dynamic type bindings in generated code (speed-up).
2014-08-01Improved UglifyJS<->SpiderMonkey AST conversions.Ingvar Stepanyan
* Added directives recognition in SM AST. * Moved semi-standard SM `Property` type to separate handler. * Added `const` recognition from SM AST. * Removed redundant `this`-as-identifier recognition. * Removed redundant rules for abstract SM types. * Described `CatchClause` using string syntax. * Added support for semi-standard `range` tuple as location source. * Added back-conversion support (to be improved).
2014-07-18Fix parens for AST_UndefinedMihai Bazon
Do the same as for AST_Unary, since we output undefined as `void 0`. Reported at https://github.com/mishoo/UglifyJS2/issues/338#issuecomment-48858341
2014-07-01Check for the case an AST_For's init is an EmptyStatementMihai Bazon
(lame fix for #503)
2014-07-01Evaluate "foo".length ==> 3Dan Wolff
2014-05-11added @ngInject support for inline functionsArtemy Tregubenko
2014-04-27Actually, even better. #475Mihai Bazon
- also handle x = + ++y, x = - --y; - don't use parens, a space suffices.
2014-04-27Better fix for #475Mihai Bazon
2014-04-27Fix parens in +(+x). Close #475Mihai Bazon