Skip to content

Conversation

fgnass
Copy link
Contributor

@fgnass fgnass commented Mar 28, 2025

Currently, the code widget does not work properly in ESM builds as it calls require() with a dynamic argument, hence the dynamic loading of language modes is broken (see #7442).

This PR fixes this by using a map of loader functions that use dynamic imports with static paths. The map is generated by the same script that creates the languages.json file.

NOTE:
Ideally, we would use https://github.com/codemirror/language-data instead, which internally uses the same approach, but this requires codemirror 6.x which in turn is not supported by react-codemirror2, the wrapper library that is currently used. In the long term switching to https://www.npmjs.com/package/@uiw/react-codemirror would probably make sense, but this would require a huge refactoring.

@fgnass fgnass requested a review from a team as a code owner March 28, 2025 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants