Hi everyone,

This is just a heads up with more information to follow. Starting with
ESLint v0.11.0, we're going to be moving to our own parser. The parser is
called Espree and is a fork of Esprima starting at version 1.2.2 (the
version we're currently using in ESLint). You can view the project here:
https://github.com/eslint/espree.

I've been considering this move for a long time now as the updates to
Esprima have slowed down to basically nothing. We've had several issues
open with Esprima for a while that have shown no progress and have slowed
our ability to release an ES6-compliant version of ESLint. Further making
things difficult was a change in Esprima that resulted in comments being
attached at very different places. As such, continuing with Esprima just
wasn't giving us the advantages that it did when ESLint was first started.

The goal with Espree is to start from our last-known-good state and add in
the pieces we're missing. That means we'll need to add in ES6 support and
JSX support. Both of those are non-trivial, but at the same time, not
impossible.

Using our own parser brings us inline with both JSHint and JSLint, each of
which contain their own parser. The plan for Espree is to keep it separate
from ESLint so that others can benefit from it.

I'm in the process of cleaning up the Espree repo, and I'm almost done! In
fact, I'm close enough that I decided to implement the first feature:
adding an ECMAScript version option that throws an error when either `let`
or `const` is used. You can see the pull request for this here:

https://github.com/eslint/espree/pull/8

Going forward, we'll continue to add new features into Espree that ESLint
needs, so our ES6 support will come along incrementally rather than all at
once. So ESLint v0.11.0 will be the first one to use Espree and I'm hoping
to get a lot of the simpler ES6 pieces in, and potentially, even JSX
support. Espree will be released at least every month, possible several
times a month, as new features are being added.

Of course, you're welcome to help out on Espree just like you are on
ESLint.

I'll be writing up a blog post to explain more about the rationale, so the
big take away from this email is that we're moving to our own parser that
is based on Esprima. Ultimately, this should result in faster fixes for
ESLint and allow us to add some additional features that will make ESLint's
life a lot easier.



-- 

______________________________
Nicholas C. Zakas
@slicknet

Author, Professional JavaScript for Web Developers
Buy it at Amazon.com:
http://www.amazon.com/Professional-JavaScript-Developers-Nicholas-Zakas/dp/1118026691/ref=sr_1_3

-- 
You received this message because you are subscribed to the Google Groups 
"ESLint" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to