@sitecore-feaas/clientside 0.1.25 → 0.1.27

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.
Files changed (61) hide show
  1. package/build/basic.js +1 -0
  2. package/build/basic.js.map +1 -1
  3. package/build/cloud.js +9 -1
  4. package/build/cloud.js.map +1 -1
  5. package/build/components/FEAASComponent.js +3 -4
  6. package/build/components/FEAASComponent.js.map +1 -1
  7. package/build/components/FEAASElement.js +2 -3
  8. package/build/components/FEAASElement.js.map +1 -1
  9. package/build/components/FEAASLoader.js +1 -2
  10. package/build/components/FEAASLoader.js.map +1 -1
  11. package/build/dom.js +29 -6
  12. package/build/dom.js.map +1 -1
  13. package/build/node.js +10 -0
  14. package/build/node.js.map +1 -0
  15. package/build/ui/node.js +3 -0
  16. package/build/ui/node.js.map +1 -0
  17. package/dist/browser/basic.esm.js +5 -5
  18. package/dist/browser/basic.esm.js.map +1 -1
  19. package/dist/browser/basic.js +5 -5
  20. package/dist/browser/basic.js.map +1 -1
  21. package/dist/browser/index.esm.js +5 -5
  22. package/dist/browser/index.esm.js.map +1 -1
  23. package/dist/browser/index.js +5 -5
  24. package/dist/browser/index.js.map +1 -1
  25. package/dist/node/basic.esm.js +4 -4
  26. package/dist/node/basic.esm.js.map +7 -1
  27. package/dist/node/basic.js +4 -4
  28. package/dist/node/basic.js.map +7 -1
  29. package/dist/node/index.esm.js +4 -4
  30. package/dist/node/index.esm.js.map +7 -1
  31. package/dist/node/index.js +4 -4
  32. package/dist/node/index.js.map +7 -1
  33. package/package.json +18 -10
  34. package/scripts/build.js +1 -1
  35. package/src/basic.ts +1 -0
  36. package/src/cloud.ts +19 -1
  37. package/src/components/FEAASBase.tsx +1 -1
  38. package/src/components/FEAASComponent.tsx +2 -2
  39. package/src/components/FEAASElement.tsx +1 -1
  40. package/src/dom.ts +28 -5
  41. package/src/node.ts +10 -0
  42. package/src/ui/node.ts +2 -0
  43. package/test/render.ts +91 -93
  44. package/types/basic.d.ts +1 -0
  45. package/types/basic.d.ts.map +1 -1
  46. package/types/cloud.d.ts +3 -1
  47. package/types/cloud.d.ts.map +1 -1
  48. package/types/dom.d.ts +1 -0
  49. package/types/dom.d.ts.map +1 -1
  50. package/types/node.d.ts +4 -0
  51. package/types/node.d.ts.map +1 -0
  52. package/types/tsbuildinfo +1 -1
  53. package/types/tsbuildinfo_ui +1 -1
  54. package/types/ui/FEAASContext.d.ts +1 -1
  55. package/types/ui/FEAASContext.d.ts.map +1 -1
  56. package/types/ui/FEAASEditor.d.ts +2 -2
  57. package/types/ui/FEAASEditor.d.ts.map +1 -1
  58. package/types/ui/FEAASPicker.d.ts +1 -1
  59. package/types/ui/FEAASPicker.d.ts.map +1 -1
  60. package/types/ui/node.d.ts +3 -0
  61. package/types/ui/node.d.ts.map +1 -0
package/test/render.ts CHANGED
@@ -1,155 +1,147 @@
1
1
  import { JSDOM } from 'jsdom'
2
2
  import * as FEAAS from '../src/dom.js'
3
+ import * as FEAASServerSide from '../src/node.js'
3
4
  import { describe, it, assert, beforeAll } from 'vitest'
4
5
 
5
6
  const { renderDOMElement } = FEAAS
6
7
 
7
8
  function assertScriptLoaded(element: HTMLElement, src: string) {
8
9
  assert.equal(
9
- Array.prototype.find.call(
10
- element.closest('html').querySelectorAll('script'),
11
- (s: HTMLScriptElement) => s.src == src
12
- )?.src,
10
+ Array.prototype.find.call(element.querySelectorAll('script'), (s: HTMLScriptElement) => s.src == src)?.src,
13
11
  src
14
12
  )
15
13
  }
