You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Erik de Bruin <er...@ixsoftware.nl> on 2013/11/06 08:40:12 UTC

[FLEXJS] JS framework: gjslint

Hi,

I would like to run the entire JS framework through the 'gjslint'
tool. This is the JS linter provided by Google to check code that is
to be processed by the Closure Compiler.

It has some very strict whitespace rules, that will result in changes
in most files (although we started out with a clean, gjslint approved
version a long while ago, when I implemented 'goog' event handling).

The main advantages are that all code will be consistently formatted
and that it will most likely catch some annotation and related
errors/omissions.

If no one (Alex, Peter) has commits pending, I am ready to go.

EdB



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Re: [FLEXJS] JS framework: gjslint

Posted by Erik de Bruin <er...@ixsoftware.nl>.
JSHint is about checking much more than whitespace and JSDoc (which is
it doesn't check at all ;-) That is why we need both tools, IMHO.

I could write a whole lot about the tool and why it will certainly
save your behind in large projects (check out my latest commits for
examples), but the tool has an awesome webstite, that explains the
purpose and features pretty good:

http://www.jshint.com/about/

Check out the homepage as well, it's one of the most insane things
I've seen on the interwebs in a long time: you can copy paste your JS
code and it'll lint it on the fly and give you nice syntax
highlighting so you can see what's going on.

EdB



On Thu, Nov 7, 2013 at 5:11 PM, Alex Harui <ah...@adobe.com> wrote:
> Awesome, thanks.
>
> Any chance you can find time to put this 'recipe' in the wiki?
>
> What are some of the coding style differences you saw between files?  Just
> whitespace?  Or more?  Peter and I did run lint most of the time, but I
> wasn't using --strict so maybe that's why things went off the rails.
>
> Thanks,
> -Alex
>
> On 11/7/13 6:05 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>
>>Ok, I have pushed the 'JSHint - gjslint' commits.
>>
>>The framework classes are now clean against this gjslint command:
>>
>>gjslint --strict --disable 0100 -r ./
>>
>>I've used the --disable command because the new interface handling
>>relies on a variable on the prototype that is initialised with a 'non
>>primitive' value.
>>
>>I also ran the framework against a very loose set of JSHint tests
>>using this 'header':
>>
>>/*jshint
>>    curly: false,
>>    eqeqeq: false,
>>    eqnull: true,
>>    globalstrict: true,
>>    indent: 2,
>>    maxlen: 120,
>>    onevar: false,
>>    strict: true,
>>    white: false */
>>/*global goog, org */
>>
>>'use strict';
>>
>>I had to use the loose set because the coding styles differ too much
>>between files to allow stricter checks. I would suggest that we comply
>>with both the above mentioned 'gjslint' arguments and with the
>>following JSHint 'header':
>>
>>/*jshint
>>    globalstrict: true,
>>    indent: 2,
>>    maxlen: 120,
>>    strict: true,
>>    white: false */
>>/*global goog, org */
>>
>>'use strict';
>>
>>I suggest we use maxlen 120 to avoid a warning for long lines caused
>>by long 'goog.require' statements. 'gjslint' takes care of the 80 char
>>enforcement.
>>
>>EdB
>>
>>
>>
>>On Thu, Nov 7, 2013 at 8:57 AM, Alex Harui <ah...@adobe.com> wrote:
>>>
>>>
>>> On 11/6/13 11:41 PM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>>
>>>>Alex,
>>>>
>>>>Do you also see the following warning when compiling DataBindingTest to
>>>>JS:
>>>>
>>>>Data binding will not be able to detect assignments to 'strings'.
>>>>
>>>>dataProvider="{MyModel(applicationModel).strings}" />
>>> Yes.
>>>>
>>>>Just checking to make sure I have the same results as you... Also,
>>>>when I run the app (debug and release), I see the string 'undefined'
>>>>displayed several times on screen. Is that what you see as well?
>>> No.  Where do you see that?  Did you get my changes?  Databinding was
>>> broken because the is/as code didn't handle "x as String".  I put a new
>>> FlexJSOverlay.zip on my people.a.o folder.  Maybe you need that.
>>>
>>> -Alex
>>>
>>
>>
>>
>>--
>>Ix Multimedia Software
>>
>>Jan Luykenstraat 27
>>3521 VB Utrecht
>>
>>T. 06-51952295
>>I. www.ixsoftware.nl
>



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Re: [FLEXJS] JS framework: gjslint

Posted by Erik de Bruin <er...@ixsoftware.nl>.
Here is the Wiki entry:

https://cwiki.apache.org/confluence/x/W5sTAg

EdB



On Thu, Nov 7, 2013 at 5:11 PM, Alex Harui <ah...@adobe.com> wrote:
> Awesome, thanks.
>
> Any chance you can find time to put this 'recipe' in the wiki?
>
> What are some of the coding style differences you saw between files?  Just
> whitespace?  Or more?  Peter and I did run lint most of the time, but I
> wasn't using --strict so maybe that's why things went off the rails.
>
> Thanks,
> -Alex
>
> On 11/7/13 6:05 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>
>>Ok, I have pushed the 'JSHint - gjslint' commits.
>>
>>The framework classes are now clean against this gjslint command:
>>
>>gjslint --strict --disable 0100 -r ./
>>
>>I've used the --disable command because the new interface handling
>>relies on a variable on the prototype that is initialised with a 'non
>>primitive' value.
>>
>>I also ran the framework against a very loose set of JSHint tests
>>using this 'header':
>>
>>/*jshint
>>    curly: false,
>>    eqeqeq: false,
>>    eqnull: true,
>>    globalstrict: true,
>>    indent: 2,
>>    maxlen: 120,
>>    onevar: false,
>>    strict: true,
>>    white: false */
>>/*global goog, org */
>>
>>'use strict';
>>
>>I had to use the loose set because the coding styles differ too much
>>between files to allow stricter checks. I would suggest that we comply
>>with both the above mentioned 'gjslint' arguments and with the
>>following JSHint 'header':
>>
>>/*jshint
>>    globalstrict: true,
>>    indent: 2,
>>    maxlen: 120,
>>    strict: true,
>>    white: false */
>>/*global goog, org */
>>
>>'use strict';
>>
>>I suggest we use maxlen 120 to avoid a warning for long lines caused
>>by long 'goog.require' statements. 'gjslint' takes care of the 80 char
>>enforcement.
>>
>>EdB
>>
>>
>>
>>On Thu, Nov 7, 2013 at 8:57 AM, Alex Harui <ah...@adobe.com> wrote:
>>>
>>>
>>> On 11/6/13 11:41 PM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>>
>>>>Alex,
>>>>
>>>>Do you also see the following warning when compiling DataBindingTest to
>>>>JS:
>>>>
>>>>Data binding will not be able to detect assignments to 'strings'.
>>>>
>>>>dataProvider="{MyModel(applicationModel).strings}" />
>>> Yes.
>>>>
>>>>Just checking to make sure I have the same results as you... Also,
>>>>when I run the app (debug and release), I see the string 'undefined'
>>>>displayed several times on screen. Is that what you see as well?
>>> No.  Where do you see that?  Did you get my changes?  Databinding was
>>> broken because the is/as code didn't handle "x as String".  I put a new
>>> FlexJSOverlay.zip on my people.a.o folder.  Maybe you need that.
>>>
>>> -Alex
>>>
>>
>>
>>
>>--
>>Ix Multimedia Software
>>
>>Jan Luykenstraat 27
>>3521 VB Utrecht
>>
>>T. 06-51952295
>>I. www.ixsoftware.nl
>



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Re: [FLEXJS] JS framework: gjslint

Posted by Alex Harui <ah...@adobe.com>.
Awesome, thanks.

Any chance you can find time to put this 'recipe' in the wiki?

What are some of the coding style differences you saw between files?  Just
whitespace?  Or more?  Peter and I did run lint most of the time, but I
wasn't using --strict so maybe that's why things went off the rails.

Thanks,
-Alex

On 11/7/13 6:05 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:

>Ok, I have pushed the 'JSHint - gjslint' commits.
>
>The framework classes are now clean against this gjslint command:
>
>gjslint --strict --disable 0100 -r ./
>
>I've used the --disable command because the new interface handling
>relies on a variable on the prototype that is initialised with a 'non
>primitive' value.
>
>I also ran the framework against a very loose set of JSHint tests
>using this 'header':
>
>/*jshint
>    curly: false,
>    eqeqeq: false,
>    eqnull: true,
>    globalstrict: true,
>    indent: 2,
>    maxlen: 120,
>    onevar: false,
>    strict: true,
>    white: false */
>/*global goog, org */
>
>'use strict';
>
>I had to use the loose set because the coding styles differ too much
>between files to allow stricter checks. I would suggest that we comply
>with both the above mentioned 'gjslint' arguments and with the
>following JSHint 'header':
>
>/*jshint
>    globalstrict: true,
>    indent: 2,
>    maxlen: 120,
>    strict: true,
>    white: false */
>/*global goog, org */
>
>'use strict';
>
>I suggest we use maxlen 120 to avoid a warning for long lines caused
>by long 'goog.require' statements. 'gjslint' takes care of the 80 char
>enforcement.
>
>EdB
>
>
>
>On Thu, Nov 7, 2013 at 8:57 AM, Alex Harui <ah...@adobe.com> wrote:
>>
>>
>> On 11/6/13 11:41 PM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>
>>>Alex,
>>>
>>>Do you also see the following warning when compiling DataBindingTest to
>>>JS:
>>>
>>>Data binding will not be able to detect assignments to 'strings'.
>>>
>>>dataProvider="{MyModel(applicationModel).strings}" />
>> Yes.
>>>
>>>Just checking to make sure I have the same results as you... Also,
>>>when I run the app (debug and release), I see the string 'undefined'
>>>displayed several times on screen. Is that what you see as well?
>> No.  Where do you see that?  Did you get my changes?  Databinding was
>> broken because the is/as code didn't handle "x as String".  I put a new
>> FlexJSOverlay.zip on my people.a.o folder.  Maybe you need that.
>>
>> -Alex
>>
>
>
>
>-- 
>Ix Multimedia Software
>
>Jan Luykenstraat 27
>3521 VB Utrecht
>
>T. 06-51952295
>I. www.ixsoftware.nl


Re: [FLEXJS] JS framework: gjslint

Posted by Peter Ent <pe...@adobe.com>.
Thanks, Erik. I'll make sure I run those tools on the JS code before
checking stuff in.

--peter

On 11/7/13 9:05 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:

>Ok, I have pushed the 'JSHint - gjslint' commits.
>
>The framework classes are now clean against this gjslint command:
>
>gjslint --strict --disable 0100 -r ./
>
>I've used the --disable command because the new interface handling
>relies on a variable on the prototype that is initialised with a 'non
>primitive' value.
>
>I also ran the framework against a very loose set of JSHint tests
>using this 'header':
>
>/*jshint
>    curly: false,
>    eqeqeq: false,
>    eqnull: true,
>    globalstrict: true,
>    indent: 2,
>    maxlen: 120,
>    onevar: false,
>    strict: true,
>    white: false */
>/*global goog, org */
>
>'use strict';
>
>I had to use the loose set because the coding styles differ too much
>between files to allow stricter checks. I would suggest that we comply
>with both the above mentioned 'gjslint' arguments and with the
>following JSHint 'header':
>
>/*jshint
>    globalstrict: true,
>    indent: 2,
>    maxlen: 120,
>    strict: true,
>    white: false */
>/*global goog, org */
>
>'use strict';
>
>I suggest we use maxlen 120 to avoid a warning for long lines caused
>by long 'goog.require' statements. 'gjslint' takes care of the 80 char
>enforcement.
>
>EdB
>
>
>
>On Thu, Nov 7, 2013 at 8:57 AM, Alex Harui <ah...@adobe.com> wrote:
>>
>>
>> On 11/6/13 11:41 PM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>
>>>Alex,
>>>
>>>Do you also see the following warning when compiling DataBindingTest to
>>>JS:
>>>
>>>Data binding will not be able to detect assignments to 'strings'.
>>>
>>>dataProvider="{MyModel(applicationModel).strings}" />
>> Yes.
>>>
>>>Just checking to make sure I have the same results as you... Also,
>>>when I run the app (debug and release), I see the string 'undefined'
>>>displayed several times on screen. Is that what you see as well?
>> No.  Where do you see that?  Did you get my changes?  Databinding was
>> broken because the is/as code didn't handle "x as String".  I put a new
>> FlexJSOverlay.zip on my people.a.o folder.  Maybe you need that.
>>
>> -Alex
>>
>
>
>
>-- 
>Ix Multimedia Software
>
>Jan Luykenstraat 27
>3521 VB Utrecht
>
>T. 06-51952295
>I. www.ixsoftware.nl


Re: [FLEXJS] JS framework: gjslint

Posted by Erik de Bruin <er...@ixsoftware.nl>.
Ok, I have pushed the 'JSHint - gjslint' commits.

The framework classes are now clean against this gjslint command:

gjslint --strict --disable 0100 -r ./

I've used the --disable command because the new interface handling
relies on a variable on the prototype that is initialised with a 'non
primitive' value.

I also ran the framework against a very loose set of JSHint tests
using this 'header':

/*jshint
    curly: false,
    eqeqeq: false,
    eqnull: true,
    globalstrict: true,
    indent: 2,
    maxlen: 120,
    onevar: false,
    strict: true,
    white: false */
/*global goog, org */

'use strict';

I had to use the loose set because the coding styles differ too much
between files to allow stricter checks. I would suggest that we comply
with both the above mentioned 'gjslint' arguments and with the
following JSHint 'header':

/*jshint
    globalstrict: true,
    indent: 2,
    maxlen: 120,
    strict: true,
    white: false */
/*global goog, org */

'use strict';

I suggest we use maxlen 120 to avoid a warning for long lines caused
by long 'goog.require' statements. 'gjslint' takes care of the 80 char
enforcement.

EdB



On Thu, Nov 7, 2013 at 8:57 AM, Alex Harui <ah...@adobe.com> wrote:
>
>
> On 11/6/13 11:41 PM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>
>>Alex,
>>
>>Do you also see the following warning when compiling DataBindingTest to
>>JS:
>>
>>Data binding will not be able to detect assignments to 'strings'.
>>
>>dataProvider="{MyModel(applicationModel).strings}" />
> Yes.
>>
>>Just checking to make sure I have the same results as you... Also,
>>when I run the app (debug and release), I see the string 'undefined'
>>displayed several times on screen. Is that what you see as well?
> No.  Where do you see that?  Did you get my changes?  Databinding was
> broken because the is/as code didn't handle "x as String".  I put a new
> FlexJSOverlay.zip on my people.a.o folder.  Maybe you need that.
>
> -Alex
>



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Re: [FLEXJS] JS framework: gjslint

Posted by Alex Harui <ah...@adobe.com>.

On 11/6/13 11:41 PM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:

>Alex,
>
>Do you also see the following warning when compiling DataBindingTest to
>JS:
>
>Data binding will not be able to detect assignments to 'strings'.
>
>dataProvider="{MyModel(applicationModel).strings}" />
Yes.
>
>Just checking to make sure I have the same results as you... Also,
>when I run the app (debug and release), I see the string 'undefined'
>displayed several times on screen. Is that what you see as well?
No.  Where do you see that?  Did you get my changes?  Databinding was
broken because the is/as code didn't handle "x as String".  I put a new
FlexJSOverlay.zip on my people.a.o folder.  Maybe you need that.

-Alex


Re: [FLEXJS] JS framework: gjslint

Posted by Erik de Bruin <er...@ixsoftware.nl>.
Alex,

Do you also see the following warning when compiling DataBindingTest to JS:

Data binding will not be able to detect assignments to 'strings'.

dataProvider="{MyModel(applicationModel).strings}" />

Just checking to make sure I have the same results as you... Also,
when I run the app (debug and release), I see the string 'undefined'
displayed several times on screen. Is that what you see as well?

EdB



On Thu, Nov 7, 2013 at 1:55 AM, Alex Harui <ah...@adobe.com> wrote:
> OK, I'm all checked in.  I'll post an overlay shortly.  Lint away!
>
> Thanks,
> -Alex
>
> On 11/6/13 8:24 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>
>>Ok, let's do it this way:
>>
>>You guys just keep committing (remember to pull before you push ;-))
>>and I'll fix any merge issues. Once I'm done (I think my tomorrow),
>>I'll put my changes in a new public branch, so we can test against the
>>examples to make sure I didn't break anything.
>>
>>Also, interfaces are now supported. My commit will contain several
>>'pure' JS interfaces, including ones that extend other interfaces.
>>Take a look at the "LanguageTests" example for inspiration ;-)
>>
>>I have changed the "interface" storage a bit today, instead of an
>>array just for interfaces it is now an object that can/will contain
>>info about interfaces, metadata and other class information which we
>>can easily add through FalconJx now. Be sure to update both FalconJx
>>and flex-asjs and rebuild everything.
>>
>>Alex, maybe time for a new overlay?
>>
>>EdB
>>
>>
>>
>>On Wed, Nov 6, 2013 at 5:13 PM, Peter Ent <pe...@adobe.com> wrote:
>>> I haven't tried all of the example yet. Was going to do that once I
>>> finished up a wiki page and cleaned up the remaining glint issues.
>>>
>>> The discrepancy is known and it is something I have been working on
>>> recently. I haven't attempted any @interface stuff yet, so I created
>>>some
>>> base classes to mimic interfaces (e.g., org.apache.flex.core.IBeadView)
>>> but did not create one for org.apache.flex.core.IBead.
>>>
>>> --peter
>>>
>>> On 11/6/13 10:54 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>>
>>>>I have spend the day running all JS files through JSHint and gjslint.
>>>>I fixed about 6 errors that emerged (vars not declared etc.) up, but I
>>>>also corrected all whitespace. It's a monster commit, if I get it
>>>>finished ;-)
>>>>
>>>>Another issue: there is a rather large discrepancy between the class
>>>>structure on the AS side vs. the JS side. Case in point is the lack of
>>>>an IBeads interface on the JS side. I think the idea is to make the JS
>>>>side mirror the structure of the AS side as closely as possible?
>>>>
>>>>And lastly (yeah, right... ;-)) how about the examples? Which ones are
>>>>working for you, either in debug mode or in both debug AND release
>>>>mode?
>>>>
>>>>EdB
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>On Wed, Nov 6, 2013 at 4:48 PM, Peter Ent <pe...@adobe.com> wrote:
>>>>> I checked a number of files in yesterday and I'm pretty sure a handful
>>>>> won't pass glint right now; I meant to do them all, but forgot some so
>>>>>I'm
>>>>> doing them this morning. If you want to go ahead and run the tool just
>>>>>to
>>>>> see if and how failures pop-up, go right ahead.
>>>>>
>>>>> --peter
>>>>>
>>>>> On 11/6/13 2:40 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>>>>
>>>>>>Hi,
>>>>>>
>>>>>>I would like to run the entire JS framework through the 'gjslint'
>>>>>>tool. This is the JS linter provided by Google to check code that is
>>>>>>to be processed by the Closure Compiler.
>>>>>>
>>>>>>It has some very strict whitespace rules, that will result in changes
>>>>>>in most files (although we started out with a clean, gjslint approved
>>>>>>version a long while ago, when I implemented 'goog' event handling).
>>>>>>
>>>>>>The main advantages are that all code will be consistently formatted
>>>>>>and that it will most likely catch some annotation and related
>>>>>>errors/omissions.
>>>>>>
>>>>>>If no one (Alex, Peter) has commits pending, I am ready to go.
>>>>>>
>>>>>>EdB
>>>>>>
>>>>>>
>>>>>>
>>>>>>--
>>>>>>Ix Multimedia Software
>>>>>>
>>>>>>Jan Luykenstraat 27
>>>>>>3521 VB Utrecht
>>>>>>
>>>>>>T. 06-51952295
>>>>>>I. www.ixsoftware.nl
>>>>>
>>>>
>>>>
>>>>
>>>>--
>>>>Ix Multimedia Software
>>>>
>>>>Jan Luykenstraat 27
>>>>3521 VB Utrecht
>>>>
>>>>T. 06-51952295
>>>>I. www.ixsoftware.nl
>>>
>>
>>
>>
>>--
>>Ix Multimedia Software
>>
>>Jan Luykenstraat 27
>>3521 VB Utrecht
>>
>>T. 06-51952295
>>I. www.ixsoftware.nl
>



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Re: [FLEXJS] JS framework: gjslint

