1 | export interface PackageJSON {
|
2 | dependencies: {
|
3 | [key: string]: string;
|
4 | };
|
5 | devDependencies: {
|
6 | [key: string]: string;
|
7 | };
|
8 | }
|
9 | export interface DevYaml {
|
10 | }
|
11 | export interface RailgunHostnameWithProxy {
|
12 | [key: string]: {
|
13 | proxy_to_host_port: number;
|
14 | };
|
15 | }
|
16 | export declare type RailgunHostnameConfig = RailgunHostnameWithProxy | string;
|
17 | export interface RailgunYaml {
|
18 | hostnames?: RailgunHostnameConfig[];
|
19 | }
|
20 | export interface DependencyInfo {
|
21 | has(dependency: string): boolean;
|
22 | get(dependency: string): string;
|
23 | }
|
24 | export 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 | }
|
55 | export default function loadProject(root: string): Promise<Project>;
|