Skip to content

Instantly share code, notes, and snippets.

View ivanovzhan's full-sized avatar

Zhan Ivanov ivanovzhan

View GitHub Profile
@ivanovzhan
ivanovzhan / tiptapvsquill.md
Created March 27, 2025 09:13
TipTap vs Quill

📌 Overview

Feature Tiptap Quill
Core Library Built on top of ProseMirror Custom-built editor engine
Language TypeScript-first JavaScript
Customizability Highly customizable (nodes, marks, extensions) Moderate (themes, modules, formats)
Framework Support Vue, React, plain JS, etc. Plain JS, React (via wrappers), Vue
Collaborative Editing Supported via extensions (e.g. Yjs) Not natively supported

Overview

Goal: Transform EmailEditor into a well-tested, easily maintainable library, enabling other teams to integrate it with minimal support overhead.

  • Current Pain Points:
    • Inconsistent testing approaches
    • Frequent support requests from other teams
    • Lack of standardized E2E testing and documentation
{
"pagination":{
"total":15000,
"size":20
},
"products":[
{
"id":"152428860",
"created_at":"2019-12-18T22:37:48.000Z",
"product_name":"Branded Shirt 16853",
import '@yotpo-common/ui-components/components/list';
import '@yotpo-common/ui-components/components/list-item';
import '@yotpo-common/ui-components/components/list-label';
import { LitElement, html } from 'lit';
import { customElement, state } from 'lit/decorators.js';
@customElement('test-dropdown')
export class TestDropdown extends LitElement {
@state()
private checked: boolean = false;
import '@yotpo-common/ui-components/components/list';
import '@yotpo-common/ui-components/components/list-item';
import '@yotpo-common/ui-components/components/list-label';
import { LitElement, html } from 'lit';
import { customElement, state } from 'lit/decorators.js';
@customElement('test-dropdown')
export class TestDropdown extends LitElement {
@state()
private checked: boolean = false;
@font-face {
font-family: 'monospace, monospace';
}
pre {
font-family: Times New Roman;
}