/** * Single source of truth for the npm packages a Byline-on-TanStack-Start * install needs in the host application's `package.json`. Consumed by the * `deps` phase (to install missing entries) and by `doctor` (to report * what's missing without re-running the install). * * Versioning policy: all publishable `@byline/*` packages are released * in lockstep, so they share `BYLINE_VERSION` — including * `@byline/host-tanstack-start`, which previously rode its own `1.x` * line but is now part of the lockstep set from 2.x onwards. * * Scope: this list is intentionally minimal — only packages that are * directly imported by files we drop into the user's tree (`byline/`, * `src/routes/_byline/`, `src/ui/byline/`). Transitive deps reach the * user via the `@byline/*` package boundary and don't need declaring. */ import type { Answers, DatabaseAdapterId } from '../types.js'; export type DepGroup = 'byline' | 'runtime' | 'dev'; /** * Tag for opt-in deps. When set, the `deps` phase only installs the * package if `answers[optional] === true`. Keeps the user's project free * of dependencies they didn't ask for (e.g. the markdown ingestion stack * that exists only to serve `byline/scripts/import-docs.ts`). */ export type DepOptionalFlag = 'examples' | 'importDocs'; export interface DepSpec { name: string; version: string; group: DepGroup; /** Short human-readable reason this is on the list. */ note: string; /** When set, only install if the matching `answers` flag is true. */ optional?: DepOptionalFlag; /** Database adapters for which this dependency is required. */ adapters?: readonly DatabaseAdapterId[]; /** Byline compatibility rule. Defaults to the supported release range. */ versionPolicy?: 'supported-range' | 'exact'; } export declare const BYLINE_VERSION: string; export declare const BYLINE_ADAPTER_VERSION: string; export declare const DEP_SPECS: readonly DepSpec[]; export declare function dependencySpecsFor(answers: Answers): readonly DepSpec[]; //# sourceMappingURL=deps.d.ts.map