effective-rsc 0.1.2 → 0.1.4

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 (54) hide show
  1. package/LLMS.md +85 -0
  2. package/README.md +14 -8
  3. package/dist/application/routes.d.ts +10 -10
  4. package/dist/application/routes.js.map +1 -1
  5. package/dist/build/build.d.ts +4 -2
  6. package/dist/build/build.js +19 -2
  7. package/dist/build/build.js.map +1 -1
  8. package/dist/build/deployment.d.ts +10 -0
  9. package/dist/build/deployment.js +59 -0
  10. package/dist/build/deployment.js.map +1 -0
  11. package/dist/build/dev.d.ts +4 -4
  12. package/dist/build/dev.js +22 -7
  13. package/dist/build/dev.js.map +1 -1
  14. package/dist/build/hook.d.ts +8 -0
  15. package/dist/build/hook.js +5 -0
  16. package/dist/build/hook.js.map +1 -0
  17. package/dist/build/rspack.js +1 -1
  18. package/dist/build/rspack.js.map +1 -1
  19. package/dist/cli.js +13 -24
  20. package/dist/cli.js.map +1 -1
  21. package/dist/client/browser-renderer.d.ts +25 -25
  22. package/dist/client/browser-renderer.js +80 -94
  23. package/dist/client/browser-renderer.js.map +1 -1
  24. package/dist/client/call-server.js +7 -5
  25. package/dist/client/call-server.js.map +1 -1
  26. package/dist/client/client-router.js +23 -7
  27. package/dist/client/client-router.js.map +1 -1
  28. package/dist/client/flight-client.js +3 -4
  29. package/dist/client/flight-client.js.map +1 -1
  30. package/dist/client/react-dom-renderer.js +2 -1
  31. package/dist/client/react-dom-renderer.js.map +1 -1
  32. package/dist/client/route-refresh.d.ts +2 -2
  33. package/dist/client/route-refresh.js +54 -39
  34. package/dist/client/route-refresh.js.map +1 -1
  35. package/dist/dev/panel.js +14 -14
  36. package/dist/dev/panel.js.map +1 -1
  37. package/dist/server/application.d.ts +2 -1
  38. package/dist/server/application.js +8 -6
  39. package/dist/server/application.js.map +1 -1
  40. package/dist/server/html-renderer.js +12 -11
  41. package/dist/server/html-renderer.js.map +1 -1
  42. package/dist/server/serve.d.ts +7 -0
  43. package/dist/server/serve.js +31 -0
  44. package/dist/server/serve.js.map +1 -0
  45. package/dist/server/start.d.ts +3 -0
  46. package/dist/server/start.js +24 -0
  47. package/dist/server/start.js.map +1 -0
  48. package/docs/02-guides/06-deploying-to-vercel/index.md +34 -0
  49. package/docs/02-guides/index.md +1 -0
  50. package/docs/03-advanced/02-client-navigation/index.md +17 -0
  51. package/docs/03-advanced/04-production-startup/01_server.ts +11 -0
  52. package/docs/03-advanced/04-production-startup/index.md +22 -0
  53. package/docs/03-advanced/index.md +1 -0
  54. package/package.json +27 -20
