@nordcraft/ssr 1.0.89 → 1.0.91
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.
|
@@ -7,7 +7,7 @@ import type { InstalledPackage, ProjectFiles } from '../ssr.types';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare const getPageFormulaContext: ({ branchName, component, req, logErrors, files, }: {
|
|
9
9
|
branchName: string;
|
|
10
|
-
component: PageComponent;
|
|
10
|
+
component: PageComponent | undefined;
|
|
11
11
|
req: Request;
|
|
12
12
|
logErrors: boolean;
|
|
13
13
|
files: ProjectFiles;
|
|
@@ -12,11 +12,11 @@ import { escapeSearchParameters } from './request';
|
|
|
12
12
|
*/
|
|
13
13
|
export const getPageFormulaContext = ({ branchName, component, req, logErrors, files, }) => {
|
|
14
14
|
const env = serverEnv({ req, branchName, logErrors });
|
|
15
|
-
const { searchParamsWithDefaults, hash, combinedParams, url } = getParameters({ route: component
|
|
15
|
+
const { searchParamsWithDefaults, hash, combinedParams, url } = getParameters({ route: component?.route, req });
|
|
16
16
|
const formulaContext = {
|
|
17
17
|
data: {
|
|
18
18
|
Location: {
|
|
19
|
-
page: component
|
|
19
|
+
page: component?.page ?? '',
|
|
20
20
|
path: url.pathname,
|
|
21
21
|
params: combinedParams,
|
|
22
22
|
query: searchParamsWithDefaults,
|
|
@@ -26,7 +26,9 @@ export const getPageFormulaContext = ({ branchName, component, req, logErrors, f
|
|
|
26
26
|
// Path and query parameters are referenced in a flat structure in formulas
|
|
27
27
|
// hence, we need to merge them. We prefer path parameters over query parameters
|
|
28
28
|
// in case of naming collisions
|
|
29
|
-
'URL parameters':
|
|
29
|
+
'URL parameters': component?.route
|
|
30
|
+
? getDataUrlParameters({ route: component.route, req })
|
|
31
|
+
: {},
|
|
30
32
|
Apis: {},
|
|
31
33
|
},
|
|
32
34
|
component,
|
|
@@ -36,14 +38,18 @@ export const getPageFormulaContext = ({ branchName, component, req, logErrors, f
|
|
|
36
38
|
toddle: getServerToddleObject(files),
|
|
37
39
|
};
|
|
38
40
|
formulaContext.data.Page = {
|
|
39
|
-
Theme:
|
|
41
|
+
Theme: component
|
|
42
|
+
? getThemeInitialValue(component, formulaContext, env)
|
|
43
|
+
: null,
|
|
40
44
|
};
|
|
41
|
-
formulaContext.data.Variables = mapValues(component
|
|
45
|
+
formulaContext.data.Variables = mapValues(component?.variables ?? {}, ({ initialValue }) => {
|
|
42
46
|
return applyFormula(initialValue, formulaContext);
|
|
43
47
|
});
|
|
44
48
|
// Re-apply theme after variables have been initialized to ensure it has access to any variables if needed
|
|
45
49
|
formulaContext.data.Page = {
|
|
46
|
-
Theme:
|
|
50
|
+
Theme: component
|
|
51
|
+
? getThemeInitialValue(component, formulaContext, env)
|
|
52
|
+
: null,
|
|
47
53
|
};
|
|
48
54
|
return formulaContext;
|
|
49
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formulaContext.js","sourceRoot":"","sources":["../../src/rendering/formulaContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AASrE,OAAO,EACL,YAAY,EACZ,eAAe,GAChB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAC3D,OAAO,KAAK,WAAW,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,UAAU,EACV,SAAS,EACT,GAAG,EACH,SAAS,EACT,KAAK,GAON,EAA6C,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAA;IACrD,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,aAAa,CAC3E,EAAE,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"formulaContext.js","sourceRoot":"","sources":["../../src/rendering/formulaContext.ts"],"names":[],"mappings":"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"}
|
package/dist/ssr.types.d.ts
CHANGED
|
@@ -66,10 +66,19 @@ interface SupabaseApiService extends BaseApiService {
|
|
|
66
66
|
interface XanoApiService extends BaseApiService {
|
|
67
67
|
type: 'xano';
|
|
68
68
|
}
|
|
69
|
+
interface DatoCmsApiService extends BaseApiService {
|
|
70
|
+
type: 'datocms';
|
|
71
|
+
}
|
|
72
|
+
interface UmbracoApiService extends BaseApiService {
|
|
73
|
+
type: 'umbraco';
|
|
74
|
+
}
|
|
75
|
+
interface ContentfulApiService extends BaseApiService {
|
|
76
|
+
type: 'contentful';
|
|
77
|
+
}
|
|
69
78
|
interface CustomApiService extends BaseApiService {
|
|
70
79
|
type: 'custom';
|
|
71
80
|
}
|
|
72
|
-
export type ApiService = SupabaseApiService |
|
|
81
|
+
export type ApiService = ContentfulApiService | CustomApiService | DatoCmsApiService | SupabaseApiService | UmbracoApiService | XanoApiService;
|
|
73
82
|
export type InstalledPackage = Pick<ProjectFiles, 'components' | 'actions' | 'formulas'> & {
|
|
74
83
|
manifest: {
|
|
75
84
|
name: string;
|
package/package.json
CHANGED
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
"main": "dist/index.js",
|
|
22
22
|
"types": "dist/index.d.ts",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@nordcraft/core": "1.0.
|
|
25
|
-
"@nordcraft/std-lib": "1.0.
|
|
24
|
+
"@nordcraft/core": "1.0.91",
|
|
25
|
+
"@nordcraft/std-lib": "1.0.91",
|
|
26
26
|
"fast-deep-equal": "3.1.3",
|
|
27
27
|
"cookie": "1.0.2",
|
|
28
28
|
"xss": "1.0.15"
|
|
29
29
|
},
|
|
30
|
-
"version": "1.0.
|
|
30
|
+
"version": "1.0.91"
|
|
31
31
|
}
|
|
@@ -32,19 +32,19 @@ export const getPageFormulaContext = ({
|
|
|
32
32
|
files,
|
|
33
33
|
}: {
|
|
34
34
|
branchName: string
|
|
35
|
-
component: PageComponent
|
|
35
|
+
component: PageComponent | undefined
|
|
36
36
|
req: Request
|
|
37
37
|
logErrors: boolean
|
|
38
38
|
files: ProjectFiles
|
|
39
39
|
}): FormulaContext & { env: ToddleServerEnv } => {
|
|
40
40
|
const env = serverEnv({ req, branchName, logErrors })
|
|
41
41
|
const { searchParamsWithDefaults, hash, combinedParams, url } = getParameters(
|
|
42
|
-
{ route: component
|
|
42
|
+
{ route: component?.route, req },
|
|
43
43
|
)
|
|
44
44
|
const formulaContext: FormulaContext & { env: ToddleServerEnv } = {
|
|
45
45
|
data: {
|
|
46
46
|
Location: {
|
|
47
|
-
page: component
|
|
47
|
+
page: component?.page ?? '',
|
|
48
48
|
path: url.pathname,
|
|
49
49
|
params: combinedParams,
|
|
50
50
|
query: searchParamsWithDefaults,
|
|
@@ -54,7 +54,9 @@ export const getPageFormulaContext = ({
|
|
|
54
54
|
// Path and query parameters are referenced in a flat structure in formulas
|
|
55
55
|
// hence, we need to merge them. We prefer path parameters over query parameters
|
|
56
56
|
// in case of naming collisions
|
|
57
|
-
'URL parameters':
|
|
57
|
+
'URL parameters': component?.route
|
|
58
|
+
? getDataUrlParameters({ route: component.route, req })
|
|
59
|
+
: {},
|
|
58
60
|
Apis: {} as Record<string, any>,
|
|
59
61
|
},
|
|
60
62
|
component,
|
|
@@ -64,17 +66,21 @@ export const getPageFormulaContext = ({
|
|
|
64
66
|
toddle: getServerToddleObject(files),
|
|
65
67
|
}
|
|
66
68
|
formulaContext.data.Page = {
|
|
67
|
-
Theme:
|
|
69
|
+
Theme: component
|
|
70
|
+
? getThemeInitialValue(component, formulaContext, env)
|
|
71
|
+
: null,
|
|
68
72
|
}
|
|
69
73
|
formulaContext.data.Variables = mapValues(
|
|
70
|
-
component
|
|
74
|
+
component?.variables ?? {},
|
|
71
75
|
({ initialValue }) => {
|
|
72
76
|
return applyFormula(initialValue, formulaContext)
|
|
73
77
|
},
|
|
74
78
|
)
|
|
75
79
|
// Re-apply theme after variables have been initialized to ensure it has access to any variables if needed
|
|
76
80
|
formulaContext.data.Page = {
|
|
77
|
-
Theme:
|
|
81
|
+
Theme: component
|
|
82
|
+
? getThemeInitialValue(component, formulaContext, env)
|
|
83
|
+
: null,
|
|
78
84
|
}
|
|
79
85
|
return formulaContext
|
|
80
86
|
}
|
package/src/ssr.types.ts
CHANGED
|
@@ -71,11 +71,29 @@ interface XanoApiService extends BaseApiService {
|
|
|
71
71
|
type: 'xano'
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
interface DatoCmsApiService extends BaseApiService {
|
|
75
|
+
type: 'datocms'
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
interface UmbracoApiService extends BaseApiService {
|
|
79
|
+
type: 'umbraco'
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
interface ContentfulApiService extends BaseApiService {
|
|
83
|
+
type: 'contentful'
|
|
84
|
+
}
|
|
85
|
+
|
|
74
86
|
interface CustomApiService extends BaseApiService {
|
|
75
87
|
type: 'custom'
|
|
76
88
|
}
|
|
77
89
|
|
|
78
|
-
export type ApiService =
|
|
90
|
+
export type ApiService =
|
|
91
|
+
| ContentfulApiService
|
|
92
|
+
| CustomApiService
|
|
93
|
+
| DatoCmsApiService
|
|
94
|
+
| SupabaseApiService
|
|
95
|
+
| UmbracoApiService
|
|
96
|
+
| XanoApiService
|
|
79
97
|
|
|
80
98
|
export type InstalledPackage = Pick<
|
|
81
99
|
ProjectFiles,
|