Khan / mafs

React components for interactive math

Home Page:https://mafs.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mafs

Mafs is a set of opinionated React components for creating math visualizations.

Visit the docs →


Development

Development is done inside of the Next.js documentation site, which directly imports Mafs components from src/. To start the development server, run:

pnpm install
pnpm start

The version of pnpm in use can be viewed by checking the packageManager field of package.json. Using corepack to install pnpm will keep this up-to-date automatically. Mafs pins pnpm to a precise version to avoid spurious pnpm-lock.yaml changes.

Then visit localhost:3000.

Tests

Mafs uses unit, end-to-end, and visual regression testing to ensure consistency between updates. It takes literal screenshots of components as rendered by the browser, and compares them to a known "correct" screenshot. Two of the browsers may require a Mac to run (Safari and iOS Safari).

All examples on the documentation site are visually tested automatically—the test file is autogenerated.

pnpm test      # run both suites
pnpm test:unit # to run just the Jest tests
pnpm test:e2e  # to run Playwright (end-to-end and visual tests)
pnpm test -- --update-snapshots # to update the visual test baselines

About

React components for interactive math

https://mafs.dev

License:MIT License


Languages

Language:TypeScript 96.4%Language:CSS 2.1%Language:JavaScript 0.8%Language:Nix 0.5%Language:HTML 0.2%