* fix: bring back global rollup config
* fix: add rollup build for packages except pm
* fix: rollup global build
* fix: fix memory leak on build
* fix(character-count): revert files
* fix: builds run individual per rollup and lerna
* chore: remove old rollup
* fix(blockquote): correct the main module path
* fix(character count): bump version number
* refactor(extension-collaboration): make y-prosemirror a peer dep
* docs: update installation of extension-collaboration
---------
Co-authored-by: Dominik <6538827+bdbch@users.noreply.github.com>
* chore:(core): migrate to tsup
* chore: migrate blockquote and bold to tsup
* chore: migrated bubble-menu and bullet-list to tsup
* chore: migrated more packages to tsup
* chore: migrate code and character extensions to tsup
* chore: update package.json to simplify build for all packages
* chore: move all packages to tsup as a build process
* chore: change ci build task
* chore: clean up and fix issues related to new build
* fix: fix demo build
* fix: fix demo build
* fix: fix tsconfig files to reference only one source
* fix: fix minor ts issues
* fix(core): 🐛 fix delete on empty nodes joining next node incorrectly
This PR implements a "deleteCurrentNode" action in combination with registering this command inside the keymap for the delete key. This way, we editor will check, if the current node is empty before joining - if the current node is empty, the node will be removed. Joining will still work if the current node is not empty and the selection is at the end of the current node
2924
* refactor(core): ♻️ remove unnecessary return on handleDelete keymap
* Refactor: extract `setRenderer` and `removeRenderer` methods
* Refactor: avoid using a mutable ES6 Map in React component state
The React docs recommend treating the `state` as immutable. See e.g.:
https://reactjs.org/docs/react-component.html#state
* Fix: flush EditorContent state changes immediately once initialized
This fixes the cursor problem described in tiptap#3200
Node views need to be rendered immediately when they're created so that
the editor can correctly position the cursor. That's achieved using
`flushSync` whenever a new node view renderer is added.
However, `flushSync` cannot be used from inside a React component
lifecycle method.
By keeping an instance variable to determine if initialization has
happened, we can avoid using `flushSync` from inside the `componentDidMount`
and `componentDidUpdate` methods, and still call it whenever a new node view
is created afterwards.
* Fix TipTap getting loaded as CommonJS when the intent is to use the ES Module version.
* `package.json` change also makes explicit exports required
* Update `core` utilities exports to include all utilities
* Update tests to use exported utilities