Docs/Advanced

Runtime compatibility

Runtime compatibility is package-specific. A package's README describing the overall ecosystem as runtime-agnostic does not mean every exported symbol can be imported into every…

2 min read

Runtime compatibility is package-specific. A package's README describing the overall ecosystem as runtime-agnostic does not mean every exported symbol can be imported into every runtime.

Package/areaObserved considerations
@veap/kernelSome contracts and abstractions are lightweight; the server config/provider entry point is explicitly server-oriented.
@veap/databaseUses node:async_hooks, filesystem/path APIs and Knex drivers. Treat as Node/Bun server-side code, not generic Edge code.
@veap/authUses database repositories, crypto adapters and server actions; keep service/crypto modules on the server.
@veap/mailNodemailer and environment-based transport configuration are server concerns.
@veap/storageLocal provider uses Node filesystem APIs; it requires a writable, persistent filesystem if uploads must persist.
@veap/intlClient hooks require React context; server helpers may read request headers/cookies through kernel contracts.
@veap/pluginsContains server registry/router code and React client widgets; use the appropriate subpath.
@veap/settingsUses database persistence and cache; it is server-side application infrastructure.

Deployment checklist#

  1. Separate server and client imports.
  2. Verify native module support for better-sqlite3 on your platform.
  3. Use a persistent database and object storage where serverless filesystems are ephemeral.
  4. Test route/request context behavior in your chosen Next.js adapter.
  5. Run builds with the exact production Node/Bun and Next.js versions.
  6. Do not rely on implicit global state across isolated workers or serverless instances.
veap
Preparing0%