- package: add support for react/react-dom v19 as a peer dependency
- playground: update playground's React version to 19
- Editor/DiffEditor: use
'use client'
on top ofEditor.tsx
andDiffEditor.tsx
- loader: update
@monaco-editor/loader
version (1.4.0) - playground: use createRoot for bootstrapping
- DiffEditor: apply updated on
originalModelPath
andmodifiedModelPath
beforeoriginal
andmodified
props
- DiffEditor: track
originalModelPath
andmodifiedModelPath
changes and get or create a new model accordingly - types: fix typo in comment
- package: replace
prepublish
withprepublishOnly
- Editor: implement
preventTriggerChangeEvent
flag
from 4.5.0-beta.0
- DiffEditor: add preventCreation flag to diff editor
- project: rewrite with TypeScript
- project: implement prettier
- loader: update
@monaco-editor/loader
version (1.3.2)
- DiffEditor: add preventCreation flag to diff editor
- project: rewrite with TypeScript
- project: implement prettier
- loader: update
@monaco-editor/loader
version (1.3.2)
- fix onChange: unconditionally call onChange inside onDidChangeModelContent
- add preventCreation flag
- update lock files
- loader: update
@monaco-editor/loader
version (1.3.2)
- package: fix npm prepublish step
- loader: update
@monaco-editor/loader
version (1.3.1)
- package: support react/react-dom v18 as a peer dependency
- types: add missing type
monaco
inloader.config
- loader: update
@monaco-editor/loader
version (1.3.0); usingmonaco
fromnode_modules
is supported - playground: update playground packages
- types: update types according to the new
loader
version and the newwrapperProps
property
- Editor/DiffEditor: add
wrapperProps
property - DiffEditor: allow
DiffEditor
to use existing models - package.json: update
@monaco-editor/loader
version tov1.2.0
(monaco version 0.28.1)
- Editor:
onValidate
integrateonDidChangeMarkers
(released inv0.22.0
) - package.json: after
onDidChangeMarkers
integrationstate-local
became redundant; remove it
- loader: update
@monaco-editor/loader
package version to the latest one (v1.1.1) - monaco-editor: set
monaco-editor
peerDependency version to>= 0.25.0 < 1
- tests: update snapshots
- loader: update
@monaco-editor/loader
package version to the latest one (v1.1.0) - demo: update demo examples
- tests: update snapshots
- types: add
keepCurrentOriginalModel
andkeepCurrentModifiedModel
to type definition
- DiffEditor: add
keepCurrentOriginalModel
andkeepCurrentModifiedModel
properties; indicator whether to dispose the current original/modified model when the DiffEditor is unmounted or not - package.json: update monaco-editor peerDependency to the lates one (0.23.0)
- DiffEditor: update
DiffEditor
'smodified
value byexecuteEdits
- README: add an example for getting the values of
DiffEditor
- loader: update @monaco-editor/loader dependency to version 1.0.1
- types: fix Theme type; vs-dark instead of dark
- Editor: add an additional check in case if
line
is undefined
- Editor: use
revealLine
for line update instead ofsetScrollPosition
- Editor: save and restore current model view state, if
keepCurrentModel
is true
- Editor: add
keepCurrentModel
property to theEditor
component; indicator whether to dispose the current model when the Editor is unmounted or not
- Editor: fire
onValidate
unconditionally, always, with the current model markers
- DiffEditor: check if
originalModelPath
andmodifiedModelPath
exist insetModels
function - DiffEditor: remove
originalModelPath
andmodifiedModelPath
fromdefaultProps
- utils: check if
path
exists increateModel
utility function - Editor: remove
defaultPath
fromdefaultProps
- package.json: update husky precommit hook to remove lib folder
- Editor: enable multi-model support
- types: add
path
,defaultLanguage
andsaveViewState
for multi-model support
- types: declare and export
useMonaco
type
- Editor: dispose the current model if the Editor component is unmounted
- package.json: update dependency (
@monaco-editor/loader
) version to -v1.0.0
- hooks: create
useMonaco
hook - lib: export (named)
useMonaco
from the entry file - monaco: rename the main utility: monaco -> loader
- Editor/Diff: rename
editorDidMount
toonMount
- Editor/Diff: expose monaco instance from
onMount
as a second argument (first is the editor instance) - Editor/Diff: add
beforeMount
prop: function with a single argument -> monaco instance - Editor: add
defaultModelPath
prop, use it as a default model path - Editor: add
defaultValue
prop and use it during default model creation - Editor: add subscription (
onChange
prop) to listen default model content change - Editor: remove
_isControlledMode
prop - Diff: add
originalModelPath
andmodifiedModelPath
props, use them as model paths for original/modified models - ControlledEditor: remove; the
Editor
component, now, handles both controlled and uncontrolled modes - package.json: move
prop-types
to dependencies - types: fix types according to changed
- Editor: add
onValidate
prop: an event emitted when the length of the model markers of the current model isn't 0
- README: fix DiffEditor
options
prop type name - types: rename index.d.ts to types.d.ts
- package.json: add
@monaco-editor/loader
as a dependency - Editor/Diff Editor components: use
@monaco-editor/loader
instead ofmonaco
utility - utilities: remove utilities that were being replaced by the
@monaco-editor/loader
- utilities: collect remaining utilities all in the entry file / add some new ones for the next version
- config: remove config as it's already replaced by the
@monaco-editor/loader
- hooks: create
usePrevious
hook - cs: coding style fixes
- build: use
Rollup
as a build system; now, we have bundles forcjs/es/umd
- utilities (monaco): fix
state-local
import
- Editor/Diff Editor components: fix
componentDidMount
call order - src: (minor) some corrections according to coding style
- Editor component: set
forceMoveMarkers
true
inexecuteEdits
- package: add react/react-dom 17 version as a peer dependency
- editor: fix - remove unnecessary
value set
before language update
- monaco: update monaco version to 0.21.2
- types: add missing props;
className
andwrapperClassName
- eslint: update eslint rules: add 'eslint:recommended' and 'no-unused-vars' -> 'error'
- src: refactor according to new eslint rules
- package.json: update github username, add author email
- ControlledEditor: store current value in ref instead of making it a dependency of
handleEditorModelChange
- ControlledEditor: fix onChange handler issue; dispose prev listener and attach a new one for every new onChange
- ControlledEditor: do not trigger onChange in programmatic changes
- utilities (monaco): remove intermediate function for injecting scripts
- dependencies: add
state-local
as a dependency (replace withlocal-state
util)
- dependencies: move
@babel/runtime
from peer dependencies to dependencies
- dependencies: add
@babel/runtime
as a peer dependency
- babel: update babel version (v.7.11.0) / activate helpers (decrease bundle size)
- hooks: move out hooks from utils to root
- utilities: remove utils/store to utils/local-state
- utilities: redesign
store
utility
- utilities (monaco): correct config obj name
- utilities (monaco): redesign utility
monaco
; get rid of class, make it more fp - utilities: create
compose
utility - utilities: create
store
utility; for internal usage (in other utilities)
- controlled editor: fix undo/redo issue
- editor: improve initialization error handling
- editor: fix 'readOnly' option check
- editor: add className and wrapperClassName props
- diffEditor: add className and wrapperClassName props
- utils: (monaco) add a possibility to pass src of config script
- editor: add overrideServices prop
- package: update default package version to 0.20.0
- types: fix monaco.config types
- fix: check the existence of target[key] in deepMerge
- config: deprecate indirect way of configuration and add deprecation message
- config: create a new structure of the configuration; the passed object will be directly passed to require.config
- readme: redesign the config section according to the new structure
- diff editor: remove line prop as it's not used (and can't be used)
- package: update devDependencies
- demo: update all dependencies
- monaco: update monaco version to 0.19.0
- utils: create new util - makeCancelable (for promises)
- editor/diffEditor: cancel promise before unmount
- demo: make "dark" default theme, update package version
- readme: update installation section
- monaco: update monaco version to 0.19.0
- versions: fix version
- types: fix type of "loading"
- types: fix type of theme; user should be able to pass any kind of theme (string)
- types: add config into namespace monaco
- types: change type of "loading" from React.ElementType to React.ReactNode
- optimize babel build with runtime transform
- add xxx.spec.js.snap files to npmignore
- fix typo in npmignore
- add unnecessary files to npmignore
- prevent onchange in case of undo/redo (controlled editor)
- create separate component for MonacoContainer
- force additional tokenization in controlled mode to avoid blinking
- fix "options" types
- add monaco-editor as peer dependency for proper type definitions
- write more proper types
- set the default version of monaco to 0.18.1
- set last value by .setValue method before changing the language
- (TYPES) add "void" to the "ControlledEditorOnChange" return types
- update dev dependencies
- check editor existence in "removeEditor" function
- replace "jest-dom" with "@testing-library/jest-dom"
- Set editor value directly in case of read only
- Add method to modify default config
- Apply edit by using
executeEdits
method - Correct ControlledEditor usage examples in Docs
- Export utility 'monaco' to be able to access to the monaco instance
- Add controlled version of editor component
- Add a possibility to interact with Editor before it is mounted
- FIX: add "types" fild to package.json
- Add basic support for TypeScript
- Update package description
- Move from 'unpkg.com' to 'cdn.jsdelivr.net' (NOTE: in the future, it will be configurable)
🎉 First stable version 🎉
- Add monaco version to CDN urls to avoid 302 redirects
- Remove redundant peer dependency
- Make text-align of the wrapper of editors independent from outside
First version of the library