A rich-text editor for Svelte based on Lexical
Lexical is an extensible text editor framework developed by awesome developers at Facebook. The purpose of this project is to provide Svelte bindings for Lexical and also develop high-level components using Lexical.
Pick one of the demo projects to understand how svelte-lexical
can be incorporated into your project. For instance, use demos/sveltekit
for a SvelteKit and demos/playground
for Svelte.
To run the demo project:
- First build
svelte-lexical
library- change directory:
cd packages/svelte-lexical
- install dependencies:
pnpm i
- build the lib:
pnpm build
- change directory:
- Run the demo project
- change directory:
cd ../../demos/playground
- run dev:
pnpm dev
- change directory:
- This project is set up as a monorepo using pnpm workspaces.
- To run a demo in development, execute
pnpm -C demos/playground dev
. - ESLint is set up for VS Code.
- The npm package is automatically published on creation of a GitHub release using GitHub Actions.
- Unit testing is set up for the svelte-lexical package using Jest and Testing Library.
- E2E testing is set up for the playground package using Playwright.
- Size Limit controls the library size.
Most of the svelte-lexical
functionality is implemented through plugins. See the list of plugins here.