mirror of
https://github.com/ianstormtaylor/slate.git
synced 2025-03-05 21:49:06 +01:00
#### Is this adding or improving a _feature_ or fixing a _bug_? Bug. #### What's the new behavior? Fixes selection operations from being duplicated. #### How does this change work? Previously the selection properties were compared by reference, but paths are immutable `List` objects, which always show up as having changed, resulting in extra selection operations that without any real changes. We now use `Immutable.is` to remove those duplicates, fixing the undo history stack. #### Have you checked that...? <!-- Please run through this checklist for your pull request: --> * [x] The new code matches the existing patterns and styles. * [x] The tests pass with `yarn test`. * [x] The linter passes with `yarn lint`. (Fix errors with `yarn prettier`.) * [x] The relevant examples still work. (Run examples with `yarn watch`.) #### Does this fix any issues or need any specific reviewers? Fixes: #2006
Packages
Slate's codebase is monorepo managed with Lerna. It consists of a handful of packages—although you won't always use all of them. They are:
Package | Version | Size | Description |
---|---|---|---|
slate |
Slate's core data model logic. | ||
slate-base64-serializer |
A Base64 string serializer for Slate documents. | ||
slate-html-serializer |
An HTML serializer for Slate documents. | ||
slate-hyperscript |
A hyperscript tool to write JSX Slate documents! | ||
slate-plain-serializer |
A plain text serializer for Slate documents. | ||
slate-prop-types |
React prop types for checking Slate values. | ||
slate-react |
React components for rendering Slate editors. | ||
slate-schema-violations |
Constants for the built-in schema violations. | ||
slate-simulator |
A simulator for testing Slate editors and plugins. |