A daily automated build of Microsoft Monaco.
Warning: This is personal endeavour.
If you just want a quick editor on a web page the
monaco-editor will get you there quicker : https://www.npmjs.com/package/monaco-editor. This internally uses stuff like
But if you want to specialize the experience for a particular language (in our case
TypeScript as we do in alm.tools) you can use this as a reference for build automation to make your own version.
src: the source code
out-editor) : the built assets
build: scripts for building various stuff (including monaco)
vscode/build/monaco/README.md. We simplified it and the process is documented in
prepare.sh. Some notes on monaco-editor-core:
build/gulpfile.editor.jscontains the monaco building stuff.
monaco.d.tsapi is built with
monaco.d.ts.recipe is loosely related to
editor.main.ts etc. You get to use the outcome of the recipe (i.e.
typeof monaco.something in your
editor.main stuff to ensure types match but it can fail silently due to excessive use of
any so be careful 🌹
@internal stuff is stripped by
api.ts, if you try to bring it all in you will get errors as a lot of stuff is hidden and you will need to bring
in all of it using
editor.main (quite a bit of work.)
All done using
prepare.sh (with the help of stuff in the
Monaco is in the process of making more addons. Best to add them with
git submodule add
And then add the path to
Finally you need to figure out how to integrate it in editor.main
Due to limited testing and automated release we recommend hard version installs:
npm install monaco --save --save-exact
You can put this your package.json to make it easier for you to update to latest (and now you can
npm run umonaco):
"umonaco": "npm install nmonaco@latest --save --save-exact && npm run tsc",