UNPKG

3.39 kBTypeScriptView Raw
1import fixturify from 'fixturify';
2import { PackageJson as BasePackageJson } from 'type-fest';
3declare type PackageJson = BasePackageJson & {
4 [name: string]: {};
5};
6interface ReadDirOpts {
7 linkDeps?: boolean;
8 linkDevDeps?: boolean;
9}
10export interface ProjectArgs {
11 name?: string;
12 version?: string;
13 files?: fixturify.DirJSON;
14 requestedRange?: string;
15}
16declare type ProjectCallback = (project: Project) => void;
17export declare class Project {
18 pkg: PackageJson;
19 files: fixturify.DirJSON;
20 readonly isDependency = true;
21 private _dependencies;
22 private _devDependencies;
23 private _baseDir;
24 private _tmp;
25 private requestedRange;
26 private dependencyLinks;
27 private linkIsDevDependency;
28 private usingHardLinks;
29 private resolutionCache;
30 constructor(name?: string, version?: string, args?: Omit<ProjectArgs, 'name' | 'version'>, projectCallback?: ProjectCallback);
31 constructor(name?: string, version?: string, args?: Omit<ProjectArgs, 'name' | 'version'>);
32 constructor(name?: string, version?: string, projectCallback?: ProjectCallback);
33 constructor(name?: string, args?: Omit<ProjectArgs, 'name'>, projectCallback?: ProjectCallback);
34 constructor(args?: ProjectArgs, projectCallback?: ProjectCallback);
35 get root(): void;
36 set baseDir(dir: string);
37 get baseDir(): string;
38 private autoBaseDir;
39 get name(): string;
40 set name(value: string);
41 get version(): string;
42 set version(value: string);
43 writeSync(): void;
44 private writeLinkedPackage;
45 private hardLinkContents;
46 private hardLinkFile;
47 static fromDir(root: string, opts?: ReadDirOpts): Project;
48 private readSync;
49 addDependency(name?: string, version?: string, args?: Omit<ProjectArgs, 'name' | 'version'>, projectCallback?: ProjectCallback): Project;
50 addDependency(name?: string, version?: string, projectCallback?: ProjectCallback): Project;
51 addDependency(name?: string, args?: Omit<ProjectArgs, 'name'>, projectCallback?: ProjectCallback): Project;
52 addDependency(args?: ProjectArgs, projectCallback?: ProjectCallback): Project;
53 addDependency(args?: Project, projectCallback?: ProjectCallback): Project;
54 private addDep;
55 removeDependency(name: string): void;
56 removeDevDependency(name: string): void;
57 addDevDependency(name?: string, version?: string, args?: Omit<ProjectArgs, 'name' | 'version'>, projectCallback?: ProjectCallback): Project;
58 addDevDependency(name?: string, version?: string, projectCallback?: ProjectCallback): Project;
59 addDevDependency(name?: string, args?: Omit<ProjectArgs, 'name'>, projectCallback?: ProjectCallback): Project;
60 addDevDependency(args?: ProjectArgs, projectCallback?: ProjectCallback): Project;
61 addDevDependency(args?: Project, projectCallback?: ProjectCallback): Project;
62 linkDependency(name: string, opts: {
63 baseDir: string;
64 resolveName?: string;
65 requestedRange?: string;
66 } | {
67 target: string;
68 requestedRange?: string;
69 }): void;
70 linkDevDependency(name: string, opts: {
71 baseDir: string;
72 resolveName?: string;
73 } | {
74 target: string;
75 }): void;
76 dependencyProjects(): Project[];
77 devDependencyProjects(): Project[];
78 private pkgJSONWithDeps;
79 clone(): Project;
80 dispose(): void;
81 private depsToObject;
82}
83export {};