-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbuild.js
More file actions
108 lines (104 loc) · 3.39 KB
/
build.js
File metadata and controls
108 lines (104 loc) · 3.39 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import { resolve } from 'path'
const __dirname = resolve()
const isProd = process.env.NODE_ENV === 'production'
const getEnvVar = key => {
const value = process.env[key]
if (!value) {
console.warn(`⚠️ Warning: Environment variable ${key} is not set`)
return ''
}
return value
}
// eslint-disable-next-line no-undef
await Bun.build({
entrypoints: ['./main.js'],
outdir: `${__dirname}/public`,
outbase: __dirname,
format: 'esm',
target: 'browser',
splitting: false,
minify: isProd,
sourcemap: isProd ? 'none' : 'inline',
publicPath: '/',
watch: !isProd,
incremental: !isProd,
jsx: {
runtime: 'automatic',
},
define: {
'process.env.NODE_ENV': JSON.stringify(
isProd ? 'production' : 'development'
),
'process.env.EMAILJS_SERVICE_ID': JSON.stringify(
getEnvVar('EMAILJS_SERVICE_ID')
),
'process.env.EMAILJS_TEMPLATE_ID': JSON.stringify(
getEnvVar('EMAILJS_TEMPLATE_ID')
),
'process.env.EMAILJS_PUBLIC_ID': JSON.stringify(
getEnvVar('EMAILJS_PUBLIC_ID')
),
'process.env.FIREBASE_API_KEY': JSON.stringify(
getEnvVar('FIREBASE_API_KEY')
),
'process.env.FIREBASE_APP_ID': JSON.stringify(getEnvVar('FIREBASE_APP_ID')),
'process.env.FIREBASE_DATABASE_URL': JSON.stringify(
getEnvVar('FIREBASE_DATABASE_URL')
),
'process.env.FIREBASE_PROJECT_ID': JSON.stringify(
getEnvVar('FIREBASE_PROJECT_ID')
),
'process.env.GITHUB_API_TOKEN': JSON.stringify(
getEnvVar('GITHUB_API_TOKEN')
),
'process.env.ENTERPRISE_RECAPTCHA_SITE_KEY': JSON.stringify(
getEnvVar('ENTERPRISE_RECAPTCHA_SITE_KEY')
),
'process.env.APP_CHECK_DEBUG_TOKEN': JSON.stringify(
getEnvVar('APP_CHECK_DEBUG_TOKEN')
),
'process.env': JSON.stringify({
NODE_ENV: isProd ? 'production' : 'development',
EMAILJS_SERVICE_ID: process.env.EMAILJS_SERVICE_ID,
EMAILJS_TEMPLATE_ID: process.env.EMAILJS_TEMPLATE_ID,
EMAILJS_PUBLIC_ID: process.env.EMAILJS_PUBLIC_ID,
FIREBASE_API_KEY: process.env.FIREBASE_API_KEY,
FIREBASE_APP_ID: process.env.FIREBASE_APP_ID,
FIREBASE_DATABASE_URL: process.env.FIREBASE_DATABASE_URL,
FIREBASE_PROJECT_ID: process.env.FIREBASE_PROJECT_ID,
GITHUB_API_TOKEN: process.env.GITHUB_API_TOKEN,
ENTERPRISE_RECAPTCHA_SITE_KEY: process.env.ENTERPRISE_RECAPTCHA_SITE_KEY,
APP_CHECK_DEBUG_TOKEN: process.env.APP_CHECK_DEBUG_TOKEN,
}),
process: JSON.stringify({
env: {
NODE_ENV: isProd ? 'production' : 'development',
EMAILJS_SERVICE_ID: process.env.EMAILJS_SERVICE_ID,
EMAILJS_TEMPLATE_ID: process.env.EMAILJS_TEMPLATE_ID,
EMAILJS_PUBLIC_ID: process.env.EMAILJS_PUBLIC_ID,
FIREBASE_API_KEY: process.env.FIREBASE_API_KEY,
FIREBASE_APP_ID: process.env.FIREBASE_APP_ID,
FIREBASE_DATABASE_URL: process.env.FIREBASE_DATABASE_URL,
FIREBASE_PROJECT_ID: process.env.FIREBASE_PROJECT_ID,
GITHUB_API_TOKEN: process.env.GITHUB_API_TOKEN,
ENTERPRISE_RECAPTCHA_SITE_KEY:
process.env.ENTERPRISE_RECAPTCHA_SITE_KEY,
APP_CHECK_DEBUG_TOKEN: process.env.APP_CHECK_DEBUG_TOKEN,
},
}),
},
loader: {
'.js': 'jsx',
'.jsx': 'jsx',
'.css': 'css',
'.png': 'file',
'.jpg': 'file',
'.jpeg': 'file',
'.txt': 'text',
'.md': 'text',
'.markdown': 'text',
},
})
if (!isProd) {
await new Promise(() => {})
}