Bug 545216 - Please support ES8 syntax, e.g. async and await keywords
Summary: Please support ES8 syntax, e.g. async and await keywords
Status: NEW
Alias: None
Product: JSDT
Classification: WebTools
Component: General (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 normal with 4 votes (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Victor Rubezhny CLA
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2019-03-08 08:40 EST by Stefan Eidelloth CLA
Modified: 2021-10-06 16:05 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Eidelloth CLA 2019-03-08 08:40:46 EST
Following code example shows an unexpected error in the JavaScript editor after the async keyword ("Semi colon expected"):

export default class Study extends ComponentAtom {
	
	constructor(name){
		this.name=name
	}
	
	async execute(treeView, monitor) {
	
	
	}
}

I use Eclipse IDE for JavaScript Web Developers with
Eclipse Web Developer Tools 3.11.0.v201811192212.

Related issue:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=521625

Related SO question:

https://stackoverflow.com/questions/51811630/validation-errors-using-async-await-in-eclipse-photon/54416035?noredirect=1#comment96875660_54416035
Comment 1 Todd E. Williams CLA 2021-03-29 09:58:00 EDT
Eclipse seems to only support EcmaScript 6, but that is already 6 years old.
Many projects have started using await and async (from es8) and Eclipse has fallen far behind here. To remain competitive at any level in the JS space, standards can't wait for 6 years for implementation.
Comment 2 Nitin Dahyabhai CLA 2021-03-29 10:13:50 EDT
For end users, the current solution is to make use of Wild Web Developer for editing JavaScript, however incongruous it is, but there's little there to build on for adopters. We'd definitely look at patches from adopters and other community members, Todd.
Comment 3 Todd E. Williams CLA 2021-03-29 12:41:31 EDT
Thanks for the fast reply Nitin; I really appreciate it.

I think that a response of "use the WWD project" would actually be an excellent answer for a user of Eclipse if that's where ES8 was supported. There's nothing that says JSDT has to do all the heavy lifting with new specs.

However, I tried the the example that Stefan posted to open this bug report in a 2021-03 instance of Eclipse with WWD installed and it also reports the error Stefan notes in the bug report.

I searched the website to try to find a list of specs supported by WWD, but was unable to find such a list. 

At this point I can't prove that WWD supports ES8 either. Are you sure this support exists there? Is there perhaps an error in my testing methodology?

If you think WWD is a more appropriate place for this bug report, can you facilitate moving it over there?
Comment 4 Nitin Dahyabhai CLA 2021-03-29 19:51:28 EDT
(In reply to Todd E. Williams from comment #3)
> I think that a response of "use the WWD project" would actually be an
> excellent answer for a user of Eclipse if that's where ES8 was supported.
> There's nothing that says JSDT has to do all the heavy lifting with new
> specs.

If it's to be leveraged within the JSP editor, JSDT still has to do that work.

> However, I tried the the example that Stefan posted to open this bug report
> in a 2021-03 instance of Eclipse with WWD installed and it also reports the
> error Stefan notes in the bug report.
> 
> I searched the website to try to find a list of specs supported by WWD, but
> was unable to find such a list. 
> 
> At this point I can't prove that WWD supports ES8 either. Are you sure this
> support exists there? Is there perhaps an error in my testing methodology?
> 
> If you think WWD is a more appropriate place for this bug report, can you
> facilitate moving it over there?

I am not at all sure that WWD contains that functionality, only that they seem to have far more people working on it in a dedicated/paid capacity. WTP lists its supported specification in its annual release review document, but I don't see a discrete review documentation link for Wild Web Developer in their PMI, nor those detail elsewhere. And as it's hosted in GitHub and using that Issue tracker, there's no mechanism for lifting items from here and inserting them there with any continuity.

JSDT currently uses an older version of the Closure Compiler. I'm not sure how completely it was integrated, but newer versions of Closure would at least require adjustments for how its AST is handled relative to JSDT's for features like formatting and code manipulation. I think anyone looking to pick up this would would have really appreciated the team reenabling the various BVTs that were disabled amidst the multiple parser changes in the publicized 2.0 reboot.