monaco-types
Version:
Type-only exports of Monaco editor
55 lines (36 loc) • 1.71 kB
Markdown
# monaco-types
[](https://github.com/remcohaszing/monaco-types/actions/workflows/ci.yaml)
[](https://www.npmjs.com/package/monaco-types)
[](https://prettier.io)
Users of Monaco editor may insert it into their webpage via multiple sources, for example from the
`monaco-editor` or `monaco-editor-core` package, from a CDN, or from a third party source.
This package provides type-only exports of Monaco editor from either `monaco-editor` or
`monaco-editor-core`, whatever is available.
## Installation
```sh
npm install monaco-types
```
## Usage
Instead of importing from `monaco-editor` or `monaco-editor-core`, import all type definitions from
`monaco-types`. This will allow you to write type annotations:
```ts
import { MarkerSeverity } from 'monaco-types'
let severity: MarkerSeverity
```
But TypeScript will show an error when using the import as a value
```ts
import { MarkerSeverity } from 'monaco-types'
let severity: MarkerSeverity
```
Also your user will only have to install either `monaco-editor` or `monaco-editor-core` to get type
definitions, but you don’t have to enforce either on them.
In order to support this, your library needs to accept `MonacoEditor` as an argument instead of
importing. For example:
```ts
import { IDisposable, MonacoEditor } from 'monaco-types'
export function configureMyPlugin(monaco: MonacoEditor): IDisposable {
// Use monaco here.
}
```
### License
[MIT](LICENSE.md) @ [Remco Haszing](https://github.com/remcohaszing)