Skip to main content

Dependencies

Full dependency inventory for the salesarck_code monorepo, organized by workspace package.

Root Workspace

DevDependencies (shared tooling):

PackageVersionPurpose
typescript^5.5.0TypeScript compiler
eslint^9.5.0Linting (flat config)
@typescript-eslint/eslint-plugin^8.58.0TypeScript ESLint rules
@typescript-eslint/parser^8.58.0TypeScript ESLint parser
prettier^3.3.0Code formatting
turbo^2.0.0Monorepo build orchestration
vitest^1.6.0Test runner
@types/node^20.14.0Node.js type definitions

Engine requirements: Node.js >= 20.0.0, pnpm >= 9.0.0

@salesarc/api (Backend)

Runtime Dependencies:

PackageVersionPurpose
hono^4.4.0HTTP framework
@hono/node-server^1.12.0Node.js adapter for Hono
@hono/zod-validator^0.2.2Request validation middleware
zod^3.23.0Schema validation
@salesarc/authworkspace:*Supabase auth helpers
@salesarc/dbworkspace:*Database schema and client
@salesarc/observabilityworkspace:*Logging and Sentry
@salesarc/rbacworkspace:*Permission matrix
@salesarc/reward-engineworkspace:*Reward calculation
@salesarc/tenantworkspace:*Tenant resolution
@salesarc/typesworkspace:*Shared type contracts

DevDependencies:

PackageVersionPurpose
tsx^4.15.0TypeScript execution (dev server)
typescript^5.5.0Compilation
vitest^1.6.0Testing

@salesarc/web (Frontend)

Runtime Dependencies:

PackageVersionPurpose
react^18.3.0UI library
react-dom^18.3.0DOM rendering
react-router-dom^6.24.0Client-side routing
@tanstack/react-query^5.45.0Data fetching/caching
zustand^4.5.0State management
@supabase/supabase-js^2.44.0Auth client
zod^3.23.0Schema validation
@salesarc/typesworkspace:*Shared type contracts

DevDependencies:

PackageVersionPurpose
vite^5.3.0Build tool and dev server
@vitejs/plugin-react^4.3.0React Fast Refresh
tailwindcss^3.4.4Utility-first CSS
autoprefixer^10.4.19CSS vendor prefixing
postcss^8.4.39CSS processing
typescript^5.5.0Type checking

@salesarc/db (Database)

PackageVersionPurpose
drizzle-orm^0.31.0ORM and query builder
pg^8.20.0PostgreSQL driver
drizzle-kit(devDep)Migration generation
@salesarc/typesworkspace:*Shared types

@salesarc/auth (Authentication)

PackageVersionPurpose
@supabase/supabase-js^2.44.0Server-side Supabase client
@salesarc/typesworkspace:*Shared types

@salesarc/observability (Logging & Monitoring)

PackageVersionPurpose
pino^9.2.0Structured JSON logging
@sentry/node^8.0.0Error tracking and APM

@salesarc/rbac (Permissions)

PackageVersionPurpose
@salesarc/typesworkspace:*Role and permission types

@salesarc/reward-engine (Calculations)

PackageVersionPurpose
@salesarc/typesworkspace:*Rule and reward types

@salesarc/tenant (Multi-Tenancy)

PackageVersionPurpose
@salesarc/typesworkspace:*Tenant context types

@salesarc/types (Foundation)

No external dependencies. This is the base contract package.

Exports Zod schemas and TypeScript types for:

  • Users and roles (UserRole, User, JwtClaims)
  • Tenants (TenantStatus, Tenant, TenantContext)
  • Wallets (WalletStatus, LedgerEntryType, Wallet, LedgerEntry)
  • Rewards (RuleConfig, RewardRule, EvaluateRewardInput, EvaluateRewardResult)
  • POS (PosProvider, NormalizedTransaction, PosConnection)
  • API (ApiError, ErrorCode)

External Service Dependencies

ServiceUsageRequired
SupabaseAuth (JWT/OTP), database hostingYes
SquarePOS OAuth, webhooks, REST APIFor Square merchants
CloverPOS OAuth, webhooks, REST APIFor Clover merchants
ResendTransactional emailOptional
SentryError trackingOptional
RenderAPI hostingProduction
VercelFrontend hostingProduction

Pending Dependency Updates

Active Dependabot PRs (not yet merged):

PackageCurrentTargetBranch
drizzle-orm0.31.40.45.2dependabot/npm_and_yarn/drizzle-orm-0.45.2
hono4.4.04.12.12dependabot/npm_and_yarn/hono-4.12.12
@hono/node-server1.12.01.19.13dependabot/npm_and_yarn/hono/node-server-1.19.13
vite5.3.06.4.2dependabot/npm_and_yarn/vite-6.4.2

Dependency Principles

  1. No POS SDKs: Both Square and Clover integrations use plain fetch — no vendor SDK dependencies. This keeps the dependency tree lean and avoids SDK version lock-in.
  2. Workspace packages: All inter-package dependencies use workspace:* protocol for monorepo linking.
  3. Foundation package: @salesarc/types has zero external dependencies, ensuring it can be consumed anywhere without side effects.
  4. Pure packages: reward-engine, rbac, and tenant have zero I/O dependencies — only @salesarc/types.
Written byDhruv Doshi