-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.ts
38 lines (31 loc) · 955 Bytes
/
setup.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 { randomBytes } from "crypto";
import fs from "fs";
import path from "path";
const isDev = process.env.NODE_ENV === "development";
const templateEnv = `PORT=${isDev ? 5000 : 3000}
BASE_URL="${
isDev ? "http://localhost:3000" : "https://image-storage-api.anfa.my.id"
}"
ORIGINS="http://localhost:3000, https://image-storage-api.anfa.my.id"
API_KEY="${randomBytes(32).toString("hex")}"
# MongoDB URL
MONGODB_URL=""
`;
(async () => {
// const configPath = `${process.cwd()}/config`;
const configPath = path.resolve(process.cwd(), "config");
const envPath = path.relative(
configPath,
isDev ? ".env.development" : ".env"
);
try {
if (!fs.existsSync(configPath)) {
fs.mkdirSync(configPath);
}
fs.writeFileSync(envPath, templateEnv);
console.info("Your app ready to run!");
} catch (error) {
console.error(error);
process.exit(1);
}
})();