If you change something ... write an email ... I'll replicate the changes. I just replicated the nodejs changes ... was quite an effort, but now I'm back on track ... at least with that one ...
Chris ________________________________________ Von: Harbs <[email protected]> Gesendet: Donnerstag, 21. April 2016 11:48 An: [email protected] Betreff: Re: FlexJS, JQuery and FDT OK. Can you recommend a workflow so these changes are properly captured? On Apr 21, 2016, at 12:40 PM, Christofer Dutz <[email protected]> wrote: > Hi, > > just a request from my side, If you adjust any of the pre-/post-processing > scripts or change javascript downloads, please inform me about that cause > these are impossible to auto-merge and even harder to detect. > > Chris > > ________________________________________ > Von: Alex Harui <[email protected]> > Gesendet: Donnerstag, 21. April 2016 09:07 > An: [email protected] > Betreff: Re: FlexJS, JQuery and FDT > > We do these kinds of changes with Ant replace and replaceregex in the > build.xml. See the top-level build.xml and the externc.js.swc target. > > -Alex > > On 4/21/16, 12:04 AM, "Harbs" <[email protected]> wrote: > >> Bah. .gitignore has this entry: externs/jquery/externs >> >> Is there any way to make this change and have it “stick” in the repo? >> >> On Apr 21, 2016, at 10:00 AM, Harbs <[email protected]> wrote: >> >>> OK. I’ll make that change. I don’t have time to test today, so I’ll see >>> what happens in the next nightly… >>> >>> On Apr 21, 2016, at 9:55 AM, Alex Harui <[email protected]> wrote: >>> >>>> I think it should be: >>>> >>>> /** >>>> * @const >>>> * @type {jQuery} >>>> */ >>>> var $ = jQuery; >>>> >>>> Look at other extern files for similar usage. >>>> >>>> >>>> -Alex >>>> >>>> >>>> >>>> On 4/20/16, 11:36 PM, "Harbs" <[email protected]> wrote: >>>> >>>>> Yes. I was looking in asjs instead of falcon… >>>>> >>>>> I’ve never done typdefs before. Does this look right? >>>>> >>>>> /** >>>>> * @const >>>>> * @typedef {jQuery} >>>>> */ >>>>> var $ = jQuery; >>>>> >>>>> It’s currently: >>>>> /** >>>>> * @const >>>>> */ >>>>> var $ = jQuery; >>>>> >>>>> On Apr 21, 2016, at 9:25 AM, OmPrakash Muppirala >>>>> <[email protected]> >>>>> wrote: >>>>> >>>>>> I think this is what you are looking for? >>>>>> : flex-falcon\externs\jquery\externs\jquery-1.9.js >>>>>> >>>>>> Thanks, >>>>>> Om >>>>>> >>>>>> On Wed, Apr 20, 2016 at 11:21 PM, Harbs <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> I’m looking for where the jQuery definitions are and I can’t seem to >>>>>>> find >>>>>>> it. >>>>>>> >>>>>>> On Apr 21, 2016, at 3:17 AM, Alex Harui <[email protected]> wrote: >>>>>>> >>>>>>>> Looks like the externs file doesn't have an @type for the $ >>>>>>>> constant. >>>>>>> You >>>>>>>> can try adding it in the build script or see if Google will accept >>>>>>>> a >>>>>>> patch >>>>>>>> for it. >>>>>>>> >>>>>>>> -Alex >>>>>>>> >>>>>>>> On 4/20/16, 4:13 PM, "Harbs" <[email protected]> wrote: >>>>>>>> >>>>>>>>> Replacing “$” with “jQuery” makes the warnings go away. Why would >>>>>>>>> “$” be >>>>>>>>> different than “jQuery”? It sounds to me like a bug in the >>>>>>>>> definitions. >>>>>>>>> >>>>>>>>> jQuery always returns a JQuery object which has many defined >>>>>>>>> methods. >>>>>>> One >>>>>>>>> of those is attr. >>>>>>>>> >>>>>>>>> On Apr 21, 2016, at 1:50 AM, Alex Harui <[email protected]> wrote: >>>>>>>>> >>>>>>>>>> IMO, this is why Jquery is painful for strong typing. >>>>>>>>>> >>>>>>>>>> I think you may need to do casting: >>>>>>>>>> >>>>>>>>>> ($("#topcoat") as Whatever).attr(..) >>>>>>>>>> >>>>>>>>>> Where Whatever is a "type" that has an attr function. >>>>>>>>>> >>>>>>>>>> And you may need to use @flexjsignorecoercion or other compiler >>>>>>>>>> options >>>>>>>>>> to >>>>>>>>>> not actually do the "as" test in the JS output. >>>>>>>>>> >>>>>>>>>> Good luck, >>>>>>>>>> -Alex >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 4/20/16, 3:46 PM, "Harbs" <[email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Here’s an example: >>>>>>>>>>> $("#topcoat").attr("href", >>>>>>>>>>> "css/topcoat-desktop-lightlight.min.css"); >>>>>>>>>>> >>>>>>>>>>> It looks like “$” is defined as an object. >>>>>>>>>>> >>>>>>>>>>> Here’s the exact warnings I’m getting: >>>>>>>>>>> >>>>>>>>>>> Could not resolve variable (may be a dynamic member) 'attr' at >>>>>>>>>>> line 43 >>>>>>>>>>> column 19. ThemeManager.as /MyExtension/src/com/unhurdle >>>>>>>>>>> Unknown >>>>>>> Flash >>>>>>>>>>> Problem >>>>>>>>>>> Maybe invoking a non function. Found >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> $("#topcoat").attr("href","css/topcoat-desktop-lightlight.min.css >>>>>>>>>>> "); >>>>>>> at >>>>>>>>>>> line 43 column >>>>>>>>>>> 5. ThemeManager.as /MyExtension/src/com/unhurdle Unknown Flash >>>>>>> Problem >>>>>>>>>>> >>>>>>>>>>> And yes, js/libs/jquery.swc is included. If I remove it, I get >>>>>>>>>>> an >>>>>>> error >>>>>>>>>>> that “$” is not defined instead of a warning. >>>>>>>>>>> >>>>>>>>>>> On Apr 21, 2016, at 1:39 AM, Alex Harui <[email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On 4/20/16, 3:34 PM, "Harbs" <[email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Does anyone know if there’s a way to get FDT to not flag >>>>>>>>>>>>> JQuery >>>>>>>>>>>>> expressions with “could not resolve variable” and "Maybe >>>>>>>>>>>>> invoke a >>>>>>> non >>>>>>>>>>>>> function” warnings? >>>>>>>>>>>> >>>>>>>>>>>> What kind of expressions result in this output? Are you sure >>>>>>>>>>>> you >>>>>>> have >>>>>>>>>>>> the >>>>>>>>>>>> jquery.swc from the externs on the -external-library-path? >>>>>>>>>>>> >>>>>>>>>>>> -Alex >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>> >>>> >>> >> >
