Update env validation for development mode

Allow missing GitHub/AWS credentials and HTTPS_PORT in local development while keeping production checks strict.

Made-with: Cursor
master
linlu 3 weeks ago
parent 9ac17dff65
commit a34764d3fd

@ -30,13 +30,14 @@ const {
};
const isEnabled = (v: string) => v === '1';
const isDev = NODE_ENV === 'development';
const missingVars = [
'NODE_ENV',
'HTTP_PORT',
'HTTPS_PORT',
'CREDENTIALS_ENABLED',
...(isEnabled(CREDENTIALS_ENABLED) ? [
'HTTPS_PORT',
'CREDENTIALS_PATH',
'CREDENTIALS_CA',
'CREDENTIALS_KEY',
@ -46,18 +47,20 @@ const missingVars = [
...(isEnabled(WEBHOOK_ENABLED) ? [
'WEBHOOK_SECRET',
] : []),
'GITHUB_CLIENT_ID',
'GITHUB_CLIENT_SECRET',
'AWS_ACCESS_KEY_ID',
'AWS_SECRET_ACCESS_KEY',
...(!isDev ? [
'GITHUB_CLIENT_ID',
'GITHUB_CLIENT_SECRET',
'AWS_ACCESS_KEY_ID',
'AWS_SECRET_ACCESS_KEY',
] : []),
].filter(variable => process.env[variable] === undefined);
if (missingVars.length) throw new Error(`The following environment variables are missing: ${missingVars.join(', ')}`);
export const __PROD__ = NODE_ENV === 'production';
export const __DEV__ = NODE_ENV === 'development';
export const httpPort = parseInt(HTTP_PORT);
export const httpsPort = parseInt(HTTPS_PORT);
export const httpPort = parseInt(HTTP_PORT, 10);
export const httpsPort = isEnabled(CREDENTIALS_ENABLED) ? parseInt(HTTPS_PORT || '8443', 10) : 0;
export const webhookOptions = isEnabled(WEBHOOK_ENABLED) ? {
path: '/webhook',
@ -78,8 +81,8 @@ if (isEnabled(CREDENTIALS_ENABLED)) {
}
}
export const githubClientId = GITHUB_CLIENT_ID;
export const githubClientSecret = GITHUB_CLIENT_SECRET;
export const githubClientId = GITHUB_CLIENT_ID ?? '';
export const githubClientSecret = GITHUB_CLIENT_SECRET ?? '';
export const awsAccessKeyId = AWS_ACCESS_KEY_ID;
export const awsSecretAccessKey = AWS_SECRET_ACCESS_KEY;
export const awsAccessKeyId = AWS_ACCESS_KEY_ID ?? '';
export const awsSecretAccessKey = AWS_SECRET_ACCESS_KEY ?? '';

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save