dependencies and devDependencies in your own package.json; this policy is mainly relevant for contributors and for understanding how Aero’s packages stay aligned.
pnpm catalog
Shared versions for framework development live in the rootpnpm-workspace.yaml under catalog:. Packages reference them with the catalog: protocol in package.json (for example "vite": "catalog:").
Prefer catalog entries for tooling that should move together across packages (TypeScript, Vite, Vitest, tsdown, Nitro, and so on).
Root overrides
The rootpackage.json may define pnpm.overrides for security fixes or to align a transitive dependency with a known-good version. Treat overrides as explicit exceptions — document why in the commit or a short comment when non-obvious.
Explicit versions
When a package needs a version different from the catalog (for example a single package requires a newer patch), use an explicit semver range in that package’spackage.json and prefer a short note in the PR if the reason is not obvious.
CI and guardrails
pnpm installwith a locked lockfile is the source of truth for CI.- Keep
packageManagerin rootpackage.jsonaligned with the pnpm version contributors should use.