Skip to content

jumperexchange/jumper-exchange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,854 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

license Crowdin Follow on Twitter

Jumper.XYZ

This is the jumper.xyz repository that gets deployed to develop.jumper.xyz, staging.jumper.xyz and jumper.xyz.

For agents and contributors picking up work in this repo, start with AGENTS.md. The internal app shape and dependency rules are documented in ARCHITECTURE.md.

Getting Started

Requires Node 22+ (see .nvmrc — run nvm use).

pnpm install
pnpm dev            # or: pnpm dev:local | pnpm dev:staging | pnpm dev:production

Tools

  • pnpm api — regenerate the backend-derived API client. Requires jumper-backend running on localhost:3001. Linting/formatting is handled separately by the usual commit/CI checks (or can be run manually).
  • pnpm typecheck — run tsc --noEmit.
  • pnpm storybook — Storybook on port 6006.
  • pnpm i18next-resources-for-ts — regenerate typed i18n resources after editing src/i18n/translations/en/.

Tests

  • pnpm test:unit — Vitest unit tests (<file>.spec.ts(x)).
  • pnpm test:snapshots — snapshot tests; regenerate with pnpm test:snapshots:generate.
  • pnpm test:storybook — run stories under Vitest + Playwright.
  • Playwright E2E: pnpm test, pnpm test:e2e-real, pnpm test:qase. First-time setup: pnpm test:install. See tests/README.md.

Lint and checks

husky + lint-staged run on commit (installed automatically by pnpm install).

tsc --noEmit is invoked from bash inside lint-staged — see this issue for why.

Contributing Translations

We appreciate your interest in helping translate our project!

If you'd like to contribute translations, please visit our Crowdin project page at Crowdin Jumper Exchange and Crowdin LI.FI Widget. Register on Crowdin and you can start translating the project into your preferred language. Your contributions will help make our project accessible to a wider audience around the world.

Thank you for your support!