learn
packages/

packages/

The shared libraries every service builds on.

The rule from the contributing guide: cross-platform reuse goes in common, server-only reuse in backend-common, authentication in auth, and durable database operations in db. Only five packages take workspace dependencies; the rest stand alone. The diagram shows the main uses.

What it owns

  • Platform-neutral models, protocols, and reconciliation
  • Browser-independent drawing engine
  • Server-only collaboration and access operations
  • The sole database client and schema
  • Authentication, Redis access, validation, UI, and configs

Files

File list and purposes from the folder README.

FilePurpose
common/Cross-platform types, protocols, validation, reconciliation.
engine/Geometry, tools, rendering, scene capture, history.
backend-common/Backend-only shared collaboration/access operations.
db/Sole Prisma schema/client/repositories/migration graph.
auth/Authentication client/server and email integration.
redis/Live state, pub/sub, queue and rate limiting.
validations/Reusable request validation schemas.
ui/Shared UI primitives.
eslint-config/Internal ESLint configurations.
typescript-config/Shared TypeScript configurations.

Dependencies

LibraryWhyWorkspaces
@types/nodeType declarations for Node.js built-ins.6
TypeScriptCompiles the workspace and type-checks every package.4
VitestRuns the unit and regression test suites.4
dotenvLoads local environment files in development.3
ESLintLints the codebase from the shared configs.2
tsxRuns and watches TypeScript sources for development and tests.2
Babel coreBabel core behind the TypeScript parser.1
Babel ESLint parserParses TypeScript for the shared lint config.1

In this group: Common · Engine · Backend common · Database · Auth · Redis · Validations · UI · Tooling configs · Tooling configs

Dependencies as of commit b0026d9.

packages/ dependencies
BrowserAPIRealtimeCacheDatabaseShareddurableephemeral

Talks to

Sources: README.md, packages/common/package.json, packages/engine/package.json, packages/backend-common/package.json (documented at commit b0026d9)

On this page