Hi Mike,

Thanks for all those needed expalinations, it helped me a lot to understand 
more.

> If Fred can set this up like we did with Randori in IntelliJ, we could get
> spilt second compiles just like TypeScript, the Randori incremental
> compiler was VERY fast(like save the file, .js is instantly updated).

Unfortunately, here I have no control on what is passed from IntelliJ and can't 
do as I did with Randori, send the files that were modified only, the make, is 
a full build, the only thing is that if we have more modules and those modules 
are not modified, they won't be rebuilt.

For better performances, we would need to make the incremental compilation to 
work but for instance, IIRC Alex switched it off because it didn't work well.

Once again, very nice job Mike !
Thanks,
Frédéric THOMAS


----------------------------------------
> Date: Wed, 10 Jun 2015 08:10:15 -0400
> Subject: Re: [FalconJX] Unit test shows full use of pure actionscript to 
> javascript compile
> From: teotigraphix...@gmail.com
> To: dev@flex.apache.org
>
> So for others reading this that have no clue what is going on, we have an
> ActionScript file that uses the DOM, just like TypeScript. This file can
> now be compiled without Flash/SWF!!!
>
> The FalconJX compiler is now a true AS only possibility for JS creation.
> You pass the Main.as class below, it will spit out the .js file without any
> Flash dependencies, you get JavaScript code completion in the IDE and
> realtime compile type checking.
>
> If Fred can set this up like we did with Randori in IntelliJ, we could get
> spilt second compiles just like TypeScript, the Randori incremental
> compiler was VERY fast(like save the file, .js is instantly updated).
>
> I am sure as we go, there will be compiler flags to turn off most the
> FlexJS emitted type generation so it will look like plain ole js.
>
> Mike
>
>
> ------------------------------------------------------------
> ActionScript
> ------------------------------------------------------------
>
> package
> {
> public class Main
> {
> public function start():void
> {
> var element:Element = document.createElement("button");
> element.onclick = function ():void {
> alert("Hello browser from FalconJX!");
> };
> button.textContent = "Say Hello";
> document.body.appendChild(button);
> }
> }
> }
>
> ------------------------------------------------------------
> JavaScript
> ------------------------------------------------------------
>
> /**
> * Main
> *
> * @fileoverview
> *
> * @suppress {checkTypes}
> */
>
> goog.provide('Main');
>
> goog.require('document');
> goog.require('alert');
> goog.require('Element');
> goog.require('org_apache_flex_utils_Language');
>
>
>
> /**
> * @constructor
> */
> Main = function() {
> };
>
>
> /**
> * @expose
> */
> Main.prototype.start = function() {
> var self = this;
> var /** @type {Element} */ element = document.createElement("button");
> element.onclick = function() {
> alert("Hello browser from FalconJX!");
> };
> button.textContent = "Say Hello";
> document.body.appendChild(button);
> };
>
>
> /**
> * Metadata
> *
> * @type {Object.<string, Array.<Object>>}
> */
> Main.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'Main', qName:
> 'Main'}] };
>
>
> On Wed, Jun 10, 2015 at 7:55 AM, Michael Schmalle <teotigraphix...@gmail.com
>> wrote:
>
>> Fred and others;
>>
>> I just committed a unit test that shows the full meal deal.
>>
>> TestExternalsJSCompile.java
>>
>> 1. parse/compile externs .js using GCC compile()
>> 2. emit .as from compiled externs AST
>> 3. create JS.swc from emitted .as files
>> 4. load FlexJS backend and compile with no playerglobal.swc, only JS.swc
>> 5. cross compile Main.as that uses the DOM API/JS.swc into Main_output.js
>> file.
>>
>> So now you can see exactly what is going on without me confusing you with
>> the internals of what is going on.
>>
>> Peace,
>> Mike
>>
                                          

Reply via email to