import type { PackageJson } from "@condu/schema-types/schemas/packageJson.gen.js"; import type { PartialProjectConfig } from "@moonrepo/types"; import type { ProjectManifest } from "@pnpm/types"; export interface ConduPackageJson extends PackageJson { name: string; condu?: PackageJsonConduSection; bolt?: { workspaces?: string[]; }; pnpm?: ProjectManifest["pnpm"]; resolutions?: Record; overrides?: Record; } export interface WriteManifestFnOptions { force?: boolean; merge?: boolean; } export type WriteManifestFn = (manifest: ConduPackageJson | PackageJson, options?: WriteManifestFnOptions) => Promise; export type PackageKind = "workspace" | "package"; export interface IPackageEntry { kind: KindT; /** shortcut to manifest.name */ name: string; scope?: string | undefined; scopedName: string; manifest: ConduPackageJson; manifestRelPath: string; manifestAbsPath: string; /** relative directory of the package from the workspace path */ relPath: string; /** absolute directory of the package */ absPath: string; } export interface IPackageEntryWithWriteManifest extends IPackageEntry { writeProjectManifest: WriteManifestFn; } export type MinimalManifest = Pick; export type ManagedDependencyConfig = "presence" | "version"; export interface PackageJsonConduSection extends Pick { initialDevelopment?: boolean; managedDependencies?: Record; managedScripts?: string[]; defaultScope?: string; } export type DependencyTargetList = "dependencies" | "devDependencies" | "optionalDependencies" | "peerDependencies"; //# sourceMappingURL=packageJsonTypes.d.ts.map