Posted by Erik de Bruin <er...@ixsoftware.nl>.
Ah, and one to remember: there is no need for @this annotations on
class members that are defined on the prototype. I've removed these
references when I encountered them.

EdB



On Wed, Nov 6, 2013 at 5:24 PM, Erik de Bruin <er...@ixsoftware.nl> wrote:
> Ok, let's do it this way:
>
> You guys just keep committing (remember to pull before you push ;-))
> and I'll fix any merge issues. Once I'm done (I think my tomorrow),
> I'll put my changes in a new public branch, so we can test against the
> examples to make sure I didn't break anything.
>
> Also, interfaces are now supported. My commit will contain several
> 'pure' JS interfaces, including ones that extend other interfaces.
> Take a look at the "LanguageTests" example for inspiration ;-)
>
> I have changed the "interface" storage a bit today, instead of an
> array just for interfaces it is now an object that can/will contain
> info about interfaces, metadata and other class information which we
> can easily add through FalconJx now. Be sure to update both FalconJx
> and flex-asjs and rebuild everything.
>
> Alex, maybe time for a new overlay?
>
> EdB
>
>
>
> On Wed, Nov 6, 2013 at 5:13 PM, Peter Ent <pe...@adobe.com> wrote:
>> I haven't tried all of the example yet. Was going to do that once I
>> finished up a wiki page and cleaned up the remaining glint issues.
>>
>> The discrepancy is known and it is something I have been working on
>> recently. I haven't attempted any @interface stuff yet, so I created some
>> base classes to mimic interfaces (e.g., org.apache.flex.core.IBeadView)
>> but did not create one for org.apache.flex.core.IBead.
>>
>> --peter
>>
>> On 11/6/13 10:54 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>
>>>I have spend the day running all JS files through JSHint and gjslint.
>>>I fixed about 6 errors that emerged (vars not declared etc.) up, but I
>>>also corrected all whitespace. It's a monster commit, if I get it
>>>finished ;-)
>>>
>>>Another issue: there is a rather large discrepancy between the class
>>>structure on the AS side vs. the JS side. Case in point is the lack of
>>>an IBeads interface on the JS side. I think the idea is to make the JS
>>>side mirror the structure of the AS side as closely as possible?
>>>
>>>And lastly (yeah, right... ;-)) how about the examples? Which ones are
>>>working for you, either in debug mode or in both debug AND release
>>>mode?
>>>
>>>EdB
>>>
>>>
>>>
>>>
>>>
>>>On Wed, Nov 6, 2013 at 4:48 PM, Peter Ent <pe...@adobe.com> wrote:
>>>> I checked a number of files in yesterday and I'm pretty sure a handful
>>>> won't pass glint right now; I meant to do them all, but forgot some so
>>>>I'm
>>>> doing them this morning. If you want to go ahead and run the tool just
>>>>to
>>>> see if and how failures pop-up, go right ahead.
>>>>
>>>> --peter
>>>>
>>>> On 11/6/13 2:40 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>>>
>>>>>Hi,
>>>>>
>>>>>I would like to run the entire JS framework through the 'gjslint'
>>>>>tool. This is the JS linter provided by Google to check code that is
>>>>>to be processed by the Closure Compiler.
>>>>>
>>>>>It has some very strict whitespace rules, that will result in changes
>>>>>in most files (although we started out with a clean, gjslint approved
>>>>>version a long while ago, when I implemented 'goog' event handling).
>>>>>
>>>>>The main advantages are that all code will be consistently formatted
>>>>>and that it will most likely catch some annotation and related
>>>>>errors/omissions.
>>>>>
>>>>>If no one (Alex, Peter) has commits pending, I am ready to go.
>>>>>
>>>>>EdB
>>>>>
>>>>>
>>>>>
>>>>>--
>>>>>Ix Multimedia Software
>>>>>
>>>>>Jan Luykenstraat 27
>>>>>3521 VB Utrecht
>>>>>
>>>>>T. 06-51952295
>>>>>I. www.ixsoftware.nl
>>>>
>>>
>>>
>>>
>>>--
>>>Ix Multimedia Software
>>>
>>>Jan Luykenstraat 27
>>>3521 VB Utrecht
>>>
>>>T. 06-51952295
>>>I. www.ixsoftware.nl
>>
>
>
>
> --
> Ix Multimedia Software
>
> Jan Luykenstraat 27
> 3521 VB Utrecht
>
> T. 06-51952295
> I. www.ixsoftware.nl



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Re: [FLEXJS] JS framework: gjslint

