Hi John,
That pace you're keeping, it's incredible :) Glad to hear translations
finally landed!
Unfortunately, I couldn't make them work :(
[mitya@localhost test]$ node compile-app-demo.js 
[BABEL] Note: The code generator has deoptimised the styling of
"/home/mitya/qxcompiler/qooxdoo/framework/source/class/qx/ui/core/Widge
t.js" as it exceeds the max of "100KB".
2016-02-17 21:30:13.229 [info ] makers          Writing target Source
Target: ../testdata/qxt/source-output/
/home/mitya/qxcompiler/lib/qxcompiler/targets/Target.js:239
              pkgdata.locales["C"] = db.cldr["en"];
                                            ^

TypeError: Cannot read property 'en' of undefined
    at /home/mitya/qxcompiler/lib/qxcompiler/targets/Target.js:239:45
    at /home/mitya/qxcompiler/node_modules/async/lib/async.js:718:13
    at async.forEachOf.async.eachOf
(/home/mitya/qxcompiler/node_modules/async/lib/async.js:233:13)
    at _parallel
(/home/mitya/qxcompiler/node_modules/async/lib/async.js:717:9)
    at Object.async.parallel
(/home/mitya/qxcompiler/node_modules/async/lib/async.js:731:9)
    at /home/mitya/qxcompiler/lib/qxcompiler/targets/Target.js:236:15
    at /home/mitya/qxcompiler/lib/util.js:321:9
    at /home/mitya/qxcompiler/node_modules/async/lib/async.js:52:16
    at /home/mitya/qxcompiler/node_modules/async/lib/async.js:269:32
    at /home/mitya/qxcompiler/node_modules/async/lib/async.js:44:16
