-
Notifications
You must be signed in to change notification settings - Fork 11
/
index.ts
38 lines (30 loc) · 941 Bytes
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import { Directory } from "./Directory";
import { fileExists, log } from "./Utils";
export const build = async (
dir: string,
url: string,
virtualName?: string
): Promise<void> => {
log(`started biiifing ${dir}`);
// validate inputs
const exists: boolean = await fileExists(dir);
if (!exists) {
throw new Error("Directory does not exist");
}
if (!url) {
// if a url hasn't been passed, check if running on Netlify or Vercel and use the appropriate url
if (process.env.NETLIFY) {
url =
process.env.PULL_REQUEST === "true"
? process.env.DEPLOY_PRIME_URL
: process.env.URL;
} else if (process.env.VERCEL) {
url = `https://${process.env.VERCEL_URL}`;
} else {
throw new Error("You must pass a url parameter");
}
}
const directory: Directory = new Directory(dir, url, virtualName);
await directory.read();
log(`finished biiifing ${dir}`);
};