Personally, I think Closure compiler is too quirky with its strict
requirements for circulars, and I want -remove-circulars to go away, if
possible. Or switch the default to the opposite, where you need to set a
flag if you want things to be stricter.

- Josh

On Tue, Mar 21, 2017 at 1:41 PM, Alex Harui <aha...@adobe.com> wrote:

> 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