@@ -1 +1 @@
1
- {"version":3,"file":"client/route-refresh.js","sources":["../../src/client/route-refresh.ts"],"sourcesContent":["import { Context, Effect, FiberMap, Layer, Ref } from 'effect';\nimport { addTransitionType, startTransition } from 'react';\n\nimport { BrowserRenderer } from './browser-renderer';\nimport { NavigationApi } from './navigation-api';\nimport { isRoutedNavigation, preserveRequestedHash } from './navigation-routing';\nimport { RouteLoader } from './route-loader';\n\nconst CurrentRouteRefreshKey = 'CurrentRouteRefresh';\n\nexport type RouteRefreshTransitionType = 'hmr-refresh' | 'server-function';\n\ntype RouteRefreshImplementation = {\n readonly interruptCurrentRouteRefresh: Effect.Effect<void>;\n readonly refreshCurrentRoute: (transitionType: RouteRefreshTransitionType) => Effect.Effect<void>;\n};\n\nexport class RouteRefresher extends Context.Service<RouteRefresher>()(\n 'ersc/client/RouteRefresher',\n {\n make: Effect.gen(function* () {\n const navigationApi = yield* NavigationApi;\n const implementation = yield* Ref.make<RouteRefreshImplementation>({\n interruptCurrentRouteRefresh: Effect.void,\n refreshCurrentRoute: () => Effect.sync(navigationApi.reloadDocument),\n });\n\n const interruptCurrentRouteRefresh = Effect.gen(function* () {\n const current = yield* Ref.get(implementation);\n yield* current.interruptCurrentRouteRefresh;\n });\n\n const refreshCurrentRoute = Effect.fn('RouteRefresher.refreshCurrentRoute')(function* (\n transitionType: RouteRefreshTransitionType,\n ) {\n const current = yield* Ref.get(implementation);\n yield* current.refreshCurrentRoute(transitionType);\n });\n\n return {\n interruptCurrentRouteRefresh,\n refreshCurrentRoute,\n replace: (replacement: RouteRefreshImplementation) => Ref.set(implementation, replacement),\n };\n }),\n },\n) {\n static readonly layer = Layer.effect(this, this.make);\n\n static readonly layerTest = Layer.mock(this);\n}\n\nexport const installRouteRefresh = Effect.gen(function* () {\n const browserRenderer = yield* BrowserRenderer;\n const navigationApi = yield* NavigationApi;\n const routeLoader = yield* RouteLoader;\n const routeRefresher = yield* RouteRefresher;\n const refreshes = yield* FiberMap.make<typeof CurrentRouteRefreshKey>();\n\n const waitForNavigationIdle = Effect.suspend(() => {\n const transition = navigationApi.getTransition();\n return transition === null\n ? Effect.succeed('Idle' as const)\n : Effect.promise(() =>\n transition.finished.then(\n () => undefined,\n () => undefined,\n ),\n ).pipe(Effect.as('Settled' as const));\n }).pipe(Effect.repeat({ while: (state) => state === 'Settled' }), Effect.asVoid);\n\n const waitForRoutedNavigation = Effect.callback<void>((resume) => {\n const onNavigate = (event: NavigateEvent) => {\n if (isRoutedNavigation(event)) {\n resume(Effect.void);\n }\n };\n const unsubscribe = navigationApi.subscribe(onNavigate);\n return Effect.sync(unsubscribe);\n });\n\n const refreshRoute = Effect.fnUntraced(function* (transitionType: RouteRefreshTransitionType) {\n const currentEntry = navigationApi.getCurrentEntry();\n const destination = new URL(currentEntry?.url ?? navigationApi.getCurrentUrl());\n const resource = yield* routeLoader.load({\n destination: {\n id: currentEntry?.id ?? '',\n url: destination.href,\n },\n navigationType: 'replace',\n });\n\n if (resource._tag === 'Document') {\n yield* resource.release;\n yield* Effect.sync(navigationApi.reloadDocument);\n return;\n }\n\n const resolvedDestination = preserveRequestedHash(destination, resource.resolvedUrl);\n if (resolvedDestination.href !== destination.href) {\n yield* resource.release;\n yield* Effect.sync(() => navigationApi.replaceDocument(resolvedDestination.href));\n return;\n }\n\n const commitRefresh = routeLoader.prepareRefresh(resource.routeTree);\n let renderCommitted!: Promise<void>;\n yield* Effect.sync(() => {\n startTransition(() => {\n addTransitionType(transitionType);\n renderCommitted = browserRenderer.refresh(resource.routeTree);\n });\n });\n yield* Effect.all([Effect.promise(() => renderCommitted), resource.completed], {\n concurrency: 'unbounded',\n discard: true,\n }).pipe(Effect.andThen(Effect.sync(commitRefresh)), Effect.ensuring(resource.release));\n });\n\n const refreshCurrentRoute = Effect.fnUntraced(\n function* (transitionType: RouteRefreshTransitionType) {\n routeLoader.invalidate();\n yield* waitForNavigationIdle;\n // Only publication belongs to a React Transition. An async Action waiting for this\n // effect would prevent the very UI commit that completes the refresh.\n yield* Effect.raceFirst(refreshRoute(transitionType), waitForRoutedNavigation);\n },\n Effect.scoped,\n Effect.catch((cause) => Effect.logError('Failed to refresh the current route.', cause)),\n );\n\n yield* routeRefresher.replace({\n interruptCurrentRouteRefresh: FiberMap.remove(refreshes, CurrentRouteRefreshKey),\n refreshCurrentRoute: (transitionType) =>\n FiberMap.run(refreshes, CurrentRouteRefreshKey, refreshCurrentRoute(transitionType)).pipe(\n Effect.asVoid,\n ),\n });\n});\n"],"names":["Context","Effect","FiberMap","Layer","Ref","addTransitionType","startTransition","BrowserRenderer","NavigationApi","isRoutedNavigation","preserveRequestedHash","RouteLoader","CurrentRouteRefreshKey","RouteRefresher","navigationApi","implementation","interruptCurrentRouteRefresh","current","refreshCurrentRoute","transitionType","replacement","installRouteRefresh","browserRenderer","routeLoader","routeRefresher","refreshes","waitForNavigationIdle","transition","undefined","state","waitForRoutedNavigation","resume","onNavigate","event","unsubscribe","refreshRoute","currentEntry","destination","URL","resource","resolvedDestination","commitRefresh","renderCommitted","cause"],"mappings":"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"}
1
+ {"version":3,"file":"client/route-refresh.js","sources":["../../src/client/route-refresh.ts"],"sourcesContent":["import { Context, Effect, Exit, FiberHandle, Layer, Ref, Scope } from 'effect';\nimport { addTransitionType, startTransition } from 'react';\n\nimport { BrowserRenderer } from './browser-renderer';\nimport { NavigationApi } from './navigation-api';\nimport { isRoutedNavigation, preserveRequestedHash } from './navigation-routing';\nimport { RouteLoader } from './route-loader';\n\nexport type RouteRefreshTransitionType = 'hmr-refresh' | 'server-function';\n\ntype RouteRefreshImplementation = {\n readonly interruptCurrentRouteRefresh: Effect.Effect<void>;\n readonly refreshCurrentRoute: (transitionType: RouteRefreshTransitionType) => Effect.Effect<void>;\n};\n\nexport class RouteRefresher extends Context.Service<RouteRefresher>()(\n 'ersc/client/RouteRefresher',\n {\n make: Effect.gen(function* () {\n const navigationApi = yield* NavigationApi;\n const implementation = yield* Ref.make<RouteRefreshImplementation>({\n interruptCurrentRouteRefresh: Effect.void,\n refreshCurrentRoute: () => Effect.sync(navigationApi.reloadDocument),\n });\n\n const interruptCurrentRouteRefresh = Effect.gen(function* () {\n const current = yield* Ref.get(implementation);\n yield* current.interruptCurrentRouteRefresh;\n });\n\n const refreshCurrentRoute = Effect.fn('RouteRefresher.refreshCurrentRoute')(function* (\n transitionType: RouteRefreshTransitionType,\n ) {\n const current = yield* Ref.get(implementation);\n yield* current.refreshCurrentRoute(transitionType);\n });\n\n return {\n interruptCurrentRouteRefresh,\n refreshCurrentRoute,\n replace: (replacement: RouteRefreshImplementation) => Ref.set(implementation, replacement),\n };\n }),\n },\n) {\n static readonly layer = Layer.effect(this, this.make);\n\n static readonly layerTest = Layer.mock(this);\n}\n\nexport const installRouteRefresh = Effect.gen(function* () {\n const browserRenderer = yield* BrowserRenderer;\n const navigationApi = yield* NavigationApi;\n const routeLoader = yield* RouteLoader;\n const routeRefresher = yield* RouteRefresher;\n const refreshes = yield* FiberHandle.make<void>();\n const browserScope = yield* Effect.scope;\n\n const waitForNavigationIdle = Effect.suspend(() => {\n const transition = navigationApi.getTransition();\n return transition === null\n ? Effect.succeed('Idle' as const)\n : Effect.promise(() =>\n transition.finished.then(\n () => undefined,\n () => undefined,\n ),\n ).pipe(Effect.as('Settled' as const));\n }).pipe(Effect.repeat({ while: (state) => state === 'Settled' }), Effect.asVoid);\n\n const waitForRoutedNavigation = Effect.callback<void>((resume) => {\n const onNavigate = (event: NavigateEvent) => {\n if (isRoutedNavigation(event)) {\n resume(Effect.void);\n }\n };\n const unsubscribe = navigationApi.subscribe(onNavigate);\n return Effect.sync(unsubscribe);\n });\n\n const refreshRoute = Effect.fnUntraced(function* (transitionType: RouteRefreshTransitionType) {\n const responseScope = yield* Scope.make();\n const render = yield* Effect.uninterruptibleMask(\n Effect.fnUntraced(\n function* (restore) {\n const currentEntry = navigationApi.getCurrentEntry();\n const destination = new URL(currentEntry?.url ?? navigationApi.getCurrentUrl());\n const resource = yield* restore(\n routeLoader\n .load({\n destination: {\n id: currentEntry?.id ?? '',\n url: destination.href,\n },\n navigationType: 'replace',\n })\n .pipe(Scope.provide(responseScope)),\n );\n const release = resource.release.pipe(Scope.use(responseScope));\n\n if (resource._tag === 'Document') {\n yield* release;\n yield* Effect.sync(navigationApi.reloadDocument);\n return;\n }\n\n const resolvedDestination = preserveRequestedHash(destination, resource.resolvedUrl);\n if (resolvedDestination.href !== destination.href) {\n yield* release;\n yield* Effect.sync(() => navigationApi.replaceDocument(resolvedDestination.href));\n return;\n }\n\n const commitRefresh = routeLoader.prepareRefresh(resource.routeTree);\n let published!: ReturnType<BrowserRenderer['Service']['refresh']>;\n yield* Effect.sync(() => {\n startTransition(() => {\n addTransitionType(transitionType);\n published = browserRenderer.refresh(resource.routeTree);\n });\n });\n // Finish publication and install its browser-owned lifetime before allowing cancellation.\n yield* Effect.raceFirst(\n Effect.all([Effect.promise(() => published.committed), resource.completed], {\n concurrency: 'unbounded',\n discard: true,\n }).pipe(Effect.andThen(Effect.sync(commitRefresh))),\n Effect.promise(() => published.retired),\n ).pipe(\n Effect.ensuring(release),\n Effect.catch((cause) =>\n Effect.logError('Failed to stream the refreshed route.', cause),\n ),\n Effect.forkIn(browserScope, { startImmediately: true }),\n );\n yield* Effect.addFinalizer(() =>\n Effect.sync(() => {\n // The stream fiber awaits retirement; waiting here could block the replacement render.\n void published.discard();\n }),\n );\n return published;\n },\n Effect.onError((cause) => Scope.close(responseScope, Exit.failCause(cause))),\n ),\n );\n\n if (render !== undefined) {\n yield* Effect.promise(() => render.committed);\n }\n });\n\n const refreshCurrentRoute = Effect.fnUntraced(\n function* (transitionType: RouteRefreshTransitionType) {\n routeLoader.invalidate();\n yield* waitForNavigationIdle;\n // Only publication belongs to a React Transition. An async Action waiting for this\n // effect would prevent the very UI commit that completes the refresh.\n yield* Effect.raceFirst(refreshRoute(transitionType), waitForRoutedNavigation);\n },\n Effect.scoped,\n Effect.catch((cause) => Effect.logError('Failed to refresh the current route.', cause)),\n );\n\n yield* routeRefresher.replace({\n interruptCurrentRouteRefresh: FiberHandle.clear(refreshes),\n refreshCurrentRoute: (transitionType) =>\n FiberHandle.run(refreshes, refreshCurrentRoute(transitionType)).pipe(Effect.asVoid),\n });\n});\n"],"names":["Context","Effect","Exit","FiberHandle","Layer","Ref","Scope","addTransitionType","startTransition","BrowserRenderer","NavigationApi","isRoutedNavigation","preserveRequestedHash","RouteLoader","RouteRefresher","navigationApi","implementation","interruptCurrentRouteRefresh","current","refreshCurrentRoute","transitionType","replacement","installRouteRefresh","browserRenderer","routeLoader","routeRefresher","refreshes","browserScope","waitForNavigationIdle","transition","undefined","state","waitForRoutedNavigation","resume","onNavigate","event","unsubscribe","refreshRoute","responseScope","render","restore","currentEntry","destination","URL","resource","release","resolvedDestination","commitRefresh","published","cause"],"mappings":"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"}
package/dist/dev/panel.js CHANGED
@@ -35,7 +35,7 @@ __webpack_require__.add = function registerModules(modules) { Object.assign(__we
35
35
  })();
