question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

eslint should parse all stage 3 proposals

See original GitHub issue

Per the discussion here;

Something being in stage 3 means, that barring some massive surprise performance issue discovered by browsers, that it almost certainly will ship. Browsers begin implementing in stage 3, since it’s a stage 4 requirement that 2 browsers support something first. What this policy means is that eslint will be unable to lint code that works in half of the browsers - that doesn’t seem ideal.

ES2016 was ratified in June, so it’s complete. However, the “yearly spec” is irrelevant - only what’s on Github matters, which is all the things that are stage 4 (which luckily doesn’t yet include any syntax changes).

In other words, I think that stage 3 - not just stage 4, and certainly not just when the yearly spec is ratified (which is not a meaningful milestone for implementations; stage 4 is when it’s final) - should be when eslint’s default parser adds support for any syntax changes.

Specifically: (proposal list)

  • trailing commas in function signatures
  • async functions / await keyword

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Reactions:9
  • Comments:9 (9 by maintainers)

github_iconTop GitHub Comments

2reactions
platinumazurecommented, Jul 16, 2016

Seems like this is something our TSC should discuss.

Worth noting that this is really about espree, the default parser for ESLint.

0reactions
albertocommented, Aug 26, 2016

Thanks for your interest in improving eslint. Unfortunately, it looks like consensus couldn’t be reached on this issue and so I’m closing it. While we wish we’d be able to accommodate everyone’s requests, we do need to prioritize. We’ve found that issues failing to reach consensus after 21 days tend never to reach consensus, and as such, we close those issues. This doesn’t mean the idea isn’t interesting, just that it’s not something the team can commit to.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to tell eslint to allow staged ECMA-Script dynamic imports
ESLint natively supports stage 4 and above features. Anything below it, you have to use babel-eslint parser. – Gyandeep. Feb 22, 2017 at...
Read more >
Setting up ESLint to work with new or proposed JavaScript ...
It turns out configuring ESLint to use Stage 3 proposals is actually a massive pain, and sends you down a rabbit hole of...
Read more >
eslint - npm
ESLint uses Espree for JavaScript parsing. · ESLint uses an AST to evaluate patterns in code. · ESLint is completely pluggable, every single...
Read more >
babel/parser
The Babel parser (previously Babylon) is a JavaScript parser used in Babel. The latest ECMAScript version enabled by default (ES2020). Comment attachment.
Read more >
acorn-stage3 | Yarn - Package Manager
stage 3 proposal support for Acorn ... This is a plugin for Acorn - a tiny, fast JavaScript parser, written completely in JavaScript....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Hashnode Post

No results found