enhancementhelp wantedmonaco
Description
Currently we expose internals of Monaco manually which is quite troublesome to check on each update, since we expose more and more Monaco APIs. I believe @RomanNikitenko can second it after doing https://github.com/eclipse-theia/theia/pull/7149.
Even if we do https://github.com/eclipse-theia/theia/issues/7100 and can start upgrading to latest Monaco immediately and have more tests, it would still require quite some manual effort.
I'm not sure how it can be done but it would be good automate as well. I had 2 ideas in mind:
- try to use Monaco via esm, not amd, in this case there are esm js files in monaco distribution and we could try to generate d.ts files from them. Not sure whether it is feasible, there seem to be some tool which can derive typings: https://github.com/Microsoft/dts-gen. It will increase build time but maybe reduce final output since monaco will be part of bundle.js also we don't need hack Monaco amd loading as now.
- don't use Monaco, but have own distribution of editor layer from VS Code, basically grab ts files and put them in npm package, then compile them via webpack in Theia. Drawbacks that these APIs are not stable at all compare to published monaco.d.ts.