sygnal 5.3.2 → 5.3.3

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/README.md CHANGED
@@ -423,7 +423,7 @@ import vikeSygnal from 'sygnal/config'
423
423
  export default { extends: [vikeSygnal] }
424
424
  ```
425
425
 
426
- Pages are standard Sygnal components in `pages/*/+Page.jsx`. Supports layouts, data fetching, SPA mode, and `ClientOnly` for browser-only components.
426
+ Pages are standard Sygnal components in `pages/*/+Page.jsx`. Supports layouts, data fetching, SPA mode, custom drivers, and `ClientOnly` for browser-only components.
427
427
 
428
428
  ### TypeScript
429
429
 
@@ -40,6 +40,9 @@ var _config = {
40
40
  lang: {
41
41
  env: { server: true, client: true },
42
42
  },
43
+ drivers: {
44
+ env: { client: true },
45
+ },
43
46
  ssr: {
44
47
  env: { config: true },
45
48
  effect({ configDefinedAt, configValue }) {
@@ -38,6 +38,9 @@ var _config = {
38
38
  lang: {
39
39
  env: { server: true, client: true },
40
40
  },
41
+ drivers: {
42
+ env: { client: true },
43
+ },
41
44
  ssr: {
42
45
  env: { config: true },
43
46
  effect({ configDefinedAt, configValue }) {
@@ -265,7 +265,7 @@ function onRenderClient(pageContext) {
265
265
  };
266
266
  const Component = createLayoutWrapper(wrappers, layouts, Page);
267
267
  try {
268
- currentApp = sygnal.run(Component, {}, { mountPoint: '#page-view' });
268
+ currentApp = sygnal.run(Component, config.drivers || {}, { mountPoint: '#page-view' });
269
269
  }
270
270
  catch (err) {
271
271
  console.error('[sygnal/vike] Client render error:', err);
@@ -301,7 +301,7 @@ function onRenderClient(pageContext) {
301
301
  urlPathname: () => currentUrlPathname,
302
302
  };
303
303
  try {
304
- currentApp = sygnal.run(Page, {}, { mountPoint: '#page-view' });
304
+ currentApp = sygnal.run(Page, config.drivers || {}, { mountPoint: '#page-view' });
305
305
  }
306
306
  catch (err) {
307
307
  console.error('[sygnal/vike] Client render error:', err);
@@ -263,7 +263,7 @@ function onRenderClient(pageContext) {
263
263
  };
264
264
  const Component = createLayoutWrapper(wrappers, layouts, Page);
265
265
  try {
266
- currentApp = run(Component, {}, { mountPoint: '#page-view' });
266
+ currentApp = run(Component, config.drivers || {}, { mountPoint: '#page-view' });
267
267
  }
268
268
  catch (err) {
269
269
  console.error('[sygnal/vike] Client render error:', err);
@@ -299,7 +299,7 @@ function onRenderClient(pageContext) {
299
299
  urlPathname: () => currentUrlPathname,
300
300
  };
301
301
  try {
302
- currentApp = run(Page, {}, { mountPoint: '#page-view' });
302
+ currentApp = run(Page, config.drivers || {}, { mountPoint: '#page-view' });
303
303
  }
304
304
  catch (err) {
305
305
  console.error('[sygnal/vike] Client render error:', err);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sygnal",
3
- "version": "5.3.2",
3
+ "version": "5.3.3",
4
4
  "description": "An intuitive framework for building fast and small components or applications based on Cycle.js",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "types": "./dist/index.d.ts",
@@ -42,6 +42,9 @@ export default {
42
42
  lang: {
43
43
  env: { server: true, client: true },
44
44
  },
45
+ drivers: {
46
+ env: { client: true },
47
+ },
45
48
  ssr: {
46
49
  env: { config: true },
47
50
  effect({ configDefinedAt, configValue }: { configDefinedAt: string; configValue: unknown }) {
@@ -36,6 +36,7 @@ interface PageContext {
36
36
  Wrapper?: any | any[]
37
37
  title?: string
38
38
  ssr?: boolean
39
+ drivers?: Record<string, (sink: any) => any>
39
40
  }
40
41
  }
41
42
 
@@ -310,7 +311,7 @@ export function onRenderClient(pageContext: PageContext) {
310
311
  const Component = createLayoutWrapper(wrappers, layouts, Page)
311
312
 
312
313
  try {
313
- currentApp = run(Component, {}, { mountPoint: '#page-view' }) as any
314
+ currentApp = run(Component, config.drivers || {}, { mountPoint: '#page-view' }) as any
314
315
  } catch (err: any) {
315
316
  console.error('[sygnal/vike] Client render error:', err)
316
317
  const container = document.getElementById('page-view')
@@ -347,7 +348,7 @@ export function onRenderClient(pageContext: PageContext) {
347
348
  }
348
349
 
349
350
  try {
350
- currentApp = run(Page, {}, { mountPoint: '#page-view' }) as any
351
+ currentApp = run(Page, config.drivers || {}, { mountPoint: '#page-view' }) as any
351
352
  } catch (err: any) {
352
353
  console.error('[sygnal/vike] Client render error:', err)
353
354
  const container = document.getElementById('page-view')
package/src/vike/types.ts CHANGED
@@ -22,6 +22,8 @@ declare global {
22
22
  favicon?: string
23
23
  /** <html lang="..."> attribute (default: "en") */
24
24
  lang?: string
25
+ /** Additional Cycle.js drivers to pass to run() (e.g. WebSocket, HTTP). Client-only. */
26
+ drivers?: Record<string, (sink: any) => any>
25
27
  /** Enable/disable SSR for this page (default: true). Set false for SPA mode. */
26
28
  ssr?: boolean
27
29
  }