Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stevenpetryk/mafs
React components for interactive math
https://github.com/stevenpetryk/mafs
math react visualization
Last synced: 10 days ago
JSON representation
React components for interactive math
- Host: GitHub
- URL: https://github.com/stevenpetryk/mafs
- Owner: stevenpetryk
- License: mit
- Created: 2020-08-18T03:05:00.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-20T22:48:59.000Z (19 days ago)
- Last Synced: 2024-10-22T11:45:40.102Z (17 days ago)
- Topics: math, react, visualization
- Language: TypeScript
- Homepage: https://mafs.dev
- Size: 21.4 MB
- Stars: 3,235
- Watchers: 16
- Forks: 88
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome-list - mafs
- awesome-web-cn - mafs - 用于交互式数学的 React 组件,可以创建可交互的数学函数等等 (Uncategorized / Uncategorized)
README
# Mafs
Mafs is a set of opinionated React components for creating math visualizations.
[Visit the docs →](https://mafs.dev)
---
## 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](http://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.
```bash
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
```