(removed qxcompiler dir & did clean checkout, didn't help either)
Re: Babel - sadly, didn't make it work either :( that arrow function in
qxt/Application.js goes unchanged first to [source|build]-
output/transpiled, then to [source|build]-output/script. The same with
string templates, etc. Note the above [BABEL] message - that means,
Babel is invoked, but doesn't apply any actual transformations. I tried
"strace -e trace=open node compile-app-demo.js", and didn't see it open
.babelrc or any plugin and/or preset modules. Could you please make
sure it's indeed enabled? If it works for you, could you please assist
me in tracing/debugging (since I'm a newbie in a Node world)?
As for script compression, I played a bit with the standalone uglify tool. 
Works pretty fine, but it takes ~30 seconds to process a skeleton app. Do you 
think it can be sped up if integrated into QxCompiler?
Minor issue: test/*.js scripts could have a shebang string (#!/usr/bin/node) 
and +x mode so that they could be run directly, without typing "node ..." each 
time.
Cheers!
Dimitri

> Hi again
> 
> There’s a new release which includes support for translations; you
> don’t have to do anything to enable it, just rerun the qxcompiler.
> 
> If you want to update your .po files with new translation strings,
> there is an example of how to do this for the qxt application in
> test/update-app-translations-demo.js, but basically after
> maker.make() has completed, you just call maker.updateTranslations()
> // ...snip...
> /*
>  * Make it
>  */
> function (cb) {
>   maker.make(cb);
> },
> 
> /*
>  * Translations
>  */
> function (cb) {
>   maker.updateTranslations(appLibrary, cb);
> }
> // ...snip...
> BUT:: because this modifies the original *.po files in your source
> directory, please take a backup of your files first.
> 
> Build Target compression is next :)
> 
> John
> 
> From: John Spackman <john.spack...@zenesis.com>
> Reply-To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net>
> Date: Wednesday, 17 February 2016 at 09:08
> To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net>
> Subject: Re: [qooxdoo-devel] QxCompiler - add ES6, faster
> compilation, and 100% Javascript API to building applications
> 
> Hi Dimitri
> 
> No worries, those are the kind of bug reports I like to hear, ones
> where it’s not my fault! :D
> 
> Actually I’m a little surprised that the generator supports the #
> compiler hints still, I thought that had been dropped ages ago; I
> have yet to add warnings output for unresolved symbols etc so I’ll
> include warnings for old style hints too.
> 
> Babel is on by default, so there’s nothing extra you have to do to
> start using ES6.  In the qxt Application.js there is this:
> button1.addListener("execute", () => alert("Hello World!"));
> I’ve got some customer work I have to get done this morning but
> hopefully have some time put aside this afternoon to finish off
> translations.  It’s not too big a deal, most of the work is in
> reading and writing the .po file format so both the extraction of
> strings process and the loading of translations will be included.
>  Hopefully todays release will include build target compression too.
> 
> Regards
> John
> 
> From: Dimitri <mi...@cargosoft.ru>
> Reply-To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net>
> Date: Tuesday, 16 February 2016 at 21:34
> To: <qooxdoo-devel@lists.sourceforge.net>
> Subject: Re: [qooxdoo-devel] QxCompiler - add ES6, faster
> compilation, and 100% Javascript API to building applications
> 
> Hi John,
> 
> Sorry for all the stir I've raised around resource handling. The
> problem was in our code. It turned out that we were still using old-
> style compiler hints (#asset, #use, #require etc.) ignored by
> QxCompiler.
> 
> This in fact caused both issues (resources and unmarshalling). With
> #asset being ignored, obviously, no resources could be loaded. The
> second case was a bit more complex. By some obscure reason (Java
> habit?), we used the following construct in IMarshalDelegate
> implementation:
> 
> /**
>  #require(foo.Bar)
> */
> ...
>     getModelClass: function(properties) {
>         switch(properties) {
>             case 'foo"bar':
>                 return qx.Class.getByName("foo.Bar");
>             default:
>                 return null;
>         }
>     }
> Obviously, foo.Bar wasn't available at runtime, and the data was
> unmarshalled to default (generated) class, while foo.Bar was
> expected. I've eliminated compiler hints completely and replaced
> qx.Class.getByName calls with direct references. Everything works
> perfectly now! :)
> 
> (I don't think old-style syntax is worth being supported in
> QxCompiler, but in order to aid oblivious guys like me it would be
> nice to mention in the docs that #-hints are not supported and should
> be replaced with @-hints.)
> 
> The only two remaining issues are translation (the app runs with its
> default locale and doesn't pick up *.po files) and script size for
> single-script build. Load time is much better now, I guess that 10
> second delay was caused by unoptimized resource handling. Yet I
> didn't try any actual Babel transformations; as far as I know, it
> doesn't do anything by default. For those unfamiliar with Babel, it
> would be nice if the docs contained some examples of how to actually
> enable Babel transformations.
> 
> As for build setup, I've come up with the following. The script that
> drives the build lives in VCS in the project directory; upon
> checkout, "npm link async" is executed, which is a cheap operation
> that installs a symlink for async module (previously installed
> globally). It's the only module that is required by the driver
> script; the rest is successfully pulled from QxCompiler directory.
> 
> Cheers, and keep going! QxCompiler is definitely the coolest thing
> that happened to qooxdoo in last months and maybe years :)
> 
> Dimitri
> 
> > Hi Dimitri
> > 
> > So it sounds like resources with paths have an issue, or maybe
> > libraries with “.” in the namespace – I’ll have a look this morning
> > but as it’s happening with UploadMgr then I have a reproducible
> > case I can work on.
> > 
> > I’ve had a look at the stack trace – but I can’t see any clues to
> > what might be causing it; by marshalling, do you mean the
> > qx.data.marshall.*?  That should not be affected, the only change
> > to code was to allow .defer() to not be called immediately after
> > the class was defined.  I’ve just realised that this means that
> > dynamically defined classes will not have their defer called, and
> > there’s a fix in the next commit for that but I don’t think that’s
> > the issue your coming across.
> > 
> > Re Node 0.12: I think there was another problem with early versions
> > of Node <= 0.12 other than just language – I can’t remember exactly
> > what now but there was something that didn’t work properly until I
> > upgraded.  But you’re right, QxCompiler could be babelified :)  At
> > one point, the Babel plugin part was written as a proper,
> > standalone babel plugin in ES6 but I had some trouble getting
> > Webstorm to compile and debug properly so I switched back to native
> > code
> > 
> > Re build server: I’d expect QxCompiler to be installed once,
> > globally and then used externally to the projects, i.e. your build
> > code could do the project checkout and then use the API to build
> > each project.  The project wouldn’t know about QxCompiler at all.
> > 
> > This sounds similar to my use case, except my builds are on-the-fly 
> > on product servers rather than as part of release: In my case I
> > have multi homed Tomcat servers, and each website uses Qooxdoo on
> > the server and client; the server apps generate html (think
> > ASP/PHP/JSP but with javascript & Qooxdoo running under Rhino) as
> > well as implement server processes, and there is often more than
> > one client application per website.  Doing a major release requires
> > deleting and recompiling all applications (and typically the cache
> > also), and with a minimum of 2 apps (1 server + 1 client) per
> > website that can be quite expensive.  At the moment, making a minor
> > patch to the presentation of the website (e.g. modifying the html
> > output from my PHP/ASP-like pages) means an expensive build process
> > too which is pretty tedious.  
> > 
> > So what I want is to have QxCompiler sitting as a background
> > process, watching all these applications and the source files they
> > depend on; when a source file changes it rebuilds the app instantly
> > (e.g. 250ms per affected application) and notifies Tomcat to reload
> > the server code if necessary.  At the moment, incremental builds
> > take QxCompiler approx 700ms including the (not insignificant)
> > overhead of starting up node.
> > 
> > Re requirements: I’ve updated the docs to match
> > 
> > I’m working on QxCompiler again this morning and should have an
> > update for you by lunchtime 
> > 
> > Cheers
> > John
> -------------------------------------------------------------------
> ----------- Site24x7 APM Insight: Get Deep Visibility into
> Application Performance APM + Mobile APM + RUM: Monitor 3 App
> instances at just $35/Month Monitor end-to-end web transactions and
> take corrective actions now Troubleshoot faster and improve end-user
> experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id
> =272487151&iu=/4140_______________________________________________
> qooxdoo-devel mailing list qooxdoo-
> devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listin
> fo/qooxdoo-devel
> -------------------------------------------------------------------
> ----------- Site24x7 APM Insight: Get Deep Visibility into
> Application Performance APM + Mobile APM + RUM: Monitor 3 App
> instances at just $35/Month Monitor end-to-end web transactions and
> take corrective actions now Troubleshoot faster and improve end-user
> experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id
> =272487151&iu=/4140_______________________________________________
> qooxdoo-devel mailing list qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> -------------------------------------------------------------------
> -----------
> Site24x7 APM Insight: Get Deep Visibility into Application
> Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to