Introducing JSLint AIR Edition: Made with Aptana, Ext JS and Adobe Integrated Runtime

I've been dabbling with Ext JS for a while now in the hopes of integrating it into the various projects I have on the go. While exploring some ways to better construct a Javascript front end by separating out my code into 'components', I discovered JSLint, The Javascript Verifier. One thing lead to another and within a day I had a working Alpha version of JSLint as an AIR application...

If you've never used JSLint, the concept is simple. JSLint will verify your source code against a selected option set and provide a report of any errors found. With the AIR Edition, you can copy and paste your code, or open a local file to populate the source input field. When you choose to open a file, you can also save any changes made to the original file.

JSLint AIR Edition also includes a 'tool' to fix whitespace errors (coverts tab spaces to four character spaces) and a listing view that highlights the problem lines from your source code.

UPDATE: Here are some screen shots of JSLint AIR Edition

Form view:

Report view:

Listing view:

This project is definitely a work in progress and at the time of this writing is at beta 0.1. I've only explored some of the common functionality expected from a desktop user experience. There are plenty of features that can be added to make this a more robust application.

I will follow up with some code samples and introduce some ideas I have about how to organize my javascript code to reduce coupling and promote cohesion and maintainability.

For anyone interested in exploring HTML/Javascript AIR development, here are some tools and resources that I found indispensable.

1. Aptana IDE (Eclipse plug-in version).

2. JavaScript Language Reference for the Adobe® Integrated Runtime (AIR™).

3. Developing AIR Applications with HTML (book).

4. Adobe Integrated Runtime for Javascript Developers.

Related Blog Entries

Comments
Aaron Conran's Gravatar Great work, quite a useful app already. I found an error with it that I was previously unable to resolve with my debugger!

JsLint has a tendency to hurt your feelings sometimes, missing semicolons, trailing commas, not using ()'s at the end of your constructors, etc. Put I'd like to make it a habit to run all of my code through it.

Some features I would suggest for the next version of your app.

- Escape HTML markup for the listing screen, since AIR renders HTML any markup in your listing won't show up properly
- Allow for entire directory parsing at once (not sure if this is possiblein the AIR file IO API)
- In some location always display the filename that is currently open (titlebar, statusbar, somewhere)

I am looking forward to seeing this application mature.
# Posted By Aaron Conran | 9/28/07 10:00 PM
Paul Marcotte's Gravatar Thanks, Aaron.

Totally appreciate the feedback. I agree that JSLint is rigorous. I was rudely awakened when I ran the code that I wrote to build the app through itself!

You can grab the latest version (0.5) at http://jslintair.riaforge.org/.

I've been hard at work porting the app to AIR Beta 2, but managed to squeeze in two of your feature requests. Processing an entire folder of js files will be a tad more difficult to pull off. ;)

Although, I have thought about a directory view similar to a TextMate project and multi-tabs, but it would probably be easier to learn how to create a TM Bundle or Aptana plugin for JSLint than building what would eventually amount to an AIR based JS IDE...
# Posted By Paul Marcotte | 10/1/07 3:10 PM
BlogCFC was created by Raymond Camden. This blog is running version 5.9. Contact Blog Owner