@funnelsgrove/runtime 0.1.10 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/RuntimeDevInfoBox.js +1 -5
- package/dist/config/env.config.d.ts +36 -36
- package/dist/config/env.config.js +38 -92
- package/dist/services/project-env.d.ts +1 -38
- package/dist/services/project-env.js +45 -104
- package/dist/services/public-env.d.ts +25 -25
- package/dist/services/public-env.js +8 -70
- package/package.json +1 -1
|
@@ -9,14 +9,10 @@ const normalizeDisplayValue = (value) => {
|
|
|
9
9
|
}
|
|
10
10
|
return String(value);
|
|
11
11
|
};
|
|
12
|
-
const getCanonicalRuntimeEnvKey = (envKeys) => {
|
|
13
|
-
var _a, _b;
|
|
14
|
-
return (_b = (_a = envKeys.find((envKey) => envKey.startsWith('NEXT_PUBLIC_'))) !== null && _a !== void 0 ? _a : envKeys[0]) !== null && _b !== void 0 ? _b : '';
|
|
15
|
-
};
|
|
16
12
|
const runtimePublicConfigEntries = () => {
|
|
17
13
|
return Object.entries(RUNTIME_PUBLIC_ENV_KEYS).map(([configKey, envKey]) => ({
|
|
18
14
|
label: configKey,
|
|
19
|
-
source:
|
|
15
|
+
source: envKey,
|
|
20
16
|
value: runtimePublicConfig[configKey],
|
|
21
17
|
}));
|
|
22
18
|
};
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
export declare const readRuntimeEnv: (reader: () => string | undefined) => string | undefined;
|
|
2
2
|
export declare const isDevelopmentRuntime: () => boolean;
|
|
3
3
|
export declare const RUNTIME_ENV_KEYS: {
|
|
4
|
-
readonly appDealsApiBaseUrl:
|
|
5
|
-
readonly funnelSdkPublishableKey:
|
|
6
|
-
readonly funnelId:
|
|
7
|
-
readonly projectId:
|
|
8
|
-
readonly funnelVersionId:
|
|
9
|
-
readonly posthogProjectApiKey:
|
|
10
|
-
readonly supportEmail:
|
|
11
|
-
readonly iosAppStoreUrl:
|
|
12
|
-
readonly androidPlayStoreUrl:
|
|
13
|
-
readonly appStoreId:
|
|
14
|
-
readonly googleStoreId:
|
|
15
|
-
readonly timezone:
|
|
16
|
-
readonly faviconUrl:
|
|
17
|
-
readonly pageTitle:
|
|
18
|
-
readonly pageDescription:
|
|
19
|
-
readonly pagePreviewImageUrl:
|
|
20
|
-
readonly companyName:
|
|
21
|
-
readonly companyAddress:
|
|
22
|
-
readonly companyCountry:
|
|
23
|
-
readonly privacyUrl:
|
|
24
|
-
readonly termsUrl:
|
|
25
|
-
readonly universalLink:
|
|
26
|
-
readonly iosDeepLink:
|
|
27
|
-
readonly androidDeepLink:
|
|
28
|
-
readonly qrTarget:
|
|
29
|
-
readonly stripeEnabled:
|
|
30
|
-
readonly stripeActiveMode:
|
|
31
|
-
readonly stripePublishableKey:
|
|
32
|
-
readonly stripeTestPublishableKey:
|
|
33
|
-
readonly stripeLivePublishableKey:
|
|
34
|
-
readonly metaPixelEnabled:
|
|
35
|
-
readonly metaPixelId:
|
|
36
|
-
readonly funnelCustomDomain:
|
|
37
|
-
readonly claimbeeWeeklyPriceId:
|
|
38
|
-
readonly claimbeeMonthlyPriceId:
|
|
39
|
-
readonly claimbeeYearlyPriceId:
|
|
4
|
+
readonly appDealsApiBaseUrl: "NEXT_PUBLIC_APP_DEALS_API_BASE_URL";
|
|
5
|
+
readonly funnelSdkPublishableKey: "NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY";
|
|
6
|
+
readonly funnelId: "NEXT_PUBLIC_FUNNEL_ID";
|
|
7
|
+
readonly projectId: "NEXT_PUBLIC_PROJECT_ID";
|
|
8
|
+
readonly funnelVersionId: "NEXT_PUBLIC_FUNNEL_VERSION_ID";
|
|
9
|
+
readonly posthogProjectApiKey: "NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY";
|
|
10
|
+
readonly supportEmail: "NEXT_PUBLIC_FUNNEL_SUPPORT_EMAIL";
|
|
11
|
+
readonly iosAppStoreUrl: "NEXT_PUBLIC_IOS_APP_STORE_URL";
|
|
12
|
+
readonly androidPlayStoreUrl: "NEXT_PUBLIC_ANDROID_PLAY_STORE_URL";
|
|
13
|
+
readonly appStoreId: "NEXT_PUBLIC_FUNNEL_APP_STORE_ID";
|
|
14
|
+
readonly googleStoreId: "NEXT_PUBLIC_FUNNEL_GOOGLE_STORE_ID";
|
|
15
|
+
readonly timezone: "NEXT_PUBLIC_FUNNEL_TIMEZONE";
|
|
16
|
+
readonly faviconUrl: "NEXT_PUBLIC_FUNNEL_FAVICON_URL";
|
|
17
|
+
readonly pageTitle: "NEXT_PUBLIC_FUNNEL_PAGE_TITLE";
|
|
18
|
+
readonly pageDescription: "NEXT_PUBLIC_FUNNEL_PAGE_DESCRIPTION";
|
|
19
|
+
readonly pagePreviewImageUrl: "NEXT_PUBLIC_FUNNEL_PAGE_PREVIEW_IMAGE_URL";
|
|
20
|
+
readonly companyName: "NEXT_PUBLIC_FUNNEL_COMPANY_NAME";
|
|
21
|
+
readonly companyAddress: "NEXT_PUBLIC_FUNNEL_COMPANY_ADDRESS";
|
|
22
|
+
readonly companyCountry: "NEXT_PUBLIC_FUNNEL_COMPANY_COUNTRY";
|
|
23
|
+
readonly privacyUrl: "NEXT_PUBLIC_FUNNEL_PRIVACY_URL";
|
|
24
|
+
readonly termsUrl: "NEXT_PUBLIC_FUNNEL_TERMS_URL";
|
|
25
|
+
readonly universalLink: "NEXT_PUBLIC_FUNNEL_UNIVERSAL_LINK";
|
|
26
|
+
readonly iosDeepLink: "NEXT_PUBLIC_FUNNEL_IOS_DEEP_LINK";
|
|
27
|
+
readonly androidDeepLink: "NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK";
|
|
28
|
+
readonly qrTarget: "NEXT_PUBLIC_FUNNEL_QR_TARGET";
|
|
29
|
+
readonly stripeEnabled: "STRIPE_ENABLED";
|
|
30
|
+
readonly stripeActiveMode: "NEXT_PUBLIC_STRIPE_ACTIVE_MODE";
|
|
31
|
+
readonly stripePublishableKey: "NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY";
|
|
32
|
+
readonly stripeTestPublishableKey: "NEXT_PUBLIC_STRIPE_TEST_PUBLISHABLE_KEY";
|
|
33
|
+
readonly stripeLivePublishableKey: "NEXT_PUBLIC_STRIPE_LIVE_PUBLISHABLE_KEY";
|
|
34
|
+
readonly metaPixelEnabled: "NEXT_PUBLIC_META_PIXEL_ENABLED";
|
|
35
|
+
readonly metaPixelId: "NEXT_PUBLIC_META_PIXEL_ID";
|
|
36
|
+
readonly funnelCustomDomain: "FUNNEL_CUSTOM_DOMAIN";
|
|
37
|
+
readonly claimbeeWeeklyPriceId: "NEXT_PUBLIC_CLAIMBEE_WEEKLY_PRICE_ID";
|
|
38
|
+
readonly claimbeeMonthlyPriceId: "NEXT_PUBLIC_CLAIMBEE_MONTHLY_PRICE_ID";
|
|
39
|
+
readonly claimbeeYearlyPriceId: "NEXT_PUBLIC_CLAIMBEE_YEARLY_PRICE_ID";
|
|
40
40
|
};
|
|
41
41
|
export declare const resolveRuntimeSdkApiBaseUrl: (value: string) => string;
|
|
42
42
|
export type RuntimeEnvConfig = {
|
|
@@ -12,49 +12,42 @@ export const isDevelopmentRuntime = () => {
|
|
|
12
12
|
return typeof nodeEnv === 'string' && nodeEnv !== 'production';
|
|
13
13
|
};
|
|
14
14
|
export const RUNTIME_ENV_KEYS = {
|
|
15
|
-
appDealsApiBaseUrl:
|
|
16
|
-
funnelSdkPublishableKey:
|
|
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
|
-
stripeLivePublishableKey: ['NEXT_PUBLIC_STRIPE_LIVE_PUBLISHABLE_KEY', 'STRIPE_LIVE_PUBLISHABLE_KEY'],
|
|
52
|
-
metaPixelEnabled: ['NEXT_PUBLIC_META_PIXEL_ENABLED', 'META_PIXEL_ENABLED'],
|
|
53
|
-
metaPixelId: ['NEXT_PUBLIC_META_PIXEL_ID', 'META_PIXEL_ID'],
|
|
54
|
-
funnelCustomDomain: ['FUNNEL_CUSTOM_DOMAIN'],
|
|
55
|
-
claimbeeWeeklyPriceId: ['NEXT_PUBLIC_CLAIMBEE_WEEKLY_PRICE_ID', 'CLAIMBEE_WEEKLY_PRICE_ID'],
|
|
56
|
-
claimbeeMonthlyPriceId: ['NEXT_PUBLIC_CLAIMBEE_MONTHLY_PRICE_ID', 'CLAIMBEE_MONTHLY_PRICE_ID'],
|
|
57
|
-
claimbeeYearlyPriceId: ['NEXT_PUBLIC_CLAIMBEE_YEARLY_PRICE_ID', 'CLAIMBEE_YEARLY_PRICE_ID'],
|
|
15
|
+
appDealsApiBaseUrl: 'NEXT_PUBLIC_APP_DEALS_API_BASE_URL',
|
|
16
|
+
funnelSdkPublishableKey: 'NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY',
|
|
17
|
+
funnelId: 'NEXT_PUBLIC_FUNNEL_ID',
|
|
18
|
+
projectId: 'NEXT_PUBLIC_PROJECT_ID',
|
|
19
|
+
funnelVersionId: 'NEXT_PUBLIC_FUNNEL_VERSION_ID',
|
|
20
|
+
posthogProjectApiKey: 'NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY',
|
|
21
|
+
supportEmail: 'NEXT_PUBLIC_FUNNEL_SUPPORT_EMAIL',
|
|
22
|
+
iosAppStoreUrl: 'NEXT_PUBLIC_IOS_APP_STORE_URL',
|
|
23
|
+
androidPlayStoreUrl: 'NEXT_PUBLIC_ANDROID_PLAY_STORE_URL',
|
|
24
|
+
appStoreId: 'NEXT_PUBLIC_FUNNEL_APP_STORE_ID',
|
|
25
|
+
googleStoreId: 'NEXT_PUBLIC_FUNNEL_GOOGLE_STORE_ID',
|
|
26
|
+
timezone: 'NEXT_PUBLIC_FUNNEL_TIMEZONE',
|
|
27
|
+
faviconUrl: 'NEXT_PUBLIC_FUNNEL_FAVICON_URL',
|
|
28
|
+
pageTitle: 'NEXT_PUBLIC_FUNNEL_PAGE_TITLE',
|
|
29
|
+
pageDescription: 'NEXT_PUBLIC_FUNNEL_PAGE_DESCRIPTION',
|
|
30
|
+
pagePreviewImageUrl: 'NEXT_PUBLIC_FUNNEL_PAGE_PREVIEW_IMAGE_URL',
|
|
31
|
+
companyName: 'NEXT_PUBLIC_FUNNEL_COMPANY_NAME',
|
|
32
|
+
companyAddress: 'NEXT_PUBLIC_FUNNEL_COMPANY_ADDRESS',
|
|
33
|
+
companyCountry: 'NEXT_PUBLIC_FUNNEL_COMPANY_COUNTRY',
|
|
34
|
+
privacyUrl: 'NEXT_PUBLIC_FUNNEL_PRIVACY_URL',
|
|
35
|
+
termsUrl: 'NEXT_PUBLIC_FUNNEL_TERMS_URL',
|
|
36
|
+
universalLink: 'NEXT_PUBLIC_FUNNEL_UNIVERSAL_LINK',
|
|
37
|
+
iosDeepLink: 'NEXT_PUBLIC_FUNNEL_IOS_DEEP_LINK',
|
|
38
|
+
androidDeepLink: 'NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK',
|
|
39
|
+
qrTarget: 'NEXT_PUBLIC_FUNNEL_QR_TARGET',
|
|
40
|
+
stripeEnabled: 'STRIPE_ENABLED',
|
|
41
|
+
stripeActiveMode: 'NEXT_PUBLIC_STRIPE_ACTIVE_MODE',
|
|
42
|
+
stripePublishableKey: 'NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY',
|
|
43
|
+
stripeTestPublishableKey: 'NEXT_PUBLIC_STRIPE_TEST_PUBLISHABLE_KEY',
|
|
44
|
+
stripeLivePublishableKey: 'NEXT_PUBLIC_STRIPE_LIVE_PUBLISHABLE_KEY',
|
|
45
|
+
metaPixelEnabled: 'NEXT_PUBLIC_META_PIXEL_ENABLED',
|
|
46
|
+
metaPixelId: 'NEXT_PUBLIC_META_PIXEL_ID',
|
|
47
|
+
funnelCustomDomain: 'FUNNEL_CUSTOM_DOMAIN',
|
|
48
|
+
claimbeeWeeklyPriceId: 'NEXT_PUBLIC_CLAIMBEE_WEEKLY_PRICE_ID',
|
|
49
|
+
claimbeeMonthlyPriceId: 'NEXT_PUBLIC_CLAIMBEE_MONTHLY_PRICE_ID',
|
|
50
|
+
claimbeeYearlyPriceId: 'NEXT_PUBLIC_CLAIMBEE_YEARLY_PRICE_ID',
|
|
58
51
|
};
|
|
59
52
|
const FUNNELSGROVE_CONTROL_PLANE_API_BASE_URL = 'https://api.funnelsgrove.com';
|
|
60
53
|
const FUNNELSGROVE_SDK_API_BASE_URL = 'https://sdk-api.funnelsgrove.com';
|
|
@@ -71,45 +64,8 @@ export const resolveRuntimeSdkApiBaseUrl = (value) => {
|
|
|
71
64
|
: normalized;
|
|
72
65
|
};
|
|
73
66
|
const RUNTIME_ENV_VALUES = {
|
|
74
|
-
APP_DEALS_API_BASE_URL: readRuntimeEnv(() => process.env.APP_DEALS_API_BASE_URL),
|
|
75
|
-
FUNNEL_ID: readRuntimeEnv(() => process.env.FUNNEL_ID),
|
|
76
|
-
FUNNEL_VERSION_ID: readRuntimeEnv(() => process.env.FUNNEL_VERSION_ID),
|
|
77
|
-
FUNNEL_SDK_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.FUNNEL_SDK_PUBLISHABLE_KEY),
|
|
78
|
-
PROJECT_ID: readRuntimeEnv(() => process.env.PROJECT_ID),
|
|
79
|
-
POSTHOG_PROJECT_API_KEY: readRuntimeEnv(() => process.env.POSTHOG_PROJECT_API_KEY),
|
|
80
|
-
FUNNEL_SUPPORT_EMAIL: readRuntimeEnv(() => process.env.FUNNEL_SUPPORT_EMAIL),
|
|
81
|
-
IOS_APP_STORE_URL: readRuntimeEnv(() => process.env.IOS_APP_STORE_URL),
|
|
82
|
-
ANDROID_PLAY_STORE_URL: readRuntimeEnv(() => process.env.ANDROID_PLAY_STORE_URL),
|
|
83
|
-
GOOGLE_PLAY_URL: readRuntimeEnv(() => process.env.GOOGLE_PLAY_URL),
|
|
84
|
-
FUNNEL_APP_STORE_ID: readRuntimeEnv(() => process.env.FUNNEL_APP_STORE_ID),
|
|
85
|
-
FUNNEL_GOOGLE_STORE_ID: readRuntimeEnv(() => process.env.FUNNEL_GOOGLE_STORE_ID),
|
|
86
|
-
FUNNEL_TIMEZONE: readRuntimeEnv(() => process.env.FUNNEL_TIMEZONE),
|
|
87
|
-
FUNNEL_FAVICON_URL: readRuntimeEnv(() => process.env.FUNNEL_FAVICON_URL),
|
|
88
|
-
FUNNEL_PAGE_TITLE: readRuntimeEnv(() => process.env.FUNNEL_PAGE_TITLE),
|
|
89
|
-
FUNNEL_PAGE_DESCRIPTION: readRuntimeEnv(() => process.env.FUNNEL_PAGE_DESCRIPTION),
|
|
90
|
-
FUNNEL_PAGE_PREVIEW_IMAGE_URL: readRuntimeEnv(() => process.env.FUNNEL_PAGE_PREVIEW_IMAGE_URL),
|
|
91
|
-
FUNNEL_COMPANY_NAME: readRuntimeEnv(() => process.env.FUNNEL_COMPANY_NAME),
|
|
92
|
-
FUNNEL_COMPANY_ADDRESS: readRuntimeEnv(() => process.env.FUNNEL_COMPANY_ADDRESS),
|
|
93
|
-
FUNNEL_COMPANY_COUNTRY: readRuntimeEnv(() => process.env.FUNNEL_COMPANY_COUNTRY),
|
|
94
|
-
FUNNEL_PRIVACY_URL: readRuntimeEnv(() => process.env.FUNNEL_PRIVACY_URL),
|
|
95
|
-
FUNNEL_TERMS_URL: readRuntimeEnv(() => process.env.FUNNEL_TERMS_URL),
|
|
96
|
-
WEB_LANDING_URL: readRuntimeEnv(() => process.env.WEB_LANDING_URL),
|
|
97
|
-
FUNNEL_UNIVERSAL_LINK: readRuntimeEnv(() => process.env.FUNNEL_UNIVERSAL_LINK),
|
|
98
|
-
APPSTORE_DEEPLINK_URL: readRuntimeEnv(() => process.env.APPSTORE_DEEPLINK_URL),
|
|
99
|
-
FUNNEL_IOS_DEEP_LINK: readRuntimeEnv(() => process.env.FUNNEL_IOS_DEEP_LINK),
|
|
100
|
-
FUNNEL_ANDROID_DEEP_LINK: readRuntimeEnv(() => process.env.FUNNEL_ANDROID_DEEP_LINK),
|
|
101
|
-
FUNNEL_QR_TARGET: readRuntimeEnv(() => process.env.FUNNEL_QR_TARGET),
|
|
102
67
|
STRIPE_ENABLED: readRuntimeEnv(() => process.env.STRIPE_ENABLED),
|
|
103
|
-
STRIPE_ACTIVE_MODE: readRuntimeEnv(() => process.env.STRIPE_ACTIVE_MODE),
|
|
104
|
-
STRIPE_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.STRIPE_PUBLISHABLE_KEY),
|
|
105
|
-
STRIPE_TEST_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.STRIPE_TEST_PUBLISHABLE_KEY),
|
|
106
|
-
STRIPE_LIVE_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.STRIPE_LIVE_PUBLISHABLE_KEY),
|
|
107
|
-
META_PIXEL_ENABLED: readRuntimeEnv(() => process.env.META_PIXEL_ENABLED),
|
|
108
|
-
META_PIXEL_ID: readRuntimeEnv(() => process.env.META_PIXEL_ID),
|
|
109
68
|
FUNNEL_CUSTOM_DOMAIN: readRuntimeEnv(() => process.env.FUNNEL_CUSTOM_DOMAIN),
|
|
110
|
-
CLAIMBEE_WEEKLY_PRICE_ID: readRuntimeEnv(() => process.env.CLAIMBEE_WEEKLY_PRICE_ID),
|
|
111
|
-
CLAIMBEE_MONTHLY_PRICE_ID: readRuntimeEnv(() => process.env.CLAIMBEE_MONTHLY_PRICE_ID),
|
|
112
|
-
CLAIMBEE_YEARLY_PRICE_ID: readRuntimeEnv(() => process.env.CLAIMBEE_YEARLY_PRICE_ID),
|
|
113
69
|
NEXT_PUBLIC_APP_DEALS_API_BASE_URL: readRuntimeEnv(() => process.env.NEXT_PUBLIC_APP_DEALS_API_BASE_URL),
|
|
114
70
|
NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY),
|
|
115
71
|
NEXT_PUBLIC_FUNNEL_ID: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_ID),
|
|
@@ -135,7 +91,6 @@ const RUNTIME_ENV_VALUES = {
|
|
|
135
91
|
NEXT_PUBLIC_FUNNEL_IOS_DEEP_LINK: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_IOS_DEEP_LINK),
|
|
136
92
|
NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK),
|
|
137
93
|
NEXT_PUBLIC_FUNNEL_QR_TARGET: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_QR_TARGET),
|
|
138
|
-
NEXT_PUBLIC_RAG_FUNNEL_ID: readRuntimeEnv(() => process.env.NEXT_PUBLIC_RAG_FUNNEL_ID),
|
|
139
94
|
NEXT_PUBLIC_STRIPE_ACTIVE_MODE: readRuntimeEnv(() => process.env.NEXT_PUBLIC_STRIPE_ACTIVE_MODE),
|
|
140
95
|
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY),
|
|
141
96
|
NEXT_PUBLIC_STRIPE_TEST_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.NEXT_PUBLIC_STRIPE_TEST_PUBLISHABLE_KEY),
|
|
@@ -152,16 +107,7 @@ const readKnownRuntimeEnvValue = (key) => {
|
|
|
152
107
|
}
|
|
153
108
|
return readRuntimeEnv(() => process.env[key]);
|
|
154
109
|
};
|
|
155
|
-
const
|
|
156
|
-
for (const key of keys) {
|
|
157
|
-
const value = readKnownRuntimeEnvValue(key);
|
|
158
|
-
if (typeof value === 'string') {
|
|
159
|
-
return value;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
return undefined;
|
|
163
|
-
};
|
|
164
|
-
export const runtimeEnvConfig = Object.freeze(Object.fromEntries(Object.entries(RUNTIME_ENV_KEYS).map(([key, aliases]) => [
|
|
110
|
+
export const runtimeEnvConfig = Object.freeze(Object.fromEntries(Object.entries(RUNTIME_ENV_KEYS).map(([key, envKey]) => [
|
|
165
111
|
key,
|
|
166
|
-
|
|
112
|
+
readKnownRuntimeEnvValue(envKey),
|
|
167
113
|
])));
|
|
@@ -36,42 +36,6 @@ export declare const PROJECT_ENV_STANDARD_KEYS: {
|
|
|
36
36
|
};
|
|
37
37
|
export type ProjectEnvStandardKey = keyof typeof PROJECT_ENV_STANDARD_KEYS;
|
|
38
38
|
export type ProjectEnvStandardValues = Record<ProjectEnvStandardKey, string>;
|
|
39
|
-
export declare const PROJECT_ENV_STANDARD_KEY_ALIASES: {
|
|
40
|
-
readonly funnelSdkPublishableKey: readonly ["NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY", "NEXT_PUBLIC_FUNNEL_SDK_PUBLISHABLE_KEY"];
|
|
41
|
-
readonly funnelId: readonly ["NEXT_PUBLIC_FUNNEL_ID"];
|
|
42
|
-
readonly funnelVersionId: readonly ["NEXT_PUBLIC_FUNNEL_VERSION_ID"];
|
|
43
|
-
readonly projectId: readonly ["NEXT_PUBLIC_PROJECT_ID"];
|
|
44
|
-
readonly posthogProjectApiKey: readonly ["NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY"];
|
|
45
|
-
readonly stripeEnabled: readonly ["STRIPE_ENABLED"];
|
|
46
|
-
readonly stripeActiveMode: readonly ["NEXT_PUBLIC_STRIPE_ACTIVE_MODE", "STRIPE_ACTIVE_MODE"];
|
|
47
|
-
readonly stripeTestPublishableKey: readonly ["NEXT_PUBLIC_STRIPE_TEST_PUBLISHABLE_KEY", "STRIPE_TEST_PUBLISHABLE_KEY"];
|
|
48
|
-
readonly stripeTestSecretKey: readonly ["STRIPE_TEST_SECRET_KEY"];
|
|
49
|
-
readonly stripeTestWebhookSecret: readonly ["STRIPE_TEST_WEBHOOK_SECRET"];
|
|
50
|
-
readonly stripeLivePublishableKey: readonly ["NEXT_PUBLIC_STRIPE_LIVE_PUBLISHABLE_KEY", "STRIPE_LIVE_PUBLISHABLE_KEY"];
|
|
51
|
-
readonly stripeLiveSecretKey: readonly ["STRIPE_LIVE_SECRET_KEY"];
|
|
52
|
-
readonly stripeLiveWebhookSecret: readonly ["STRIPE_LIVE_WEBHOOK_SECRET"];
|
|
53
|
-
readonly funnelIosDeepLink: readonly ["NEXT_PUBLIC_FUNNEL_IOS_DEEP_LINK", "APPSTORE_DEEPLINK_URL"];
|
|
54
|
-
readonly funnelAndroidPlayStoreUrl: readonly ["NEXT_PUBLIC_ANDROID_PLAY_STORE_URL", "GOOGLE_PLAY_URL"];
|
|
55
|
-
readonly funnelUniversalLink: readonly ["NEXT_PUBLIC_FUNNEL_UNIVERSAL_LINK", "WEB_LANDING_URL"];
|
|
56
|
-
readonly funnelAppStoreId: readonly ["NEXT_PUBLIC_FUNNEL_APP_STORE_ID"];
|
|
57
|
-
readonly funnelGoogleStoreId: readonly ["NEXT_PUBLIC_FUNNEL_GOOGLE_STORE_ID"];
|
|
58
|
-
readonly funnelTimezone: readonly ["NEXT_PUBLIC_FUNNEL_TIMEZONE"];
|
|
59
|
-
readonly funnelFaviconUrl: readonly ["NEXT_PUBLIC_FUNNEL_FAVICON_URL"];
|
|
60
|
-
readonly funnelPageTitle: readonly ["NEXT_PUBLIC_FUNNEL_PAGE_TITLE"];
|
|
61
|
-
readonly funnelPageDescription: readonly ["NEXT_PUBLIC_FUNNEL_PAGE_DESCRIPTION"];
|
|
62
|
-
readonly funnelPagePreviewImageUrl: readonly ["NEXT_PUBLIC_FUNNEL_PAGE_PREVIEW_IMAGE_URL"];
|
|
63
|
-
readonly funnelCompanyName: readonly ["NEXT_PUBLIC_FUNNEL_COMPANY_NAME"];
|
|
64
|
-
readonly funnelCompanyAddress: readonly ["NEXT_PUBLIC_FUNNEL_COMPANY_ADDRESS"];
|
|
65
|
-
readonly funnelCompanyCountry: readonly ["NEXT_PUBLIC_FUNNEL_COMPANY_COUNTRY"];
|
|
66
|
-
readonly funnelPrivacyUrl: readonly ["NEXT_PUBLIC_FUNNEL_PRIVACY_URL"];
|
|
67
|
-
readonly funnelTermsUrl: readonly ["NEXT_PUBLIC_FUNNEL_TERMS_URL"];
|
|
68
|
-
readonly funnelCustomDomain: readonly ["FUNNEL_CUSTOM_DOMAIN"];
|
|
69
|
-
readonly funnelSupportEmail: readonly ["NEXT_PUBLIC_FUNNEL_SUPPORT_EMAIL", "FUNNEL_SUPPORT_EMAIL"];
|
|
70
|
-
readonly metaPixelEnabled: readonly ["NEXT_PUBLIC_META_PIXEL_ENABLED", "META_PIXEL_ENABLED"];
|
|
71
|
-
readonly metaPixelId: readonly ["NEXT_PUBLIC_META_PIXEL_ID", "META_PIXEL_ID"];
|
|
72
|
-
readonly metaConversionsAccessToken: readonly ["META_CONVERSIONS_ACCESS_TOKEN"];
|
|
73
|
-
readonly metaTestEventCode: readonly ["META_TEST_EVENT_CODE"];
|
|
74
|
-
};
|
|
75
39
|
export type ProjectEnvVariableLike = {
|
|
76
40
|
key: string;
|
|
77
41
|
value: string | null | undefined;
|
|
@@ -84,10 +48,9 @@ export interface ParsedProjectEnvVariables {
|
|
|
84
48
|
envMap: Map<string, string>;
|
|
85
49
|
standard: ProjectEnvStandardValues;
|
|
86
50
|
}
|
|
87
|
-
export declare const canonicalizeProjectEnvKey: (key: string) => string;
|
|
88
51
|
export declare const normalizeProjectEnvValue: (value: string | null | undefined) => string;
|
|
89
52
|
export declare const buildProjectEnvMap: (variables: readonly ProjectEnvVariableLike[]) => Map<string, string>;
|
|
90
|
-
export declare const getProjectEnvValue: (envMap: ReadonlyMap<string, string>,
|
|
53
|
+
export declare const getProjectEnvValue: (envMap: ReadonlyMap<string, string>, key: string, options?: {
|
|
91
54
|
requireNonEmpty?: boolean;
|
|
92
55
|
}) => string;
|
|
93
56
|
export declare const parseProjectEnvVariables: (variables: readonly ProjectEnvVariableLike[]) => ParsedProjectEnvVariables;
|
|
@@ -34,69 +34,13 @@ export const PROJECT_ENV_STANDARD_KEYS = {
|
|
|
34
34
|
metaConversionsAccessToken: 'META_CONVERSIONS_ACCESS_TOKEN',
|
|
35
35
|
metaTestEventCode: 'META_TEST_EVENT_CODE',
|
|
36
36
|
};
|
|
37
|
-
export const PROJECT_ENV_STANDARD_KEY_ALIASES = {
|
|
38
|
-
funnelSdkPublishableKey: [
|
|
39
|
-
PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey,
|
|
40
|
-
'NEXT_PUBLIC_FUNNEL_SDK_PUBLISHABLE_KEY',
|
|
41
|
-
],
|
|
42
|
-
funnelId: [PROJECT_ENV_STANDARD_KEYS.funnelId],
|
|
43
|
-
funnelVersionId: [PROJECT_ENV_STANDARD_KEYS.funnelVersionId],
|
|
44
|
-
projectId: [PROJECT_ENV_STANDARD_KEYS.projectId],
|
|
45
|
-
posthogProjectApiKey: [PROJECT_ENV_STANDARD_KEYS.posthogProjectApiKey],
|
|
46
|
-
stripeEnabled: [PROJECT_ENV_STANDARD_KEYS.stripeEnabled],
|
|
47
|
-
stripeActiveMode: [PROJECT_ENV_STANDARD_KEYS.stripeActiveMode, 'STRIPE_ACTIVE_MODE'],
|
|
48
|
-
stripeTestPublishableKey: [PROJECT_ENV_STANDARD_KEYS.stripeTestPublishableKey, 'STRIPE_TEST_PUBLISHABLE_KEY'],
|
|
49
|
-
stripeTestSecretKey: [PROJECT_ENV_STANDARD_KEYS.stripeTestSecretKey],
|
|
50
|
-
stripeTestWebhookSecret: [PROJECT_ENV_STANDARD_KEYS.stripeTestWebhookSecret],
|
|
51
|
-
stripeLivePublishableKey: [PROJECT_ENV_STANDARD_KEYS.stripeLivePublishableKey, 'STRIPE_LIVE_PUBLISHABLE_KEY'],
|
|
52
|
-
stripeLiveSecretKey: [PROJECT_ENV_STANDARD_KEYS.stripeLiveSecretKey],
|
|
53
|
-
stripeLiveWebhookSecret: [PROJECT_ENV_STANDARD_KEYS.stripeLiveWebhookSecret],
|
|
54
|
-
funnelIosDeepLink: [PROJECT_ENV_STANDARD_KEYS.funnelIosDeepLink, 'APPSTORE_DEEPLINK_URL'],
|
|
55
|
-
funnelAndroidPlayStoreUrl: [PROJECT_ENV_STANDARD_KEYS.funnelAndroidPlayStoreUrl, 'GOOGLE_PLAY_URL'],
|
|
56
|
-
funnelUniversalLink: [PROJECT_ENV_STANDARD_KEYS.funnelUniversalLink, 'WEB_LANDING_URL'],
|
|
57
|
-
funnelAppStoreId: [PROJECT_ENV_STANDARD_KEYS.funnelAppStoreId],
|
|
58
|
-
funnelGoogleStoreId: [PROJECT_ENV_STANDARD_KEYS.funnelGoogleStoreId],
|
|
59
|
-
funnelTimezone: [PROJECT_ENV_STANDARD_KEYS.funnelTimezone],
|
|
60
|
-
funnelFaviconUrl: [PROJECT_ENV_STANDARD_KEYS.funnelFaviconUrl],
|
|
61
|
-
funnelPageTitle: [PROJECT_ENV_STANDARD_KEYS.funnelPageTitle],
|
|
62
|
-
funnelPageDescription: [PROJECT_ENV_STANDARD_KEYS.funnelPageDescription],
|
|
63
|
-
funnelPagePreviewImageUrl: [PROJECT_ENV_STANDARD_KEYS.funnelPagePreviewImageUrl],
|
|
64
|
-
funnelCompanyName: [PROJECT_ENV_STANDARD_KEYS.funnelCompanyName],
|
|
65
|
-
funnelCompanyAddress: [PROJECT_ENV_STANDARD_KEYS.funnelCompanyAddress],
|
|
66
|
-
funnelCompanyCountry: [PROJECT_ENV_STANDARD_KEYS.funnelCompanyCountry],
|
|
67
|
-
funnelPrivacyUrl: [PROJECT_ENV_STANDARD_KEYS.funnelPrivacyUrl],
|
|
68
|
-
funnelTermsUrl: [PROJECT_ENV_STANDARD_KEYS.funnelTermsUrl],
|
|
69
|
-
funnelCustomDomain: [PROJECT_ENV_STANDARD_KEYS.funnelCustomDomain],
|
|
70
|
-
funnelSupportEmail: [PROJECT_ENV_STANDARD_KEYS.funnelSupportEmail, 'FUNNEL_SUPPORT_EMAIL'],
|
|
71
|
-
metaPixelEnabled: [PROJECT_ENV_STANDARD_KEYS.metaPixelEnabled, 'META_PIXEL_ENABLED'],
|
|
72
|
-
metaPixelId: [PROJECT_ENV_STANDARD_KEYS.metaPixelId, 'META_PIXEL_ID'],
|
|
73
|
-
metaConversionsAccessToken: [PROJECT_ENV_STANDARD_KEYS.metaConversionsAccessToken],
|
|
74
|
-
metaTestEventCode: [PROJECT_ENV_STANDARD_KEYS.metaTestEventCode],
|
|
75
|
-
};
|
|
76
|
-
const LEGACY_TO_CANONICAL_KEY = new Map([
|
|
77
|
-
['NEXT_PUBLIC_FUNNEL_SDK_PUBLISHABLE_KEY', PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey],
|
|
78
|
-
['STRIPE_ACTIVE_MODE', PROJECT_ENV_STANDARD_KEYS.stripeActiveMode],
|
|
79
|
-
['STRIPE_TEST_PUBLISHABLE_KEY', PROJECT_ENV_STANDARD_KEYS.stripeTestPublishableKey],
|
|
80
|
-
['STRIPE_LIVE_PUBLISHABLE_KEY', PROJECT_ENV_STANDARD_KEYS.stripeLivePublishableKey],
|
|
81
|
-
['APPSTORE_DEEPLINK_URL', PROJECT_ENV_STANDARD_KEYS.funnelIosDeepLink],
|
|
82
|
-
['GOOGLE_PLAY_URL', PROJECT_ENV_STANDARD_KEYS.funnelAndroidPlayStoreUrl],
|
|
83
|
-
['WEB_LANDING_URL', PROJECT_ENV_STANDARD_KEYS.funnelUniversalLink],
|
|
84
|
-
['FUNNEL_SUPPORT_EMAIL', PROJECT_ENV_STANDARD_KEYS.funnelSupportEmail],
|
|
85
|
-
['META_PIXEL_ENABLED', PROJECT_ENV_STANDARD_KEYS.metaPixelEnabled],
|
|
86
|
-
['META_PIXEL_ID', PROJECT_ENV_STANDARD_KEYS.metaPixelId],
|
|
87
|
-
['NEXT_PUBLIC_PROJECT_ID', PROJECT_ENV_STANDARD_KEYS.projectId],
|
|
88
|
-
['NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY', PROJECT_ENV_STANDARD_KEYS.posthogProjectApiKey],
|
|
89
|
-
]);
|
|
90
|
-
export const canonicalizeProjectEnvKey = (key) => {
|
|
91
|
-
return LEGACY_TO_CANONICAL_KEY.get(key) || key;
|
|
92
|
-
};
|
|
93
37
|
export const normalizeProjectEnvValue = (value) => {
|
|
94
38
|
return (value === null || value === void 0 ? void 0 : value.trim()) || '';
|
|
95
39
|
};
|
|
96
40
|
export const buildProjectEnvMap = (variables) => {
|
|
97
41
|
const envMap = new Map();
|
|
98
42
|
for (const variable of variables) {
|
|
99
|
-
const key =
|
|
43
|
+
const key = variable.key.trim();
|
|
100
44
|
if (!key) {
|
|
101
45
|
continue;
|
|
102
46
|
}
|
|
@@ -108,57 +52,54 @@ export const buildProjectEnvMap = (variables) => {
|
|
|
108
52
|
}
|
|
109
53
|
return envMap;
|
|
110
54
|
};
|
|
111
|
-
export const getProjectEnvValue = (envMap,
|
|
55
|
+
export const getProjectEnvValue = (envMap, key, options) => {
|
|
112
56
|
const requireNonEmpty = Boolean(options === null || options === void 0 ? void 0 : options.requireNonEmpty);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
return value;
|
|
57
|
+
const normalizedKey = key.trim();
|
|
58
|
+
if (!normalizedKey || !envMap.has(normalizedKey)) {
|
|
59
|
+
return '';
|
|
60
|
+
}
|
|
61
|
+
const value = normalizeProjectEnvValue(envMap.get(normalizedKey));
|
|
62
|
+
if (requireNonEmpty && !value) {
|
|
63
|
+
return '';
|
|
123
64
|
}
|
|
124
|
-
return
|
|
65
|
+
return value;
|
|
125
66
|
};
|
|
126
67
|
const buildProjectStandardValues = (envMap) => {
|
|
127
68
|
return {
|
|
128
|
-
funnelSdkPublishableKey: getProjectEnvValue(envMap,
|
|
129
|
-
funnelId: getProjectEnvValue(envMap,
|
|
130
|
-
funnelVersionId: getProjectEnvValue(envMap,
|
|
131
|
-
projectId: getProjectEnvValue(envMap,
|
|
132
|
-
posthogProjectApiKey: getProjectEnvValue(envMap,
|
|
133
|
-
stripeEnabled: getProjectEnvValue(envMap,
|
|
134
|
-
stripeActiveMode: getProjectEnvValue(envMap,
|
|
135
|
-
stripeTestPublishableKey: getProjectEnvValue(envMap,
|
|
136
|
-
stripeTestSecretKey: getProjectEnvValue(envMap,
|
|
137
|
-
stripeTestWebhookSecret: getProjectEnvValue(envMap,
|
|
138
|
-
stripeLivePublishableKey: getProjectEnvValue(envMap,
|
|
139
|
-
stripeLiveSecretKey: getProjectEnvValue(envMap,
|
|
140
|
-
stripeLiveWebhookSecret: getProjectEnvValue(envMap,
|
|
141
|
-
funnelIosDeepLink: getProjectEnvValue(envMap,
|
|
142
|
-
funnelAndroidPlayStoreUrl: getProjectEnvValue(envMap,
|
|
143
|
-
funnelUniversalLink: getProjectEnvValue(envMap,
|
|
144
|
-
funnelAppStoreId: getProjectEnvValue(envMap,
|
|
145
|
-
funnelGoogleStoreId: getProjectEnvValue(envMap,
|
|
146
|
-
funnelTimezone: getProjectEnvValue(envMap,
|
|
147
|
-
funnelFaviconUrl: getProjectEnvValue(envMap,
|
|
148
|
-
funnelPageTitle: getProjectEnvValue(envMap,
|
|
149
|
-
funnelPageDescription: getProjectEnvValue(envMap,
|
|
150
|
-
funnelPagePreviewImageUrl: getProjectEnvValue(envMap,
|
|
151
|
-
funnelCompanyName: getProjectEnvValue(envMap,
|
|
152
|
-
funnelCompanyAddress: getProjectEnvValue(envMap,
|
|
153
|
-
funnelCompanyCountry: getProjectEnvValue(envMap,
|
|
154
|
-
funnelPrivacyUrl: getProjectEnvValue(envMap,
|
|
155
|
-
funnelTermsUrl: getProjectEnvValue(envMap,
|
|
156
|
-
funnelCustomDomain: getProjectEnvValue(envMap,
|
|
157
|
-
funnelSupportEmail: getProjectEnvValue(envMap,
|
|
158
|
-
metaPixelEnabled: getProjectEnvValue(envMap,
|
|
159
|
-
metaPixelId: getProjectEnvValue(envMap,
|
|
160
|
-
metaConversionsAccessToken: getProjectEnvValue(envMap,
|
|
161
|
-
metaTestEventCode: getProjectEnvValue(envMap,
|
|
69
|
+
funnelSdkPublishableKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey),
|
|
70
|
+
funnelId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelId),
|
|
71
|
+
funnelVersionId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelVersionId),
|
|
72
|
+
projectId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.projectId),
|
|
73
|
+
posthogProjectApiKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.posthogProjectApiKey),
|
|
74
|
+
stripeEnabled: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.stripeEnabled),
|
|
75
|
+
stripeActiveMode: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.stripeActiveMode),
|
|
76
|
+
stripeTestPublishableKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.stripeTestPublishableKey),
|
|
77
|
+
stripeTestSecretKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.stripeTestSecretKey),
|
|
78
|
+
stripeTestWebhookSecret: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.stripeTestWebhookSecret),
|
|
79
|
+
stripeLivePublishableKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.stripeLivePublishableKey),
|
|
80
|
+
stripeLiveSecretKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.stripeLiveSecretKey),
|
|
81
|
+
stripeLiveWebhookSecret: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.stripeLiveWebhookSecret),
|
|
82
|
+
funnelIosDeepLink: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelIosDeepLink),
|
|
83
|
+
funnelAndroidPlayStoreUrl: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelAndroidPlayStoreUrl),
|
|
84
|
+
funnelUniversalLink: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelUniversalLink),
|
|
85
|
+
funnelAppStoreId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelAppStoreId),
|
|
86
|
+
funnelGoogleStoreId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelGoogleStoreId),
|
|
87
|
+
funnelTimezone: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelTimezone),
|
|
88
|
+
funnelFaviconUrl: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelFaviconUrl),
|
|
89
|
+
funnelPageTitle: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelPageTitle),
|
|
90
|
+
funnelPageDescription: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelPageDescription),
|
|
91
|
+
funnelPagePreviewImageUrl: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelPagePreviewImageUrl),
|
|
92
|
+
funnelCompanyName: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelCompanyName),
|
|
93
|
+
funnelCompanyAddress: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelCompanyAddress),
|
|
94
|
+
funnelCompanyCountry: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelCompanyCountry),
|
|
95
|
+
funnelPrivacyUrl: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelPrivacyUrl),
|
|
96
|
+
funnelTermsUrl: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelTermsUrl),
|
|
97
|
+
funnelCustomDomain: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelCustomDomain),
|
|
98
|
+
funnelSupportEmail: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.funnelSupportEmail),
|
|
99
|
+
metaPixelEnabled: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.metaPixelEnabled),
|
|
100
|
+
metaPixelId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.metaPixelId),
|
|
101
|
+
metaConversionsAccessToken: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.metaConversionsAccessToken),
|
|
102
|
+
metaTestEventCode: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEYS.metaTestEventCode),
|
|
162
103
|
};
|
|
163
104
|
};
|
|
164
105
|
export const parseProjectEnvVariables = (variables) => {
|
|
@@ -171,7 +112,7 @@ export const parseProjectEnvVariables = (variables) => {
|
|
|
171
112
|
export const normalizeProjectEnvVariables = (variables) => {
|
|
172
113
|
const deduped = new Map();
|
|
173
114
|
for (const variable of variables) {
|
|
174
|
-
const key =
|
|
115
|
+
const key = variable.key.trim();
|
|
175
116
|
if (!key) {
|
|
176
117
|
continue;
|
|
177
118
|
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { isDevelopmentRuntime, readRuntimeEnv } from '../config/env.config.js';
|
|
2
2
|
export { isDevelopmentRuntime, readRuntimeEnv };
|
|
3
3
|
export declare const RUNTIME_PUBLIC_ENV_KEYS: {
|
|
4
|
-
readonly apiBaseUrl:
|
|
5
|
-
readonly funnelSdkPublishableKey:
|
|
6
|
-
readonly funnelId:
|
|
7
|
-
readonly funnelVersionId:
|
|
8
|
-
readonly projectId:
|
|
9
|
-
readonly posthogProjectApiKey:
|
|
10
|
-
readonly supportEmail:
|
|
11
|
-
readonly iosAppStoreUrl:
|
|
12
|
-
readonly androidPlayStoreUrl:
|
|
13
|
-
readonly appStoreId:
|
|
14
|
-
readonly googleStoreId:
|
|
15
|
-
readonly timezone:
|
|
16
|
-
readonly faviconUrl:
|
|
17
|
-
readonly pageTitle:
|
|
18
|
-
readonly pageDescription:
|
|
19
|
-
readonly pagePreviewImageUrl:
|
|
20
|
-
readonly companyName:
|
|
21
|
-
readonly companyAddress:
|
|
22
|
-
readonly companyCountry:
|
|
23
|
-
readonly privacyUrl:
|
|
24
|
-
readonly termsUrl:
|
|
25
|
-
readonly universalLink:
|
|
26
|
-
readonly iosDeepLink:
|
|
27
|
-
readonly androidDeepLink:
|
|
28
|
-
readonly qrTarget:
|
|
4
|
+
readonly apiBaseUrl: "NEXT_PUBLIC_APP_DEALS_API_BASE_URL";
|
|
5
|
+
readonly funnelSdkPublishableKey: "NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY";
|
|
6
|
+
readonly funnelId: "NEXT_PUBLIC_FUNNEL_ID";
|
|
7
|
+
readonly funnelVersionId: "NEXT_PUBLIC_FUNNEL_VERSION_ID";
|
|
8
|
+
readonly projectId: "NEXT_PUBLIC_PROJECT_ID";
|
|
9
|
+
readonly posthogProjectApiKey: "NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY";
|
|
10
|
+
readonly supportEmail: "NEXT_PUBLIC_FUNNEL_SUPPORT_EMAIL";
|
|
11
|
+
readonly iosAppStoreUrl: "NEXT_PUBLIC_IOS_APP_STORE_URL";
|
|
12
|
+
readonly androidPlayStoreUrl: "NEXT_PUBLIC_ANDROID_PLAY_STORE_URL";
|
|
13
|
+
readonly appStoreId: "NEXT_PUBLIC_FUNNEL_APP_STORE_ID";
|
|
14
|
+
readonly googleStoreId: "NEXT_PUBLIC_FUNNEL_GOOGLE_STORE_ID";
|
|
15
|
+
readonly timezone: "NEXT_PUBLIC_FUNNEL_TIMEZONE";
|
|
16
|
+
readonly faviconUrl: "NEXT_PUBLIC_FUNNEL_FAVICON_URL";
|
|
17
|
+
readonly pageTitle: "NEXT_PUBLIC_FUNNEL_PAGE_TITLE";
|
|
18
|
+
readonly pageDescription: "NEXT_PUBLIC_FUNNEL_PAGE_DESCRIPTION";
|
|
19
|
+
readonly pagePreviewImageUrl: "NEXT_PUBLIC_FUNNEL_PAGE_PREVIEW_IMAGE_URL";
|
|
20
|
+
readonly companyName: "NEXT_PUBLIC_FUNNEL_COMPANY_NAME";
|
|
21
|
+
readonly companyAddress: "NEXT_PUBLIC_FUNNEL_COMPANY_ADDRESS";
|
|
22
|
+
readonly companyCountry: "NEXT_PUBLIC_FUNNEL_COMPANY_COUNTRY";
|
|
23
|
+
readonly privacyUrl: "NEXT_PUBLIC_FUNNEL_PRIVACY_URL";
|
|
24
|
+
readonly termsUrl: "NEXT_PUBLIC_FUNNEL_TERMS_URL";
|
|
25
|
+
readonly universalLink: "NEXT_PUBLIC_FUNNEL_UNIVERSAL_LINK";
|
|
26
|
+
readonly iosDeepLink: "NEXT_PUBLIC_FUNNEL_IOS_DEEP_LINK";
|
|
27
|
+
readonly androidDeepLink: "NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK";
|
|
28
|
+
readonly qrTarget: "NEXT_PUBLIC_FUNNEL_QR_TARGET";
|
|
29
29
|
};
|
|
30
30
|
export type RuntimePublicConfig = {
|
|
31
31
|
apiBaseUrl: string;
|
|
@@ -86,71 +86,11 @@ export const RUNTIME_PUBLIC_DEFAULTS = {
|
|
|
86
86
|
supportEmail: DEFAULT_SUPPORT_EMAIL,
|
|
87
87
|
timezone: DEFAULT_TIMEZONE,
|
|
88
88
|
};
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
inputKeys: ['NEXT_PUBLIC_APP_DEALS_API_BASE_URL'],
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey,
|
|
96
|
-
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey],
|
|
97
|
-
},
|
|
98
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelId] },
|
|
99
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelVersionId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelVersionId] },
|
|
100
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.projectId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.projectId] },
|
|
101
|
-
{
|
|
102
|
-
outputKey: PROJECT_ENV_STANDARD_KEYS.posthogProjectApiKey,
|
|
103
|
-
inputKeys: [PROJECT_ENV_STANDARD_KEYS.posthogProjectApiKey],
|
|
104
|
-
},
|
|
105
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelSupportEmail, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelSupportEmail] },
|
|
106
|
-
{ outputKey: 'NEXT_PUBLIC_IOS_APP_STORE_URL', inputKeys: ['NEXT_PUBLIC_IOS_APP_STORE_URL'] },
|
|
107
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelAndroidPlayStoreUrl, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelAndroidPlayStoreUrl] },
|
|
108
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelAppStoreId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelAppStoreId] },
|
|
109
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelGoogleStoreId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelGoogleStoreId] },
|
|
110
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelTimezone, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelTimezone] },
|
|
111
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelFaviconUrl, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelFaviconUrl] },
|
|
112
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelPageTitle, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelPageTitle] },
|
|
113
|
-
{
|
|
114
|
-
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelPageDescription,
|
|
115
|
-
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelPageDescription],
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelPagePreviewImageUrl,
|
|
119
|
-
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelPagePreviewImageUrl],
|
|
120
|
-
},
|
|
121
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelCompanyName, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelCompanyName] },
|
|
122
|
-
{
|
|
123
|
-
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelCompanyAddress,
|
|
124
|
-
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelCompanyAddress],
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelCompanyCountry,
|
|
128
|
-
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelCompanyCountry],
|
|
129
|
-
},
|
|
130
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelPrivacyUrl, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelPrivacyUrl] },
|
|
131
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelTermsUrl, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelTermsUrl] },
|
|
132
|
-
{
|
|
133
|
-
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelUniversalLink,
|
|
134
|
-
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelUniversalLink],
|
|
135
|
-
},
|
|
136
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelIosDeepLink, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelIosDeepLink] },
|
|
137
|
-
{
|
|
138
|
-
outputKey: 'NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK',
|
|
139
|
-
inputKeys: ['NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK'],
|
|
140
|
-
},
|
|
141
|
-
{ outputKey: 'NEXT_PUBLIC_FUNNEL_QR_TARGET', inputKeys: ['NEXT_PUBLIC_FUNNEL_QR_TARGET'] },
|
|
142
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.metaPixelEnabled, inputKeys: [PROJECT_ENV_STANDARD_KEYS.metaPixelEnabled] },
|
|
143
|
-
{ outputKey: PROJECT_ENV_STANDARD_KEYS.metaPixelId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.metaPixelId] },
|
|
144
|
-
];
|
|
145
|
-
const readNonEmptyStaticExportEnv = (env, keys) => {
|
|
89
|
+
const isBrowserRuntimeEnvKey = (key) => key.startsWith('NEXT_PUBLIC_');
|
|
90
|
+
const NEXT_STATIC_EXPORT_RUNTIME_PUBLIC_KEYS = Array.from(new Set(Object.values(RUNTIME_ENV_KEYS).filter(isBrowserRuntimeEnvKey)));
|
|
91
|
+
const readNonEmptyStaticExportEnv = (env, key) => {
|
|
146
92
|
var _a;
|
|
147
|
-
|
|
148
|
-
const value = ((_a = env[key]) === null || _a === void 0 ? void 0 : _a.trim()) || '';
|
|
149
|
-
if (value) {
|
|
150
|
-
return value;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
return null;
|
|
93
|
+
return ((_a = env[key]) === null || _a === void 0 ? void 0 : _a.trim()) || null;
|
|
154
94
|
};
|
|
155
95
|
export const resolveNextStaticExportRuntimeEnv = (env) => {
|
|
156
96
|
var _a, _b;
|
|
@@ -158,14 +98,12 @@ export const resolveNextStaticExportRuntimeEnv = (env) => {
|
|
|
158
98
|
return {};
|
|
159
99
|
}
|
|
160
100
|
if ((_a = env.NEXT_PUBLIC_PROJECT_ID) === null || _a === void 0 ? void 0 : _a.trim()) {
|
|
161
|
-
return Object.fromEntries(NEXT_STATIC_EXPORT_RUNTIME_PUBLIC_KEYS.flatMap((
|
|
162
|
-
const value = readNonEmptyStaticExportEnv(env,
|
|
163
|
-
return value ? [[
|
|
101
|
+
return Object.fromEntries(NEXT_STATIC_EXPORT_RUNTIME_PUBLIC_KEYS.flatMap((key) => {
|
|
102
|
+
const value = readNonEmptyStaticExportEnv(env, key);
|
|
103
|
+
return value ? [[key, value]] : [];
|
|
164
104
|
}));
|
|
165
105
|
}
|
|
166
|
-
const publishableKey = readNonEmptyStaticExportEnv(env,
|
|
167
|
-
PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey,
|
|
168
|
-
]);
|
|
106
|
+
const publishableKey = readNonEmptyStaticExportEnv(env, PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey);
|
|
169
107
|
return Object.assign(Object.assign({}, (publishableKey ? { [PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey]: publishableKey } : {})), { [PROJECT_ENV_STANDARD_KEYS.funnelId]: ((_b = env.NEXT_PUBLIC_RAG_FUNNEL_ID) === null || _b === void 0 ? void 0 : _b.trim()) || '' });
|
|
170
108
|
};
|
|
171
109
|
export const isSeedFunnelSdkPublishableKey = (value) => {
|