Share env vars client-side using @Public decorator (#6627)
* fix: public env vars using decorator * fix: relocate * fix: use env.public * fix: register public env vars across plugins * fix: test * fix: tsc * fix: mark remaining ones as public * fix: move oidc ones to plugin * fix: prevent overwrite * fix: review
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
import { PublicEnv } from "./types";
|
||||
|
||||
const env = typeof window === "undefined" ? process.env : window.env;
|
||||
|
||||
export default env as PublicEnv;
|
||||
export default env as Record<string, any>;
|
||||
|
||||
@@ -49,26 +49,7 @@ export enum MentionType {
|
||||
}
|
||||
|
||||
export type PublicEnv = {
|
||||
URL: string;
|
||||
CDN_URL: string;
|
||||
COLLABORATION_URL: string;
|
||||
AWS_S3_UPLOAD_BUCKET_URL: string;
|
||||
AWS_S3_ACCELERATE_URL: string;
|
||||
ENVIRONMENT: string;
|
||||
SENTRY_DSN: string | undefined;
|
||||
SENTRY_TUNNEL: string | undefined;
|
||||
SLACK_CLIENT_ID: string | undefined;
|
||||
SLACK_APP_ID: string | undefined;
|
||||
FILE_STORAGE_IMPORT_MAX_SIZE: number;
|
||||
EMAIL_ENABLED: boolean;
|
||||
PDF_EXPORT_ENABLED: boolean;
|
||||
DEFAULT_LANGUAGE: string;
|
||||
GOOGLE_ANALYTICS_ID: string | undefined;
|
||||
RELEASE: string | undefined;
|
||||
APP_NAME: string;
|
||||
ROOT_SHARE_ID?: string;
|
||||
OIDC_DISABLE_REDIRECT?: boolean;
|
||||
OIDC_LOGOUT_URI?: string;
|
||||
analytics: {
|
||||
service?: IntegrationService | UserCreatableIntegrationService;
|
||||
settings?: IntegrationSettings<IntegrationType.Analytics>;
|
||||
|
||||
@@ -9,7 +9,7 @@ import { RESERVED_SUBDOMAINS, getBaseDomain, parseDomain } from "./domains";
|
||||
* @returns The path with the CDN url prepended.
|
||||
*/
|
||||
export function cdnPath(path: string): string {
|
||||
return `${env.CDN_URL}${path}`;
|
||||
return `${env.CDN_URL ?? ""}${path}`;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user