aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2017-02-21drop unused: toplevel, assign-onlyalexlamsl
- assign statement does not count towards variable usage by default - only works with assignments on the same scope level as declaration - can be disabled with `unused` set to "keep_assign" - `toplevel` to drop unused top-level variables and/or functions - `top_retain` to whitelist top-level exceptions closes #1450
2017-02-21fix stray else in compress with conditionals=falsekzc
closes #1449
2017-02-18enable typeof "undefined" for general usealexlamsl
move out of unsafe, guard corner case with screw_id8 instead closes #1446
2017-02-18fix corner case in keep_fnamesalexlamsl
happens when inner function: - just below top level - not referenced - `unused` is disabled closes #1445
2017-02-18fix crash in unsafe replacement of undefinedalexlamsl
remove extraneous call to AST_SymbolRef.reference() closes #1443
2017-02-18Improve optimizing `function() { if(c){return foo} bar();}`Anthony Van de Gejuchte
closes #1437
2017-01-26update test (#1441)Alex Lam S.L
improved reduce_vars & binary operands produce more optimal results
2017-01-26fix mangling collision with keep_fnames (#1431)Alex Lam S.L
* fix mangling collision with keep_fnames fixes #1423 * pass mangle options to figure_out_scope() bring command-line in line with minify()
2017-01-26optimise binary operands with evaluate() (#1427)Alex Lam S.L
- remove call to evaluate() in is_constant() and let nested optimize() does its job instead - reject RegExp in is_constant() and remove special case logic under collapse_vars - operands to conditionals optimisation are now always evaluate()-ed - throw error in constant_value() instead of returning undefined to catch possible bugs, similar to make_node_from_constant() - optimise binary boolean operators under `evaluate` instead of `conditionals`
2017-01-26augment evaluate to extract within objects (#1425)Alex Lam S.L
- gated by `unsafe` - replaces previous optimisation specific to String.length - "123"[0] => 1 - [1, 2, 3][0] => 1 - [1, 2, 3].length => 3 - does not apply to objects with overridden prototype functions
2017-01-19add missing LHS cases which global_defs should avoidalexlamsl
2017-01-19Have minify() and tests use figure_out_scope() as uglifyjs CLI doeskzc
Clarify docs, help and tests for --support-ie8 and screw_ie8=false
2017-01-19Add preventive test involving non-ascii function identifiersAnthony Van de Gejuchte
2016-11-29Generate source map data from normalized filesMartijn Swaagman
If using `inSourceMap` this fix will ensure the copying of `sourcesContent` is based on potentially normalized `sources` values (https://github.com/mozilla/source-map/blob/master/lib/source-map-consumer.js#L304-L309). For example `normalize` (https://github.com/mozilla/source-map/blob/master/lib/util.js#L80-L123) will rewrite `./dist/mySource.js` to `dist/mySource.js` in the target `_sources` of the `SourceMapConsumer`. As a result `orig_map.sourceContentFor(source, true);` would return `null` since the orginal `source` was no longer available in the consumer. By using the keys generating from the `SourceMapConsumer.constructor` consistency is ensured.
2016-11-29feat: add option.outFileName for JS API, if absense, sourceMap.file field ↵1111hui
will deduced
2016-11-29Add --mangle-props-debug and fix --mangle-props=unquoted collisionAshley (Scirra)
Patch by @AshleyScirra Based on: PR #1316 Renamed the CLI debug option to --mangle-props-debug Fixes: #1321 name collision in --mangle-props=unquoted
2016-11-29Do not overwrite options.comments + cleanupAnthony Van de Gejuchte
2016-10-27Pass mangle options to figure_out_scope before mangling in testsAnthony Van de Gejuchte
2016-10-23Don't filter shebangs when using the 'some' comment filterAnthony Van de Gejuchte
Also clarify documentation a bit more about using regexp as filter
2016-10-23fix uses_arguments handling (broken since 6605d1578351)Jann Horn
Using the symbol declaration tracking of UglifyJS doesn't make sense here anyway, `arguments` always comes from something in the current scope. fixes #1299
2016-10-23Add an option for writing inline source mappengzhenqing
2016-10-06Remove console.log and add extra test caseRichard van Velzen
2016-10-06Add an option to wrap IIFEs in parenthesisRichard van Velzen
For #1307.
2016-10-06Fix (typeof side_effect()) in boolean contextkzc
Fixes #1289 with suggestion by @rvanvelzen
2016-10-01Optimize unmodified variablesalexlamsl
2016-09-06Make all comment options in cli available in js apiAnthony Van de Gejuchte
Also removing more code within "loop" while at it.
2016-09-01Account for side effects in `string + expr` optimizationkzc
2016-08-30implement optimization: (x = 2 * x) ---> (x *= 2)kzc
2016-08-17Fix negate_iife transform to return a correct tree for nested IIFEsRichard van Velzen
Fix for #1256, partially reverts d854523783b4
2016-08-17Fix negate_iife regression #1254kzc
2016-08-14Fix --mangle-props and --mangle-props=unquotedkzc
Fixes: #1247 Fix --mangle-props and --name-cache inconsistency. AST_Dot and AST_Sub properties are now mangled by --mangle-props without regard to being used in an assignment statement. Note: if --mangle-props is used then *all* javascript files used must be uglified with the same mangle options. Fix the ignore_quoted=true mangle option, also known as `--mangle-props=unquoted`. If a given property is quoted anywhere it will not be mangled in any quoted or non-quoted context.
2016-08-14Additional object literal property testskzc
2016-08-14Add input file glob support to minify()kzc
2016-08-14Moved test input files to test/input.Lucas Wiener
2016-08-14Added test for #1236Lucas Wiener
2016-08-14Fix unneeded parens around unary args in new expression.kzc
2016-08-14Test reparsing test/compress/*.js outputkzc
2016-07-21Legacy octal integer strict mode fixesAnthony Van de Gejuchte
2016-07-17lib/sourcemap.js: Copy sourceContent from old souce-map to the new ↵Lauri Pokka
source-map. Should fix #882
2016-07-15Keep const in own scope while compressingAnthony Van de Gejuchte
- Fixes #1205 - Fix provided by @kzc
2016-07-15Fix mangle with option keep_fnames=true for Safari.kzc
Fixes: #1202
2016-07-04Backport mocha with test from harmonyAnthony Van de Gejuchte
2016-07-03Don't convert all strings to directives from moz-astAnthony Van de Gejuchte
2016-07-01Introduce a test that tests the --self buildRichard van Velzen
2016-06-30Allow input files to be map (url->filename)Geraint
2016-06-30Various LineTerminator changesAnthony Van de Gejuchte
* Escaped newlines should also produce SyntaxError * Fix multiline comment parsing and add tests * Adapt makePredicate to handle \u2028 and \u2029 * Move up nlb check in regex so it's checked before any escape handling * Change error messages to conform ecma standard * Find_eol not recornizing \u2028 and \u2029 as line terminator * Remove \u180e as it is removed in unicode 6.3.0 from the category zs
2016-06-30Enable --screw-ie8 by default.kzc
catch identifier is mangled correctly for ES5 standards-compliant JS engines by default. Unconditionally use the ie8 if/do-while workaround whether or not --screw-ie8 is enabled. To support non-standard ie8 javascript use: uglifyjs --support-ie8
2016-06-30Fix spidermonkey AST (ESTree) export and import, Array holeskzc
Fixes: #1156 #1161 Also add test to exercise Uglify after spidermonkey export/import of itself.
2016-06-30Move OctalEscapeSequence to read_escape_charAnthony Van de Gejuchte
This should simplify and improve implementation, make it easier to implement template strings, and keep master a bit more in sync with harmony. Previous implementation wasn't broken, though the loop gave me the impression it could read infinite numbers and annoyed me a bit. It was also slightly unnecessary because the lookup involved only 3 characters.
2016-06-21Fix conditional expressions of form (x ? -1 : -1)kzc
Fixes #1154, #1153