Skip to content

Update JavaScript integration for 2026.2 release #40

@ileasile

Description

@ileasile

In 2026.2 release of the platform, JavaScript plugin was updated to v2 plugin model.
You have a dependency on it in the repository: https://github.com/hyperskill/hyperskill-plugin/blob/db8ce0dc2317808f2130c4b19fd8fa783e0c2d6c/intellij-plugin/hs-JavaScript/resources/hs-JavaScript.xml

Action point: please check that your plugin works fine with the 2026.2 version of the platform. If you see any linkage errors, add relevant<module name="intellij.javascript.<...>"> statements to your plugin descriptor.

Example: let's imagine you updated to 2026.2 version of the Platform and see the following error when running the plugin:

com.intellij.diagnostic.PluginException: com/intellij/lang/javascript/JSElementTypes [Plugin: com.intellij.javaee.jakarta.data]
	.....
Caused by: java.lang.NoClassDefFoundError: com/intellij/lang/javascript/JSElementTypes
	at com.intellij.scala.play.language.lexer.JSDependentSubstitutor.substitute(JSDependentSubstitutor.scala:10)
	at com.intellij.scala.play.language.lexer.Play2ScalaLexerWrapper$MyHtmlLexer.getTokenType(Play2ScalaLexerWrapper.scala:177)
	....
Caused by: java.lang.ClassNotFoundException: com.intellij.lang.javascript.JSElementTypes PluginClassLoader(plugin=ContentModuleDescriptor(id=scalaUltimate.play-js) <- PluginMainDescriptor(name=Scala, id=org.intellij.scala, version=2026.2.1, isBundled=false, path=~/Library/Application Support/JetBrains/IntelliJIdea2026.2/plugins/Scala), packagePrefix=null, state=active, parents=ContentModuleDescriptor(id=scalaUltimate.play) <- PluginMainDescriptor(name=Scala, id=org.intellij.scala, version=2026.2.1, isBundled=false, path=~/Library/Application Support/JetBrains/IntelliJIdea2026.2/plugins/Scala), PluginMainDescriptor(name=JavaScript and TypeScript, id=JavaScript, version=262.5792.0, isBundled=true, path=~/Applications/IntelliJ IDEA 2026.2 Nightly.app/Contents/plugins/javascript-plugin), PluginMainDescriptor(name=Scala, id=org.intellij.scala, version=2026.2.1, isBundled=false, path=~/Library/Application Support/JetBrains/IntelliJIdea2026.2/plugins/Scala), )
	... 141 more

You then locate JSElementTypes class in your project:
Image

And scroll a bit up in the project tree to see the module this file belongs:

Image

It means you need to add the following line into your plugin.xml or module descriptor:

<dependencies>
    ...
    <module name="intellij.javascript.parser">
</dependencies>

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions