awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
facebook avatar

facebook/draft-jsArchived

0
View on GitHub↗
22,641 stars·2,606 forks·JavaScript·MIT·5 viewsdraftjs.org↗

Draft Js

Draft-js is a framework for building customizable rich text editors within React applications. It functions as a content editable framework that separates the underlying data model from the visual rendering layer, acting as a rich text content engine to manage complex text data and formatting.

The project utilizes an immutable state management system to ensure consistent updates and predictable undo history. It manages editor state through persistent data structures, providing an immutable data state manager to prevent accidental mutation.

The framework includes capabilities for high performance data processing, such as manipulating nested data structures and performing large scale transformations. It supports efficient collection processing through lazy operations and provides tools to partition, group, and convert data between immutable and plain JavaScript formats.

Features

  • Rich Text Editors - Provides a comprehensive framework for building customizable rich text editors with custom document models.
  • Immutable State Containers - Manages application state through immutable data containers to ensure predictable updates and prevent mutation.
  • Immutable State Patterns - Maintains editor content as a persistent, immutable data structure to ensure predictable updates and undo history.
  • Controlled Components - Binds the editor's internal state to React via a controlled component interface for external state management.
  • State Management Libraries - Provides an immutable state management system to synchronize complex editor content changes with the React user interface.
  • Structured Document Models - Provides a structured content model that abstracts rich text into blocks and entities for precise data control.
  • Content Model Abstractions - Implements a structural framework that separates the underlying rich text data model from the visual rendering layer.
  • React State Bindings - Integrates the editor's internal state with React components using specialized state bindings.
  • Lazy Sequence Processors - Uses lazy sequence transformations to process large content collections without creating intermediate data structures.
  • Immutability Converters - Provides methods for converting immutable data structures back into standard JavaScript arrays and objects.
  • Immutable Mutation Batching - Implements a batch-mutation layer that temporarily uses mutable data for performance before returning an immutable state.
  • High-Performance Collection Processing - Performs large-scale transformations and grouping on nested collections with minimal memory overhead.
  • Immutable Nested Data Manipulation - Ships specialized tools for reading, updating, and merging data deep within nested immutable collections.
  • Memory-Efficient Data Processing Utilities - Provides memory-efficient data processing utilities for large-scale transformations using lazy evaluation.
  • Immutability Converters - Provides tools to convert plain JavaScript objects and arrays into immutable collections for consistent state management.
  • Content Processing Engines - Includes a rich text content engine for performing large-scale transformations and manipulations on nested text data.
  • Editors - React framework for building text editors.
  • Rich Text Editors - React framework for building text editors.

Star history

Star history chart for facebook/draft-jsStar history chart for facebook/draft-js

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Draft Js

Similar open-source projects, ranked by how many features they share with Draft Js.
  • immutable-js/immutable-jsimmutable-js avatar

    immutable-js/immutable-js

    33,060View on GitHub↗

    Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a collection of immutable objects and arrays that prevent direct mutation to ensure predictable state management in JavaScript applications. The library utilizes structural sharing to efficiently create new versions of data without full copying and implements lazy sequence processing to chain data transformations that execute only when values are requested. It also supports batch mutation processing, allowing multiple changes to be applied to a temporary mutable copy before returning

    TypeScript
    View on GitHub↗33,060
  • neilj/squireneilj avatar

    neilj/Squire

    4,902View on GitHub↗

    Squire is a DOM-based rich text editor and WYSIWYG content editor that treats raw HTML as the source of truth. It functions as a system for manipulating the document object model directly to provide a visual interface for editing complex web content. The project focuses on arbitrary HTML editing, allowing the modification of any HTML content without losing original formatting. It includes tools for HTML content normalization and sanitization to ensure that raw input is cleaned and structured consistently before being rendered as editable nodes. The editor's capability surface covers inline f

    TypeScript
    View on GitHub↗4,902
  • alex-d/trumbowygAlex-D avatar

    Alex-D/Trumbowyg

    4,147View on GitHub↗

    Trumbowyg is a lightweight JavaScript WYSIWYG editor used to create and format rich-text and HTML content directly within a web browser. It serves as a client-side tool for generating semantic HTML markup and authoring web content. The project features a modular, plugin-based architecture that allows for the addition of new formatting commands and toolbar buttons. It provides a configurable interface where the toolbar layout can be customized via a predefined array and labels can be translated through localization files. The editor covers a wide range of content manipulation capabilities, in

    JavaScript
    View on GitHub↗4,147
  • basecamp/trixbasecamp avatar

    basecamp/trix

    19,970View on GitHub↗

    Trix is a rich text editor and WYSIWYG text component designed for composing and formatting documents with inline styling and block elements. It functions as an HTML content editor that manages and sanitizes input to ensure a secure and consistent document structure, while serving as a document state manager that tracks edit history and persists serialized state. The editor integrates directly with standard HTML forms, converting rich text into data for submission. It features a configurable sanitization engine that cleanses input HTML to remove unsupported tags and mitigate security risks.

    JavaScript
    View on GitHub↗19,970
See all 30 alternatives to Draft Js→

Frequently asked questions

What does facebook/draft-js do?

Draft-js is a framework for building customizable rich text editors within React applications. It functions as a content editable framework that separates the underlying data model from the visual rendering layer, acting as a rich text content engine to manage complex text data and formatting.

What are the main features of facebook/draft-js?

The main features of facebook/draft-js are: Rich Text Editors, Immutable State Containers, Immutable State Patterns, Controlled Components, State Management Libraries, Structured Document Models, Content Model Abstractions, React State Bindings.

What are some open-source alternatives to facebook/draft-js?

Open-source alternatives to facebook/draft-js include: immutable-js/immutable-js — Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a… neilj/squire — Squire is a DOM-based rich text editor and WYSIWYG content editor that treats raw HTML as the source of truth. It… alex-d/trumbowyg — Trumbowyg is a lightweight JavaScript WYSIWYG editor used to create and format rich-text and HTML content directly… basecamp/trix — Trix is a rich text editor and WYSIWYG text component designed for composing and formatting documents with inline… mindmup/bootstrap-wysiwyg — bootstrap-wysiwyg is a WYSIWYG HTML editor and browser-based content editor designed to integrate with the Bootstrap… quilljs/quill — Quill is a JavaScript rich text editor library used to build WYSIWYG web editors. It serves as a modular editor…