aboutsummaryrefslogtreecommitdiff
path: root/test/mocha
AgeCommit message (Expand)Author
2017-04-23improve parser under "use strict" (#1836)...- `const` without value - `delete` of expression - redefining `arguments` or `eval` extend `test/ufuzz.js` - optionally generate "use strict" - improve handling of test cases with syntax errors - group IIFE generation - generate bare anonymous functions - workaround `console.log()` for `new function()` - generate expressions with `this` fixes #1810Alex Lam S.L
2017-04-19fix parser bugs & CLI reporting (#1827)...fixes #1825Alex Lam S.L
2017-04-15unify CLI & API under `minify()` (#1811)...- 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 #1368Alex Lam S.L
2017-03-31fix missing preamble when shebang is absent (#1742)Alex Lam S.L
2017-03-29remove UGLIFY_DEBUG (#1720)...fixes #1719Alex Lam S.L
2017-03-24improve error marker placement (#1644)...For AST_UnaryPrefix, points to the operator rather than end of expression.Alex Lam S.L
2017-03-24fix expect_stdout (#1642)...`compress()` may modify input ASTs add tests for #1627 & #1640Alex Lam S.L
2017-03-24improve collapsible value detection (#1638)...- #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 moveAlex Lam S.L
2017-03-23account for cross-scope modifications in `collapse_vars` (#1634)...mostly done by @kzc fixes #1631Alex Lam S.L
2017-03-23fix a bug in simple_glob (#1632)...- "?" should not match "/" - other minor clean-upsAlex Lam S.L
2017-03-16make `collapse_vars` consistent with `toplevel` (#1608)...fixes #1605Alex Lam S.L
2017-03-10fixup for #1585 (#1589)...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.Alex Lam S.L
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)...- report file sizes and overall run time - exit with non-zero code upon errorAlex Lam S.L
2017-03-07transform function calls to IIFEs (#1560)...- expose function body to call sites for potential optimisations - suppress substitution of variable used within `AST_Defun`Alex Lam S.L
2017-03-05fix handling of shebang and preamble (#1545)...fixes #1332Alex Lam S.L
2017-03-02optimize trivial IIFEs returning constants (#1530)kzc
2017-03-01invert `reduce_vars` tracking flag (#1519)...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 #1516Alex Lam S.L
2017-02-28warn & drop `#__PURE__` iff IIFE is dropped (#1511)...- consolidate `side-effects` optimisations - improve string `+` optimisation - enhance literal & `conditionals` optimisationsAlex Lam S.L
2017-02-27improve error messages (#1506)...- better inheritance of `Error` sub-classes - mark parse error against source in CLI closes #235 closes #348 closes #524 closes #1356 closes #1405Alex Lam S.L
2017-02-26consolidate `evaluate` & `reduce_vars` (#1505)...- improve marking efficiency - apply smarter `const` replacement to `var` fixes #1501Alex Lam S.L
2017-02-25allow --in-source-map inline (#1490)...- limited to one input file (or `stdin`) - only works with built-in parser fixes #520Alex Lam S.L
2017-02-21Support marking a call as pure...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 kzc
2017-02-21Fix: AST_Accessor missing start / end tokens...fixes #1492 closes #1493 Ondřej Španěl
2017-02-21remove extraneous spaces between ++/+/--/-...fixes #1377 closes #1488 alexlamsl
2017-02-21improve `--beautify bracketize`...reduce whitespaces from if-else statements fixes #1482 closes #1483 alexlamsl
2017-02-21enhance `global_defs`...- 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 alexlamsl
2017-02-18Improve optimizing `function() { if(c){return foo} bar();}`...closes #1437 Anthony Van de Gejuchte
2017-01-26fix mangling collision with keep_fnames (#1431)...* fix mangling collision with keep_fnames fixes #1423 * pass mangle options to figure_out_scope() bring command-line in line with minify() Alex Lam S.L
2016-11-29Generate source map data from normalized files...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. Martijn Swaagman
2016-11-29feat: add option.outFileName for JS API, if absense, sourceMap.file field wil...1111hui
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 filter...Also clarify documentation a bit more about using regexp as filter Anthony Van de Gejuchte
2016-10-23fix uses_arguments handling (broken since 6605d1578351)...Using the symbol declaration tracking of UglifyJS doesn't make sense here anyway, `arguments` always comes from something in the current scope. fixes #1299 Jann Horn
2016-10-23Add an option for writing inline source mappengzhenqing
2016-09-06Make all comment options in cli available in js api...Also removing more code within "loop" while at it. Anthony Van de Gejuchte
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 source-map...Lauri Pokka
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 changes...* 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 Anthony Van de Gejuchte
2016-06-30Fix spidermonkey AST (ESTree) export and import, Array holes...Fixes: #1156 #1161 Also add test to exercise Uglify after spidermonkey export/import of itself. kzc
2016-06-30Move OctalEscapeSequence to read_escape_char...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. Anthony Van de Gejuchte