hawkerm / monaco-editor-uwp

A Windows Runtime Component wrapper around the web-based Monaco Editor.
MIT License
152 stars 36 forks source link

Add nuget package for known compatible Monaco editor files. #31

Closed sharpninja closed 4 years ago

sharpninja commented 4 years ago

One of my biggest fears using this (and believe me, I want to), is not having a version of Monaco referenced that has been tested with the control. I would recommend putting together a nuget package just for the Monaco bits (so it is distributed separately) and making it a version-specific dependency in your control's nuget package. It also allows you to attribute Monaco correctly in Nuget by having it's own nuspec file.

hawkerm commented 4 years ago

@sharpninja we tightly couple the Monaco version to the version released in NuGet as we're embedding Monaco into a WebView and instantiating it. All you need to use the control is pull down the NuGet, you don't have to mess to configure anything Monaco related at all. It should just feel like any other UWP control, it's just using web-tech under-the-hood.

Since Monaco is distributed via npm, we pull it down through PowerShell to do the build, but we pin the version in that file that we've compiled against; so we'll only update the Monaco version if we've pulled it down and tested it with this wrapper.

That said, Monaco does make breaking changes all the time, so we'll still have breaking changes in the exposed C# versions of those APIs as well, but we'll note them as well.

Hope that helps, please let me know if you have any other questions.