@sitecore-feaas/clientside 0.1.29 → 0.1.30

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 (39) hide show
  1. package/build/components/FEAASComponent.js +1 -1
  2. package/build/components/FEAASComponent.js.map +1 -1
  3. package/build/dom/stylesheet.js +1 -1
  4. package/build/dom/stylesheet.js.map +1 -1
  5. package/build/ui/react.js.map +1 -1
  6. package/dist/browser/headless.esm.js +1 -1
  7. package/dist/browser/headless.esm.js.map +1 -1
  8. package/dist/browser/headless.js +1 -1
  9. package/dist/browser/headless.js.map +1 -1
  10. package/dist/browser/index.esm.js +5 -3
  11. package/dist/browser/index.esm.js.map +1 -1
  12. package/dist/browser/index.js +1 -1
  13. package/dist/browser/index.js.map +1 -1
  14. package/dist/browser/react.esm.js +69 -0
  15. package/dist/browser/react.esm.js.map +1 -0
  16. package/dist/browser/react.js +5 -3
  17. package/dist/browser/react.js.map +1 -1
  18. package/dist/node/headless.esm.js +1 -1
  19. package/dist/node/headless.esm.js.map +2 -2
  20. package/dist/node/headless.js +1 -1
  21. package/dist/node/headless.js.map +2 -2
  22. package/dist/node/index.esm.js +3 -3
  23. package/dist/node/index.esm.js.map +4 -4
  24. package/dist/node/index.js +1 -1
  25. package/dist/node/index.js.map +2 -2
  26. package/dist/node/react.esm.js +67 -0
  27. package/dist/node/react.esm.js.map +7 -0
  28. package/dist/node/react.js +1 -1
  29. package/dist/node/react.js.map +2 -2
  30. package/package.json +1 -1
  31. package/scripts/build.js +5 -4
  32. package/src/components/FEAASComponent.tsx +1 -1
  33. package/src/dom/stylesheet.ts +1 -1
  34. package/src/ui/react.tsx +1 -2
  35. package/test/FEAASStylesheet.test.tsx +22 -1
  36. package/types/tsbuildinfo +1 -1
  37. package/types/tsbuildinfo_ui +1 -1
  38. package/types/ui/react.d.ts +1 -1
  39. package/types/ui/react.d.ts.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sitecore-feaas/clientside",
