* 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
* 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
* 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
To avoid seeing the `Warning: flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.` error, we need to move the `flushSync()` code that avoids automatic batching to a microtask to not fire a lifecycle event `setState()` during rendering.
Fixes warning introduced in #2985