aboutsummaryrefslogtreecommitdiff
path: root/test/mocha
AgeCommit message (Collapse)Author
2017-04-15unify CLI & API under `minify()` (#1811)Alex Lam S.L
- rename `screw_ie8` to `ie8` - rename `mangle.except` to `mangle.reserved` - rename `mangle.properties.ignore_quoted` to `mangle.properties.keep_quoted` - compact `sourceMap` options - more stringent verification on input `options` - toplevel shorthands - `ie8` - `keep_fnames` - `toplevel` - `warnings` - support arrays and unquoted string values on CLI - drop `fromString` from `minify()` - `minify()` no longer handles any `fs` operations - unify order of operations for `mangle_properties()` on CLI & API - `bin/uglifyjs` used to `mangle_properties()` before even `Compressor` - `minify()` used to `mangle_properties()` after `Compressor` but before `mangle_names()` - both will now do `Compressor`, `mangle_names()` then `mangle_properties()` - `options.parse` / `--parse` for parser options beyond `bare_returns` - add `mangle.properties.builtins` to disable built-in reserved list - disable with `--mangle-props builtins` on CLI - `warnings` now off by default - add `--warn` and `--verbose` on CLI - drop `--enclose` - drop `--export-all` - drop `--reserved-file` - use `--mangle reserved` instead - drop `--reserve-domprops` - enabled by default, disable with `--mangle-props domprops` - drop `--prefix` - use `--source-map base` instead - drop `--lint` - remove `bin/extract-props.js` - limit exposure of internal APIs - update documentations closes #96 closes #102 closes #136 closes #166 closes #243 closes #254 closes #261 closes #311 closes #700 closes #748 closes #912 closes #1072 closes #1366 fixes #101 fixes #123 fixes #124 fixes #263 fixes #379 fixes #419 fixes #423 fixes #461 fixes #465 fixes #576 fixes #737 fixes #772 fixes #958 fixes #1036 fixes #1142 fixes #1175 fixes #1220 fixes #1223 fixes #1280 fixes #1359 fixes #1368
2017-03-31fix missing preamble when shebang is absent (#1742)Alex Lam S.L
2017-03-29remove UGLIFY_DEBUG (#1720)Alex Lam S.L
fixes #1719
2017-03-24improve error marker placement (#1644)Alex Lam S.L
For AST_UnaryPrefix, points to the operator rather than end of expression.
2017-03-24fix expect_stdout (#1642)Alex Lam S.L
`compress()` may modify input ASTs add tests for #1627 & #1640
2017-03-24improve collapsible value detection (#1638)Alex Lam S.L
- #1634 bars variables with cross-scope references in between to collapse - but if assigned value is side-effect-free, no states can be modified, so it is safe to move
2017-03-23account for cross-scope modifications in `collapse_vars` (#1634)Alex Lam S.L
mostly done by @kzc fixes #1631
2017-03-23fix a bug in simple_glob (#1632)Alex Lam S.L
- "?" should not match "/" - other minor clean-ups
2017-03-16make `collapse_vars` consistent with `toplevel` (#1608)Alex Lam S.L
fixes #1605
2017-03-10fixup for #1585 (#1589)Alex Lam S.L
As patched on `harmony`, `statement()` is the only user of `embed_tokens()` with a missing error branch. Updated test case and match up with `harmony` to facilitate future merging.
2017-03-10Correctly raise a parse exception with a missing loop body (#1585)Michael Mior
2017-03-08only run benchmark & jetstream on CI (#1571)Alex Lam S.L
2017-03-07include benchmark.js in test suite (#1564)Alex Lam S.L
- report file sizes and overall run time - exit with non-zero code upon error
2017-03-07transform function calls to IIFEs (#1560)Alex Lam S.L
- expose function body to call sites for potential optimisations - suppress substitution of variable used within `AST_Defun`
2017-03-05fix handling of shebang and preamble (#1545)Alex Lam S.L
fixes #1332
2017-03-02optimize trivial IIFEs returning constants (#1530)kzc
2017-03-01invert `reduce_vars` tracking flag (#1519)Alex Lam S.L
Modules like webpack and grunt-contrib-uglify still uses `ast.transform(compressor)` before `Compressor.compress(ast)` was introduced. Workaround this compatibility issue by deactivating `reduce_vars` in such case. Also fix use case with omitted `options` when calling `Compressor()`. fixes #1516
2017-02-28warn & drop `#__PURE__` iff IIFE is dropped (#1511)Alex Lam S.L
- consolidate `side-effects` optimisations - improve string `+` optimisation - enhance literal & `conditionals` optimisations
2017-02-27improve error messages (#1506)Alex Lam S.L
- better inheritance of `Error` sub-classes - mark parse error against source in CLI closes #235 closes #348 closes #524 closes #1356 closes #1405
2017-02-26consolidate `evaluate` & `reduce_vars` (#1505)Alex Lam S.L
- improve marking efficiency - apply smarter `const` replacement to `var` fixes #1501
2017-02-25allow --in-source-map inline (#1490)Alex Lam S.L
- limited to one input file (or `stdin`) - only works with built-in parser fixes #520
2017-02-21Support marking a call as purekzc
A function call or IIFE with an immediately preceding comment containing `@__PURE__` or `#__PURE__` is deemed to be a side-effect-free pure function call and can potentially be dropped. Depends on `side_effects` option. `[#@]__PURE__` hint will be removed from comment when pure call is dropped. fixes #1261 closes #1448
2017-02-21Fix: AST_Accessor missing start / end tokensOndřej Španěl
fixes #1492 closes #1493
2017-02-21remove extraneous spaces between ++/+/--/-alexlamsl
fixes #1377 closes #1488
2017-02-21improve `--beautify bracketize`alexlamsl
reduce whitespaces from if-else statements fixes #1482 closes #1483
2017-02-21enhance `global_defs`alexlamsl
- support arrays, objects & AST_Node - support `"a.b":1` on both cli & API - emit warning if variable is modified - override top-level variables fixes #1416 closes #1198 closes #1469
2017-02-18Improve optimizing `function() { if(c){return foo} bar();}`Anthony Van de Gejuchte
closes #1437
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()
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-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-09-06Make all comment options in cli available in js apiAnthony Van de Gejuchte
Also removing more code within "loop" while at it.
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-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-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-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-20Keep master in sync with harmonyAnthony Van de Gejuchte
* Do not mangle when no mangle is required * Improve use_asm reset while printing code
2016-06-19Respect quote style in object literalsShrey Banga
The option added in fbbaa42ee55a7f753f7cab9b1a905ccf73cf26d5 wasn't being respected inside object literals, so quoted property names would still be stripped out with this option. This is mostly a corner-case, but useful when the output is passed to something like the Closure compiler, where quoted property names can be used to prevent mangling.