3
- "version": "0.1.29",
3
+ "version": "0.1.30",
4
4
  "scripts": {
5
5
  "start": "webpack serve --open",
6
6
  "build": "rm -rf dist;npm run types; npm run build:esbuild; npm run build:sourcemaps",
package/scripts/build.js CHANGED
@@ -22,7 +22,8 @@ function compile({ input, output, ...step }) {
22
22
  '_MAGIC_IMPORT_COMMENTS_ESBUILD_WORKAROUND__',
23
23
  'linkedom',
24
24
  'react',
25
- 'react-dom'
25
+ 'react-dom',
26
+ 'vm'
26
27
  ],
27
28
 
28
29
  ...step,
@@ -74,13 +75,13 @@ function compile({ input, output, ...step }) {
74
75
  { input: 'build/ui/index.js', output: 'dist/node/index.js', platform: 'node', format: 'cjs' },
75
76
  { input: 'build/ui/index.js', output: 'dist/node/index.esm.js', platform: 'node', format: 'esm' },
76
77
  { input: 'build/ui/react.js', output: 'dist/node/react.js', platform: 'node', format: 'cjs' },
77
- { input: 'build/ui/react.js', output: 'dist/node/index.esm.js', platform: 'node', format: 'esm' },
78
+ { input: 'build/ui/react.js', output: 'dist/node/react.esm.js', platform: 'node', format: 'esm' },
78
79
  { input: 'build/headless.js', output: 'dist/node/headless.js', platform: 'node', format: 'cjs' },
79
80
  { input: 'build/headless.js', output: 'dist/node/headless.esm.js', platform: 'node', format: 'esm' },
80
81
  { input: 'build/ui/index.js', output: 'dist/browser/index.js', platform: 'browser', format: 'cjs' },
81
82
  { input: 'build/ui/index.js', output: 'dist/browser/index.esm.js', platform: 'browser', format: 'esm' },
82
- { input: 'build/ui/react.js', output: 'dist/browser/react.js', platform: 'node', format: 'cjs' },
83
- { input: 'build/ui/react.js', output: 'dist/browser/index.esm.js', platform: 'node', format: 'esm' },
83
+ { input: 'build/ui/react.js', output: 'dist/browser/react.js', platform: 'browser', format: 'cjs' },
84
+ { input: 'build/ui/react.js', output: 'dist/browser/react.esm.js', platform: 'browser', format: 'esm' },
84
85
  { input: 'build/headless.js', output: 'dist/browser/headless.js', platform: 'browser', format: 'cjs' },
85
86
  { input: 'build/headless.js', output: 'dist/browser/headless.esm.js', platform: 'browser', format: 'esm' }
86
87
  ].map((step) => {
@@ -127,7 +127,7 @@ export class FEAASComponent extends FEAASBase<FEAASComponentsProps, string> {
127
127
  return
128
128
  }
129
129
  if (this.props.withStylesheet) {
130
- var stylesheetPromise = loadStylesheetAllowStale(this.props).then(() => {
130
+ var stylesheetPromise = loadStylesheetAllowStale({ ...this.props, revision: 'published' }).then(() => {
131
131
  stylesheetPromise = null
132
132
  if (this.payload) {
133
133
  this.onLoad(this.payload)
@@ -21,7 +21,7 @@ export function loadStylesheet(props: FEAASCDNStylesheetParams, callback?: Valid
21
21
  if (!foundStylesheet) {
22
22
  var createdStylesheet = createStylesheet(props)
23
23
  }
24
- return fetchAndRevalidateStylesheet(props, (cssText, phase) => {
24
+ return fetchAndRevalidateStylesheet({ ...props }, (cssText, phase) => {
25
25
  if (createdStylesheet) {
26
26
  createdStylesheet.textContent = cssText
27
27
  }
package/src/ui/react.tsx CHANGED
@@ -1,6 +1,5 @@
1
- import { FEAASComponentProps } from '../headless.js'
2
-
3
1
  export * from './index.js'
2
+ import { FEAASComponentProps } from './index.js'
4
3
  import React from 'react'
5
4
 
6
5
  export function FEAASEmbed({ data, ...props }: FEAASComponentProps & { src: string }) {
@@ -1,7 +1,7 @@
1
1
  import { afterAll, beforeEach, beforeAll, describe, expect, it, vi } from 'vitest'
2
2
  import { FEAASStylesheet } from '../src/components/FEAASStylesheet.js'
3
3
  import { renderDOMContent } from '../src/dom/rendering.js'
4
- import { clearFetchCache, loadStylesheet } from '../src/headless.js'
4
+ import { clearFetchCache, DEFAULT_CDN_URL, loadStylesheet } from '../src/headless.js'
5
5
 
6
6
  const earliest = new Date(2000, 1, 1, 0, 0, 0)
7
7
  const earlier = new Date(2000, 1, 2, 0, 0, 0)
@@ -46,6 +46,27 @@ describe('Stylesheet', () => {
46
46
 
47
47
  expect(document.head.querySelector('style').textContent).toContain('TODAY')
48
48
  })
49
+ it('should load stylesheet with minimum parameters(cold cache)', async () => {
50
+ const spy = vi.spyOn(global, 'fetch')
51
+ spy.mockImplementation(async (url: string, options: Parameters<typeof fetch>[1] = {}) => {
52
+ if (url.match(DEFAULT_CDN_URL + '/styles/L/published.css'))
53
+ return new Response('TODAY {}', {
54
+ headers: {
55
+ date: now.toUTCString(),
56
+ 'last-modified': earlier.toUTCString()
57
+ }
58
+ })
59
+ })
60
+
61
+ document.body.innerHTML = '<feaas-stylesheet library="L"></feaas-stylesheet>'
62
+
63
+ const stylesheet = document.body.firstElementChild as FEAASStylesheet
64
+
65
+ await expect(stylesheet.whenRendered).resolves.toEqual(stylesheet)
66
+ expect(spy).toHaveBeenCalledTimes(1)
67
+
68
+ expect(document.head.querySelector('style').textContent).toContain('TODAY')
69
+ })
49
70
 
50
71
  it('should invalidate stylesheet cache', async () => {
51
72
  const spy = vi.spyOn(global, 'fetch')