monaco-editor/MAINTAINING.md

2.2 KiB

Maintaining

(For maintainers)

Updating TypeScript

  • change typescript's version in package.json.
  • execute npm install .
  • execute npm run import-typescript
  • adopt new APIs

Shipping a new monaco-editor npm module

0.

  • make sure you have https://github.com/microsoft/vscode-loc checked out next to the vscode folder.

1. Ship a new monaco-editor-core npm module

  • 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> yarn gulp editor-distro
  • publish npm package /src/vscode/out-monaco-editor-core> npm publish

2. Adopt new monaco-editor-core version

# fetch latest deps
/src/monaco-editor> npm install .

4. Generate and try out the local release

  • run the editor smoketest via CI or manually.

5. Update release note.

  • API Changes / Breaking Changes / New and noteworthy
  • Thank you (use this tool)

6. Publish

  • /src/monaco-editor> npm version minor
  • /src/monaco-editor> npm run release
  • /src/monaco-editor/release> npm publish
  • /src/monaco-editor> git push origin v0.50.0

7. Update Website

  • /src/monaco-editor> npm run website

8. Publish new webpack plugin

  • TBD
  • https://github.com/microsoft/monaco-editor/tree/main/webpack-plugin
  • npm install .
  • npm run import-editor
  • if there are no changes generated after the script:
    • update the peer dependency in package.json and use the || format e.g. "monaco-editor": "0.27.x || 0.28.x"
    • update the version matrix in the README.md and add the new editor version to the plugin's current major version
    • use npm version minor
    • publish using npm publish
  • if there are any changes generated after the script:
    • update the peer dependency in package.json e.g. "monaco-editor": "0.29.x"
    • update the version matrix in the README.md and add a new row with the new major version
    • use npm version major
    • publish using npm publish
  • remember to push tags upstream