# Maintaining

(For maintainers only)

Make sure every unassigned issue is labeled properly:

- [Inbox Queue](https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+no%3Aassignee+-label%3Afeature-request+-label%3Aupstream+-label%3A%22info-needed%22++-label%3Abug+)

## Publishing a stable build monaco-editor build

- Make sure there exists a nightly build from the VS Code commit the stable build should be built from
- [Compare Last Stable With Nightly](https://microsoft.github.io/monaco-editor/playground.html?source=v0.40.0-dev.20230704# )
  - Update [package.json](./package.json)
    - set `version` to next stable
    - set `vscodeRef` to _vscodeCommitId_
    - update `devDependencies.monaco-editor-core` to _version_
  - Run `npm install` to update lockfile
  - Update [CHANGELOG.md](./CHANGELOG.md)
    - API Changes / Breaking Changes / New and noteworthy
    - Thank you ([use this tool](https://tools.code.visualstudio.com/acknowledgement))
  - Commit
  - [Trigger build](https://dev.azure.com/monacotools/Monaco/_build?definitionId=416)

#### 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

## Updating TypeScript

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