I'm willing to use anything that helps reduce the size and improves the quality of the js. For optimal usage the tool should allow for a maven plugin.
In any case I think it might be interesting to generate externs.js files for each feature, and it might be interesting to concat the scripts for each feature together for more code size reduction. 2010/1/12 ๏̯͡๏ Jasvir Nagra <jas...@google.com> > YUI compressor compresses all valid input javascript correctly. Closure > compiler under simple mode accepts a subset of javascript and produces > output that tries to be compatible with Caja's output semantics ( > http://code.google.com/closure/compiler/faq.html#caja). If we are willing > to author in a subset of javascript, we should instead aim for the Caja > subset (specifically the cajita subset). The Caja Web Tools package ( > > http://code.google.com/p/google-caja/source/browse/#svn/trunk/src/com/google/caja/ancillary/opt > ) > provides comparable compression as well as a linter and jsdoc tool. The > significant advantage over targetting closure compiler would be the ability > to inline gadgets on a page instead of iframing them. > > On Tue, Jan 12, 2010 at 1:37 PM, Paul Lindner <lind...@inuus.com> wrote: > > > There isn't a closure compiler maven plugin quite yet. Also be aware > that > > the closure compiler is quite slow. However using it has uncovered a > > number > > of issues. See the warnings I just attached to the jira issue. > > > > > > On Tue, Jan 12, 2010 at 1:25 PM, John Hjelmstad <fa...@google.com> > wrote: > > > > > Looks good. Do you have a CL for pom.xml updates as well that switches > > from > > > YUI to CC? > > > > > > -j > > > > > > On Tue, Jan 12, 2010 at 1:20 PM, Paul Lindner <plind...@linkedin.com> > > > wrote: > > > > > > > With a large number of cleanups to the jsdoc I was able to get the > > > shindig > > > > javascript compiled using the closure compiler. Overall there's a 5% > > > > reduction in gzip'd bytes (see table below) > > > > > > > > Normally closure compiler is not used piecemeal like this. instead > > it's > > > > used on the entirety of a script. Doing this for content from the > > concat > > > > servlet shows a 6% reduction in gzip'd bytes: > > > > > > > > 6671 Jan 12 12:34 rpc.cc.js.gz > > > > 7116 Jan 12 12:34 rpc.opt.js.gz > > > > 26427 Jan 12 12:32 if.cc.js.gz > > > > 28171 Jan 12 12:30 if.opt.js.gz > > > > > > > > > > > > To track the cleanups to the javascript I created > > > > https://issues.apache.org/jira/browse/SHINDIG-1264 There's a bit > more > > > > remaining cleanup and some remaining outstanding warnings from my > > build. > > > > > > > > REDUCTION IN GZIP BYTES > > > > > > > > orig yui cc diff fname > > > > 595 104 103 1.0% > > > target/classes/features/auth-refresh/auth-refresh > > > > 2654 446 370 17.0% target/classes/features/core.auth/auth > > > > 542 59 57 3.4% target/classes/features/core.auth/auth-init > > > > 2883 590 545 7.6% target/classes/features/core.config/config > > > > 5266 2647 2285 13.7% target/classes/features/core.io/io > > > > 631 143 141 1.4% target/classes/features/core.io/taming > > > > 2726 842 797 5.3% target/classes/features/core.json/json > > > > 614 124 122 1.6% target/classes/features/core.json/taming > > > > 3063 1347 1247 7.4% target/classes/features/core.legacy/legacy > > > > 1220 303 288 5.0% target/classes/features/core.log/log > > > > 671 189 186 1.6% target/classes/features/core.log/taming > > > > 2575 777 725 6.7% target/classes/features/core.prefs/prefs > > > > 676 186 184 1.1% target/classes/features/core.prefs/taming > > > > 653 168 166 1.2% target/classes/features/core.util/taming > > > > 3544 991 926 6.6% target/classes/features/core.util/util > > > > 984 217 208 4.1% > > > > target/classes/features/dynamic-height.util/dynamic-height-util > > > > 2593 675 633 6.2% > > > > target/classes/features/dynamic-height/dynamic-height > > > > 630 144 141 2.1% > target/classes/features/dynamic-height/taming > > > > 2638 1116 1054 5.6% target/classes/features/flash/flash > > > > 2092 995 929 6.6% target/classes/features/flash/taming > > > > 1020 466 472 -1.3% > target/classes/features/i18n/currencycodemap > > > > 5240 1505 1451 3.6% target/classes/features/i18n/datetimeformat > > > > 1915 1313 1356 -3.3% > > target/classes/features/i18n/datetimeformattest > > > > 9641 2408 2276 5.5% target/classes/features/i18n/datetimeparse > > > > 2821 1838 1879 -2.2% > > target/classes/features/i18n/datetimeparsetest > > > > 2101 556 550 1.1% target/classes/features/i18n/formatting > > > > 5618 2514 2399 4.6% target/classes/features/i18n/numberformat > > > > 2251 1567 1586 -1.2% > target/classes/features/i18n/numberformattest > > > > 2609 999 933 6.6% > > target/classes/features/minimessage/minimessage > > > > 660 175 172 1.7% target/classes/features/minimessage/taming > > > > 2010 368 350 4.9% > target/classes/features/oauthpopup/oauthpopup > > > > 1695 727 723 0.6% > > > > target/classes/features/opensocial-0.6/opensocial6to7 > > > > 1276 576 563 2.3% > > > > target/classes/features/opensocial-0.7/opensocial7to8 > > > > 707 226 216 4.4% > > > > target/classes/features/opensocial-0.8/opensocial8to9 > > > > 2184 1174 1099 6.4% > > > > target/classes/features/opensocial-base/fieldtranslations > > > > 1031 373 349 6.4% > > > > target/classes/features/opensocial-base/jsonactivity > > > > 731 191 186 2.6% > > > > target/classes/features/opensocial-base/jsonmessage > > > > 861 194 190 2.1% > > > > target/classes/features/opensocial-base/jsonmessagecollection > > > > 1186 580 548 5.5% > > > target/classes/features/opensocial-base/jsonperson > > > > 2310 660 601 8.9% > > > > target/classes/features/opensocial-data-context/datacontext > > > > 5767 2336 2216 5.1% target/classes/features/opensocial-data/data > > > > 4116 2596 2505 3.5% > > > > target/classes/features/opensocial-jsonrpc/jsonrpccontainer > > > > 3629 375 374 0.3% > > > > target/classes/features/opensocial-reference/activity > > > > 1343 290 290 0.0% > > > > target/classes/features/opensocial-reference/address > > > > 1093 195 194 0.5% > > > > target/classes/features/opensocial-reference/bodytype > > > > 1263 257 251 2.3% > > > > target/classes/features/opensocial-reference/collection > > > > 3997 673 607 9.8% > > > > target/classes/features/opensocial-reference/container > > > > 4130 798 774 3.0% > > > > target/classes/features/opensocial-reference/datarequest > > > > 1173 174 169 2.9% > > > > target/classes/features/opensocial-reference/dataresponse > > > > 1029 159 158 0.6% > > > target/classes/features/opensocial-reference/email > > > > 1726 381 384 -0.8% > > > target/classes/features/opensocial-reference/enum > > > > 1294 359 350 2.5% > > > > target/classes/features/opensocial-reference/environment > > > > 1590 264 260 1.5% > > > > target/classes/features/opensocial-reference/idspec > > > > 1318 286 278 2.8% > > > > target/classes/features/opensocial-reference/mediaitem > > > > 1893 452 452 0.0% > > > > target/classes/features/opensocial-reference/message > > > > 1213 214 212 0.9% > > > > target/classes/features/opensocial-reference/messagecollection > > > > 1096 247 245 0.8% > > > target/classes/features/opensocial-reference/name > > > > 1564 246 245 0.4% > > > > target/classes/features/opensocial-reference/navigationparameters > > > > 3858 606 592 2.3% > > > > target/classes/features/opensocial-reference/opensocial > > > > 1427 264 263 0.4% > > > > target/classes/features/opensocial-reference/organization > > > > 3389 1141 1138 0.3% > > > > target/classes/features/opensocial-reference/person > > > > 1029 157 156 0.6% > > > target/classes/features/opensocial-reference/phone > > > > 1556 333 330 0.9% > > > > target/classes/features/opensocial-reference/responseitem > > > > 1448 851 870 -2.2% > > > > target/classes/features/opensocial-reference/taming > > > > 1066 174 174 0.0% > > target/classes/features/opensocial-reference/url > > > > 4314 1595 1505 5.6% > > > target/classes/features/opensocial-templates/base > > > > 9647 3885 3672 5.5% > > > > target/classes/features/opensocial-templates/compiler > > > > 4375 1842 1714 6.9% > > > > target/classes/features/opensocial-templates/container > > > > 4153 978 905 7.5% > > > > target/classes/features/opensocial-templates/jsTemplate/jsevalcontext > > > > 9977 2767 2482 10.3% > > > > target/classes/features/opensocial-templates/jsTemplate/jstemplate > > > > 4231 1122 1060 5.5% > > > > target/classes/features/opensocial-templates/jsTemplate/util > > > > 2989 1246 1143 8.3% > > > > target/classes/features/opensocial-templates/loader > > > > 1301 308 297 3.6% > > > > target/classes/features/opensocial-templates/namespaces > > > > 2559 919 824 10.3% > > target/classes/features/opensocial-templates/os > > > > 1644 645 620 3.9% > > > > target/classes/features/opensocial-templates/template > > > > 1441 386 360 6.7% > > > target/classes/features/opensocial-templates/util > > > > 1849 447 387 13.4% target/classes/features/osapi/batch > > > > 1920 505 466 7.7% > > > target/classes/features/osapi/gadgetsrpctransport > > > > 1401 551 508 7.8% > target/classes/features/osapi/jsonrpctransport > > > > 1158 388 360 7.2% target/classes/features/osapi/osapi > > > > 985 194 193 0.5% target/classes/features/osapi/peoplehelpers > > > > 989 336 328 2.4% target/classes/features/osapi/taming > > > > 981 227 210 7.5% target/classes/features/pubsub/pubsub > > > > 1415 454 412 9.3% target/classes/features/pubsub/pubsub-router > > > > 622 128 126 1.6% target/classes/features/pubsub/taming > > > > 1785 474 445 6.1% target/classes/features/rpc/fe.transport > > > > 2444 728 683 6.2% target/classes/features/rpc/ifpc.transport > > > > 4045 887 840 5.3% target/classes/features/rpc/nix.transport > > > > 6619 1420 1317 7.3% target/classes/features/rpc/rmr.transport > > > > 9270 2292 2134 6.9% target/classes/features/rpc/rpc > > > > 1610 454 429 5.5% target/classes/features/rpc/wpm.transport > > > > 1181 359 328 8.6% target/classes/features/setprefs/setprefs > > > > 723 121 120 0.8% target/classes/features/settitle/settitle > > > > 606 116 114 1.7% target/classes/features/settitle/taming > > > > 1226 253 242 4.3% target/classes/features/skins/skins > > > > 608 117 115 1.7% target/classes/features/skins/taming > > > > 5496 2640 2491 5.6% target/classes/features/tabs/tabs > > > > 716 223 222 0.4% target/classes/features/tabs/taming > > > > 705 215 212 1.4% target/classes/features/views/taming > > > > 3653 1643 1550 5.7% target/classes/features/views/views > > > > 1867 755 728 3.6% target/classes/features/xmlutil/xmlutil > > > > --------------------------------------------------- > > > > 238629 75921 728 5.1% > > > > YUI Better : 6 (131) > > > > CC Better : 92 (4017) > > > > > > > > > >