Posted by Alex Harui <ah...@adobe.com>.
OK, I'm all checked in.  I'll post an overlay shortly.  Lint away!

Thanks,
-Alex

On 11/6/13 8:24 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:

>Ok, let's do it this way:
>
>You guys just keep committing (remember to pull before you push ;-))
>and I'll fix any merge issues. Once I'm done (I think my tomorrow),
>I'll put my changes in a new public branch, so we can test against the
>examples to make sure I didn't break anything.
>
>Also, interfaces are now supported. My commit will contain several
>'pure' JS interfaces, including ones that extend other interfaces.
>Take a look at the "LanguageTests" example for inspiration ;-)
>
>I have changed the "interface" storage a bit today, instead of an
>array just for interfaces it is now an object that can/will contain
>info about interfaces, metadata and other class information which we
>can easily add through FalconJx now. Be sure to update both FalconJx
>and flex-asjs and rebuild everything.
>
>Alex, maybe time for a new overlay?
>
>EdB
>
>
>
>On Wed, Nov 6, 2013 at 5:13 PM, Peter Ent <pe...@adobe.com> wrote:
>> I haven't tried all of the example yet. Was going to do that once I
>> finished up a wiki page and cleaned up the remaining glint issues.
>>
>> The discrepancy is known and it is something I have been working on
>> recently. I haven't attempted any @interface stuff yet, so I created
>>some
>> base classes to mimic interfaces (e.g., org.apache.flex.core.IBeadView)
>> but did not create one for org.apache.flex.core.IBead.
>>
>> --peter
>>
>> On 11/6/13 10:54 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>
>>>I have spend the day running all JS files through JSHint and gjslint.
>>>I fixed about 6 errors that emerged (vars not declared etc.) up, but I
>>>also corrected all whitespace. It's a monster commit, if I get it
>>>finished ;-)
>>>
>>>Another issue: there is a rather large discrepancy between the class
>>>structure on the AS side vs. the JS side. Case in point is the lack of
>>>an IBeads interface on the JS side. I think the idea is to make the JS
>>>side mirror the structure of the AS side as closely as possible?
>>>
>>>And lastly (yeah, right... ;-)) how about the examples? Which ones are
>>>working for you, either in debug mode or in both debug AND release
>>>mode?
>>>
>>>EdB
>>>
>>>
>>>
>>>
>>>
>>>On Wed, Nov 6, 2013 at 4:48 PM, Peter Ent <pe...@adobe.com> wrote:
>>>> I checked a number of files in yesterday and I'm pretty sure a handful
>>>> won't pass glint right now; I meant to do them all, but forgot some so
>>>>I'm
>>>> doing them this morning. If you want to go ahead and run the tool just
>>>>to
>>>> see if and how failures pop-up, go right ahead.
>>>>
>>>> --peter
>>>>
>>>> On 11/6/13 2:40 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>>>
>>>>>Hi,
>>>>>
>>>>>I would like to run the entire JS framework through the 'gjslint'
>>>>>tool. This is the JS linter provided by Google to check code that is
>>>>>to be processed by the Closure Compiler.
>>>>>
>>>>>It has some very strict whitespace rules, that will result in changes
>>>>>in most files (although we started out with a clean, gjslint approved
>>>>>version a long while ago, when I implemented 'goog' event handling).
>>>>>
>>>>>The main advantages are that all code will be consistently formatted
>>>>>and that it will most likely catch some annotation and related
>>>>>errors/omissions.
>>>>>
>>>>>If no one (Alex, Peter) has commits pending, I am ready to go.
>>>>>
>>>>>EdB
>>>>>
>>>>>
>>>>>
>>>>>--
>>>>>Ix Multimedia Software
>>>>>
>>>>>Jan Luykenstraat 27
>>>>>3521 VB Utrecht
>>>>>
>>>>>T. 06-51952295
>>>>>I. www.ixsoftware.nl
>>>>
>>>
>>>
>>>
>>>--
>>>Ix Multimedia Software
>>>
>>>Jan Luykenstraat 27
>>>3521 VB Utrecht
>>>
>>>T. 06-51952295
>>>I. www.ixsoftware.nl
>>
>
>
>
>-- 
>Ix Multimedia Software
>
>Jan Luykenstraat 27
>3521 VB Utrecht
>
>T. 06-51952295
>I. www.ixsoftware.nl


