microsoft / microsoft/monaco-editor
FR: Detect when addExtraLib is done processing / Permit bulk add/delete extra lib operations
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 46.8k
- Forks
- 4.1k
- Avg merge
- 17h 58m
- Merged PRs (30d)
- 1
Description
monaco-editor version: 0.15.6
Adding a lot of DTS files for use in JavaScript/TypeScript frequently takes several seconds for the TypeScript compiler to process. As best I can tell, there is no way to programmatically determine when the compiler has processed the extra files and is "stable" again.
The idea is that, when calling monaco.languages.typescript.LanguageServiceDefaults.addExtraLib with large DTS files, it would be helpful to show the user an indeterminate progress bar to make it clear that autocompletions are not available presently. Notifying the program that processing is complete could be accomplished via an event, a promise returned from addExtraLib, or an optional callback to addExtraLib.
Note, if addExtraLib is called multiple times in quick succession, we would want to know when the TypeScript compiler has finished processing all of the DTS files, not only/just a single DTS file.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with LanguageServiceDefaults.addExtraLib and the TypeScript compiler processing path for extra DTS files. Trace how multiple calls are queued or applied, including deletion behavior, and determine where completion can be observed. Done means the API can signal completion after all requested extra-library operations have been processed, with bulk add/delete behavior covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- api, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100