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

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions