Skip to content

Draft: Upgrade Monaco

What does this MR do and why?

The MR upgrades Monaco editor to version 0.33.0.

Why not 0.34.0 right away?

Great question. There are two reasons to this decision. First of all, this MR is already pretty dramatic change. With this mr we're getting to the latest version of monaco as close as possible. Secondly, 0.34.0 introduced some breaking changes which would require a separate process. The most prominent change is the introduction of the nested super.prop usage.

In version 0.31.0 Monaco introduced bundling with ESBuild. This broke a lot of Monaco for us so now we have to transform the editor files with Babel (check the webpack config changes in this MR). But, unfortunately, Babel has issues with transforming the nested super.props in particular.

How do we get to the latest version after all?

One possible option is to upgrade Webpack to version 5 to get a much better support for the contemporary JS and let webpack orchestrate monaco and related packages. Another option would be somehow work this around in babel. The second option will be evaluated in a separate MR.

Screenshots or screen recordings

The supposed to be no visual changes. Any visual changes could be considered a regression in this case, apparently.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #352976

Edited by Denys Mishunov

Merge request reports