@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.route, req });
15
+ const { searchParamsWithDefaults, hash, combinedParams, url } = getParameters({ route: component?.route, req });
16
16
  const formulaContext = {
17
17
  data: {
18
18
  Location: {
19
- page: component.page ?? '',
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': getDataUrlParameters({ route: component.route, req }),
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: getThemeInitialValue(component, formulaContext, env),
41
+ Theme: component
42
+ ? getThemeInitialValue(component, formulaContext, env)
43
+ : null,
40
44
  };
41
- formulaContext.data.Variables = mapValues(component.variables ?? {}, ({ initialValue }) => {
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: getThemeInitialValue(component, formulaContext, env),
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":"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"}
1
+ {"version":3,"file":"formulaContext.js","sourceRoot":"","sources":["../../src/rendering/formulaContext.ts"],"names":[],"mappings":"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"}
@@ -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 | XanoApiService | CustomApiService;
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.89",
25
- "@nordcraft/std-lib": "1.0.89",
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.89"
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.route, req },
42
+ { route: component?.route, req },
43
43
  )
44
44
  const formulaContext: FormulaContext & { env: ToddleServerEnv } = {
45
45
  data: {
46
46
  Location: {
47
- page: component.page ?? '',
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': getDataUrlParameters({ route: component.route, req }),
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: getThemeInitialValue(component, formulaContext, env),
69
+ Theme: component
70
+ ? getThemeInitialValue(component, formulaContext, env)
71
+ : null,
68
72
  }
69
73
  formulaContext.data.Variables = mapValues(
70
- component.variables ?? {},
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: getThemeInitialValue(component, formulaContext, env),
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 = SupabaseApiService | XanoApiService | CustomApiService
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,