0.1.0 • Published 1 year ago

monaco-types v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

monaco-types

github actions npm prettier

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

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:

import { MarkerSeverity } from 'monaco-types'

let severity: MarkerSeverity

But TypeScript will show an error when using the import as a value

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:

import { IDisposable, MonacoEditor } from 'monaco-types'

export function configureMyPlugin(monaco: MonacoEditor): IDisposable {
  // Use monaco here.
}

License

MIT @ Remco Haszing