@funnelsgrove/runtime 0.1.7 → 0.1.9
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/config/env.config.d.ts +2 -2
- package/dist/config/env.config.js +0 -8
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/services/project-env.d.ts +94 -0
- package/dist/services/project-env.js +184 -0
- package/dist/services/public-env.d.ts +2 -2
- package/dist/services/public-env.js +33 -35
- package/package.json +6 -1
|
@@ -2,8 +2,8 @@ export declare const readRuntimeEnv: (reader: () => string | undefined) => strin
|
|
|
2
2
|
export declare const isDevelopmentRuntime: () => boolean;
|
|
3
3
|
export declare const RUNTIME_ENV_KEYS: {
|
|
4
4
|
readonly appDealsApiBaseUrl: readonly ["NEXT_PUBLIC_APP_DEALS_API_BASE_URL", "APP_DEALS_API_BASE_URL"];
|
|
5
|
-
readonly funnelSdkPublishableKey: readonly ["
|
|
6
|
-
readonly funnelId: readonly ["NEXT_PUBLIC_FUNNEL_ID", "FUNNEL_ID", "NEXT_PUBLIC_RAG_FUNNEL_ID"
|
|
5
|
+
readonly funnelSdkPublishableKey: readonly ["NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY", "FUNNEL_SDK_PUBLISHABLE_KEY"];
|
|
6
|
+
readonly funnelId: readonly ["NEXT_PUBLIC_FUNNEL_ID", "FUNNEL_ID", "NEXT_PUBLIC_RAG_FUNNEL_ID"];
|
|
7
7
|
readonly projectId: readonly ["NEXT_PUBLIC_PROJECT_ID", "PROJECT_ID"];
|
|
8
8
|
readonly funnelVersionId: readonly ["NEXT_PUBLIC_FUNNEL_VERSION_ID", "FUNNEL_VERSION_ID"];
|
|
9
9
|
readonly posthogProjectApiKey: readonly ["NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY", "POSTHOG_PROJECT_API_KEY"];
|
|
@@ -14,7 +14,6 @@ export const isDevelopmentRuntime = () => {
|
|
|
14
14
|
export const RUNTIME_ENV_KEYS = {
|
|
15
15
|
appDealsApiBaseUrl: ['NEXT_PUBLIC_APP_DEALS_API_BASE_URL', 'APP_DEALS_API_BASE_URL'],
|
|
16
16
|
funnelSdkPublishableKey: [
|
|
17
|
-
'NEXT_PUBLIC_FUNNEL_SDK_PUBLISHABLE_KEY',
|
|
18
17
|
'NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY',
|
|
19
18
|
'FUNNEL_SDK_PUBLISHABLE_KEY',
|
|
20
19
|
],
|
|
@@ -22,9 +21,6 @@ export const RUNTIME_ENV_KEYS = {
|
|
|
22
21
|
'NEXT_PUBLIC_FUNNEL_ID',
|
|
23
22
|
'FUNNEL_ID',
|
|
24
23
|
'NEXT_PUBLIC_RAG_FUNNEL_ID',
|
|
25
|
-
'RAG_FUNNEL_ID',
|
|
26
|
-
'NEXT_PUBLIC_PREVIEW_TEST_FUNNEL_ID',
|
|
27
|
-
'PREVIEW_TEST_FUNNEL_ID',
|
|
28
24
|
],
|
|
29
25
|
projectId: ['NEXT_PUBLIC_PROJECT_ID', 'PROJECT_ID'],
|
|
30
26
|
funnelVersionId: ['NEXT_PUBLIC_FUNNEL_VERSION_ID', 'FUNNEL_VERSION_ID'],
|
|
@@ -114,10 +110,7 @@ const RUNTIME_ENV_VALUES = {
|
|
|
114
110
|
CLAIMBEE_WEEKLY_PRICE_ID: readRuntimeEnv(() => process.env.CLAIMBEE_WEEKLY_PRICE_ID),
|
|
115
111
|
CLAIMBEE_MONTHLY_PRICE_ID: readRuntimeEnv(() => process.env.CLAIMBEE_MONTHLY_PRICE_ID),
|
|
116
112
|
CLAIMBEE_YEARLY_PRICE_ID: readRuntimeEnv(() => process.env.CLAIMBEE_YEARLY_PRICE_ID),
|
|
117
|
-
RAG_FUNNEL_ID: readRuntimeEnv(() => process.env.RAG_FUNNEL_ID),
|
|
118
|
-
PREVIEW_TEST_FUNNEL_ID: readRuntimeEnv(() => process.env.PREVIEW_TEST_FUNNEL_ID),
|
|
119
113
|
NEXT_PUBLIC_APP_DEALS_API_BASE_URL: readRuntimeEnv(() => process.env.NEXT_PUBLIC_APP_DEALS_API_BASE_URL),
|
|
120
|
-
NEXT_PUBLIC_FUNNEL_SDK_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_SDK_PUBLISHABLE_KEY),
|
|
121
114
|
NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY),
|
|
122
115
|
NEXT_PUBLIC_FUNNEL_ID: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_ID),
|
|
123
116
|
NEXT_PUBLIC_FUNNEL_VERSION_ID: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_VERSION_ID),
|
|
@@ -143,7 +136,6 @@ const RUNTIME_ENV_VALUES = {
|
|
|
143
136
|
NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK),
|
|
144
137
|
NEXT_PUBLIC_FUNNEL_QR_TARGET: readRuntimeEnv(() => process.env.NEXT_PUBLIC_FUNNEL_QR_TARGET),
|
|
145
138
|
NEXT_PUBLIC_RAG_FUNNEL_ID: readRuntimeEnv(() => process.env.NEXT_PUBLIC_RAG_FUNNEL_ID),
|
|
146
|
-
NEXT_PUBLIC_PREVIEW_TEST_FUNNEL_ID: readRuntimeEnv(() => process.env.NEXT_PUBLIC_PREVIEW_TEST_FUNNEL_ID),
|
|
147
139
|
NEXT_PUBLIC_STRIPE_ACTIVE_MODE: readRuntimeEnv(() => process.env.NEXT_PUBLIC_STRIPE_ACTIVE_MODE),
|
|
148
140
|
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY),
|
|
149
141
|
NEXT_PUBLIC_STRIPE_TEST_PUBLISHABLE_KEY: readRuntimeEnv(() => process.env.NEXT_PUBLIC_STRIPE_TEST_PUBLISHABLE_KEY),
|
package/dist/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export * from './services/api.service.js';
|
|
|
22
22
|
export * from './services/funnel-state.service.js';
|
|
23
23
|
export * from './services/logger.js';
|
|
24
24
|
export * from './services/preview-frame.service.js';
|
|
25
|
+
export * from './services/project-env.js';
|
|
25
26
|
export * from './services/public-env.js';
|
|
26
27
|
export * from './services/runtime-api.config.js';
|
|
27
28
|
export * from './services/runtime-mode.service.js';
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export * from './services/api.service.js';
|
|
|
22
22
|
export * from './services/funnel-state.service.js';
|
|
23
23
|
export * from './services/logger.js';
|
|
24
24
|
export * from './services/preview-frame.service.js';
|
|
25
|
+
export * from './services/project-env.js';
|
|
25
26
|
export * from './services/public-env.js';
|
|
26
27
|
export * from './services/runtime-api.config.js';
|
|
27
28
|
export * from './services/runtime-mode.service.js';
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export declare const PROJECT_ENV_STANDARD_KEYS: {
|
|
2
|
+
readonly funnelSdkPublishableKey: "NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY";
|
|
3
|
+
readonly funnelId: "NEXT_PUBLIC_FUNNEL_ID";
|
|
4
|
+
readonly funnelVersionId: "NEXT_PUBLIC_FUNNEL_VERSION_ID";
|
|
5
|
+
readonly projectId: "NEXT_PUBLIC_PROJECT_ID";
|
|
6
|
+
readonly posthogProjectApiKey: "NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY";
|
|
7
|
+
readonly stripeEnabled: "STRIPE_ENABLED";
|
|
8
|
+
readonly stripeActiveMode: "NEXT_PUBLIC_STRIPE_ACTIVE_MODE";
|
|
9
|
+
readonly stripeTestPublishableKey: "NEXT_PUBLIC_STRIPE_TEST_PUBLISHABLE_KEY";
|
|
10
|
+
readonly stripeTestSecretKey: "STRIPE_TEST_SECRET_KEY";
|
|
11
|
+
readonly stripeTestWebhookSecret: "STRIPE_TEST_WEBHOOK_SECRET";
|
|
12
|
+
readonly stripeLivePublishableKey: "NEXT_PUBLIC_STRIPE_LIVE_PUBLISHABLE_KEY";
|
|
13
|
+
readonly stripeLiveSecretKey: "STRIPE_LIVE_SECRET_KEY";
|
|
14
|
+
readonly stripeLiveWebhookSecret: "STRIPE_LIVE_WEBHOOK_SECRET";
|
|
15
|
+
readonly funnelIosDeepLink: "NEXT_PUBLIC_FUNNEL_IOS_DEEP_LINK";
|
|
16
|
+
readonly funnelAndroidPlayStoreUrl: "NEXT_PUBLIC_ANDROID_PLAY_STORE_URL";
|
|
17
|
+
readonly funnelUniversalLink: "NEXT_PUBLIC_FUNNEL_UNIVERSAL_LINK";
|
|
18
|
+
readonly funnelAppStoreId: "NEXT_PUBLIC_FUNNEL_APP_STORE_ID";
|
|
19
|
+
readonly funnelGoogleStoreId: "NEXT_PUBLIC_FUNNEL_GOOGLE_STORE_ID";
|
|
20
|
+
readonly funnelTimezone: "NEXT_PUBLIC_FUNNEL_TIMEZONE";
|
|
21
|
+
readonly funnelFaviconUrl: "NEXT_PUBLIC_FUNNEL_FAVICON_URL";
|
|
22
|
+
readonly funnelPageTitle: "NEXT_PUBLIC_FUNNEL_PAGE_TITLE";
|
|
23
|
+
readonly funnelPageDescription: "NEXT_PUBLIC_FUNNEL_PAGE_DESCRIPTION";
|
|
24
|
+
readonly funnelPagePreviewImageUrl: "NEXT_PUBLIC_FUNNEL_PAGE_PREVIEW_IMAGE_URL";
|
|
25
|
+
readonly funnelCompanyName: "NEXT_PUBLIC_FUNNEL_COMPANY_NAME";
|
|
26
|
+
readonly funnelCompanyAddress: "NEXT_PUBLIC_FUNNEL_COMPANY_ADDRESS";
|
|
27
|
+
readonly funnelCompanyCountry: "NEXT_PUBLIC_FUNNEL_COMPANY_COUNTRY";
|
|
28
|
+
readonly funnelPrivacyUrl: "NEXT_PUBLIC_FUNNEL_PRIVACY_URL";
|
|
29
|
+
readonly funnelTermsUrl: "NEXT_PUBLIC_FUNNEL_TERMS_URL";
|
|
30
|
+
readonly funnelCustomDomain: "FUNNEL_CUSTOM_DOMAIN";
|
|
31
|
+
readonly funnelSupportEmail: "NEXT_PUBLIC_FUNNEL_SUPPORT_EMAIL";
|
|
32
|
+
readonly metaPixelEnabled: "NEXT_PUBLIC_META_PIXEL_ENABLED";
|
|
33
|
+
readonly metaPixelId: "NEXT_PUBLIC_META_PIXEL_ID";
|
|
34
|
+
readonly metaConversionsAccessToken: "META_CONVERSIONS_ACCESS_TOKEN";
|
|
35
|
+
readonly metaTestEventCode: "META_TEST_EVENT_CODE";
|
|
36
|
+
};
|
|
37
|
+
export type ProjectEnvStandardKey = keyof typeof PROJECT_ENV_STANDARD_KEYS;
|
|
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
|
+
export type ProjectEnvVariableLike = {
|
|
76
|
+
key: string;
|
|
77
|
+
value: string | null | undefined;
|
|
78
|
+
};
|
|
79
|
+
export type ProjectEnvVariableInputLike = {
|
|
80
|
+
key: string;
|
|
81
|
+
value: string;
|
|
82
|
+
};
|
|
83
|
+
export interface ParsedProjectEnvVariables {
|
|
84
|
+
envMap: Map<string, string>;
|
|
85
|
+
standard: ProjectEnvStandardValues;
|
|
86
|
+
}
|
|
87
|
+
export declare const canonicalizeProjectEnvKey: (key: string) => string;
|
|
88
|
+
export declare const normalizeProjectEnvValue: (value: string | null | undefined) => string;
|
|
89
|
+
export declare const buildProjectEnvMap: (variables: readonly ProjectEnvVariableLike[]) => Map<string, string>;
|
|
90
|
+
export declare const getProjectEnvValue: (envMap: ReadonlyMap<string, string>, keys: readonly string[], options?: {
|
|
91
|
+
requireNonEmpty?: boolean;
|
|
92
|
+
}) => string;
|
|
93
|
+
export declare const parseProjectEnvVariables: (variables: readonly ProjectEnvVariableLike[]) => ParsedProjectEnvVariables;
|
|
94
|
+
export declare const normalizeProjectEnvVariables: (variables: readonly ProjectEnvVariableInputLike[]) => ProjectEnvVariableInputLike[];
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
export const PROJECT_ENV_STANDARD_KEYS = {
|
|
2
|
+
funnelSdkPublishableKey: 'NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY',
|
|
3
|
+
funnelId: 'NEXT_PUBLIC_FUNNEL_ID',
|
|
4
|
+
funnelVersionId: 'NEXT_PUBLIC_FUNNEL_VERSION_ID',
|
|
5
|
+
projectId: 'NEXT_PUBLIC_PROJECT_ID',
|
|
6
|
+
posthogProjectApiKey: 'NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY',
|
|
7
|
+
stripeEnabled: 'STRIPE_ENABLED',
|
|
8
|
+
stripeActiveMode: 'NEXT_PUBLIC_STRIPE_ACTIVE_MODE',
|
|
9
|
+
stripeTestPublishableKey: 'NEXT_PUBLIC_STRIPE_TEST_PUBLISHABLE_KEY',
|
|
10
|
+
stripeTestSecretKey: 'STRIPE_TEST_SECRET_KEY',
|
|
11
|
+
stripeTestWebhookSecret: 'STRIPE_TEST_WEBHOOK_SECRET',
|
|
12
|
+
stripeLivePublishableKey: 'NEXT_PUBLIC_STRIPE_LIVE_PUBLISHABLE_KEY',
|
|
13
|
+
stripeLiveSecretKey: 'STRIPE_LIVE_SECRET_KEY',
|
|
14
|
+
stripeLiveWebhookSecret: 'STRIPE_LIVE_WEBHOOK_SECRET',
|
|
15
|
+
funnelIosDeepLink: 'NEXT_PUBLIC_FUNNEL_IOS_DEEP_LINK',
|
|
16
|
+
funnelAndroidPlayStoreUrl: 'NEXT_PUBLIC_ANDROID_PLAY_STORE_URL',
|
|
17
|
+
funnelUniversalLink: 'NEXT_PUBLIC_FUNNEL_UNIVERSAL_LINK',
|
|
18
|
+
funnelAppStoreId: 'NEXT_PUBLIC_FUNNEL_APP_STORE_ID',
|
|
19
|
+
funnelGoogleStoreId: 'NEXT_PUBLIC_FUNNEL_GOOGLE_STORE_ID',
|
|
20
|
+
funnelTimezone: 'NEXT_PUBLIC_FUNNEL_TIMEZONE',
|
|
21
|
+
funnelFaviconUrl: 'NEXT_PUBLIC_FUNNEL_FAVICON_URL',
|
|
22
|
+
funnelPageTitle: 'NEXT_PUBLIC_FUNNEL_PAGE_TITLE',
|
|
23
|
+
funnelPageDescription: 'NEXT_PUBLIC_FUNNEL_PAGE_DESCRIPTION',
|
|
24
|
+
funnelPagePreviewImageUrl: 'NEXT_PUBLIC_FUNNEL_PAGE_PREVIEW_IMAGE_URL',
|
|
25
|
+
funnelCompanyName: 'NEXT_PUBLIC_FUNNEL_COMPANY_NAME',
|
|
26
|
+
funnelCompanyAddress: 'NEXT_PUBLIC_FUNNEL_COMPANY_ADDRESS',
|
|
27
|
+
funnelCompanyCountry: 'NEXT_PUBLIC_FUNNEL_COMPANY_COUNTRY',
|
|
28
|
+
funnelPrivacyUrl: 'NEXT_PUBLIC_FUNNEL_PRIVACY_URL',
|
|
29
|
+
funnelTermsUrl: 'NEXT_PUBLIC_FUNNEL_TERMS_URL',
|
|
30
|
+
funnelCustomDomain: 'FUNNEL_CUSTOM_DOMAIN',
|
|
31
|
+
funnelSupportEmail: 'NEXT_PUBLIC_FUNNEL_SUPPORT_EMAIL',
|
|
32
|
+
metaPixelEnabled: 'NEXT_PUBLIC_META_PIXEL_ENABLED',
|
|
33
|
+
metaPixelId: 'NEXT_PUBLIC_META_PIXEL_ID',
|
|
34
|
+
metaConversionsAccessToken: 'META_CONVERSIONS_ACCESS_TOKEN',
|
|
35
|
+
metaTestEventCode: 'META_TEST_EVENT_CODE',
|
|
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
|
+
export const normalizeProjectEnvValue = (value) => {
|
|
94
|
+
return (value === null || value === void 0 ? void 0 : value.trim()) || '';
|
|
95
|
+
};
|
|
96
|
+
export const buildProjectEnvMap = (variables) => {
|
|
97
|
+
const envMap = new Map();
|
|
98
|
+
for (const variable of variables) {
|
|
99
|
+
const key = canonicalizeProjectEnvKey(variable.key.trim());
|
|
100
|
+
if (!key) {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
const nextValue = normalizeProjectEnvValue(variable.value);
|
|
104
|
+
const existingValue = envMap.get(key);
|
|
105
|
+
if (existingValue === undefined || (!existingValue && nextValue)) {
|
|
106
|
+
envMap.set(key, nextValue);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return envMap;
|
|
110
|
+
};
|
|
111
|
+
export const getProjectEnvValue = (envMap, keys, options) => {
|
|
112
|
+
const requireNonEmpty = Boolean(options === null || options === void 0 ? void 0 : options.requireNonEmpty);
|
|
113
|
+
for (const key of keys) {
|
|
114
|
+
const canonicalKey = canonicalizeProjectEnvKey(key.trim());
|
|
115
|
+
if (!canonicalKey || !envMap.has(canonicalKey)) {
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const value = normalizeProjectEnvValue(envMap.get(canonicalKey));
|
|
119
|
+
if (requireNonEmpty && !value) {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
return value;
|
|
123
|
+
}
|
|
124
|
+
return '';
|
|
125
|
+
};
|
|
126
|
+
const buildProjectStandardValues = (envMap) => {
|
|
127
|
+
return {
|
|
128
|
+
funnelSdkPublishableKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelSdkPublishableKey),
|
|
129
|
+
funnelId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelId),
|
|
130
|
+
funnelVersionId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelVersionId),
|
|
131
|
+
projectId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.projectId),
|
|
132
|
+
posthogProjectApiKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.posthogProjectApiKey),
|
|
133
|
+
stripeEnabled: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.stripeEnabled),
|
|
134
|
+
stripeActiveMode: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.stripeActiveMode),
|
|
135
|
+
stripeTestPublishableKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.stripeTestPublishableKey),
|
|
136
|
+
stripeTestSecretKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.stripeTestSecretKey),
|
|
137
|
+
stripeTestWebhookSecret: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.stripeTestWebhookSecret),
|
|
138
|
+
stripeLivePublishableKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.stripeLivePublishableKey),
|
|
139
|
+
stripeLiveSecretKey: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.stripeLiveSecretKey),
|
|
140
|
+
stripeLiveWebhookSecret: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.stripeLiveWebhookSecret),
|
|
141
|
+
funnelIosDeepLink: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelIosDeepLink),
|
|
142
|
+
funnelAndroidPlayStoreUrl: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelAndroidPlayStoreUrl),
|
|
143
|
+
funnelUniversalLink: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelUniversalLink),
|
|
144
|
+
funnelAppStoreId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelAppStoreId),
|
|
145
|
+
funnelGoogleStoreId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelGoogleStoreId),
|
|
146
|
+
funnelTimezone: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelTimezone),
|
|
147
|
+
funnelFaviconUrl: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelFaviconUrl),
|
|
148
|
+
funnelPageTitle: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelPageTitle),
|
|
149
|
+
funnelPageDescription: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelPageDescription),
|
|
150
|
+
funnelPagePreviewImageUrl: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelPagePreviewImageUrl),
|
|
151
|
+
funnelCompanyName: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelCompanyName),
|
|
152
|
+
funnelCompanyAddress: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelCompanyAddress),
|
|
153
|
+
funnelCompanyCountry: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelCompanyCountry),
|
|
154
|
+
funnelPrivacyUrl: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelPrivacyUrl),
|
|
155
|
+
funnelTermsUrl: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelTermsUrl),
|
|
156
|
+
funnelCustomDomain: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelCustomDomain),
|
|
157
|
+
funnelSupportEmail: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.funnelSupportEmail),
|
|
158
|
+
metaPixelEnabled: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.metaPixelEnabled),
|
|
159
|
+
metaPixelId: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.metaPixelId),
|
|
160
|
+
metaConversionsAccessToken: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.metaConversionsAccessToken),
|
|
161
|
+
metaTestEventCode: getProjectEnvValue(envMap, PROJECT_ENV_STANDARD_KEY_ALIASES.metaTestEventCode),
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
export const parseProjectEnvVariables = (variables) => {
|
|
165
|
+
const envMap = buildProjectEnvMap(variables);
|
|
166
|
+
return {
|
|
167
|
+
envMap,
|
|
168
|
+
standard: buildProjectStandardValues(envMap),
|
|
169
|
+
};
|
|
170
|
+
};
|
|
171
|
+
export const normalizeProjectEnvVariables = (variables) => {
|
|
172
|
+
const deduped = new Map();
|
|
173
|
+
for (const variable of variables) {
|
|
174
|
+
const key = canonicalizeProjectEnvKey(variable.key.trim());
|
|
175
|
+
if (!key) {
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
deduped.set(key, variable.value);
|
|
179
|
+
}
|
|
180
|
+
return Array.from(deduped.entries()).map(([key, value]) => ({
|
|
181
|
+
key,
|
|
182
|
+
value,
|
|
183
|
+
}));
|
|
184
|
+
};
|
|
@@ -2,8 +2,8 @@ import { isDevelopmentRuntime, readRuntimeEnv } from '../config/env.config.js';
|
|
|
2
2
|
export { isDevelopmentRuntime, readRuntimeEnv };
|
|
3
3
|
export declare const RUNTIME_PUBLIC_ENV_KEYS: {
|
|
4
4
|
readonly apiBaseUrl: readonly ["NEXT_PUBLIC_APP_DEALS_API_BASE_URL", "APP_DEALS_API_BASE_URL"];
|
|
5
|
-
readonly funnelSdkPublishableKey: readonly ["
|
|
6
|
-
readonly funnelId: readonly ["NEXT_PUBLIC_FUNNEL_ID", "FUNNEL_ID", "NEXT_PUBLIC_RAG_FUNNEL_ID"
|
|
5
|
+
readonly funnelSdkPublishableKey: readonly ["NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY", "FUNNEL_SDK_PUBLISHABLE_KEY"];
|
|
6
|
+
readonly funnelId: readonly ["NEXT_PUBLIC_FUNNEL_ID", "FUNNEL_ID", "NEXT_PUBLIC_RAG_FUNNEL_ID"];
|
|
7
7
|
readonly funnelVersionId: readonly ["NEXT_PUBLIC_FUNNEL_VERSION_ID", "FUNNEL_VERSION_ID"];
|
|
8
8
|
readonly projectId: readonly ["NEXT_PUBLIC_PROJECT_ID", "PROJECT_ID"];
|
|
9
9
|
readonly posthogProjectApiKey: readonly ["NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY", "POSTHOG_PROJECT_API_KEY"];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RUNTIME_ENV_KEYS, isDevelopmentRuntime, readRuntimeEnv, runtimeEnvConfig, } from '../config/env.config.js';
|
|
2
|
+
import { PROJECT_ENV_STANDARD_KEYS } from './project-env.js';
|
|
2
3
|
export { isDevelopmentRuntime, readRuntimeEnv };
|
|
3
4
|
const DEFAULT_API_BASE_URL = 'https://sdk-api.funnelsgrove.com';
|
|
4
5
|
const DEFAULT_FUNNEL_SDK_PUBLISHABLE_KEY = 'pk_test_app_deals_seed_public';
|
|
@@ -95,58 +96,55 @@ const NEXT_STATIC_EXPORT_RUNTIME_PUBLIC_KEYS = [
|
|
|
95
96
|
inputKeys: ['NEXT_PUBLIC_APP_DEALS_API_BASE_URL'],
|
|
96
97
|
},
|
|
97
98
|
{
|
|
98
|
-
outputKey:
|
|
99
|
-
inputKeys: [
|
|
100
|
-
'NEXT_PUBLIC_FUNNEL_PUBLISHABLE_KEY',
|
|
101
|
-
'NEXT_PUBLIC_FUNNEL_SDK_PUBLISHABLE_KEY',
|
|
102
|
-
],
|
|
99
|
+
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey,
|
|
100
|
+
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey],
|
|
103
101
|
},
|
|
104
|
-
{ outputKey:
|
|
105
|
-
{ outputKey:
|
|
106
|
-
{ outputKey:
|
|
102
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelId] },
|
|
103
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelVersionId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelVersionId] },
|
|
104
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.projectId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.projectId] },
|
|
107
105
|
{
|
|
108
|
-
outputKey:
|
|
109
|
-
inputKeys: [
|
|
106
|
+
outputKey: PROJECT_ENV_STANDARD_KEYS.posthogProjectApiKey,
|
|
107
|
+
inputKeys: [PROJECT_ENV_STANDARD_KEYS.posthogProjectApiKey],
|
|
110
108
|
},
|
|
111
|
-
{ outputKey:
|
|
109
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelSupportEmail, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelSupportEmail] },
|
|
112
110
|
{ outputKey: 'NEXT_PUBLIC_IOS_APP_STORE_URL', inputKeys: ['NEXT_PUBLIC_IOS_APP_STORE_URL'] },
|
|
113
|
-
{ outputKey:
|
|
114
|
-
{ outputKey:
|
|
115
|
-
{ outputKey:
|
|
116
|
-
{ outputKey:
|
|
117
|
-
{ outputKey:
|
|
118
|
-
{ outputKey:
|
|
111
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelAndroidPlayStoreUrl, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelAndroidPlayStoreUrl] },
|
|
112
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelAppStoreId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelAppStoreId] },
|
|
113
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelGoogleStoreId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelGoogleStoreId] },
|
|
114
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelTimezone, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelTimezone] },
|
|
115
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelFaviconUrl, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelFaviconUrl] },
|
|
116
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelPageTitle, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelPageTitle] },
|
|
119
117
|
{
|
|
120
|
-
outputKey:
|
|
121
|
-
inputKeys: [
|
|
118
|
+
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelPageDescription,
|
|
119
|
+
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelPageDescription],
|
|
122
120
|
},
|
|
123
121
|
{
|
|
124
|
-
outputKey:
|
|
125
|
-
inputKeys: [
|
|
122
|
+
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelPagePreviewImageUrl,
|
|
123
|
+
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelPagePreviewImageUrl],
|
|
126
124
|
},
|
|
127
|
-
{ outputKey:
|
|
125
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelCompanyName, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelCompanyName] },
|
|
128
126
|
{
|
|
129
|
-
outputKey:
|
|
130
|
-
inputKeys: [
|
|
127
|
+
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelCompanyAddress,
|
|
128
|
+
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelCompanyAddress],
|
|
131
129
|
},
|
|
132
130
|
{
|
|
133
|
-
outputKey:
|
|
134
|
-
inputKeys: [
|
|
131
|
+
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelCompanyCountry,
|
|
132
|
+
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelCompanyCountry],
|
|
135
133
|
},
|
|
136
|
-
{ outputKey:
|
|
137
|
-
{ outputKey:
|
|
134
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelPrivacyUrl, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelPrivacyUrl] },
|
|
135
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelTermsUrl, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelTermsUrl] },
|
|
138
136
|
{
|
|
139
|
-
outputKey:
|
|
140
|
-
inputKeys: [
|
|
137
|
+
outputKey: PROJECT_ENV_STANDARD_KEYS.funnelUniversalLink,
|
|
138
|
+
inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelUniversalLink],
|
|
141
139
|
},
|
|
142
|
-
{ outputKey:
|
|
140
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.funnelIosDeepLink, inputKeys: [PROJECT_ENV_STANDARD_KEYS.funnelIosDeepLink] },
|
|
143
141
|
{
|
|
144
142
|
outputKey: 'NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK',
|
|
145
143
|
inputKeys: ['NEXT_PUBLIC_FUNNEL_ANDROID_DEEP_LINK'],
|
|
146
144
|
},
|
|
147
145
|
{ outputKey: 'NEXT_PUBLIC_FUNNEL_QR_TARGET', inputKeys: ['NEXT_PUBLIC_FUNNEL_QR_TARGET'] },
|
|
148
|
-
{ outputKey:
|
|
149
|
-
{ outputKey:
|
|
146
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.metaPixelEnabled, inputKeys: [PROJECT_ENV_STANDARD_KEYS.metaPixelEnabled] },
|
|
147
|
+
{ outputKey: PROJECT_ENV_STANDARD_KEYS.metaPixelId, inputKeys: [PROJECT_ENV_STANDARD_KEYS.metaPixelId] },
|
|
150
148
|
];
|
|
151
149
|
const readNonEmptyStaticExportEnv = (env, keys) => {
|
|
152
150
|
var _a;
|
|
@@ -170,8 +168,8 @@ export const resolveNextStaticExportRuntimeEnv = (env) => {
|
|
|
170
168
|
}));
|
|
171
169
|
}
|
|
172
170
|
return {
|
|
173
|
-
|
|
174
|
-
|
|
171
|
+
[PROJECT_ENV_STANDARD_KEYS.funnelSdkPublishableKey]: DEFAULT_PREVIEW_PAYMENT_PUBLISHABLE_KEY,
|
|
172
|
+
[PROJECT_ENV_STANDARD_KEYS.funnelId]: ((_b = env.NEXT_PUBLIC_RAG_FUNNEL_ID) === null || _b === void 0 ? void 0 : _b.trim()) || '',
|
|
175
173
|
};
|
|
176
174
|
};
|
|
177
175
|
export const isSeedFunnelSdkPublishableKey = (value) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@funnelsgrove/runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
"types": "./dist/config/env.config.d.ts",
|
|
17
17
|
"import": "./dist/config/env.config.js",
|
|
18
18
|
"default": "./dist/config/env.config.js"
|
|
19
|
+
},
|
|
20
|
+
"./services/project-env": {
|
|
21
|
+
"types": "./dist/services/project-env.d.ts",
|
|
22
|
+
"import": "./dist/services/project-env.js",
|
|
23
|
+
"default": "./dist/services/project-env.js"
|
|
19
24
|
}
|
|
20
25
|
},
|
|
21
26
|
"files": [
|