@nordcraft/ssr 1.0.50 → 1.0.52

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.
@@ -8,7 +8,7 @@ export type HeadItemType = `${HeadTagTypes}:${Text}` | 'title';
8
8
  /**
9
9
  * Returns all head items for a given page
10
10
  */
11
- export declare const getHeadItems: ({ cacheBuster, context, cssBasePath, page, resetStylesheetPath, pageStylesheetPath, files, project, theme, url, customProperties, }: {
11
+ export declare const getHeadItems: ({ cacheBuster, context, cssBasePath, page, resetStylesheetPath, pageStylesheetPath, files, project, themes, url, customProperties, }: {
12
12
  cacheBuster?: string;
13
13
  context: FormulaContext;
14
14
  cssBasePath?: string;
@@ -17,7 +17,7 @@ export declare const getHeadItems: ({ cacheBuster, context, cssBasePath, page, r
17
17
  resetStylesheetPath?: string;
18
18
  pageStylesheetPath?: string;
19
19
  project: ToddleProject;
20
- theme: OldTheme | Theme;
20
+ themes: Record<string, OldTheme | Theme>;
21
21
  url: URL;
22
22
  customProperties: ReadonlyArray<string>;
23
23
  }) => Map<HeadItemType, string>;
@@ -14,7 +14,7 @@ import { defaultSpeculationRules } from './speculation';
14
14
  /**
15
15
  * Returns all head items for a given page
16
16
  */
17
- export const getHeadItems = ({ cacheBuster, context, cssBasePath = '/.toddle/fonts/stylesheet/css2', page, resetStylesheetPath = '/_static/reset.css', pageStylesheetPath = `/.toddle/stylesheet/${page.name}.css`, files, project, theme, url, customProperties, }) => {
17
+ export const getHeadItems = ({ cacheBuster, context, cssBasePath = '/.toddle/fonts/stylesheet/css2', page, resetStylesheetPath = '/_static/reset.css', pageStylesheetPath = `/.toddle/stylesheet/${page.name}.css`, files, project, themes, url, customProperties, }) => {
18
18
  const pageInfo = page.route?.info;
19
19
  const title = getPageTitle({
20
20
  component: page,
@@ -26,33 +26,28 @@ export const getHeadItems = ({ cacheBuster, context, cssBasePath = '/.toddle/fon
26
26
  context,
27
27
  defaultDescription: project.description,
28
28
  });
29
- const preloadFonts = [];
30
- if ('breakpoints' in theme === false) {
31
- // We include all fonts even though it's not necessary.
32
- // While this is not the ideal long-term solution, it does have a few benefits:
33
- // - It's easier to cache the font stylesheet across pages
34
- // - It simplifies style variable setup in theme.ts
35
- // - It ensures the same behaviour as in our editor
36
- // - It increases the chance that there's a font to be used by our
37
- // reset stylesheet (font-family: var(--font-sans))
38
- // For most apps, the overhead of including all fonts is negligible and
39
- // it doesn't add a lot of bytes to our stylesheet.
40
- // Add link to stylesheet that includes the different font-faces
41
- if (theme.fonts.length > 0) {
29
+ const preloadFonts = new Set();
30
+ Object.values(themes).forEach((theme) => {
31
+ if ('breakpoints' in theme === false && theme.fonts.length > 0) {
32
+ // We include all fonts even though it's not necessary.
33
+ // While this is not the ideal long-term solution, it does have a few benefits:
34
+ // - It's easier to cache the font stylesheet across pages
35
+ // - It simplifies style variable setup in theme.ts
36
+ // - It ensures the same behaviour as in our editor
37
+ // - It increases the chance that there's a font to be used by our
38
+ // reset stylesheet (font-family: var(--font-sans))
39
+ // For most apps, the overhead of including all fonts is negligible and
40
+ // it doesn't add a lot of bytes to our stylesheet.
41
+ // Add link to stylesheet that includes the different font-faces
42
42
  const fontStylesheetUrl = getFontCssUrl({
43
43
  fonts: theme.fonts,
44
44
  basePath: cssBasePath,
45
45
  });
46
46
  if (fontStylesheetUrl) {
47
- preloadFonts.push([
48
- // Later we'll support multiple font loading strategies aside from swap
49
- 'link:font:swap',
50
- // See https://fonts.google.com/selection/embed
51
- `<link href="${escapeAttrValue(fontStylesheetUrl.swap.toString())}" rel="stylesheet" />`,
52
- ]);
47
+ preloadFonts.add(`<link href="${escapeAttrValue(fontStylesheetUrl.swap.toString())}" rel="stylesheet" />`);
53
48
  }
54
49
  }
55
- }
50
+ });
56
51
  const charset = getCharset({ pageInfo, formulaContext: context });
57
52
  const descriptionItems = [];
58
53
  if (typeof description === 'string') {
@@ -79,7 +74,10 @@ export const getHeadItems = ({ cacheBuster, context, cssBasePath = '/.toddle/fon
79
74
  'style:variables',
80
75
  `<style id="${CUSTOM_PROPERTIES_STYLESHEET_ID}">${customProperties.join('\n')}</style>`,
81
76
  ],
82
- ...preloadFonts,
77
+ ...Array.from(preloadFonts).map((fontLink) => [
78
+ 'link:font:swap',
79
+ fontLink,
80
+ ]),
83
81
  // Initialize default head items (meta + links)
84
82
  // these might be overwritten by custom tags later
85
83
  ['meta:charset', `<meta charset="${escapeAttrValue(charset)}" />`],
@@ -174,7 +172,9 @@ export const getHeadItems = ({ cacheBuster, context, cssBasePath = '/.toddle/fon
174
172
  }
175
173
  // Handle custom meta tags last to allow overriding defaults
176
174
  if (pageInfo?.meta) {
177
- Object.entries(pageInfo.meta).forEach(([id, metaEntry]) => {
175
+ easySort(Object.entries(pageInfo.meta),
176
+ // Sort by index if it exists
177
+ ([_, meta]) => meta.index ?? Infinity).forEach(([id, metaEntry]) => {
178
178
  if (Object.values(HeadTagTypes).includes(metaEntry.tag)) {
179
179
  // If the tag has a name or property attribute, we use that as the key
180
180
  // to avoid duplicates and to ensure sorting of tags later
@@ -1 +1 @@
1
- {"version":3,"file":"head.js","sourceRoot":"","sources":["../../src/rendering/head.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"head.js","sourceRoot":"","sources":["../../src/rendering/head.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
1
  import { isLegacyApi } from '@nordcraft/core/dist/api/api';
2
+ import { isFormula } from '@nordcraft/core/dist/formula/formula';
2
3
  import { mapObject, omitKeys } from '@nordcraft/core/dist/utils/collections';
4
+ import { isDefined } from '@nordcraft/core/dist/utils/util';
3
5
  export const removeTestData = (component) => ({
4
6
  ...component,
5
7
  attributes: mapObject(component.attributes, ([key, value]) => [
6
8
  key,
7
9
  omitKeys(value, ['testValue']),
8
10
  ]),
11
+ ...(component.events
12
+ ? {
13
+ events: component.events.map((event) => omitKeys(event, ['dummyEvent'])),
14
+ }
15
+ : undefined),
9
16
  nodes: mapObject(component.nodes, ([key, value]) => {
10
17
  if (value.type === 'element') {
11
18
  const updatedNode = {
@@ -52,7 +59,7 @@ export const removeTestData = (component) => ({
52
59
  workflows: mapObject(component.workflows, ([key, value]) => [
53
60
  key,
54
61
  {
55
- ...value,
62
+ ...omitKeys(value, ['testValue']),
56
63
  // We should find all actions (also nested actions and non-workflow actions) and remove
57
64
  // the description from them. This is a start though
58
65
  actions: value.actions.map(removeActionTestData),
@@ -70,30 +77,208 @@ export const removeTestData = (component) => ({
70
77
  // request is available on the api object itself
71
78
  isLegacyApi(api) ? api : omitKeys(api, ['service', 'servicePath']),
72
79
  ]),
73
- onLoad: component.onLoad
80
+ ...(component.onLoad
74
81
  ? {
75
- ...component.onLoad,
76
- actions: component.onLoad.actions.map(removeActionTestData),
82
+ onLoad: {
83
+ ...component.onLoad,
84
+ actions: component.onLoad.actions.map(removeActionTestData),
85
+ },
77
86
  }
78
- : undefined,
79
- onAttributeChange: component.onAttributeChange
87
+ : undefined),
88
+ ...(component.onAttributeChange
80
89
  ? {
81
- ...component.onAttributeChange,
82
- actions: component.onAttributeChange.actions.map(removeActionTestData),
90
+ onAttributeChange: {
91
+ ...component.onAttributeChange,
92
+ actions: component.onAttributeChange.actions.map(removeActionTestData),
93
+ },
83
94
  }
84
- : undefined,
95
+ : undefined),
85
96
  });
86
97
  const removeActionTestData = (action) => {
87
- if (action.type === 'Custom') {
88
- return {
89
- // The 'group' property was used for categorizing actions and should
90
- // not have been persisted in projects. But since it's there (for some actions)
91
- // we should remove it
92
- ...omitKeys(action, ['description', 'group', 'label']),
93
- arguments: action.arguments?.map(removeActionArgumentTestData),
94
- };
98
+ if (!isDefined(action)) {
99
+ return action;
100
+ }
101
+ switch (action.type) {
102
+ case 'SetVariable':
103
+ return {
104
+ ...action,
105
+ ...(action.data
106
+ ? { data: removeFormulaTestData(action.data) }
107
+ : undefined),
108
+ };
109
+ case 'TriggerEvent':
110
+ case 'SetURLParameter':
111
+ case 'TriggerWorkflowCallback':
112
+ return {
113
+ ...action,
114
+ ...(action.data
115
+ ? { data: removeFormulaTestData(action.data) }
116
+ : undefined),
117
+ };
118
+ case 'Switch':
119
+ return {
120
+ ...action,
121
+ cases: action.cases.map((c) => ({
122
+ ...c,
123
+ ...(c.condition
124
+ ? { condition: removeFormulaTestData(c.condition) }
125
+ : undefined),
126
+ actions: c.actions.map(removeActionTestData),
127
+ })),
128
+ default: {
129
+ ...action.default,
130
+ actions: action.default.actions.map(removeActionTestData),
131
+ },
132
+ };
133
+ case 'Fetch':
134
+ return {
135
+ ...action,
136
+ inputs: action.inputs
137
+ ? mapObject(action.inputs, ([key, value]) => [
138
+ key,
139
+ {
140
+ ...value,
141
+ ...(value.formula
142
+ ? { formula: removeFormulaTestData(value.formula) }
143
+ : undefined),
144
+ },
145
+ ])
146
+ : action.inputs,
147
+ onSuccess: {
148
+ ...action,
149
+ actions: action.onSuccess.actions.map(removeActionTestData),
150
+ },
151
+ onError: {
152
+ ...action.onError,
153
+ actions: action.onError.actions.map(removeActionTestData),
154
+ },
155
+ onMessage: action.onMessage
156
+ ? {
157
+ ...action.onMessage,
158
+ actions: action.onMessage.actions.map(removeActionTestData),
159
+ }
160
+ : undefined,
161
+ };
162
+ case 'Custom':
163
+ case undefined:
164
+ return {
165
+ // The 'group' property was used for categorizing actions and should
166
+ // not have been persisted in projects. But since it's there (for some actions)
167
+ // we should remove it
168
+ ...omitKeys(action, ['description', 'group', 'label']),
169
+ ...(action.arguments
170
+ ? {
171
+ arguments: action.arguments.map((a) => a ? removeActionArgumentTestData(a) : a),
172
+ }
173
+ : undefined),
174
+ ...(action.events
175
+ ? {
176
+ events: mapObject(action.events ?? {}, ([eventKey, eventValue]) => [
177
+ eventKey,
178
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
179
+ eventValue
180
+ ? {
181
+ ...eventValue,
182
+ actions: eventValue.actions.map(removeActionTestData),
183
+ }
184
+ : eventValue,
185
+ ]),
186
+ }
187
+ : undefined),
188
+ };
189
+ case 'SetURLParameters':
190
+ return {
191
+ ...action,
192
+ parameters: mapObject(action.parameters, ([key, value]) => [
193
+ key,
194
+ removeFormulaTestData(value),
195
+ ]),
196
+ };
197
+ case 'TriggerWorkflow':
198
+ return {
199
+ ...action,
200
+ ...(action.parameters
201
+ ? {
202
+ parameters: mapObject(action.parameters, ([key, value]) => [
203
+ key,
204
+ {
205
+ ...value,
206
+ formula: isFormula(value)
207
+ ? removeFormulaTestData(value)
208
+ : isFormula(value.formula)
209
+ ? removeFormulaTestData(value.formula)
210
+ : value.formula,
211
+ },
212
+ ]),
213
+ }
214
+ : undefined),
215
+ ...(action.callbacks
216
+ ? {
217
+ callbacks: mapObject(action.callbacks, ([key, value]) => [
218
+ key,
219
+ { ...value, actions: value.actions.map(removeActionTestData) },
220
+ ]),
221
+ }
222
+ : undefined),
223
+ };
224
+ }
225
+ };
226
+ const removeActionArgumentTestData = (action) => {
227
+ if (!isDefined(action)) {
228
+ return action;
229
+ }
230
+ return {
231
+ ...omitKeys(action, ['description', 'type']),
232
+ formula: action.formula
233
+ ? removeFormulaTestData(action.formula)
234
+ : action.formula,
235
+ };
236
+ };
237
+ const removeFormulaTestData = (formula) => {
238
+ if (!isFormula(formula)) {
239
+ return formula;
240
+ }
241
+ switch (formula.type) {
242
+ case 'path':
243
+ case 'value':
244
+ case 'function':
245
+ return formula;
246
+ case 'record':
247
+ return {
248
+ ...formula,
249
+ entries: formula.entries.map((entry) => ({
250
+ ...entry,
251
+ formula: removeFormulaTestData(entry.formula),
252
+ })),
253
+ };
254
+ case 'array':
255
+ case 'or':
256
+ case 'and':
257
+ case 'object':
258
+ return {
259
+ ...formula,
260
+ arguments: formula.arguments?.map((arg) => ({
261
+ ...arg,
262
+ formula: removeFormulaTestData(arg.formula),
263
+ })) ?? [],
264
+ };
265
+ case 'apply':
266
+ return {
267
+ ...formula,
268
+ arguments: formula.arguments.map((a) => ({
269
+ ...omitKeys(a, ['testValue']),
270
+ formula: removeFormulaTestData(a.formula),
271
+ })),
272
+ };
273
+ case 'switch':
274
+ return {
275
+ ...formula,
276
+ cases: formula.cases.map((c) => ({
277
+ ...c,
278
+ condition: removeFormulaTestData(c.condition),
279
+ })),
280
+ default: removeFormulaTestData(formula.default),
281
+ };
95
282
  }
96
- return action;
97
283
  };
98
- const removeActionArgumentTestData = (action) => omitKeys(action, ['description', 'type']);
99
284
  //# sourceMappingURL=testData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testData.js","sourceRoot":"","sources":["../../src/rendering/testData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testData.js","sourceRoot":"","sources":["../../src/rendering/testData.ts"],"names":[],"mappings":"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"}
@@ -31,10 +31,10 @@ export const splitRoutes = (json) => {
31
31
  packages: files.packages,
32
32
  includeRoot: true,
33
33
  });
34
- const theme = (files.themes
35
- ? Object.values(files.themes)[0]
36
- : files.config?.theme) ?? defaultTheme;
37
- const styles = createStylesheet(component, components, theme, {
34
+ const themes = files.themes ?? {
35
+ defaultTheme: files.config?.theme ?? defaultTheme,
36
+ };
37
+ const styles = createStylesheet(component, components, themes, {
38
38
  // The reset stylesheet is loaded separately
39
39
  includeResetStyle: false,
40
40
  // Font faces are created from a stylesheet referenced in the head
@@ -71,9 +71,13 @@ export const splitRoutes = (json) => {
71
71
  key,
72
72
  {
73
73
  ...pkg,
74
- components: filterObject(pkg.components, ([_, pkgComponent]) => components.some((c) => pkgComponent &&
74
+ components: mapObject(
75
+ // Only include package components that are used by the page
76
+ filterObject(pkg.components, ([_, pkgComponent]) => components.some((c) => pkgComponent &&
75
77
  c.name ===
76
- `${pkg.manifest.name}/${pkgComponent.name}`)),
78
+ `${pkg.manifest.name}/${pkgComponent.name}`)),
79
+ // Remove test data from package components
80
+ ([cKey, c]) => [cKey, c ? removeTestData(c) : c]),
77
81
  // Actions are not available during SSR
78
82
  actions: {},
79
83
  // TODO: Only include relevant formulas from packages
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/utils/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/utils/routes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -16,10 +16,10 @@
16
16
  "main": "dist/index.js",
17
17
  "types": "dist/index.d.ts",
18
18
  "dependencies": {
19
- "@nordcraft/core": "1.0.50",
20
- "@nordcraft/std-lib": "1.0.50",
19
+ "@nordcraft/core": "1.0.52",
20
+ "@nordcraft/std-lib": "1.0.52",
21
21
  "cookie": "1.0.2",
22
22
  "xss": "1.0.15"
23
23
  },
24
- "version": "1.0.50"
24
+ "version": "1.0.52"
25
25
  }
@@ -32,7 +32,7 @@ export const getHeadItems = ({
32
32
  pageStylesheetPath = `/.toddle/stylesheet/${page.name}.css`,
33
33
  files,
34
34
  project,
35
- theme,
35
+ themes,
36
36
  url,
37
37
  customProperties,
38
38
  }: {
@@ -45,7 +45,7 @@ export const getHeadItems = ({
45
45
  resetStylesheetPath?: string
46
46
  pageStylesheetPath?: string
47
47
  project: ToddleProject
48
- theme: OldTheme | Theme
48
+ themes: Record<string, OldTheme | Theme>
49
49
  url: URL
50
50
  customProperties: ReadonlyArray<string>
51
51
  }): Map<HeadItemType, string> => {
@@ -61,34 +61,31 @@ export const getHeadItems = ({
61
61
  defaultDescription: project.description,
62
62
  })
63
63
 
64
- const preloadFonts: [HeadItemType, string][] = []
65
- if ('breakpoints' in theme === false) {
66
- // We include all fonts even though it's not necessary.
67
- // While this is not the ideal long-term solution, it does have a few benefits:
68
- // - It's easier to cache the font stylesheet across pages
69
- // - It simplifies style variable setup in theme.ts
70
- // - It ensures the same behaviour as in our editor
71
- // - It increases the chance that there's a font to be used by our
72
- // reset stylesheet (font-family: var(--font-sans))
73
- // For most apps, the overhead of including all fonts is negligible and
74
- // it doesn't add a lot of bytes to our stylesheet.
64
+ const preloadFonts = new Set<string>()
65
+ Object.values(themes).forEach((theme) => {
66
+ if ('breakpoints' in theme === false && theme.fonts.length > 0) {
67
+ // We include all fonts even though it's not necessary.
68
+ // While this is not the ideal long-term solution, it does have a few benefits:
69
+ // - It's easier to cache the font stylesheet across pages
70
+ // - It simplifies style variable setup in theme.ts
71
+ // - It ensures the same behaviour as in our editor
72
+ // - It increases the chance that there's a font to be used by our
73
+ // reset stylesheet (font-family: var(--font-sans))
74
+ // For most apps, the overhead of including all fonts is negligible and
75
+ // it doesn't add a lot of bytes to our stylesheet.
75
76
 
76
- // Add link to stylesheet that includes the different font-faces
77
- if (theme.fonts.length > 0) {
77
+ // Add link to stylesheet that includes the different font-faces
78
78
  const fontStylesheetUrl = getFontCssUrl({
79
79
  fonts: theme.fonts,
80
80
  basePath: cssBasePath,
81
81
  })
82
82
  if (fontStylesheetUrl) {
83
- preloadFonts.push([
84
- // Later we'll support multiple font loading strategies aside from swap
85
- 'link:font:swap',
86
- // See https://fonts.google.com/selection/embed
83
+ preloadFonts.add(
87
84
  `<link href="${escapeAttrValue(fontStylesheetUrl.swap.toString())}" rel="stylesheet" />`,
88
- ])
85
+ )
89
86
  }
90
87
  }
91
- }
88
+ })
92
89
 
93
90
  const charset = getCharset({ pageInfo, formulaContext: context })
94
91
  const descriptionItems: [HeadItemType, string][] = []
@@ -118,7 +115,10 @@ export const getHeadItems = ({
118
115
  'style:variables',
119
116
  `<style id="${CUSTOM_PROPERTIES_STYLESHEET_ID}">${customProperties.join('\n')}</style>`,
120
117
  ],
121
- ...preloadFonts,
118
+ ...Array.from(preloadFonts).map<[HeadItemType, string]>((fontLink) => [
119
+ 'link:font:swap',
120
+ fontLink,
121
+ ]),
122
122
  // Initialize default head items (meta + links)
123
123
  // these might be overwritten by custom tags later
124
124
  ['meta:charset', `<meta charset="${escapeAttrValue(charset)}" />`],
@@ -273,7 +273,11 @@ export const getHeadItems = ({
273
273
  }
274
274
  // Handle custom meta tags last to allow overriding defaults
275
275
  if (pageInfo?.meta) {
276
- Object.entries(pageInfo.meta).forEach(([id, metaEntry]) => {
276
+ easySort(
277
+ Object.entries(pageInfo.meta),
278
+ // Sort by index if it exists
279
+ ([_, meta]) => meta.index ?? Infinity,
280
+ ).forEach(([id, metaEntry]) => {
277
281
  if (Object.values(HeadTagTypes).includes(metaEntry.tag)) {
278
282
  // If the tag has a name or property attribute, we use that as the key
279
283
  // to avoid duplicates and to ensure sorting of tags later
@@ -5,7 +5,9 @@ import type {
5
5
  CustomActionArgument,
6
6
  NodeModel,
7
7
  } from '@nordcraft/core/dist/component/component.types'
8
+ import { isFormula, type Formula } from '@nordcraft/core/dist/formula/formula'
8
9
  import { mapObject, omitKeys } from '@nordcraft/core/dist/utils/collections'
10
+ import { isDefined } from '@nordcraft/core/dist/utils/util'
9
11
 
10
12
  export const removeTestData = (component: Component): Component => ({
11
13
  ...component,
@@ -13,6 +15,13 @@ export const removeTestData = (component: Component): Component => ({
13
15
  key,
14
16
  omitKeys(value, ['testValue']),
15
17
  ]),
18
+ ...(component.events
19
+ ? {
20
+ events: component.events.map((event) =>
21
+ omitKeys(event, ['dummyEvent']),
22
+ ),
23
+ }
24
+ : undefined),
16
25
  nodes: mapObject(component.nodes, ([key, value]) => {
17
26
  if (value.type === 'element') {
18
27
  const updatedNode: NodeModel = {
@@ -61,7 +70,7 @@ export const removeTestData = (component: Component): Component => ({
61
70
  workflows: mapObject(component.workflows, ([key, value]) => [
62
71
  key,
63
72
  {
64
- ...value,
73
+ ...omitKeys(value, ['testValue']),
65
74
  // We should find all actions (also nested actions and non-workflow actions) and remove
66
75
  // the description from them. This is a start though
67
76
  actions: value.actions.map(removeActionTestData),
@@ -81,32 +90,217 @@ export const removeTestData = (component: Component): Component => ({
81
90
  // request is available on the api object itself
82
91
  isLegacyApi(api) ? api : omitKeys(api, ['service', 'servicePath']),
83
92
  ]),
84
- onLoad: component.onLoad
93
+ ...(component.onLoad
85
94
  ? {
86
- ...component.onLoad,
87
- actions: component.onLoad.actions.map(removeActionTestData),
95
+ onLoad: {
96
+ ...component.onLoad,
97
+ actions: component.onLoad.actions.map(removeActionTestData),
98
+ },
88
99
  }
89
- : undefined,
90
- onAttributeChange: component.onAttributeChange
100
+ : undefined),
101
+ ...(component.onAttributeChange
91
102
  ? {
92
- ...component.onAttributeChange,
93
- actions: component.onAttributeChange.actions.map(removeActionTestData),
103
+ onAttributeChange: {
104
+ ...component.onAttributeChange,
105
+ actions:
106
+ component.onAttributeChange.actions.map(removeActionTestData),
107
+ },
94
108
  }
95
- : undefined,
109
+ : undefined),
96
110
  })
97
111
 
98
- const removeActionTestData = (action: ActionModel) => {
99
- if (action.type === 'Custom') {
100
- return {
101
- // The 'group' property was used for categorizing actions and should
102
- // not have been persisted in projects. But since it's there (for some actions)
103
- // we should remove it
104
- ...omitKeys(action, ['description', 'group', 'label']),
105
- arguments: action.arguments?.map(removeActionArgumentTestData),
106
- }
112
+ const removeActionTestData = (action: ActionModel): ActionModel => {
113
+ if (!isDefined(action)) {
114
+ return action
115
+ }
116
+ switch (action.type) {
117
+ case 'SetVariable':
118
+ return {
119
+ ...action,
120
+ ...(action.data
121
+ ? { data: removeFormulaTestData(action.data) }
122
+ : undefined),
123
+ }
124
+ case 'TriggerEvent':
125
+ case 'SetURLParameter':
126
+ case 'TriggerWorkflowCallback':
127
+ return {
128
+ ...action,
129
+ ...(action.data
130
+ ? { data: removeFormulaTestData(action.data) }
131
+ : undefined),
132
+ }
133
+ case 'Switch':
134
+ return {
135
+ ...action,
136
+ cases: action.cases.map((c) => ({
137
+ ...c,
138
+ ...(c.condition
139
+ ? { condition: removeFormulaTestData(c.condition) }
140
+ : undefined),
141
+ actions: c.actions.map(removeActionTestData),
142
+ })),
143
+ default: {
144
+ ...action.default,
145
+ actions: action.default.actions.map(removeActionTestData),
146
+ },
147
+ }
148
+ case 'Fetch':
149
+ return {
150
+ ...action,
151
+ inputs: action.inputs
152
+ ? mapObject(action.inputs, ([key, value]) => [
153
+ key,
154
+ {
155
+ ...value,
156
+ ...(value.formula
157
+ ? { formula: removeFormulaTestData(value.formula) }
158
+ : undefined),
159
+ },
160
+ ])
161
+ : action.inputs,
162
+ onSuccess: {
163
+ ...action,
164
+ actions: action.onSuccess.actions.map(removeActionTestData),
165
+ },
166
+ onError: {
167
+ ...action.onError,
168
+ actions: action.onError.actions.map(removeActionTestData),
169
+ },
170
+ onMessage: action.onMessage
171
+ ? {
172
+ ...action.onMessage,
173
+ actions: action.onMessage.actions.map(removeActionTestData),
174
+ }
175
+ : undefined,
176
+ }
177
+ case 'Custom':
178
+ case undefined:
179
+ return {
180
+ // The 'group' property was used for categorizing actions and should
181
+ // not have been persisted in projects. But since it's there (for some actions)
182
+ // we should remove it
183
+ ...omitKeys(action, ['description', 'group', 'label']),
184
+ ...(action.arguments
185
+ ? {
186
+ arguments: action.arguments.map((a) =>
187
+ a ? removeActionArgumentTestData(a) : a,
188
+ ),
189
+ }
190
+ : undefined),
191
+ ...(action.events
192
+ ? {
193
+ events: mapObject(
194
+ action.events ?? {},
195
+ ([eventKey, eventValue]) => [
196
+ eventKey,
197
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
198
+ eventValue
199
+ ? {
200
+ ...eventValue,
201
+ actions: eventValue.actions.map(removeActionTestData),
202
+ }
203
+ : eventValue,
204
+ ],
205
+ ),
206
+ }
207
+ : undefined),
208
+ }
209
+ case 'SetURLParameters':
210
+ return {
211
+ ...action,
212
+ parameters: mapObject(action.parameters, ([key, value]) => [
213
+ key,
214
+ removeFormulaTestData(value),
215
+ ]),
216
+ }
217
+ case 'TriggerWorkflow':
218
+ return {
219
+ ...action,
220
+ ...(action.parameters
221
+ ? {
222
+ parameters: mapObject(action.parameters, ([key, value]) => [
223
+ key,
224
+ {
225
+ ...value,
226
+ formula: isFormula(value)
227
+ ? removeFormulaTestData(value)
228
+ : isFormula(value.formula)
229
+ ? removeFormulaTestData(value.formula)
230
+ : value.formula,
231
+ },
232
+ ]),
233
+ }
234
+ : undefined),
235
+ ...(action.callbacks
236
+ ? {
237
+ callbacks: mapObject(action.callbacks, ([key, value]) => [
238
+ key,
239
+ { ...value, actions: value.actions.map(removeActionTestData) },
240
+ ]),
241
+ }
242
+ : undefined),
243
+ }
244
+ }
245
+ }
246
+
247
+ const removeActionArgumentTestData = (action: CustomActionArgument) => {
248
+ if (!isDefined(action)) {
249
+ return action
250
+ }
251
+ return {
252
+ ...omitKeys(action, ['description', 'type']),
253
+ formula: action.formula
254
+ ? removeFormulaTestData(action.formula)
255
+ : action.formula,
107
256
  }
108
- return action
109
257
  }
110
258
 
111
- const removeActionArgumentTestData = (action: CustomActionArgument) =>
112
- omitKeys(action, ['description', 'type'])
259
+ const removeFormulaTestData = (formula: Formula): Formula => {
260
+ if (!isFormula(formula)) {
261
+ return formula
262
+ }
263
+ switch (formula.type) {
264
+ case 'path':
265
+ case 'value':
266
+ case 'function':
267
+ return formula
268
+ case 'record':
269
+ return {
270
+ ...formula,
271
+ entries: formula.entries.map((entry) => ({
272
+ ...entry,
273
+ formula: removeFormulaTestData(entry.formula),
274
+ })),
275
+ }
276
+ case 'array':
277
+ case 'or':
278
+ case 'and':
279
+ case 'object':
280
+ return {
281
+ ...formula,
282
+ arguments:
283
+ formula.arguments?.map((arg) => ({
284
+ ...arg,
285
+ formula: removeFormulaTestData(arg.formula),
286
+ })) ?? [],
287
+ }
288
+ case 'apply':
289
+ return {
290
+ ...formula,
291
+ arguments: formula.arguments.map((a) => ({
292
+ ...omitKeys(a, ['testValue']),
293
+ formula: removeFormulaTestData(a.formula),
294
+ })),
295
+ }
296
+ case 'switch':
297
+ return {
298
+ ...formula,
299
+ cases: formula.cases.map((c) => ({
300
+ ...c,
301
+ condition: removeFormulaTestData(c.condition),
302
+ })),
303
+ default: removeFormulaTestData(formula.default),
304
+ }
305
+ }
306
+ }
@@ -62,11 +62,11 @@ export const splitRoutes = (json: {
62
62
  packages: files.packages,
63
63
  includeRoot: true,
64
64
  })
65
- const theme =
66
- (files.themes
67
- ? Object.values(files.themes)[0]
68
- : files.config?.theme) ?? defaultTheme
69
- const styles = createStylesheet(component, components, theme, {
65
+ const themes = files.themes ?? {
66
+ defaultTheme: files.config?.theme ?? defaultTheme,
67
+ }
68
+
69
+ const styles = createStylesheet(component, components, themes, {
70
70
  // The reset stylesheet is loaded separately
71
71
  includeResetStyle: false,
72
72
  // Font faces are created from a stylesheet referenced in the head
@@ -107,15 +107,18 @@ export const splitRoutes = (json: {
107
107
  key,
108
108
  {
109
109
  ...pkg,
110
- components: filterObject(
111
- pkg.components,
112
- ([_, pkgComponent]) =>
110
+ components: mapObject(
111
+ // Only include package components that are used by the page
112
+ filterObject(pkg.components, ([_, pkgComponent]) =>
113
113
  components.some(
114
114
  (c) =>
115
115
  pkgComponent &&
116
116
  c.name ===
117
117
  `${pkg.manifest.name}/${pkgComponent.name}`,
118
118
  ),
119
+ ),
120
+ // Remove test data from package components
121
+ ([cKey, c]) => [cKey, c ? removeTestData(c) : c],
119
122
  ),
120
123
  // Actions are not available during SSR
121
124
  actions: {},