All notable changes to npm module monaco-editor-wrapper are documented in this file.
- Removed the pre-bundled workers and the corresponding export
monaco-editor-wrapper/workers/module/*
for the second time (now for real). You can create your own definition. See what is done in the default worker factory. A webpack worker troubleshooting guide is now available. - Updated to
[email protected]
. - Updated all
@codingame/monaco-vscode
packages to15.0.3
.
- Model handling improvements #891
- Updated all
@codingame/monaco-vscode
packages to15.0.2
. - Updated to
[email protected]
.
- Updated all
- Update dependencies, fix tests, language clients config changes #889
- Updated all
@codingame/monaco-vscode
packages to14.0.6
. - Updated to
[email protected]
.
- Handle languageclient errors cases more robustly #859
- Updated all
@codingame/monaco-vscode
packages to14.0.4
. - Updated to
[email protected]
.
- Update to monaco-vscode-api 14.0.2 and incremented versions to x.3.0 #852
- Updated all
@codingame/monaco-vscode
packages to14.0.2
.
- Updated all
- wrapper: start() never resolves if lsp websocket fails, and use of editor must wait for lsp websocket connection. #851
- Move text changes handling from react component to the wrapper #849
- Updated to
[email protected]
.
- Updated all
@codingame/monaco-vscode
packages to13.1.6
. - Updated to
[email protected]
.
- Fix non dynamic import of @codingame/monaco-vscode-views-service-override #844
- Updated all
@codingame/monaco-vscode
packages to13.1.4
. - Updated to
[email protected]
.
- Updated all
@codingame/monaco-vscode
packages to13.1.3
- Updated to
[email protected]
.
- Updated all
@codingame/monaco-vscode
packages to13.1.2
- Updated to
[email protected]
.
- Moved workerFactory from
monaco-editor-wrapper
tomonaco-languageclient
- Updated to
[email protected]
.
- Update to monaco-vscode-api v13 #836
- Updated all
@codingame/monaco-vscode
packages to13.1.1
. - Breaking changes not in this API, but when using
@monaco-vscode-api
:@codingame/monaco-vscode-api
should not be installed as vscode anymore@codingame/monaco-vscode-extension-api
can optionally be installed asvscode
to use the extension api from the main thread- Some imports should be updated:
vscode/*
=>@codingame/monaco-vscode-api/*
vscode/services
=>@codingame/monaco-vscode-api
- Updated all
- Updated to
[email protected]
. - Removed the pre-bundled workers and the corresponding export
monaco-editor-wrapper/workers/module/*
. You have to define your own imports as done here.
- View service related imports are made dynamically #829
@typefox/monaco-editor-react
now works with views service #823- Ensure configuration is init before service init #820
- Only
monaco-languageclient
andvscode-ws-jsonrpc
arepeerDependencies
. - Updated to
[email protected]
and[email protected]
. Updated all@codingame/monaco-vscode
packages to11.1.2
. - Updated engine engine requirements for node to (
>=18.19.0
) and for npm to (>=10.2.3
) - Bugfix: Wrapper: Text model content is not properly updated with updateCodeResource #808
- Fixed WebSocket type checking error #800
- Workaround for
@codingame/monaco-vscode-chat-extensions-notebook-task-terminal-testing-common
dependency problem - Run language clients independent of wrapper lifecycle #784
- API and internal functions clean-up
- Re-combination of
EditorAppClassic
andEditorAppClassic
- Moved
$type
to mandatory top-level element inWrapperConfig
- Reduced minimally mandatory configuration
- Exposed vscodeApi init functions
- Moved
createUrl
tomonaco-languageclient/tools
, moved editor app specific utils to editorAppbase and create functiondidModelContentChange
. - Updated to eslint 9
- Clean-up and allow registering a registerModelUpdate callback
- Support all arguments for monaco-vscode-api
initialize
#756- This also allows to configure editor-, view- or workspace-service. This is a preparation for further enhancements.
- Update to monaco-vscode-api 9.0.x #749
- Enhancements to logging, worker factory and start order. The worker factory only accepts direct worker loading instructions from now on
- monaco-languageclient config improvement, wrapper+languageclientwrapper improvements #741
- Allows to configure more than one language client
UserConfig
is renamed toWrapperConfig
and one level less deep- Restart options are now intergrated into the configuration
- You can now pass a URL to
initLocaleLoader
for module import
- Updated to
[email protected]
. Updated all@codingame/monaco-vscode
packages to8.0.4
. - Fixed Remove unnecessary rejections in updateCodeResources
- Updated to
[email protected]
. Updated all@codingame/monaco-vscode
packages to8.0.2
. - Fixed Remove unnecessary rejections in updateCodeResources
- Updated to
[email protected]
. Updated all@codingame/monaco-vscode
packages to8.0.1
.
- isRestarting is only checked and awaited at the beginning of handleReInit #723
- Open default workspace #14
- Update to monaco-vscode-api 8.0.0 #722
- Updated to
[email protected]
,8.0.0
of@codingame/monaco-vscode
packages
- Updated to
- Update to latest monaco-vscode-api #707
- Updated to
[email protected]
,7.0.7
of@codingame/monaco-vscode
packages
- Updated to
- Test "Dispose extension files in EditorAppExtended" #688
- Test is disabled again as it is not working in headless Linux environment / CI
- Fix Diff Editor Model Refs #696
- Update to latest monaco-vscode-api #691
- Updated to
[email protected]
,6.0.3
of@codingame/monaco-vscode
packages
- Updated to
- Dispose extension files in EditorAppExtended #680
- Updated to
[email protected]
,[email protected]
and version5.2.0
of@codingame/monaco-vscode
packages - Wrapper: Make codeResources and useDiffEditor optional in EditorAppConfig #670
- Additional code adjustments to eslint rule expansion
- chore: localeLoader: allow manually select which locale to load #669
- Aded
getUserConfiguration
toEditorAppBase
, so one does not need to use another import. - Removed sub-exports that were forgotton to be removed before.
- Integrated
localLoader.js
from examples and make it available as sub-exportmonaco-editor-wrapper/vscode/locale
- Feature: If present
connectionProvider
from the languageclient section in theUserConfig
is now driving the MessageTransports configuration. Previously the MessageTransports were always created indepently leading to inconsistent configuration of theLanguageClientWrapper
.
- BREAKING:
UserConfig
changes:- text is now supplied as
codeResources
. It is no longer required to supply alanguageId
and it is not required to supply any text to start the editor. languageDef
used in the classic config is now an object that containsmonarchLanguage
andlanguageExtensionConfig
- The
languageId
is automatically derived from the uri, but can also be optionally enforced
- text is now supplied as
- BREAKING: changes to
MonacoEditorLanguageClientWrapper
:updateCodeResources
orupdateEditorModels
allow to update the text content or editor model
- Internal code handling model and text updates has been reworked. Different code paths for regualr and diff editors have been unified.
- Updated to
[email protected]
and version5.1.1
of@codingame/monaco-vscode
packages- Started using
@codingame/monaco-vscode-monarch-service-override
in classic editor
- Started using
- Remove the main bundle from the package. One should do this at application level.
- Updated to
[email protected]
and version4.3.2
of@codingame/monaco-vscode
packages
- Updated to
[email protected]
and version4.2.1
of@codingame/monaco-vscode
packages - @typefox/monaco-editor-react works in strict mode #634
- Moved wrapper related functions to
isReInitRequired
and introduced a new unit test
- Moved wrapper related functions to
- Updated to
[email protected]
- Updated to
[email protected]
workerFactory
now uses@codingame/monaco-vscode-standalone
packages available since3.2.0
to build the workers. Therefore it is now independent of the MS package.- Updated to
[email protected]
- Moved code to monaco-languageclient repository.
- Aligned LICENSE usage throughout the repository
- Introduce new export
vscode/services
- Extends functions
monaco-languageclient/vscode/services
provides
- Extends functions
- Introduce new export
workerFactory
- Replaces
monaco-editor-workers
and allows to fully override the default definiton
- Replaces
- Vite & monaco-editor-workers monaco-components #67
- Selective applicance of wrappers css monaco-components #65
- Having the component twice on a page monaco-components #64
- Updated to
[email protected]
and@codingame/[email protected]
/@codingame/[email protected]
(=[email protected]
). - How to modify client's capabilities? #61
- It is now possible to provide and fully override both monaco-languageclient's clientOptions and connectionProvider
- Updated to
[email protected]
and[email protected]
. - Introduce capability to use a
MessagePort
as end-point for a languageclient - Use vitest v1 for tests
- Move
initServices
fromMonacoEditorLanguageClientWrapper
toLanguageClientWrapper
- Updated to
[email protected]
and[email protected]
.- BREAKING: The postinstall step is removed.
monaco-languageclient
no longer patches an existingmonaco-editor
instead the package@codingame/monaco-editor-treemended
is used. This requires that projects using this lib to enforce the correctmonaco-editor
with overrides (npm/pnpm) or resolutions (yarn) in thepackage.json
.- Please see the following explanation
- BREAKING: If you want to use
getConfigurationServiceOverride
you need to provide aworkspaceConfig
along theuserServices
ininitServices
.
- BREAKING: The postinstall step is removed.
- Make subclassing MonacoEditorReactComp more easy #58
- Allow to init and start separately #59
- BREAKING:
start
no longer callsinit
. You need to call both or you useinitAndStart
.
- BREAKING:
- Properly separate and define classic and extended editor #54
- Renamed
EditorAppVscodeApi
toEditorAppExtended
andEditorAppConfigVscodeApi
toEditorAppConfigExtended
- BREAKING:
$type
ofEditorAppConfigExtended
was changed fromvscodeApi
toextended
- Renamed
- Updated to
[email protected]
and@codingame/[email protected]
and[email protected]
- Include all direct dependencies that the code uses in the
package.json
.
- New Problem in vite #55
- Fixed wrong imports
- Fixed/Implemented multiple
extensionRegisterResults
handling.
- Updated to
[email protected]
.
- Fixed broken dependency definition
- Fixed
awaitExtensionReadiness
was not added to the base configuration during init.
- Updated to
[email protected]
. Service init now relies on specific imports frommonaco-vscode-api
or user defined services.- Bundle sizes and content are reduced as unneeded dynamic imports are no longer contained.
- Only keep user services in
initServices
. It requires to specifically import and use services provided by monaco-vscode-api- All enable... and configure type parameters have been removed from
monaco-languagclient
- languages and model services are always added by
monaco-languagclient
- layout, environment, extension, files and quickAccess servies are always added by
monaco-vscode-api
- Additional services need to be added to the package dependencies and imported and configured as shown in the examples
- All enable... and configure type parameters have been removed from
- htmlElement is no longer part of UserConfig. Must be passed at start #51
- The HTMLElement must now be passed at
wrapper.start
. It is no longer part of the UserConfig.
- The HTMLElement must now be passed at
- Make the extension register result accessible #48
- Improve configuration change detection #47
- semantic highlighting works with classic editor #45
- Introduce
logger.ts
which allows to centrally enable / disable console logging of the library - Updated to
monaco-languageclient
6.4.6
usingmonaco-vscode-api
1.81.7
- Ensure LanguageClientWrapper Cleans up Worker #42
- New example and config changes #37
- languageClientWrapper: Reject start with unreachable web socket or web worker url #34
- Improve naming and improve api usage #31
- createUrl now allows web socket urls without port and path #30
- Updated to
monaco-languageclient
6.4.5
usingmonaco-vscode-api
1.81.5
andmonaco-editor
0.41.0
- languageClientWrapper: Reject start with unreachable web socket or web worker url #34
- Re-introduce
addMonacoStyles
viamonaco-editor-wrapper/styles
- Allow to pass a uri via editor config and model update #29
- Make worker handling more flexible #27
- Updated to
monaco-languageclient
6.2.0
usingmonaco-vscode-api
1.79.3
andmonaco-editor
0.39.0
- Updated to
monaco-languageclient
6.1.0
usingmonaco-vscode-api
1.79.1
andmonaco-editor
0.38.0
- Move away from "property" based configuration.
UserConfig
drives the complete monaco-editor configuration- Use global configuration object that is passed to the wrapper on start
- The
monaco-editor-wrapper
and the new@typefox/monaco-editor-react
component use the same configuration
- The underlying monaco-editor can be configured in two ways now (wrapperConfig):
- Classic: As before, but with one config object
- Extension like: Using the extension based mechanism supplied by
monaco-vscode-api
monaco-languageclient
no longer exposes its own service. Now, we fully rely on services supplied bymonaco-vscode-api
- This means even if you decide to configure monaco-editor the classical way, you still require some basic services. This configuration is made inside
MonacoEditorLanguageClientWrapper
. Potential serviceConfig supplied when using vscode-api extension config is taken into account and combined then.
- This means even if you decide to configure monaco-editor the classical way, you still require some basic services. This configuration is made inside
- Re-configuration without full editor restart:
- Updating the text model(s) is possible
- Updating the monaco-editor options is possible
- Restarting the languageclient is possible independently
- Everything else requires a restart of the editor!
- Fix error in
disposeLanguageClient
preventing proper editor disposal - Expose
MessageTransports
configuration for accessingMessageReader
andMessageWriter
- Polish wrapper examples and add web socket example
- Remove
swapEditors
function.startEditor
disposes old (diff)editor and starts a freshly configured one.
- Update to
[email protected]
- Export
vscode
(monaco-vscode-api) andmonaco
and remove getters automaticLayout
is configured as default- Fixed full configuration of editor and diff editor via
monacoEditorOptions
andmonacoDiffEditorOptions
- Changed the compile target and module to ES2022.
- Update to
[email protected]
- Update to
[email protected]
- Merged css and ttf helper functions. Now ttf is included in css removing unknown path errors.
- Added get function to access
monaco-vscode-api
viagetVscode()
- Bundling issues with imported workers from wrapper #14
- The new default is that no additional language support is contained. You can use another export to obtain them. The same applies to the bundles:
monaco-editor-wrapper/allLanguages
monaco-editor-wrapper/bundle
monaco-editor-wrapper/bundle/allLanguages
- The new default is that no additional language support is contained. You can use another export to obtain them. The same applies to the bundles:
- Fix model URI path #13
- Added inmemory uri to diff editor as well
- Re-worked the start/dispose/restart of the editor
- Ensure model uris are unique for different languages and across multiple editor instances
- Allows to set
MessageReader
andMessageWriter
for the web worker. This opens the possibility to emit and intercept messages. - It is now possible to configure and use a full language extension configuration
- Added get functions to access to monaco, editor, diffEditor and languageClient or quickly get the editor content:
getMonaco()
getEditor()
getDiffEditor()
getLanguageClient()
getMainCode()
getDiffCode()
- Separated
monaco-editor-wrapper
frommonaco-editor-comp