Re: [FLEXJS] JS framework: gjslint

Posted by Alex Harui <ah...@adobe.com>.

On 11/6/13 8:24 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:

>Ok, let's do it this way:
>
>You guys just keep committing (remember to pull before you push ;-))
>and I'll fix any merge issues. Once I'm done (I think my tomorrow),
>I'll put my changes in a new public branch, so we can test against the
>examples to make sure I didn't break anything.
>
>Also, interfaces are now supported. My commit will contain several
>'pure' JS interfaces, including ones that extend other interfaces.
>Take a look at the "LanguageTests" example for inspiration ;-)
>
>I have changed the "interface" storage a bit today, instead of an
>array just for interfaces it is now an object that can/will contain
>info about interfaces, metadata and other class information which we
>can easily add through FalconJx now. Be sure to update both FalconJx
>and flex-asjs and rebuild everything.
Excellent.  Thanks for doing the interface work.
>
>Alex, maybe time for a new overlay?
Yeah, that's what I'm trying to get done right now.

-Alex


Re: [FLEXJS] JS framework: gjslint

Posted by Erik de Bruin <er...@ixsoftware.nl>.
Ok, let's do it this way:

You guys just keep committing (remember to pull before you push ;-))
and I'll fix any merge issues. Once I'm done (I think my tomorrow),
I'll put my changes in a new public branch, so we can test against the
examples to make sure I didn't break anything.

Also, interfaces are now supported. My commit will contain several
'pure' JS interfaces, including ones that extend other interfaces.
Take a look at the "LanguageTests" example for inspiration ;-)

I have changed the "interface" storage a bit today, instead of an
array just for interfaces it is now an object that can/will contain
info about interfaces, metadata and other class information which we
can easily add through FalconJx now. Be sure to update both FalconJx
and flex-asjs and rebuild everything.

Alex, maybe time for a new overlay?

EdB



On Wed, Nov 6, 2013 at 5:13 PM, Peter Ent <pe...@adobe.com> wrote:
> I haven't tried all of the example yet. Was going to do that once I
> finished up a wiki page and cleaned up the remaining glint issues.
>
> The discrepancy is known and it is something I have been working on
> recently. I haven't attempted any @interface stuff yet, so I created some
> base classes to mimic interfaces (e.g., org.apache.flex.core.IBeadView)
> but did not create one for org.apache.flex.core.IBead.
>
> --peter
>
> On 11/6/13 10:54 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>
>>I have spend the day running all JS files through JSHint and gjslint.
>>I fixed about 6 errors that emerged (vars not declared etc.) up, but I
>>also corrected all whitespace. It's a monster commit, if I get it
>>finished ;-)
>>
>>Another issue: there is a rather large discrepancy between the class
>>structure on the AS side vs. the JS side. Case in point is the lack of
>>an IBeads interface on the JS side. I think the idea is to make the JS
>>side mirror the structure of the AS side as closely as possible?
>>
>>And lastly (yeah, right... ;-)) how about the examples? Which ones are
>>working for you, either in debug mode or in both debug AND release
>>mode?
>>
>>EdB
>>
>>
>>
>>
>>
>>On Wed, Nov 6, 2013 at 4:48 PM, Peter Ent <pe...@adobe.com> wrote:
>>> I checked a number of files in yesterday and I'm pretty sure a handful
>>> won't pass glint right now; I meant to do them all, but forgot some so
>>>I'm
>>> doing them this morning. If you want to go ahead and run the tool just
>>>to
>>> see if and how failures pop-up, go right ahead.
>>>
>>> --peter
>>>
>>> On 11/6/13 2:40 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>>
>>>>Hi,
>>>>
>>>>I would like to run the entire JS framework through the 'gjslint'
>>>>tool. This is the JS linter provided by Google to check code that is
>>>>to be processed by the Closure Compiler.
>>>>
>>>>It has some very strict whitespace rules, that will result in changes
>>>>in most files (although we started out with a clean, gjslint approved
>>>>version a long while ago, when I implemented 'goog' event handling).
>>>>
>>>>The main advantages are that all code will be consistently formatted
>>>>and that it will most likely catch some annotation and related
>>>>errors/omissions.
>>>>
>>>>If no one (Alex, Peter) has commits pending, I am ready to go.
>>>>
>>>>EdB
>>>>
>>>>
>>>>
>>>>--
>>>>Ix Multimedia Software
>>>>
>>>>Jan Luykenstraat 27
>>>>3521 VB Utrecht
>>>>
>>>>T. 06-51952295
>>>>I. www.ixsoftware.nl
>>>
>>
>>
>>
>>--
>>Ix Multimedia Software
>>
>>Jan Luykenstraat 27
>>3521 VB Utrecht
>>
>>T. 06-51952295
>>I. www.ixsoftware.nl
>



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Re: [FLEXJS] JS framework: gjslint

