UNPKG

1.87 kBTypeScriptView Raw
1export interface PackageJSON {
2 dependencies: {
3 [key: string]: string;
4 };
5 devDependencies: {
6 [key: string]: string;
7 };
8}
9export interface DevYaml {
10}
11export interface RailgunHostnameWithProxy {
12 [key: string]: {
13 proxy_to_host_port: number;
14 };
15}
16export declare type RailgunHostnameConfig = RailgunHostnameWithProxy | string;
17export interface RailgunYaml {
18 hostnames?: RailgunHostnameConfig[];
19}
20export interface DependencyInfo {
21 has(dependency: string): boolean;
22 get(dependency: string): string;
23}
24export declare class Project {
25 isRails: boolean;
26 private packageJSON;
27 private dependencies;
28 private devYaml;
29 private railgunYaml;
30 hasPostCSSConfig: boolean;
31 readonly hasProcfile: boolean;
32 readonly hasServiceWorker: boolean;
33 readonly isNode: boolean;
34 readonly usesDev: boolean;
35 readonly usesTypeScript: boolean;
36 readonly usesPolaris: boolean;
37 readonly usesReact: boolean;
38 readonly usesPreact: boolean;
39 readonly usesPreactCompat: boolean;
40 readonly devType: {} | undefined;
41 readonly devYamlPort: {} | undefined;
42 readonly devProxyHosts: {
43 host: string;
44 port: number;
45 }[];
46 readonly devPort: number | undefined;
47 constructor(isRails: boolean, packageJSON: PackageJSON, dependencies: DependencyInfo, devYaml: DevYaml | false, railgunYaml: RailgunYaml | false, hasPostCSSConfig: boolean, hasProcfile?: boolean, hasServiceWorker?: boolean);
48 uses(dependency: string, versionCondition?: RegExp): boolean;
49 version(dependency: string): string;
50 hasDependency(dependency: string, versionCondition?: RegExp): boolean;
51 hasDevDependency(dependency: string, versionCondition?: RegExp): boolean;
52 private getDevKey;
53 private getRailgunKey;
54}
55export default function loadProject(root: string): Promise<Project>;