@nordcraft/ssr 2.0.0 → 2.0.2
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/rendering/head.js +7 -2
- package/dist/rendering/head.js.map +1 -1
- package/package.json +3 -3
- package/src/rendering/head.ts +45 -38
package/dist/rendering/head.js
CHANGED
|
@@ -4,7 +4,7 @@ import { CUSTOM_PROPERTIES_STYLESHEET_ID } from '@nordcraft/core/dist/styling/th
|
|
|
4
4
|
import { easySort } from '@nordcraft/core/dist/utils/collections';
|
|
5
5
|
import { VOID_HTML_ELEMENTS } from '@nordcraft/core/dist/utils/html';
|
|
6
6
|
import { validateUrl } from '@nordcraft/core/dist/utils/url';
|
|
7
|
-
import { isDefined } from '@nordcraft/core/dist/utils/util';
|
|
7
|
+
import { isDefined, toBoolean } from '@nordcraft/core/dist/utils/util';
|
|
8
8
|
import { escapeAttrValue } from '../rendering/attributes';
|
|
9
9
|
import { isCloudflareImagePath } from '../utils/media';
|
|
10
10
|
import { nanoid } from '../utils/nanoid';
|
|
@@ -174,7 +174,12 @@ export const getHeadItems = ({ cacheBuster, context, cssBasePath = '/.toddle/fon
|
|
|
174
174
|
if (pageInfo?.meta) {
|
|
175
175
|
easySort(Object.entries(pageInfo.meta),
|
|
176
176
|
// Sort by index if it exists
|
|
177
|
-
([_, meta]) => meta.index ?? Infinity)
|
|
177
|
+
([_, meta]) => meta.index ?? Infinity)
|
|
178
|
+
.filter(([_, meta]) =>
|
|
179
|
+
// Only include enabled meta tags
|
|
180
|
+
!isDefined(meta.enabled) ||
|
|
181
|
+
toBoolean(applyFormula(meta.enabled, context)))
|
|
182
|
+
.forEach(([id, metaEntry]) => {
|
|
178
183
|
if (Object.values(HeadTagTypes).includes(metaEntry.tag)) {
|
|
179
184
|
// If the tag has a name or property attribute, we use that as the key
|
|
180
185
|
// 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":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAA;AAG7E,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAEnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAA;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"head.js","sourceRoot":"","sources":["../../src/rendering/head.ts"],"names":[],"mappings":"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"}
|
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": "2.0.
|
|
25
|
-
"@nordcraft/std-lib": "2.0.
|
|
24
|
+
"@nordcraft/core": "2.0.2",
|
|
25
|
+
"@nordcraft/std-lib": "2.0.2",
|
|
26
26
|
"fast-deep-equal": "3.1.3",
|
|
27
27
|
"cookie": "1.0.2",
|
|
28
28
|
"xss": "1.0.15"
|
|
29
29
|
},
|
|
30
|
-
"version": "2.0.
|
|
30
|
+
"version": "2.0.2"
|
|
31
31
|
}
|
package/src/rendering/head.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { CUSTOM_PROPERTIES_STYLESHEET_ID } from '@nordcraft/core/dist/styling/th
|
|
|
8
8
|
import { easySort } from '@nordcraft/core/dist/utils/collections'
|
|
9
9
|
import { VOID_HTML_ELEMENTS } from '@nordcraft/core/dist/utils/html'
|
|
10
10
|
import { validateUrl } from '@nordcraft/core/dist/utils/url'
|
|
11
|
-
import { isDefined } from '@nordcraft/core/dist/utils/util'
|
|
11
|
+
import { isDefined, toBoolean } from '@nordcraft/core/dist/utils/util'
|
|
12
12
|
import { escapeAttrValue } from '../rendering/attributes'
|
|
13
13
|
import type { ProjectFiles, ToddleProject } from '../ssr.types'
|
|
14
14
|
import { isCloudflareImagePath } from '../utils/media'
|
|
@@ -277,44 +277,51 @@ export const getHeadItems = ({
|
|
|
277
277
|
Object.entries(pageInfo.meta),
|
|
278
278
|
// Sort by index if it exists
|
|
279
279
|
([_, meta]) => meta.index ?? Infinity,
|
|
280
|
-
)
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
(
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
// from our runtime (main.ts)
|
|
294
|
-
`<${metaEntry.tag} data-toddle-id="${id}" ${Object.entries(
|
|
295
|
-
metaEntry.attrs ?? {},
|
|
280
|
+
)
|
|
281
|
+
.filter(
|
|
282
|
+
([_, meta]) =>
|
|
283
|
+
// Only include enabled meta tags
|
|
284
|
+
!isDefined(meta.enabled) ||
|
|
285
|
+
toBoolean(applyFormula(meta.enabled, context)),
|
|
286
|
+
)
|
|
287
|
+
.forEach(([id, metaEntry]) => {
|
|
288
|
+
if (Object.values(HeadTagTypes).includes(metaEntry.tag)) {
|
|
289
|
+
// If the tag has a name or property attribute, we use that as the key
|
|
290
|
+
// to avoid duplicates and to ensure sorting of tags later
|
|
291
|
+
const key = Object.entries(metaEntry.attrs ?? {}).find(
|
|
292
|
+
([key]) => key === 'name' || key === 'property',
|
|
296
293
|
)
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
294
|
+
const headItemKey: HeadItemType = `${metaEntry.tag}:${
|
|
295
|
+
isDefined(key) ? applyFormula(key[1], context) : (id ?? nanoid())
|
|
296
|
+
}`
|
|
297
|
+
headItems.set(
|
|
298
|
+
headItemKey,
|
|
299
|
+
// Add the id to the tag so it's easier to dynamically update it later
|
|
300
|
+
// from our runtime (main.ts)
|
|
301
|
+
`<${metaEntry.tag} data-toddle-id="${id}" ${Object.entries(
|
|
302
|
+
metaEntry.attrs ?? {},
|
|
303
|
+
)
|
|
304
|
+
.map(([key, formula]) => {
|
|
305
|
+
const value = applyFormula(formula, context)
|
|
306
|
+
if (value === true) {
|
|
307
|
+
// If the value is true, we just return the key - this is useful
|
|
308
|
+
// for tags like <script async> where async doesn't have a value
|
|
309
|
+
return key
|
|
310
|
+
}
|
|
311
|
+
return `${key}="${escapeAttrValue(value)}"`
|
|
312
|
+
})
|
|
313
|
+
.join(' ')} ${
|
|
314
|
+
VOID_HTML_ELEMENTS.includes(metaEntry.tag)
|
|
315
|
+
? `/>`
|
|
316
|
+
: `>${
|
|
317
|
+
metaEntry.content
|
|
318
|
+
? applyFormula(metaEntry.content, context)
|
|
319
|
+
: ''
|
|
320
|
+
}</${metaEntry.tag}>`
|
|
321
|
+
}`,
|
|
322
|
+
)
|
|
323
|
+
}
|
|
324
|
+
})
|
|
318
325
|
}
|
|
319
326
|
return headItems
|
|
320
327
|
}
|