Posted by Peter Ent <pe...@adobe.com>.
I haven't tried all of the example yet. Was going to do that once I
finished up a wiki page and cleaned up the remaining glint issues.

The discrepancy is known and it is something I have been working on
recently. I haven't attempted any @interface stuff yet, so I created some
base classes to mimic interfaces (e.g., org.apache.flex.core.IBeadView)
but did not create one for org.apache.flex.core.IBead.

--peter

On 11/6/13 10:54 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:

>I have spend the day running all JS files through JSHint and gjslint.
>I fixed about 6 errors that emerged (vars not declared etc.) up, but I
>also corrected all whitespace. It's a monster commit, if I get it
>finished ;-)
>
>Another issue: there is a rather large discrepancy between the class
>structure on the AS side vs. the JS side. Case in point is the lack of
>an IBeads interface on the JS side. I think the idea is to make the JS
>side mirror the structure of the AS side as closely as possible?
>
>And lastly (yeah, right... ;-)) how about the examples? Which ones are
>working for you, either in debug mode or in both debug AND release
>mode?
>
>EdB
>
>
>
>
>
>On Wed, Nov 6, 2013 at 4:48 PM, Peter Ent <pe...@adobe.com> wrote:
>> I checked a number of files in yesterday and I'm pretty sure a handful
>> won't pass glint right now; I meant to do them all, but forgot some so
>>I'm
>> doing them this morning. If you want to go ahead and run the tool just
>>to
>> see if and how failures pop-up, go right ahead.
>>
>> --peter
>>
>> On 11/6/13 2:40 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>>
>>>Hi,
>>>
>>>I would like to run the entire JS framework through the 'gjslint'
>>>tool. This is the JS linter provided by Google to check code that is
>>>to be processed by the Closure Compiler.
>>>
>>>It has some very strict whitespace rules, that will result in changes
>>>in most files (although we started out with a clean, gjslint approved
>>>version a long while ago, when I implemented 'goog' event handling).
>>>
>>>The main advantages are that all code will be consistently formatted
>>>and that it will most likely catch some annotation and related
>>>errors/omissions.
>>>
>>>If no one (Alex, Peter) has commits pending, I am ready to go.
>>>
>>>EdB
>>>
>>>
>>>
>>>--
>>>Ix Multimedia Software
>>>
>>>Jan Luykenstraat 27
>>>3521 VB Utrecht
>>>
>>>T. 06-51952295
>>>I. www.ixsoftware.nl
>>
>
>
>
>-- 
>Ix Multimedia Software
>
>Jan Luykenstraat 27
>3521 VB Utrecht
>
>T. 06-51952295
>I. www.ixsoftware.nl


