Mafs

React components for interactive math
GitHub
3.25k
Created 4 years ago, last commit 2 months ago
11 contributors
283 commits
Stars added on GitHub, month by month
12
1
2
3
4
5
6
7
8
9
10
11
2023
2024
Stars added on GitHub, per day, on average
Yesterday
+1
Last week
+0.1
/day
Last month
+0.4
/day
Last 12 months
+0.4
/day
npmPackage on NPM
mafs
0.21.0
Monthly downloads on NPM
12
1
2
3
4
5
6
7
8
9
10
11
2023
2024
README

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