16
-
17
- function assertRendered(
18
- input: string,
19
- data: any,
20
- expected: string,
21
- scripts?: string[],
22
- customizations?: FEAAS.FEAASCustomizations
23
- ) {
24
- function normalize(str: string) {
25
- return str
14
+ function normalize(str: string) {
15
+ return (
16
+ str
26
17
  .replace(/>\s*</g, '><')
27
18
  .replace(/^\s+|\n/gm, '')
28
19
  .replace(/>/g, '>\n')
29
20
  .replace(/\n+/g, '\n')
30
21
  .replace(/<\//g, '\n</')
22
+ .replace(/<\/?body[^>]*>/g, '')
23
+ // sort attributes
24
+ .replace(/<([a-z0-9-]+) ([^>]+?)(\s?\/?)>/g, (m, tag, attrs: string, closer = '') => {
25
+ const matches = attrs.match(/(\S+)=["']((?:.(?!["']\s+(?:\S+)=|\s*\/?[>"']))+.)["']/g)
26
+ if (!matches) return m
27
+ matches.sort()
28
+ return '<' + tag + ' ' + matches.join(' ') + closer + '>'
29
+ })
31
30
  .trim()
32
- }
33
- const rendered = renderDOMElement(
34
- new JSDOM(input).window.document.body.firstElementChild as HTMLElement,
35
- data,
36
- customizations
37
- )?.parentElement
38
- assert.equal(normalize(rendered?.innerHTML), normalize(new JSDOM(expected).window.document.body.innerHTML))
39
- if (scripts) {
40
- scripts.map((s) => assertScriptLoaded(rendered, s))
41
- }
31
+ )
42
32
  }
43
- function assertRenderedContent(
33
+
34
+ const doc = new JSDOM('').window.document
35
+ function assertRenderedHTML(
44
36
  input: string,
45
37
  data: any,
46
38
  expected: string,
47
39
  scripts?: string[],
48
- customizations?: FEAAS.FEAASCustomizations
40
+ customizations?: FEAAS.FEAASCustomizations,
41
+ ignoreHTML = false
49
42
  ) {
50
- function normalize(str: string) {
51
- return str
52
- .replace(/>\s*</g, '><')
53
- .replace(/^\s+|\n/gm, '')
54
- .replace(/>/g, '>\n')
55
- .replace(/\n+/g, '\n')
56
- .replace(/<\//g, '\n</')
57
- .trim()
58
- }
59
- const doc = new JSDOM('').window.document
60
- const element = doc.createElement('div')
61
- doc.body.appendChild(element)
43
+ const element = doc.createElement('body')
62
44
  const rendered = FEAAS.renderDOMContent(element, input, data, customizations)
63
- assert.equal(normalize(rendered?.innerHTML), normalize(new JSDOM(expected).window.document.body.innerHTML))
45
+ const expectation = normalize(new JSDOM(expected).window.document.body.outerHTML)
46
+ assert.equal(normalize(rendered?.outerHTML), expectation)
64
47
  if (scripts) {
65
48
  scripts.map((s) => assertScriptLoaded(rendered, s))
66
49
  }
50
+
51
+ if (!ignoreHTML) {
52
+ assert.equal(normalize(FEAAS.renderHTMLContent('<body>' + input + '</body>', data, customizations)), expectation)
53
+
54
+ assert.equal(
55
+ normalize(FEAASServerSide.renderHTMLContent('<body>' + input + '</body>', data, customizations)),
56
+ expectation
57
+ )
58
+ }
67
59
  }
68
60
  describe('DOM Clientside', function () {
69
61
  describe('render without data', function () {
70
62
  it('should render element', function () {
71
- assertRendered(`<div></div>`, null, '<div></div>')
63
+ assertRenderedHTML(`<div></div>`, null, '<div></div>')
72
64
  })
73
65
  it('should render nested', function () {
74
- assertRendered(`<div><img /></div>`, null, '<div><img /></div>')
66
+ assertRenderedHTML(`<div><img /></div>`, null, '<div><img /></div>')
75
67
  })
76
68
  })
77
69
  describe('render with data', function () {
78
70
  it('should render mapped attribute', function () {
79
- assertRendered(
71
+ assertRenderedHTML(
80
72
  `<div><img data-path-src="image" /></div>`,
81
73
  { image: 'a.jpg' },
82
74
  '<div><img data-path-src="image" src="a.jpg" /></div>'
83
75
  )
84
76
  })
85
77
  it('should not render missing attribute', function () {
86
- assertRendered(
78
+ assertRenderedHTML(
87
79
  `<div><img data-path-src="context.z" /></div>`,
88
80
  { image: 'a.jpg' },
89
81
  '<div><img data-path-src="context.z" /></div>'
90
82
  )
91
83
  })
92
84
  it('should fall back to catch all datasource', function () {
93
- assertRendered(
85
+ assertRenderedHTML(
94
86
  `<div><img data-path-src="context.image" /></div>`,
95
87
  { _: { image: 'a.jpg' } },
96
88
  '<div><img data-path-src="context.image" src="a.jpg" /></div>'
97
89
  )
98
90
  })
99
91
  it('should fall back to catch root', function () {
100
- assertRendered(
92
+ assertRenderedHTML(
101
93
  `<div><img data-path-src="context.image" /></div>`,
102
94
  { image: 'a.jpg' },
103
95
  '<div><img data-path-src="context.image" src="a.jpg" /></div>'
104
96
  )
105
97
  })
106
98
  it('should fall back to trimmed path', function () {
107
- assertRendered(
99
+ assertRenderedHTML(
108
100
  `<div><img data-path-src="context.test.$.image" /></div>`,
109
101
  { context: { image: 'a.jpg' } },
110
102
  '<div><img data-path-src="context.test.$.image" src="a.jpg" /></div>'
111
103
  )
112
104
  })
113
105
  it('should fall back to catch all datasource only if path matches', function () {
114
- assertRendered(
106
+ assertRenderedHTML(
115
107
  `<div><img data-path-src="context.image" /></div>`,
116
108
  { _: { z: 'a.jpg' } },
117
109
  '<div><img data-path-src="context.image" /></div>'
118
110
  )
119
111
  })
120
112
  it('should render custom attribute', function () {
121
- assertRendered(
113
+ assertRenderedHTML(
122
114
  `<div data-path-custom-attribute="test"></div>`,
123
115
  { test: 'a.jpg' },
124
116
  '<div data-path-custom-attribute="test" custom-attribute="a.jpg"></div>'
125
117
  )
126
- assertRendered(
118
+ assertRenderedHTML(
127
119
  `<div data-path-custom-attribute="test"></div>`,
128
120
  { missing: 'a.jpg' },
129
121
  '<div data-path-custom-attribute="test"></div>'
130
122
  )
131
123
  })
132
124
  it('should render attributes object', function () {
133
- assertRendered(
125
+ assertRenderedHTML(
134
126
  `<div data-path-attributes="test"></div>`,
135
127
  { test: { a: 'a.jpg', b: 2, c: { user: 'yarik' } } },
136
128
  '<div data-path-attributes="test" a="a.jpg" b="2" c="{&quot;user&quot;:&quot;yarik&quot;}" data-attributes-keys="a,b,c"></div>'
137
129
  )
138
130
  })
139
131
  it('should render attributes in dynamic html', function () {
140
- assertRendered(
132
+ assertRenderedHTML(
141
133
  `<div data-path="html"></div>`,
142
134
  { html: '<img data-path-src="image" />', image: '1.jpg' },
143
135
  '<div data-path="html"><img data-path-src="image" src="1.jpg" /></div>'
144
136
  )
145
- assertRendered(
137
+ assertRenderedHTML(
146
138
  `<div data-path-custom-attribute="test"></div>`,
147
139
  { missing: 'a.jpg' },
148
140
  '<div data-path-custom-attribute="test"></div>'
149
141
  )
150
142
  })
151
143
  it('should render content hub docs as html', function () {
152
- assertRendered(
144
+ assertRenderedHTML(
153
145
  `<div data-path="html"></div>`,
154
146
  {
155
147
  html: {
@@ -162,28 +154,28 @@ describe('DOM Clientside', function () {
162
154
  },
163
155
  '<div data-path="html"><h1>Title 1</h1><p>Thing 1</p></div>'
164
156
  )
165
- assertRendered(
157
+ assertRenderedHTML(
166
158
  `<div data-path-custom-attribute="test"></div>`,
167
159
  { missing: 'a.jpg' },
168
160
  '<div data-path-custom-attribute="test"></div>'
169
161
  )
170
162
  })
171
163
  it('should fill parent link via attribute', function () {
172
- assertRendered(
164
+ assertRenderedHTML(
173
165
  `<div><a><var data-path-href="image" data-path="image"></var></a></div>`,
174
166
  { image: 'a.jpg' },
175
167
  '<div><a href="a.jpg"><var data-path-href="image" data-path="image">a.jpg</a></div>'
176
168
  )
177
169
  })
178
170
  it('should fill child element via attribute', function () {
179
- assertRendered(
171
+ assertRenderedHTML(
180
172
  `<div data-path-href="image"><a><var data-path="image"></var></a></div>`,
181
173
  { image: 'a.jpg' },
182
174
  '<div data-path-href="image"><a href="a.jpg"><var data-path="image">a.jpg</a></div>'
183
175
  )
184
176
  })
185
177
  it('should fill image element via attribute', function () {
186
- assertRendered(
178
+ assertRenderedHTML(
187
179
  `<div data-path-href="image"><a><var data-path="image"></var></a></div>`,
188
180
  { image: 'a.jpg' },
189
181
  '<div data-path-href="image"><a href="a.jpg"><var data-path="image">a.jpg</a></div>'
@@ -192,21 +184,21 @@ describe('DOM Clientside', function () {
192
184
  })
193
185
  describe('render with arrays', () => {
194
186
  it('should repeat element for primitive value', function () {
195
- assertRendered(
187
+ assertRenderedHTML(
196
188
  `<div><h1 data-path-scope="outside.*.items.*"></h1></div>`,
197
189
  { outside: [{ items: ['a', 'b'] }] },
198
190
  '<div><h1 data-path-scope="outside.*.items.*"></h1><h1 data-path-scope="outside.*.items.*"></h1></div>'
199
191
  )
200
192
  })
201
193
  it('should repeat element for primitive value with fallback', function () {
202
- assertRendered(
194
+ assertRenderedHTML(
203
195
  `<div><h1 data-path-scope="outside.*.items.*"></h1></div>`,
204
196
  { _: [{ items: ['a', 'b'] }] },
205
197
  '<div><h1 data-path-scope="outside.*.items.*"></h1><h1 data-path-scope="outside.*.items.*"></h1></div>'
206
198
  )
207
199
  })
208
200
  it('should repeat and fill element for primitive value', function () {
209
- assertRendered(
201
+ assertRenderedHTML(
210
202
  `<div><h1 data-path-scope="outside.*.items.*"><var data-path="outside.*.items.*"></var></h1></div>`,
211
203
  { outside: [{ items: ['a', 'b'] }] },
212
204
  `<div>
@@ -216,21 +208,21 @@ describe('DOM Clientside', function () {
216
208
  )
217
209
  })
218
210
  it('should repeat element for object value', function () {
219
- assertRendered(
211
+ assertRenderedHTML(
220
212
  `<div><h1 data-path-scope="outside.*.items.*"></h1></div>`,
221
213
  { outside: [{ items: [{ a: '1' }, { a: '2' }] }] },
222
214
  '<div><h1 data-path-scope="outside.*.items.*"></h1><h1 data-path-scope="outside.*.items.*"></h1></div>'
223
215
  )
224
216
  })
225
217
  it('should repeat element for object value with fallback', function () {
226
- assertRendered(
218
+ assertRenderedHTML(
227
219
  `<div><h1 data-path-scope="outside.*.items.*"></h1></div>`,
228
220
  { _: [{ items: [{ a: '1' }, { a: '2' }] }] },
229
221
  '<div><h1 data-path-scope="outside.*.items.*"></h1><h1 data-path-scope="outside.*.items.*"></h1></div>'
230
222
  )
231
223
  })
232
224
  it('should repeat element for object value', function () {
233
- assertRendered(
225
+ assertRenderedHTML(
234
226
  `<div><h1 data-path-scope="outside.*.items.*"><var data-path="outside.*.items.*.title"></var></h1></div>`,
235
227
  { outside: [{ items: [{ title: '1' }, { title: '2' }] }] },
236
228
  `<div>
@@ -244,7 +236,7 @@ describe('DOM Clientside', function () {
244
236
  )
245
237
  })
246
238
  it('should repeat element for object value thrice', function () {
247
- assertRendered(
239
+ assertRenderedHTML(
248
240
  `<div><h1 data-path-scope="outside.*.items.*"><var data-path="outside.*.items.*.title"></var></h1></div>`,
249
241
  { outside: [{ items: [{ title: '0' }, { title: '1' }, { title: '2' }] }] },
250
242
  `<div>
@@ -261,7 +253,7 @@ describe('DOM Clientside', function () {
261
253
  )
262
254
  })
263
255
  it('should repeat element for jsonpath', function () {
264
- assertRendered(
256
+ assertRenderedHTML(
265
257
  `<div><h1 data-path-scope="items[1:3]"><var data-path="items.*.title"></var></h1></div>`,
266
258
  { items: [{ title: '0' }, { title: '1' }, { title: '2' }] },
267
259
  `<div>
@@ -277,14 +269,14 @@ describe('DOM Clientside', function () {
277
269
  })
278
270
  describe('render with nested arrays', () => {
279
271
  it('should repeat element for primitive value', function () {
280
- assertRendered(
272
+ assertRenderedHTML(
281
273
  `<div><h1 data-path-scope="outside.*.items.*"></h1></div>`,
282
274
  { outside: [{ items: ['a', 'b'] }] },
283
275
  '<div><h1 data-path-scope="outside.*.items.*"></h1><h1 data-path-scope="outside.*.items.*"></h1></div>'
284
276
  )
285
277
  })
286
278
  it('should repeat and fill element for primitive value', function () {
287
- assertRendered(
279
+ assertRenderedHTML(
288
280
  `<div><h1 data-path-scope="outside.*.items.*"><var data-path="outside.*.items.*"></var></h1></div>`,
289
281
  { outside: [{ items: ['a', 'b'] }] },
290
282
  `<div>
@@ -294,14 +286,14 @@ describe('DOM Clientside', function () {
294
286
  )
295
287
  })
296
288
  it('should repeat element for object value', function () {
297
- assertRendered(
289
+ assertRenderedHTML(
298
290
  `<div><h1 data-path-scope="outside.*.items.*"></h1></div>`,
299
291
  { outside: [{ items: [{ a: '1' }, { a: '2' }] }] },
300
292
  '<div><h1 data-path-scope="outside.*.items.*"></h1><h1 data-path-scope="outside.*.items.*"></h1></div>'
301
293
  )
302
294
  })
303
295
  it('should repeat element for object value', function () {
304
- assertRendered(
296
+ assertRenderedHTML(
305
297
  `<div><h1 data-path-scope="outside.*.items.*"><var data-path="outside.*.items.*.title"></var></h1></div>`,
306
298
  { outside: [{ items: [{ title: '1' }, { title: '2' }] }] },
307
299
  `<div>
@@ -315,7 +307,7 @@ describe('DOM Clientside', function () {
315
307
  )
316
308
  })
317
309
  it('should repeat element for object value thrice', function () {
318
- assertRendered(
310
+ assertRenderedHTML(
319
311
  `<div><h1 data-path-scope="outside.*.items.*"><var data-path="outside.*.items.*.title"></var></h1></div>`,
320
312
  { outside: [{ items: [{ title: '0' }, { title: '1' }, { title: '2' }] }] },
321
313
  `<div>
@@ -332,7 +324,7 @@ describe('DOM Clientside', function () {
332
324
  )
333
325
  })
334
326
  it('should repeat element for jsonpath', function () {
335
- assertRendered(
327
+ assertRenderedHTML(
336
328
  `<div><h1 data-path-scope="outside.*.items[1:3]"><var data-path="outside.*.items.*.title"></var></h1></div>`,
337
329
  { outside: [{ items: [{ title: '0' }, { title: '1' }, { title: '2' }] }] },
338
330
  `<div>
@@ -349,7 +341,7 @@ describe('DOM Clientside', function () {
349
341
 
350
342
  describe('render multiplied with nested arrays and without parent context', () => {
351
343
  it('should repeat element for primitive value', function () {
352
- assertRendered(
344
+ assertRenderedHTML(
353
345
  `<div><h1 data-path-scope="outside.*.items.*"></h1></div>`,
354
346
  { outside: [{ items: ['a', 'b'] }, { items: ['a', 'b', 'c'] }] },
355
347
  `<div>
@@ -362,7 +354,7 @@ describe('DOM Clientside', function () {
362
354
  )
363
355
  })
364
356
  it('should repeat and fill element for primitive value', function () {
365
- assertRendered(
357
+ assertRenderedHTML(
366
358
  `<div><h1 data-path-scope="outside.*.items.*"><var data-path="outside.*.items.*"></var></h1></div>`,
367
359
  { outside: [{ items: ['a', 'b'] }, { items: ['a', 'b', 'c'] }] },
368
360
  `<div>
@@ -375,7 +367,7 @@ describe('DOM Clientside', function () {
375
367
  )
376
368
  })
377
369
  it('should repeat element for object value', function () {
378
- assertRendered(
370
+ assertRenderedHTML(
379
371
  `<div><h1 data-path-scope="outside.*.items.*"></h1></div>`,
380
372
  { outside: [{ items: [{ a: '1' }, { a: '2' }] }, { items: [{ a: '1' }, { a: '2' }, { c: '3' }] }] },
381
373
  `<div>
@@ -388,7 +380,7 @@ describe('DOM Clientside', function () {
388
380
  )
389
381
  })
390
382
  it('should repeat element for object value', function () {
391
- assertRendered(
383
+ assertRenderedHTML(
392
384
  `<div><h1 data-path-scope="outside.*.items.*"><var data-path="outside.*.items.*.title"></var></h1></div>`,
393
385
  {
394
386
  outside: [
@@ -416,7 +408,7 @@ describe('DOM Clientside', function () {
416
408
  )
417
409
  })
418
410
  it('should repeat element for object value thrice', function () {
419
- assertRendered(
411
+ assertRenderedHTML(
420
412
  `<div><h1 data-path-scope="outside.*.items.*"><var data-path="outside.*.items.*.title"></var></h1></div>`,
421
413
  { outside: [{ items: [{ title: '0' }, { title: '1' }, { title: '2' }] }, { items: [{ title: '0' }] }] },
422
414
  `<div>
@@ -436,7 +428,7 @@ describe('DOM Clientside', function () {
436
428
  )
437
429
  })
438
430
  it('should repeat element for jsonpath', function () {
439
- assertRendered(
431
+ assertRenderedHTML(
440
432
  `<div><h1 data-path-scope="outside.*.items[1:3]"><var data-path="outside.*.items.*.title"></var></h1></div>`,
441
433
  { outside: [{ items: [{ title: '0' }, { title: '1' }, { title: '2' }] }, { items: [{ title: '0' }] }] },
442
434
  `<div>
@@ -489,7 +481,7 @@ describe('DOM Clientside', function () {
489
481
  </section>
490
482
  </div>`
491
483
  ].forEach((input) => {
492
- assertRendered(
484
+ assertRenderedHTML(
493
485
  input,
494
486
  { outside: [{ items: ['a', 'b'] }, { items: ['a', 'b', 'c'] }] },
495
487
  `<div>
@@ -560,7 +552,7 @@ describe('DOM Clientside', function () {
560
552
  </section>
561
553
  </div>`
562
554
  ].forEach((input) => {
563
- assertRendered(
555
+ assertRenderedHTML(
564
556
  input,
565
557
  { outside: [{ items: ['a', 'b'] }, { items: ['a', 'b', 'c'] }] },
566
558
  `<div>
@@ -607,7 +599,7 @@ describe('DOM Clientside', function () {
607
599
  </section>
608
600
  </div>`
609
601
  ].forEach((input) => {
610
- assertRendered(
602
+ assertRenderedHTML(
611
603
  input,
612
604
  { outside: [{ items: [{ a: '1' }, { a: '2' }] }, { items: [{ a: '1' }, { a: '2' }, { c: '3' }] }] },
613
605
  `<div>
@@ -666,7 +658,7 @@ describe('DOM Clientside', function () {
666
658
  </section>
667
659
  </div>`
668
660
  ].forEach((input) => {
669
- assertRendered(
661
+ assertRenderedHTML(
670
662
  input,
671
663
  {
672
664
  outside: [
@@ -738,7 +730,7 @@ describe('DOM Clientside', function () {
738
730
  </section>
739
731
  </div>`
740
732
  ]
741
- assertRendered(
733
+ assertRenderedHTML(
742
734
  `<div>
743
735
  <section data-path-scope="outside.*">
744
736
  <h1 data-path-scope="outside.*.items.*">
@@ -799,7 +791,7 @@ describe('DOM Clientside', function () {
799
791
  </section>
800
792
  </div>`
801
793
  ].forEach((input) => {
802
- assertRendered(
794
+ assertRenderedHTML(
803
795
  input,
804
796
  { outside: [{ items: [{ title: '0' }, { title: '1' }, { title: '2' }] }, { items: [{ title: '0' }] }] },
805
797
  `<div>
@@ -823,10 +815,11 @@ describe('DOM Clientside', function () {
823
815
  })
824
816
  describe('Scripts', () => {
825
817
  it('should autoload scripts initially', () => {
826
- assertRendered(
818
+ assertRenderedHTML(
827
819
  `<div data-embed-src="http://example.com/script.js"></div>`,
828
820
  {},
829
- `<div data-embed-src="http://example.com/script.js"></div>`,
821
+ `<div data-embed-src="http://example.com/script.js"></div>
822
+ <script src="http://example.com/script.js" type="module"></script>`,
830
823
  ['http://example.com/script.js']
831
824
  )
832
825
  })
@@ -837,7 +830,7 @@ describe('DOM Clientside', function () {
837
830
 
838
831
  return new Promise<void>((resolve) => {
839
832
  setTimeout(() => {
840
- assertScriptLoaded(element, 'http://example.com/script.js')
833
+ assertScriptLoaded(element.closest('html'), 'http://example.com/script.js')
841
834
  resolve()
842
835
  }, 50)
843
836
  })
@@ -845,7 +838,7 @@ describe('DOM Clientside', function () {
845
838
  })
846
839
  describe('Various examples', () => {
847
840
  it('should render custom web components', () => {
848
- assertRendered(
841
+ assertRenderedHTML(
849
842
  `<bx-accordion class='-embed' data-embed-src="https://1.www.s81c.com/common/carbon/web-components/version/v1.21.0/accordion.min.js">
850
843
  <bx-accordion-item data-path-scope="dominatorData.items.*" data-path-attributes="dominatorData.items.*">
851
844
  </bx-accordion-item>
@@ -875,30 +868,35 @@ describe('DOM Clientside', function () {
875
868
  <bx-accordion-item data-path-scope="dominatorData.items.*" data-path-attributes="dominatorData.items.*" title-text="Bye world" data-attributes-keys="title-text,html">
876
869
  Mystical island
877
870
  </bx-accordion-item>
878
- </bx-accordion>`
871
+ </bx-accordion>
872
+ <script src="https://1.www.s81c.com/common/carbon/web-components/version/v1.21.0/accordion.min.js" type="module">
873
+ </script>`,
874
+ null,
875
+ null,
876
+ true
879
877
  )
880
878
  })
881
879
  })
882
880
  describe('customizations', function () {
883
881
  it('processTemplate', function () {
884
- assertRenderedContent(`<div></div>`, null, '<h1>123</h1>', [], {
882
+ assertRenderedHTML(`<div></div>`, null, '<h1>123</h1>', [], {
885
883
  processTemplate: (element, template, data) => {
886
884
  return '<h1>123</h1>'
887
885
  }
888
886
  })
889
- assertRenderedContent(`<div></div>`, null, '<div></div>', [], {
887
+ assertRenderedHTML(`<div></div>`, null, '<div></div>', [], {
890
888
  processTemplate: (element, template, data) => {
891
889
  return null
892
890
  }
893
891
  })
894
- assertRenderedContent(`<div><h1></h1></div>`, null, '<div><h1></h1></div>', [], {
892
+ assertRenderedHTML(`<div><h1></h1></div>`, null, '<div><h1></h1></div>', [], {
895
893
  processTemplate: (element, template, data) => {
896
894
  return null
897
895
  }
898
896
  })
899
897
  })
900
898
  it('processData', function () {
901
- assertRenderedContent(
899
+ assertRenderedHTML(
902
900
  `<div data-path-custom-attribute="test"></div>`,
903
901
  { test: 'a.jpg' },
904
902
  '<div data-path-custom-attribute="test" custom-attribute="b.jpg"></div>',
@@ -911,7 +909,7 @@ describe('DOM Clientside', function () {
911
909
  }
912
910
  }
913
911
  )
914
- assertRenderedContent(
912
+ assertRenderedHTML(
915
913
  `<div data-path-custom-attribute="test"></div>`,
916
914
  { test: 'a.jpg' },
917
915
  '<div data-path-custom-attribute="test" custom-attribute="a.jpg.gz"></div>',
package/types/basic.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import FEAASElement from './components/FEAASElement.js';
2
2
  export * from './dom.js';
3
3
  export * from './fetch.js';
4
+ export * from './cloud.js';
4
5
  export * from './components/FEAASBase.js';
5
6
  export * from './components/FEAASElement.js';
6
7
  export * from './components/FEAASComponent.js';
@@ -1 +1 @@
1
- {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../src/basic.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,8BAA8B,CAAA;AAEvD,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAE/C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,YAAY,EAAE,OAAO,YAAY,CAAA;KAClC;CACF"}
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../src/basic.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,8BAA8B,CAAA;AAEvD,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAE/C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,YAAY,EAAE,OAAO,YAAY,CAAA;KAClC;CACF"}
package/types/cloud.d.ts CHANGED
@@ -15,12 +15,14 @@ export interface CloudStylesheet {
15
15
  }
16
16
  export declare function getComponentURL({ cdn, hostname, library, component, version, revision }: CloudTemplate): string;
17
17
  export declare function getStylesheetURL({ cdn, hostname, library, revision }: CloudStylesheet): string;
18
- export declare function fetchComponent(props: CloudTemplate, callback: (html: string) => void): Promise<{
18
+ export declare function fetchAndRevalidateComponent(props: CloudTemplate, callback?: (html: string) => void, dontRevalidate?: boolean): Promise<{
19
19
  url: RequestInfo | URL;
20
20
  options: RequestInit;
21
21
  isCached: boolean;
22
22
  response: Response;
23
23
  validator: (resposne: Response) => boolean;
24
24
  } | (import("./fetch.js").ValidatableRequest & Required<Pick<import("./fetch.js").ValidatableRequest, "response">>)>;
25
+ /** Fetches HTML of a component. */
26
+ export declare function fetchComponentHTML(props: CloudTemplate): Promise<string>;
25
27
  export declare function fetchStylesheet(props: CloudStylesheet, callback: (css: string) => void): Promise<Response>;
26
28
  //# sourceMappingURL=cloud.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AACD,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;CACtD;AAED,wBAAgB,eAAe,CAAC,EAC9B,GAA2D,EAC3D,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAsB,EACvB,EAAE,aAAa,UAEf;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,GAA2D,EAC3D,QAAQ,EACR,OAAO,EACP,QAAsB,EACvB,EAAE,eAAe,UAEjB;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;;;;;;qHA4C1F;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,qBAe5F"}
1
+ {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AACD,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;CACtD;AAED,wBAAgB,eAAe,CAAC,EAC9B,GAA2D,EAC3D,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAsB,EACvB,EAAE,aAAa,UAEf;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,GAA2D,EAC3D,QAAQ,EACR,OAAO,EACP,QAAsB,EACvB,EAAE,eAAe,UAEjB;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,aAAa,EACpB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,cAAc,UAAQ;;;;;;qHA8CvB;AAED,mCAAmC;AACnC,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,aAAa,mBAU5D;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,qBAe5F"}
package/types/dom.d.ts CHANGED
@@ -24,6 +24,7 @@ export declare function autoloadScripts(element: HTMLElement, observe?: boolean)
24
24
  export declare function loadScript(element: HTMLElement, src: string): boolean;
25
25
  export declare function renderDOMElement(input: HTMLElement | DocumentFragment, datascopes?: any, config?: FEAASCustomizations, isNested?: boolean): HTMLElement;
26
26
  export declare function renderDOMContent(root: HTMLElement, template: string, data?: Datascopes, config?: FEAASCustomizations): HTMLElement;
27
+ export declare function renderHTMLContent(template: string, data?: Datascopes, config?: FEAASCustomizations, fakeDOM?: boolean): string;
27
28
  export declare function renderStylesheet(props: CloudStylesheet, style?: HTMLStyleElement): HTMLStyleElement;
28
29
  export declare function renderStylesheetPromise(props: CloudStylesheet, style?: HTMLStyleElement): Promise<HTMLStyleElement>;
29
30
  export declare function renderComponent(props: FEAASComponentProps, root?: HTMLElement): HTMLElement;
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Datascopes, FEAASCustomizations } from './dom.js';
2
+ export * from './basic.js';
3
+ export declare function renderHTMLContent(template: string, data?: Datascopes, config?: FEAASCustomizations): string;
4
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAsC,MAAM,UAAU,CAAA;AAE9F,cAAc,YAAY,CAAA;AAE1B,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,mBAAmB,UAIlG"}