Commit Graph

48 Commits

Author SHA1 Message Date
Mihai Bazon 99233c44cc No longer use vm to load code.
Improves performance 2x on node > 0.10.

Ref #636
2015-09-24 17:58:51 +03:00
Ingo Struck 3a5f354846 allow for anonymous map generation using string type check 2015-08-27 19:38:33 +02:00
Richard van Velzen 464a942a95 Merge pull request #736 from AlbertoGP/master
fromString option, use index from argument array for filename instead of "?"
2015-08-07 14:12:41 +02:00
Kosei Kitahara 8108c7ffaf Support wrap and exportAll options. 2015-07-28 21:36:22 +09:00
Alberto González Palomo 4fba3e0b80 fromString option, use index from argument array for filename instead of "?"
The index allows the caller to map things like parse errors back to the
code chunk where they appeared.
2015-06-15 18:03:06 +02:00
Mihai Bazon d2dda34b2a Remove deprecated calls to utils.print/utils.error
Close #542, #641, #647
2015-05-04 15:07:16 +03:00
Mihai Bazon 6b82069e1a Merge in more DOM properties. 2015-03-24 13:59:57 +02:00
Mihai Bazon e1c3861832 Export readDefaultReservedFile 2015-03-22 11:04:28 +02:00
Mihai Bazon 81b7335267 Don't use Object.create 2015-03-19 12:54:43 +02:00
Mihai Bazon bb010c2253 tools/props.html: output complete JSON 2015-03-19 10:10:01 +02:00
Mihai Bazon 03b6121194 Add --reserve-domprops along with a default exclusion list in tools/domprops.json 2015-03-18 12:10:21 +02:00
Mihai Bazon 3ef092332b Support multiple --reserved-file args 2015-03-18 11:53:17 +02:00
Mihai Bazon 7c8c9b94bc tools/props.html: use try/catch in a few more places 2015-03-17 14:31:22 +02:00
Mihai Bazon f5eeed7665 Add tool to list DOM properties/methods 2015-03-17 11:46:04 +02:00
Mihai Bazon 80cfd063e2 Export readNameCache / writeNameCache 2015-03-17 10:05:49 +02:00
Mihai Bazon ea3430102c Add property name mangler
We only touch properties that are present in an object literal, or which are
assigned to.  Example:

    x = { foo: 1 };
    x.bar = 2;
    x["baz"] = 3;
    x[cond ? "qwe" : "asd"] = 4;
    console.log(x.stuff);

The names "foo", "bar", "baz", "qwe" and "asd" will be mangled, and the
resulting mangled names will be used for the same properties throughout the
code.  The "stuff" will not be, since it's just referenced but never
assigned to.

This *will* break most of the code out there, but could work on carefully
written code: do not use eval, do not define methods or properties by
walking an array of names, etc.  Also, a comprehensive list of exclusions
needs to be passed, to avoid mangling properties that are standard in
JavaScript, DOM, used in external libraries etc.
2015-03-14 11:22:28 +02:00
Richard van Velzen d78ae20e64 Make empty source map values more reasonable in .minify()
`"null"` isn't a very usable value. `JSON.parse(null)` also gives `null`, which makes this fully backwards compatible.

