Page MenuHomePhabricator

Make use of ES6 in WMDE-TechWish projects
Closed, ResolvedPublic

Description

The support for ES5 only browsers has been dropped with T178356: Raise Grade A JavaScript requirement from ES5 (2009) to ES6 (2015) we can upgrade the code used in our projects to ES6,

This can mainly be done by bumping the eslint rule set applied on the source from wikimedia/client-es5 to wikimedia/client-es6 in the .eslintrc.json file. Then the linters can run with autofixes.
It's also advisable to bump the core requirement in the extensions.json to at least "MediaWiki": ">= 1.41.0" if the code changes are user facing.

Optional bonus (because we're invested in these extensions):

Event Timeline

Change 930759 had a related patch set uploaded (by WMDE-Fisch; author: Awight):

[mediawiki/extensions/AdvancedSearch@master] Basic ES6 conversion

https://gerrit.wikimedia.org/r/930759

Change 930759 merged by jenkins-bot:

[mediawiki/extensions/AdvancedSearch@master] Basic ES6 conversion

https://gerrit.wikimedia.org/r/930759

Change 932186 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/RevisionSlider@master] Migrate JS to ES6

https://gerrit.wikimedia.org/r/932186

Change 932186 merged by jenkins-bot:

[mediawiki/extensions/RevisionSlider@master] Migrate JS to ES6

https://gerrit.wikimedia.org/r/932186

Change 937053 had a related patch set uploaded (by Mareike Heuer; author: Mareike Heuer):

[mediawiki/extensions/TwoColConflict@master] Convert TwoColConflict extension to ES6

https://gerrit.wikimedia.org/r/937053

Change 937936 had a related patch set uploaded (by Mareike Heuer; author: Mareike Heuer):

[mediawiki/extensions/FileExporter@master] ES6 conversion of Move-Files-To-Commons -> FileExporter Extension

https://gerrit.wikimedia.org/r/937936

Change 937940 had a related patch set uploaded (by Mareike Heuer; author: Mareike Heuer):

[mediawiki/extensions/FileImporter@master] ES6 conversion of Move-Files-To-Commons -> FileImporter Extension

https://gerrit.wikimedia.org/r/937940

Change 937936 merged by jenkins-bot:

[mediawiki/extensions/FileExporter@master] ES6 conversion of Move-Files-To-Commons -> FileExporter Extension

https://gerrit.wikimedia.org/r/937936

Change 937940 merged by jenkins-bot:

[mediawiki/extensions/FileImporter@master] ES6 conversion of Move-Files-To-Commons -> FileImporter Extension

https://gerrit.wikimedia.org/r/937940

Change 937053 merged by jenkins-bot:

[mediawiki/extensions/TwoColConflict@master] Convert TwoColConflict extension to ES6

https://gerrit.wikimedia.org/r/937053

Change 940185 had a related patch set uploaded (by Mareike Heuer; author: Mareike Heuer):

[mediawiki/extensions/Kartographer@master] Convert Maps(Kartographer) extension to ES6

https://gerrit.wikimedia.org/r/940185

Change 942390 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Kartographer@master] Convert wikivoyage module(s) to ES6

https://gerrit.wikimedia.org/r/942390

Change 942391 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Kartographer@master] Convert ve-maps module(s) to ES6

https://gerrit.wikimedia.org/r/942391

I think this is simply blocked on T138401. JSDuck apparently just can't understand ES6 (see https://github.com/senchalabs/jsduck/issues/630, which appears to be a significant part of the reason we want to get rid of it), and crashes instead.

Since we said Maps (Kartographer) is optional I suggest to move this to done and work on the JSDuck update via a separate subtask: T342864.

Change 942391 abandoned by Thiemo Kreuz (WMDE):

[mediawiki/extensions/Kartographer@master] Convert ve-maps module(s) to ES6

Reason:

See T339323#9047757.

https://gerrit.wikimedia.org/r/942391

Change 942390 abandoned by Thiemo Kreuz (WMDE):

[mediawiki/extensions/Kartographer@master] Convert wikivoyage module(s) to ES6

Reason:

See T339323#9047757.

https://gerrit.wikimedia.org/r/942390

Change 942004 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Kartographer@master] Revert "Revert "Port jsduck -> jsdoc""

https://gerrit.wikimedia.org/r/942004

Change 942004 merged by jenkins-bot:

[mediawiki/extensions/Kartographer@master] Port jsduck -> jsdoc

https://gerrit.wikimedia.org/r/942004