import type { PackageJson as ReadPackageUpPackageJson } from 'read-package-up'; import type { ProjectType } from '../../utils/manifest.js'; import type { PackageManagerConfig } from '../../utils/packageManager.js'; export type { TsConfigJson } from 'type-fest'; export type PackageJson = ReadPackageUpPackageJson & Record & { skuba?: { entryPoint?: string | null; template?: string; type?: string; version: string; }; }; export type ReadResult = { packageJson: PackageJson; path: string; }; export interface DependencySet { dependencies: Record; devDependencies: Record; type: ProjectType; } export type DependencyDiff = Record; type FileProcessor = (file: string | undefined, files: Files, initialFiles: Readonly) => Promise | string | undefined; export type FileDiff = Record; export type Files = Record; export type Module = Record; export interface Options { destinationRoot: string; entryPoint: string; firstRun: boolean; packageManager: PackageManagerConfig; type: ProjectType; }