Closes #616
2015-01-26 12:07:44 +01:00
Richard van Velzen 7f9bc9e863 Pass mangle options to figure_out_scope and compute_char_frequence
Fix #219. Because the options were not set and `toplevel` is `false` by default, some toplevel names would sometimes not be mangled correctly.
2015-01-05 19:10:32 +01:00
truiken 0f80b1058d Resolve the relative path to lib files last
This allows usage of UglifyJS on build systems which have a flat (or non-matching relative) directory structure for source files.
2015-01-04 21:01:11 +01:00
achingbrain 4613644cce passes in references to process and Buffer to silence ReferenceErrors 2015-01-04 19:26:47 +01:00
OiNutter ef772b0049 add sourceMappingUrl to output in node module
If options.outSourceMap is specified the sourceMappingURL comment
should be appended to the output stream
2014-04-13 11:48:38 +02:00
ebednarz 6fcabbde08 Fix sourceMapIncludeSources exception in Node API
https://github.com/mishoo/UglifyJS2/issues/459
2014-04-13 11:16:10 +02:00
Artemy Tregubenko f6203bd5a8 added hasOwnProperty check to avoid warnings 2014-01-09 15:20:05 +01:00
Artemy Tregubenko 03cf94ebe8 Added support for sourcesContent property of source map 2014-01-09 15:12:00 +01:00
Mihai Bazon b9fac687ff Support SpiderMonkey AST in UglifyJS.minify. Fix #393. 2014-01-07 18:42:48 +02:00
Mihai Bazon d0689c81bb Reset the base54 counters every time minify is called.
Close #229
2013-06-28 10:08:13 +03:00
Devon Govett f2767452e6 Allow inSourceMap to be a generated JSON source map instead of just a file name 2013-02-10 10:06:13 -08:00
Mihai Bazon 130c623be7 Support output, mangle and compress options to UglifyJS.minify.
Close #57
Close #86
Close #33
2013-01-04 11:25:13 +02:00
Mihai Bazon 7f5f4d60b7 discard the hack that worked around the deprecation warning
(since the source-map module no longer uses require.js)

refs #9
2012-11-05 22:23:51 +02:00
Mihai Bazon 202fb93799 test for fs.existsSync 2012-10-25 10:58:48 +03:00
Mihai Bazon bee01dc1be Merge branch 'master' of github.com:mishoo/UglifyJS2 2012-10-20 11:14:25 +03:00
Mihai Bazon 12f71e01d0 alternate hack to disable deprecation warning
ref #9, close #20
2012-10-20 11:12:21 +03:00
Sergej Tatarincev 11dffe950e Add sourceRoot option to minify 2012-10-19 12:35:19 +03:00
Mihai Bazon 6f45928a73 add fromString argument to UglifyJS.minify (allows to pass the source
code, instead of file names, as first argument).

close #17
2012-10-18 15:49:15 +03:00
Mihai Bazon f322b32e0e disable warnings by default in minify (pass warnings: true to enable)
close #11
2012-10-11 09:31:17 +03:00
Mihai Bazon e1862cd36f add --ast-help
displays a rather cruel description of the AST classes, derived
directly from the node definitions.
2012-10-09 13:21:21 +03:00
Sergej Tatarincev 203ecaf85b Fix nodejs minify without inSourceMap exception
When inSourceMap is omitted fs.readFile throws exception. Fixed version
calls fs.readFile only when inSourceMap argument is present
2012-10-09 12:52:28 +03:00
Mihai Bazon c967f0b0fe fix inSourceMap in minify (should read the file) 2012-10-08 21:22:20 +03:00
Mihai Bazon dfc04e6677 add simple API wrapper: UglifyJS.minify
(refs #7)
2012-10-08 21:15:59 +03:00
Mihai Bazon dd8286bce1 added --self to easily get a browser-runnable version of UglifyJS 2012-10-08 12:55:18 +03:00
Mihai Bazon 2bd8a118c2 define AST_Node.from_mozilla_ast(ast)
returns an UglifyJS2 AST given a Mozilla AST.  Still needs some work to do
(need to create specific nodes like AST_SymbolRef, AST_SymbolLambda
etc. instead of base AST_Symbol, in order for the mangler/compressor to work
properly)
2012-10-03 20:03:17 +03:00
Mihai Bazon cb2e811191 discard annoying nodejs warning 2012-10-02 16:40:01 +03:00
Mihai Bazon 76d88b59dc tree transformer api (WIP) 2012-09-22 19:41:09 +03:00
Mihai Bazon 919b2733ab always keep declarations found in unreachable code
a few more tests and some cleanups.
2012-09-07 15:18:32 +03:00
Mihai Bazon 52bcca288f started support for generating source maps (WIP)
plugged in @fitzgen's source-map library
2012-08-29 19:39:19 +03:00
Mihai Bazon 159a6f048c wrote more of the compressor and added some tests 2012-08-22 15:21:58 +03:00
Mihai Bazon ffe58a9961 cleaned up some mess and started the actual compressor 2012-08-21 16:14:43 +03:00
Mihai Bazon 7ae1c600a2 some reorganization
(moved pretty much everything that relates to scope in scope.js, added a
module for NodeJS that can be used with require() and exports everything.)
2012-08-21 13:53:16 +03:00