Skip to content

Add support for more CSS properties in compatibility matrix #4

@Ouranos27

Description

@Ouranos27

Context

The engine currently tracks 250+ CSS properties across 13 email clients, synced from caniemail.com. But there are gaps — some commonly-used properties aren't tracked or have incomplete client coverage.

How to contribute

This is a great first contribution! The CSS support data lives in:

  • `src/data/css-support.ts` — the main compatibility matrix
  • `scripts/sync-caniemail.ts` — auto-sync from caniemail.com

To add a missing property:

  1. Check caniemail.com for the property's support status
  2. If it's in caniemail.com but missing from the engine, the sync script may need updating
  3. If it's NOT in caniemail.com, add it manually with a source citation (MDN, email client docs, personal testing)
  4. Add a test case in the relevant test file

Properties we know are missing or incomplete:

  • `aspect-ratio` — increasingly used, limited client data
  • `clamp()` — used in fluid typography
  • `:has()` selector — new CSS, unknown email client support
  • `container queries` — emerging CSS feature
  • `accent-color` — form styling
  • `text-wrap: balance` — typography

Getting started

bun install
bun test                    # Run all 580 tests
bun run sync:caniemail      # Refresh data from caniemail.com
bun run check:freshness     # See which data sources are stale

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions