From 5af2334c5ebcc5afd14dd0a03f2f0920db5328f1 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Tue, 9 Nov 2021 16:30:09 +0100 Subject: [PATCH] Prepare for `0.30.1` --- CHANGELOG.md | 4 +++ CONTRIBUTING.md | 90 +++++++++++++---------------------------------- package-lock.json | 6 ++-- package.json | 9 +++-- 4 files changed, 38 insertions(+), 71 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d4f5fc87..3bb39135 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Monaco Editor Changelog +## [0.30.1] (09.11.2021) + +- Fixes [a performance regression where all languages would be loaded when loading the first language](https://github.com/microsoft/monaco-editor/issues/2750). + ## [0.30.0] (04.11.2021) - adds support for rendering horizontal guides between bracket pairs and improves the vertical rendering to account for content in between brackets. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4dab463c..57d8bffd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,26 +2,18 @@ ## A brief explanation on the source code structure -This repository contains no source code, it only contains the scripts to package everything together and ship the `monaco-editor` npm module: +This repository contains source code only for Monaco Editor Languages, the core editor source lives in the [vscode repository](https://github.com/Microsoft/vscode). -These packages are described in the root file called `metadata.js` and it is possible to create an editor distribution that contains only certain plugins by editing that file. - -| repository | npm module | explanation | -| ------------------------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------- | -| [vscode](https://github.com/Microsoft/vscode) | [monaco-editor-core](https://www.npmjs.com/package/monaco-editor-core) | editor core functionality (language agnostic) is shipped out of vscode. | -| [monaco-languages](https://github.com/Microsoft/monaco-languages) | [monaco-languages](https://www.npmjs.com/package/monaco-languages) | plugin that adds colorization and basic supports for dozens of languages. | -| [monaco-typescript](https://github.com/Microsoft/monaco-typescript) | [monaco-typescript](https://www.npmjs.com/package/monaco-typescript) | plugin that adds rich language support for JavaScript and TypeScript. | -| [monaco-css](https://github.com/Microsoft/monaco-css) | [monaco-css](https://www.npmjs.com/package/monaco-css) | plugin that adds rich language support for CSS, LESS and SCSS. | -| [monaco-json](https://github.com/Microsoft/monaco-json) | [monaco-json](https://www.npmjs.com/package/monaco-json) | plugin that adds rich language support for JSON. | -| [monaco-html](https://github.com/Microsoft/monaco-html) | [monaco-html](https://www.npmjs.com/package/monaco-html) | plugin that adds rich language support for HTML. | +| repository | npm module | explanation | +| ----------------------------------------------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| [vscode](https://github.com/microsoft/vscode) | [monaco-editor-core](https://www.npmjs.com/package/monaco-editor-core) | editor core functionality (language agnostic) is shipped out of vscode. | +| [monaco-editor](https://github.com/microsoft/monaco-editor) | [monaco-editor](https://www.npmjs.com/package/monaco-editor) | the Monaco Editor. | ## Running the editor from source You need to have all the build setup of VS Code to be able to build the Monaco Editor. -- Install all the [prerequisites](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites) - -### OS X and Linux +- Install all the [prerequisites](https://github.com/microsoft/vscode/wiki/How-to-Contribute#prerequisites) ```bash # clone vscode-loc repository for localized string resources @@ -32,53 +24,31 @@ You need to have all the build setup of VS Code to be able to build the Monaco E # install npm deps for vscode /src/vscode> yarn # start the compiler in the background -/src/vscode> yarn run watch -``` - -### Windows - -```cmd -# clone vscode-loc repository for localized string resources -/src> git clone https://github.com/microsoft/vscode-loc -# clone VS Code repository -/src> git clone https://github.com/microsoft/vscode -/src> cd vscode -# install npm deps for vscode -/src/vscode> yarn -# start the compiler in the background -/src/vscode> yarn run watch +/src/vscode> yarn watch ``` - For the monaco editor test pages: ```bash # clone monaco-editor (note the folders must be siblings!) -/src> git clone https://github.com/Microsoft/monaco-editor +/src> git clone https://github.com/microsoft/monaco-editor # install npm deps for monaco-editor /src/monaco-editor> npm install . +# compile all plugins +/src/monaco-editor> npm run prepublishOnly --prefix monaco-css +/src/monaco-editor> npm run prepublishOnly --prefix monaco-languages +/src/monaco-editor> npm run prepublishOnly --prefix monaco-typescript +/src/monaco-editor> npm run prepublishOnly --prefix monaco-json +/src/monaco-editor> npm run prepublishOnly --prefix monaco-html + # start a local http server in the background /src/monaco-editor> npm run simpleserver ``` Open [http://localhost:8080/monaco-editor/test/?editor=src](http://localhost:8080/monaco-editor/test/?editor=src) to run. -## Running a plugin from source (e.g. monaco-typescript) - -```bash -# clone monaco-typescript -/src> git clone https://github.com/Microsoft/monaco-typescript - -# install npm deps for monaco-typescript -/src/monaco-typescript> npm install . - -# start the compiler in the background -/src/monaco-typescript> npm run watch -``` - -Open [http://localhost:8080/monaco-editor/test/?editor=src&monaco-typescript=src](http://localhost:8080/monaco-editor/test/?editor=src&monaco-typescript=src) to run. - ## Running the editor tests ```bash @@ -119,29 +89,17 @@ Open [http://localhost:8080/monaco-editor/test/?editor=src&monaco-typescript=src - bump version in `/src/vscode/build/monaco/package.json` - **[important]** push all local changes to the remote to get a good public commit id. -- generate npm package `/src/vscode> node_modules/.bin/gulp editor-distro` +- generate npm package `/src/vscode> yarn gulp editor-distro` - publish npm package `/src/vscode/out-monaco-editor-core> npm publish` -#### 2. Adopt new `monaco-editor-core` in plugins - -- if there are breaking API changes that affect the language plugins, adopt the new API in: - - [repo - monaco-typescript](https://github.com/Microsoft/monaco-typescript) - - [repo - monaco-languages](https://github.com/Microsoft/monaco-languages) - - [repo - monaco-css](https://github.com/Microsoft/monaco-css) - - [repo - monaco-json](https://github.com/Microsoft/monaco-json) - - [repo - monaco-html](https://github.com/Microsoft/monaco-html) -- publish new versions of those plugins to npm as necessary. - -#### 3. Update package.json - -- edit `/src/monaco-editor/package.json` and update the version (as necessary): - - [npm - monaco-editor-core](https://www.npmjs.com/package/monaco-editor-core) - - [npm - monaco-typescript](https://www.npmjs.com/package/monaco-typescript) - - [npm - monaco-languages](https://www.npmjs.com/package/monaco-languages) - - [npm - monaco-css](https://www.npmjs.com/package/monaco-css) - - [npm - monaco-json](https://www.npmjs.com/package/monaco-json) - - [npm - monaco-html](https://www.npmjs.com/package/monaco-html) -- **[important]** fetch latest deps by running `/src/monaco-editor> npm install .` +#### 2. Update `monaco-editor-core` + +- edit `/src/monaco-editor/package.json` and update the version of [`monaco-editor-core`](https://www.npmjs.com/package/monaco-editor-core) + +```sh +# fetch latest deps +/src/monaco-editor> npm install . +``` #### 4. Generate and try out the local release diff --git a/package-lock.json b/package-lock.json index 3229aee4..f863ee0d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2836,9 +2836,9 @@ } }, "monaco-editor-core": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.30.0.tgz", - "integrity": "sha512-vFJ7BEOCqLv4xWgFW+UheI/PtccHHNht29lNmo79Re1kNhWCBLLb2nThjRMLPO1rd41vX9hhd9C07/iKOk9/jQ==", + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.30.1.tgz", + "integrity": "sha512-WNxfchYafMZXVfysqg/ESW4MtOpYLPaIKrzudNlgwYvfYID+O/nwSZI5X+KxW84roVzHsNgFGyOOesfHFZwYUA==", "dev": true }, "monaco-plugin-helpers": { diff --git a/package.json b/package.json index c52ea8b5..e0391bb2 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,12 @@ "license": "MIT", "scripts": { "simpleserver": "gulp simpleserver", - "release": "gulp release", + "release-css": "npm run prepublishOnly --prefix monaco-css", + "release-html": "npm run prepublishOnly --prefix monaco-html", + "release-json": "npm run prepublishOnly --prefix monaco-json", + "release-languages": "npm run prepublishOnly --prefix monaco-languages", + "release-typescript": "npm run prepublishOnly --prefix monaco-typescript", + "release": "npm run release-css && npm run release-html && npm run release-json && npm run release-languages && npm run release-typescript && gulp release", "website": "gulp build-website && npm run typedoc && gulp prepare-website-branch", "build-website": "gulp build-website && npm run typedoc", "typedoc": "cd typedoc && \"../node_modules/.bin/typedoc\" --options ./typedoc.json", @@ -29,7 +34,7 @@ "gulp": "^4.0.2", "jsdom": "^17.0.0", "jsonc-parser": "^3.0.0", - "monaco-editor-core": "0.30.0", + "monaco-editor-core": "0.30.1", "monaco-plugin-helpers": "^1.0.3", "prettier": "^2.4.1", "requirejs": "^2.3.6",