Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
Description
Before You File a Bug Report Please Confirm You Have Done The Following...
- I have tried restarting my IDE and the issue persists.
- I have updated to the latest version of the packages.
- I havesearched for related issues and found none that matched my issue.
- I haveread the FAQ and my problem is not listed.
Relevant Package
parser
Playground Link
Repro Code
// foox// bar
ESLint Config
tsconfig
Expected Result
The end location ofProgram
differs between@typescript-eslint/parser
and Espree.
Both TS-ESLint and Espree set the start location ofProgram
as the first token, excluding whitespace and comments.
Espree sets the end location as the last token, also excluding whitespace and comments. However,@typescript-eslint/parser
does not match that behavior - end location ofProgram
is the end of the file.
I assume that@typescript-eslint/parser
is aiming to align with Espree, and therefore this difference is unintentional.
Acorn does not exclude whitespace/comments fromeither start or end location. It's unfortunate the the 2 most-used ESTree-compatible parsers do not match each others' behavior, and personally I prefer the Acorn way - I think it's surprising that you can have comments which have locationsoutside theProgram
which contains them. But I imagine quite possible that neither Acorn nor Espree may want to make a breaking change.
Examples:
Actual Result
See above.
Additional Info
No response
Versions
package | version |
---|---|
@typescript-eslint/parser | 8.29.0 |