Re: [FLEXJS] JS framework: gjslint

Posted by Alex Harui <ah...@adobe.com>.
Nuts, you sent that just as I turned off my computer last night...

On 11/6/13 7:54 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:

>I have spend the day running all JS files through JSHint and gjslint.
>I fixed about 6 errors that emerged (vars not declared etc.) up, but I
>also corrected all whitespace. It's a monster commit, if I get it
>finished ;-)
I have about 8 files to check in.  What's the best strategy, wait for you
and deal with merge issues?  Lint the 8 files myself?


>
>Another issue: there is a rather large discrepancy between the class
>structure on the AS side vs. the JS side. Case in point is the lack of
>an IBeads interface on the JS side. I think the idea is to make the JS
>side mirror the structure of the AS side as closely as possible?
Because there wasn't interface support on JS, we didn't put in JS
interface equivalents.  Worth doing some day.



>
>And lastly (yeah, right... ;-)) how about the examples? Which ones are
>working for you, either in debug mode or in both debug AND release
>mode?
I have DataBinding test working in debug and release.  That's what the
changes are I have pending.

-Alex


Re: [FLEXJS] JS framework: gjslint

Posted by Erik de Bruin <er...@ixsoftware.nl>.
I have spend the day running all JS files through JSHint and gjslint.
I fixed about 6 errors that emerged (vars not declared etc.) up, but I
also corrected all whitespace. It's a monster commit, if I get it
finished ;-)

