Update:  I'm making progress on this, and it looks like it will work, but
there is one thing I don't like about it, which is that it means that the
JS files in the SWCs won't be usable as-is in Google Closure.  They will
always have to be processed by FalconJX so their non-prototype
dependencies can be moved to the main JS files and we have to suppress the
missingRequire warning.

That sort of punishes anyone who really does have a code base that is
clean of circular dependencies, which is sort of a bad thing.  Folks who
want to write clean code should be rewarded by errors and warnings that
their code isn't clean.

So, I'm now thinking that I will rework the implementation yet again to
have the JS files keep their goog.requires.  Then, if you turn on
-remove-circulars, we'll modify the JS files in bin/js-debug in a way that
will indicate they've been modified.

Let me know if you have any thoughts on it.
-Alex


On 3/18/17, 9:35 PM, "Alex Harui" <aha...@adobe.com> wrote:

>
>
>On 3/18/17, 9:56 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>
>>In principle that sounds good, but what will make sure that all the
>>necessary files are loaded?
>>
>>Also, will that effect the google compiler being able to optimize the
>>code?
>>
>>Ah. I think I understand. You’ll still output the requires in the main
>>app, but you’ll build the list from js tags in the files. That way there
>>will be no need to ever modify the original js files. Correct?
>
>Yes, that's the plan.  In theory we only need to modify the main.js file.
>Right now we read and write almost every file.
>
>-Alex
>
>>
>>Harbs
>>
>>> On Mar 18, 2017, at 4:22 PM, Alex Harui <aha...@adobe.com> wrote:
>>> 
>>> That said, I'm now planning to try to change the compiler output to
>>>only
>>> emit goog.requires for prototype dependencies and uses a special jsdoc
>>>tag
>>> in place of all of the other goog.requires we currently output.  That
>>> might make compiles even faster because we won't have to muck with the
>>> list of requires on each compile.
>>
>

Reply via email to