36
36
 
37
37
  __webpack_require__.add({
38
- 7411(__unused_rspack_module, exports, __webpack_require__) {
38
+ 9501(__unused_rspack_module, exports, __webpack_require__) {
39
39
  /**
40
40
  * @license React
41
41
  * use-sync-external-store-shim.development.js
@@ -134,7 +134,7 @@ __webpack_require__.add({
134
134
 
135
135
 
136
136
  },
137
- 6007(__unused_rspack_module, exports, __webpack_require__) {
137
+ 1909(__unused_rspack_module, exports, __webpack_require__) {
138
138
  /**
139
139
  * @license React
140
140
  * use-sync-external-store-shim.production.js
@@ -204,7 +204,7 @@ exports.useSyncExternalStore =
204
204
 
205
205
 
206
206
  },
207
- 4302(__unused_rspack_module, exports, __webpack_require__) {
207
+ 4400(__unused_rspack_module, exports, __webpack_require__) {
208
208
  /**
209
209
  * @license React
210
210
  * use-sync-external-store-shim/with-selector.development.js
@@ -226,7 +226,7 @@ exports.useSyncExternalStore =
226
226
  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&
227
227
  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
228
228
  var React = __webpack_require__(2015),
229
- shim = __webpack_require__(6666),
229
+ shim = __webpack_require__(9896),
230
230
  objectIs = "function" === typeof Object.is ? Object.is : is,
231
231
  useSyncExternalStore = shim.useSyncExternalStore,
232
232
  useRef = React.useRef,
@@ -305,7 +305,7 @@ exports.useSyncExternalStore =
305
305
 
306
306
 
307
307
  },
308
- 5284(__unused_rspack_module, exports, __webpack_require__) {
308
+ 5050(__unused_rspack_module, exports, __webpack_require__) {
309
309
  /**
310
310
  * @license React
311
311
  * use-sync-external-store-shim/with-selector.production.js
@@ -318,7 +318,7 @@ exports.useSyncExternalStore =
318
318
 
319
319
 
320
320
  var React = __webpack_require__(2015),
321
- shim = __webpack_require__(6666);
321
+ shim = __webpack_require__(9896);
322
322
  function is(x, y) {
323
323
  return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);
324
324
  }
@@ -394,24 +394,24 @@ exports.useSyncExternalStoreWithSelector = function (
394
394
 
395
395
 
396
396
  },
397
- 6666(module, __unused_rspack_exports, __webpack_require__) {
397
+ 9896(module, __unused_rspack_exports, __webpack_require__) {
398
398
 
399
399
 
400
400
  if (process.env.NODE_ENV === 'production') {
401
- module.exports = __webpack_require__(6007);
401
+ module.exports = __webpack_require__(1909);
402
402
  } else {
403
- module.exports = __webpack_require__(7411);
403
+ module.exports = __webpack_require__(9501);
404
404
  }
405
405
 
406
406
 
407
407
  },
408
- 9892(module, __unused_rspack_exports, __webpack_require__) {
408
+ 4578(module, __unused_rspack_exports, __webpack_require__) {
409
409
 
410
410
 
411
411
  if (process.env.NODE_ENV === 'production') {
412
- module.exports = __webpack_require__(5284);
412
+ module.exports = __webpack_require__(5050);
413
413
  } else {
414
- module.exports = __webpack_require__(4302);
414
+ module.exports = __webpack_require__(4400);
415
415
  }
416
416
 
417
417
 
@@ -4455,8 +4455,8 @@ function useDismiss(context, props = {}) {
4455
4455
 
4456
4456
 
4457
4457
 
4458
- const shim = __webpack_require__("6666");
4459
- const with_selector = __webpack_require__("9892");
4458
+ const shim = __webpack_require__("9896");
4459
+ const with_selector = __webpack_require__("4578");
4460
4460
 
4461
4461
  /* We need to import the shim because React 17 does not support the `useSyncExternalStore` API.
4462
4462
  * More info: https://github.com/mui/mui-x/issues/18303#issuecomment-2958392341 */