All notable changes to this npm module are documented in this file.
- Fixed compile target configuration
- Changed the compile target and module to ES2022. Applied linting. Code was functionally not changed.
- Updated to
[email protected]
- Added react-client and angular-client
- Update to monaco-editor 0.34.1 #373
- Update to
[email protected]
- Update exmaple dependencies (which don't affect the library)
- Update to
- BREAKING CHANGE: Transform to package of type module and switch to TypeScript ECMAScript Module Support in Node.js.
- BREAKING CHANGE: All cjs exports have been removed.
- BREAKING CHANGE: The old
monaco-converter
has been removed. If you still rely on it, please take a look at the example language service written in JavaScript and adapt to the converters usage available since v2.0.0. - Added verification examples for webpack and vite that shall ensure the libs work in dependent projects and the give you an idea how to use
monaco-languageclient
andvscode-ws-jsonrpc
with common bundlers. - Revised all READMEs
- Update
monaco-vscode-api
to version1.69.9
- Update to monaco 0.34/vscode 1.69 #409
v2+ of this library is dependant on monaco-vscode-api which removed all vscode-api/-compatibility related code. The change has mostly no effect on end users code, but there are two things that need to be taken into account:
- If you use Webpack or vite for bundling, you have to remove the
vscode
alias entry from the configuration - If you customized monaco services, then you have to adjust them to the changed interface
The npm packages exports the following:
monaco-languagclient
monaco-languagclient/monaco-converters
monaco-languagclient/monaco-converters/cjs
- Update vscode api #399
- Updated
vite
to3.0.2
- Align all tsconfigs and vscode-ws-jsonrpc provides esm/cjs #390
- Use
typesVersions
in *package.json- for proper TypeScript import support (used in node example) - Remove AMD and CJS builds adn exports of the main library. Only
monaco-converters
andmonaco-converters/cjs
are left
- Use
- No cjs fragments to export #388
- Use monaco vscode api #373
- Merge monaco-jsonrpc and vscode-ws-jsonrpc into new sub package #383
- Integrate eslint with eslint-config-standard #385
- Add example with client and server both running in the browser #386
- feat(package.json): export monaco-converter #376
- Clean unregistered featured from registration requests #372
- Introduce global engines entries for node and npm #370
- Implement missing 3.17 api #364
- Remove unsupported features #362
- Do not include node code #361
- Add some typing on the code/proto converters #359
- Fix to vite 2.9.6 for now
- Switch to npm workspace and vite and thereby drop yarn, lerna and webpack #340
- Restructure project: All code is moved to packages directory
- Update and clean-up all dependencies
- Use monaco-editor in examples instead of monaco-editor-core
- README was fully revised
- Bugfixes resulting from this:
- Make monaco workspace disposable #330
- Update the protocol to version 3.17 #350
- Fix code action diagnostics #352
- Fix resolving, never overwrite by undefined #354
- The
connectionProvider
now expects aMessageTransports
instead of aMessageConnection
- Bump version to 1.0.0
- Fix vscode api enum #333
- Update to monaco 0.33 & vscode 1.65 #329
- Updated minor versions of vscode-languageserver-textdocument and vscode-uri and removed engines entry from client
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Register providers using the document selector directly #317
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Releases
0.17.1
and0.17.2
were mistakes - Fix various issues: outdated api, missing stuff in compatibility-api... #309
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Update to monaco 0.30.1 #301
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Fix dropped tags in Diagnostic -> IMarkerData #297
- Missing protocol convention #298
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Updated
monaco-editor-core
version to0.29.0
- Async resolve code actions #294
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Resolve code actions #290
- Release
0.15.0
was skipped
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Upgraded to Monaco 0.22.3
MonacoServices
now takes themonaco
object instead of theCommandRegistry
before:
MonacoServices.install(require('monaco-editor-core/esm/vs/platform/commands/common/commands').CommandsRegistry);
after:
import - as monaco from 'monaco-editor-core'
MonacoServices.install(monaco);
MonacoServices
should now be installed using the command registry instead of the editor
before:
const editor = monaco.editor.create(...);
MonacoServices.install(editor);
after:
MonacoServices.install(require('monaco-editor-core/esm/vs/platform/commands/common/commands').CommandsRegistry);
0.13.0 - 2020-04-06
- Upgraded to vscode-uri 2.x 741a3df
0.12.0 - 2020-03-19
- Upgraded to Monaco 0.19.1 #199
0.11.0 - 2020-01-23
- Upgraded to Monaco 0.18.1 #178
0.10.2 - 2019-09-10
- register language features regardless whether a language is registered (https://github.com/TypeFox/monaco-languageclient/commit/0559be6c20744182ede699f594fdbe6d9f3d7145)
0.10.1 - 2019-09-04
- aligned CompletionItemKind with Monaco 0.17.0 #174
0.10.0 - 2019-08-26
- upgraded to LSP 5.3.0 and Monaco 0.17.0
Switch to es6 from es5. For clients who cannot migrate to es6 please use babel to transpile Monaco and LSP to es5.
- to configure babel wit webpack:
{
test: /\\.js$/,
// include only es6 dependencies to transpile them to es5 classes
include: /monaco-languageclient|monaco-jsonrpc|vscode-jsonrpc|vscode-languageserver-protocol|vscode-languageserver-types|vscode-languageclient/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
plugins: [
// reuse runtime babel lib instead of generating it in each js file
'@babel/plugin-transform-runtime',
// ensure that classes are transpiled
'@babel/plugin-transform-classes'
],
// see https://github.com/babel/babel/issues/8900#issuecomment-431240426
sourceType: 'unambiguous',
cacheDirectory: true
}
}
}
0.9.0 - 2018-09-06
- use monaco-editor-core as a dev dependency to allow alternative implementations #119
Clients have to explicitly declare a dependency to monaco-editor-core
or another package providing Monaco:
monaco-editor-core
is tree shaked to get rid of unused VS Code's code.- @typefox/monaco-editor-core is a not tree-shaked alternative.
0.8.0 - 2018-09-04
- updated dependency to Monaco 0.14.x, with adaptation for breaking changes from monaco #107 - thanks to @Twinside
- ensure that SignatureHelp and SignatureHelp has non-null arrays #112 - thanks to @rcjsuen
0.7.3 - 2018-08-30
- fixed folding ranges conversion - 12d8c91
- implement
toJSON
for workspace configurations - 9e50a48 - fixed markdown conversion #103
0.7.2 - 2018-08-02
- amd distribution (#97) - thanks to @zewa666
- updated dependency to Monaco 0.13.2 (#100)
- register providers only for languages matching the documentSelector (#101) - thanks to @gins3000
0.7.0 - 2018-07-31
Updated to vscode-languageclient
4.4.0 to support LSP 3.10.0 features like hierarchical document symbols, go to type defition/implementation, workspace folders and document color provider (#89).
In order to use vscode-languageclient
directly the compatibility layer was implemented for subset of vscode
APIs used by the client:
-
vscode-compatibility
should be used as an implementation ofvscode
module at the runtime- to adjust module resolution with
webpack
:
resolve: { alias: { 'vscode': require.resolve('monaco-languageclient/lib/vscode-compatibility') } }
register-vscode
should be required once to adjust module resolution withNode.js
, for example to stubvscode
APIs for Mocha tests:
--require monaco-languageclient/lib/register-vscode
- to adjust module resolution with
-
MonacoLanguageClient
should be used instead ofBaseLanguageClient
-
MonacoServices
should be installed globally to be accessible forvscode-compatibility
module, not per a language client- for the use case with a single standalone editor:
import { MonacoServices } from 'monaco-languageclient'; MonacoServices.install(editor);
- to support sophisticated use cases one can install custom Monaco services:
import { MonacoServices, Services } from 'monaco-languageclient'; const services: MonacoServices = { worspace, languages, commands, window }; Services.install(services);
0.6.0 - 2018-04-18
- updated dependency to Monaco 0.12 (#70)
- support
CompletionItem
'sadditionalTextEdits
property (#39) - convert
monaco.MarkerSeverity.Hint
values toDiagnosticSeverity.Hint
(#71)
0.4.0 - 2018-02-13
- add support for
textDocument/documentLink
anddocumentLink/resolve
(#53) - state that
workspace/applyEdit
is supported in the capabilities (#55) - state that versioned changes are supported in a
WorkspaceEdit
(#56) - replaced
monaco-editor
withmonaco-editor-core
(#58)
0.3.0 - 2018-02-08
- fix handling of
codeLens/resolve
if no provider exists (#46) - removed
monaco-editor-core
dependency, keeping onlymonaco-editor
(#42) - fix typings in
glob-to-regexp
(#49)
0.2.1 - 2018-01-14
- allow a
rootUri
to be set withcreateMonacoServices
(#31)
0.2.0 - 2017-08-30
- handle
number
value of zero in aDiagnostic
'scode
(#14) - add support to lazily load Monaco (#19)
- add support for
textDocument/codeActions
andworkspace/executeCommand
(#21) - updated dependency to Monaco 0.10 (#29)
- initial 0.1.0 release, depends on Monaco 0.9.0