Contributing¶
Setup¶
Dash Prism uses Poetry for Python dependency management and pnpm for the TypeScript frontend.
git clone https://github.com/LudwigAJ/dash-prism.git
cd dash-prism
poetry install --with dev,test,docs,demo
pnpm install
pnpm run build
If just is installed you can run
just install && just build instead.
Tests¶
The project has both TypeScript (Vitest) and Python (pytest) tests:
# TypeScript tests
pnpm run test:ts
# Python unit tests (no browser required)
pnpm run test:unit
# Selenium integration tests (requires chromedriver)
pnpm run test:integration
# All tests
pnpm run test
Or with just:
just test-ts # TypeScript only
just test-py # Python unit only
just test-integration # Selenium integration
just test # All of the above
Code Style¶
Python: Black (line-length 100)
TypeScript: ESLint, Prettier
# Python
black dash_prism tests
mypy
# TypeScript
pnpm run lint
pnpm run format
Building Docs¶
poetry install --with docs
cd docs
make html