/** * The shape of a `package.json`. Canonical home for this type — also consumed * by create-absolutejs (which imports it from `@absolutejs/absolute`) and by the * `absolute config` package.json panel. */ export type PackageJson = { name: string; version: string; description?: string; keywords?: string[]; main?: string; module?: string; browser?: string | Record; types?: string; typings?: string; exports?: string | Record>; imports?: Record; bin?: string | Record; files?: string[]; scripts?: Record; private?: boolean; publishConfig?: { registry?: string; [key: string]: unknown; }; dependencies?: Record; devDependencies?: Record; peerDependencies?: Record; optionalDependencies?: Record; bundledDependencies?: string[]; bundleDependencies?: string[]; engines?: { node?: string; npm?: string; [key: string]: string | undefined; }; os?: string[]; cpu?: string[]; workspaces?: string[] | { packages: string[]; nohoist?: string[]; }; repository?: string | { type?: 'git' | string; url: string; directory?: string; }; bugs?: string | { url?: string; email?: string; }; homepage?: string; author?: string | { name: string; email?: string; url?: string; }; contributors?: Array; license?: string; funding?: string | Array<{ type?: string; url: string; }>; preferGlobal?: boolean; sideEffects?: boolean | string[]; config?: Record; resolution?: Record; resolutions?: Record; [customField: string]: unknown; };