eclipse-theia/theia

simplify checking monaco typings

Open

#7,261 opened on Mar 3, 2020

View on GitHub
 (3 comments) (0 reactions) (0 assignees)TypeScript (18,676 stars) (2,478 forks)batch import
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.

Contributor guide