UNPKG

@ts-dev-tools/core

Version:
64 lines (63 loc) 2.19 kB
export type JsonArray = boolean[] | number[] | string[] | JsonFileData[] | Date[]; export type AnyJson = boolean | number | string | JsonFileData | Date | JsonArray | JsonArray[]; export type JsonFileData = { [key: string]: AnyJson | undefined; }; type PackageNameVersionMap = Record<string, string>; type PackageJsonKnownFields = { author?: JsonFileData | string; bin?: PackageNameVersionMap | string; bugs?: JsonFileData | string; commitlint?: JsonFileData; dependencies?: PackageNameVersionMap; description?: string; devDependencies?: PackageNameVersionMap; directories?: PackageNameVersionMap; engines?: PackageNameVersionMap; eslintConfig?: JsonFileData; files?: string[]; homepage?: string; importSort?: JsonFileData; keywords?: string[]; license?: string; lintStaged?: JsonFileData; main?: string; name?: string; peerDependencies?: PackageNameVersionMap; peerDependenciesMeta?: Record<string, { optional?: boolean; }>; prettier?: JsonFileData; private?: boolean; publishConfig?: JsonFileData; repository?: JsonFileData | string; scripts?: PackageNameVersionMap; tsDevTools?: JsonFileData; types?: string; version?: string; workspaces?: JsonArray | JsonFileData; }; export type PackageJsonContent = JsonFileData & PackageJsonKnownFields; export declare class PackageJson { private path; private static readonly PACKAGE_JSON_FILE_NAME; private content?; constructor(path: string); getPath(): string; getContent(): PackageJsonContent; setContent(content: PackageJsonContent): void; getPackageName(): string | undefined; getPackageVersion(): string | undefined; isPrivate(): boolean; getTsDevToolsVersion(): string | undefined; getDependenciesPackageNames(): string[]; getDevDependenciesPackageNames(): string[]; getAllDependenciesPackageNames(): string[]; hasDependency(packageName: string): boolean; merge(update: PackageJsonContent): void; backup(): string; restore(backupPath: string): void; private write; static fromDirPath(dirPath: string): PackageJson; } export {};