Files
firecrawl/AGENTS.md
T
Gergő Móriczandcapy-ai[bot] 5a75dca210 chore(js-sdk): move tests from Jest to Vitest (#5021)
* chore(js-sdk): move tests from Jest to Vitest

Replace jest.config.js with a minimal vitest.config.ts, port the unit and e2e suites to vitest imports and vi, and drop jest, ts-jest, @jest/globals, @types/jest and @types/mocha along with the pnpm overrides and build allowances that only Jest's tree needed. Also drop the remaining Jest mentions from repo docs, API test comments and the v1 client's test-env check.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs: run vitest through pnpm exec so the harness waits for the API

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-08 17:51:12 +02:00

1.4 KiB

Firecrawl is a web scraper API. The directory you have access to is a monorepo:

  • apps/api has the actual API and worker code
  • apps/*-sdk are various SDKs

When making changes to the API, here are the general steps you should take:

  1. Write some end-to-end tests that assert your win conditions, if they don't already exist
  • 1 happy path (more is encouraged if there are multiple happy paths with significantly different code paths taken)
  • 1+ failure path(s)
  • Generally, E2E (called snips in the API) is always preferred over unit testing.
  • In the API, always use scrapeTimeout from ./lib to set the timeout you use for scrapes.
  • These tests will be ran on a variety of configurations. You should gate tests in the following manner:
    • If it requires fire-engine: !process.env.TEST_SUITE_SELF_HOSTED
    • If it requires AI: !process.env.TEST_SUITE_SELF_HOSTED || process.env.OPENAI_API_KEY || process.env.OLLAMA_BASE_URL
  1. Write code to achieve your win conditions
  2. Run your tests using pnpm harness pnpm exec vitest run ...
  • pnpm harness is a command that gets the API server and workers up for you to run the tests. Don't try to pnpm start manually.
  • The full test suite takes a long time to run, so you should try to only execute the relevant tests locally, and let CI run the full test suite.
  1. Push to a branch, open a PR, and let CI run to verify your win condition. Keep these steps in mind while building your TODO list.