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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions