* docs: update integration test commands for Vitest 4.0 Vitest 4.0 no longer supports custom CLI flags like --integrationTestsOnly. Updated documentation to use the new VITEST_MODE=integration environment variable syntax instead. Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: load .env file in vitest config for integration tests Vitest 4.0 doesn't automatically load .env files into process.env. This caused integration tests to fail with ECONNREFUSED errors because DATABASE_URL was not available. Added loadEnv from Vite to load .env file at the start of vitest config. Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * chore: remove unnecessary comment Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: only load .env vars if not already set Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
90 lines
2.9 KiB
Markdown
90 lines
2.9 KiB
Markdown
# Build, Test & Development Commands
|
|
|
|
## Development Commands
|
|
|
|
- `yarn dev` - Start development server for web app
|
|
- `yarn dev:all` - Start web, website, and console apps
|
|
- `yarn dev:api` - Start web app with API proxy and API
|
|
- `yarn dev:console` - Start web app with console
|
|
- `yarn dx` - Start development with database setup
|
|
|
|
## Build Commands
|
|
|
|
- `yarn build` - Build all packages and apps
|
|
- `yarn build:ai` - Build AI package specifically
|
|
- `yarn clean` - Remove build artifacts (node_modules, .next, .turbo, dist)
|
|
|
|
## Lint & Type Check
|
|
|
|
- `yarn lint` - Run Biome across the codebase
|
|
- `yarn lint:fix` - Run Biome and apply safe fixes
|
|
- `yarn lint:report` - Generate Biome lint report
|
|
- `yarn type-check` - Run TypeScript type checking
|
|
- `yarn format` - Format code with Biome
|
|
|
|
## Testing Commands
|
|
|
|
### Unit Tests
|
|
|
|
- `yarn test` - Run unit tests (vitest)
|
|
- `yarn test <filename>` - Run tests for specific file
|
|
- `yarn test <filename> -t "<testName>"` - Run specific test by name for specific file
|
|
- `yarn tdd` - Run tests in watch mode
|
|
- `yarn test:ui` - Run tests with UI interface
|
|
|
|
### Integration Tests
|
|
|
|
- `VITEST_MODE=integration yarn test` - Run integration tests (vitest)
|
|
- `VITEST_MODE=integration yarn test <filename>` - Run integration tests for specific file
|
|
- `VITEST_MODE=integration yarn test <filename> -t "<testName>"` - Run specific integration test by name for specific file
|
|
|
|
|
|
### End-to-End Tests
|
|
|
|
- `yarn e2e` - Run end-to-end tests (Playwright)
|
|
- `yarn e2e <filename>` - Run E2E tests for specific file
|
|
- `yarn e2e <filename> --grep "<testName>"` - Run specific E2E test by name
|
|
- `yarn e2e:app-store` - Run app store E2E tests
|
|
- `yarn e2e:embed` - Run embed E2E tests
|
|
- `yarn test-e2e` - Run database seed + E2E tests
|
|
|
|
## Database Commands
|
|
|
|
- `yarn prisma` - Run Prisma CLI commands
|
|
- `yarn db-seed` - Seed database with test data
|
|
- `yarn db-deploy` - Deploy database migrations
|
|
- `yarn db-studio` - Open Prisma Studio
|
|
- `psql "postgresql://postgres:@localhost:5432/calendso"` - Connect to local PostgreSQL database
|
|
|
|
## App Store Commands
|
|
|
|
- `yarn create-app` - Create new app store integration
|
|
- `yarn edit-app` - Edit existing app
|
|
- `yarn delete-app` - Delete app
|
|
- `yarn app-store:build` - Build app store
|
|
- `yarn app-store:watch` - Watch app store for changes
|
|
|
|
## Useful Development Patterns
|
|
|
|
### Running Single Tests
|
|
|
|
```bash
|
|
# Unit test specific file
|
|
yarn vitest run packages/lib/some-file.test.ts
|
|
|
|
# Integration test specific file
|
|
VITEST_MODE=integration yarn test routing-form-response-denormalized.integration-test.ts
|
|
|
|
# E2E test specific file
|
|
yarn e2e tests/booking-flow.e2e.ts
|
|
|
|
# Run specific test by name
|
|
yarn e2e tests/booking-flow.e2e.ts --grep "should create booking"
|
|
```
|
|
|
|
### Environment Setup
|
|
|
|
- Copy `.env.example` to `.env` and configure
|
|
- Copy `.env.appStore.example` to `.env.appStore` for app store development
|
|
- Run `yarn dx` for initial development setup with database
|