Another issue: there is a rather large discrepancy between the class
structure on the AS side vs. the JS side. Case in point is the lack of
an IBeads interface on the JS side. I think the idea is to make the JS
side mirror the structure of the AS side as closely as possible?

And lastly (yeah, right... ;-)) how about the examples? Which ones are
working for you, either in debug mode or in both debug AND release
mode?

EdB





On Wed, Nov 6, 2013 at 4:48 PM, Peter Ent <pe...@adobe.com> wrote:
> I checked a number of files in yesterday and I'm pretty sure a handful
> won't pass glint right now; I meant to do them all, but forgot some so I'm
> doing them this morning. If you want to go ahead and run the tool just to
> see if and how failures pop-up, go right ahead.
>
> --peter
>
> On 11/6/13 2:40 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:
>
>>Hi,
>>
>>I would like to run the entire JS framework through the 'gjslint'
>>tool. This is the JS linter provided by Google to check code that is
>>to be processed by the Closure Compiler.
>>
>>It has some very strict whitespace rules, that will result in changes
>>in most files (although we started out with a clean, gjslint approved
>>version a long while ago, when I implemented 'goog' event handling).
>>
>>The main advantages are that all code will be consistently formatted
>>and that it will most likely catch some annotation and related
>>errors/omissions.
>>
>>If no one (Alex, Peter) has commits pending, I am ready to go.
>>
>>EdB
>>
>>
>>
>>--
>>Ix Multimedia Software
>>
>>Jan Luykenstraat 27
>>3521 VB Utrecht
>>
>>T. 06-51952295
>>I. www.ixsoftware.nl
>



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Re: [FLEXJS] JS framework: gjslint

Posted by Peter Ent <pe...@adobe.com>.
I checked a number of files in yesterday and I'm pretty sure a handful
won't pass glint right now; I meant to do them all, but forgot some so I'm
doing them this morning. If you want to go ahead and run the tool just to
see if and how failures pop-up, go right ahead.

--peter

On 11/6/13 2:40 AM, "Erik de Bruin" <er...@ixsoftware.nl> wrote:

>Hi,
>
>I would like to run the entire JS framework through the 'gjslint'
>tool. This is the JS linter provided by Google to check code that is
>to be processed by the Closure Compiler.
>
>It has some very strict whitespace rules, that will result in changes
>in most files (although we started out with a clean, gjslint approved
>version a long while ago, when I implemented 'goog' event handling).
>
>The main advantages are that all code will be consistently formatted
>and that it will most likely catch some annotation and related
>errors/omissions.
>
>If no one (Alex, Peter) has commits pending, I am ready to go.
>
>EdB
>
>
>
>-- 
>Ix Multimedia Software
>
>Jan Luykenstraat 27
>3521 VB Utrecht
>
>T. 06-51952295
>I. www.ixsoftware.nl