@quilted/quilt 0.8.4 → 0.8.6

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.
@@ -1,9 +1,4 @@
1
1
  import './assets/files.ts';
2
2
  import './assets/styles.ts';
3
3
  export * from '@quilted/assets';
4
- declare module '@quilted/assets' {
5
- interface AssetsCacheKey {
6
- browserGroup?: string;
7
- }
8
- }
9
4
  //# sourceMappingURL=assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../source/assets.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAE5B,cAAc,iBAAiB,CAAC;AAEhC,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,cAAc;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../source/assets.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAE5B,cAAc,iBAAiB,CAAC"}
@@ -15,9 +15,9 @@ declare module 'quilt:module/request-router' {
15
15
  export default router;
16
16
  }
17
17
  declare module 'quilt:module/assets' {
18
- import type { AssetsCacheKey, BrowserAssets as BrowserAssetsType } from '@quilted/assets';
18
+ import type { BrowserAssets as BrowserAssetsType } from '@quilted/assets';
19
19
  const BrowserAssets: {
20
- new <CacheKey = AssetsCacheKey>(): BrowserAssetsType<CacheKey>;
20
+ new (): BrowserAssetsType;
21
21
  };
22
22
  }
23
23
  //# sourceMappingURL=modules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../source/modules.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kBAAkB,CAAC;IAChC,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;IAE7D,YAAY,EAAC,oBAAoB,EAAC,CAAC;IAEnC,MAAM,GAAG,EAAE,oBAAoB,CAAC;IAChC,eAAe,GAAG,CAAC;CACpB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAC;IAE1C,MAAM,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,eAAe,GAAG,CAAC;CACpB;AAED,OAAO,QAAQ,6BAA6B,CAAC;IAC3C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;IAE3D,MAAM,MAAM,EAAE,aAAa,CAAC;IAC5B,eAAe,MAAM,CAAC;CACvB;AAED,OAAO,QAAQ,qBAAqB,CAAC;IACnC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,IAAI,iBAAiB,EACnC,MAAM,iBAAiB,CAAC;IAElB,MAAM,aAAa,EAAE;QAC1B,KAAK,QAAQ,GAAG,cAAc,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC;KAChE,CAAC;CACH"}
1
+ {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../source/modules.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kBAAkB,CAAC;IAChC,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;IAE7D,YAAY,EAAC,oBAAoB,EAAC,CAAC;IAEnC,MAAM,GAAG,EAAE,oBAAoB,CAAC;IAChC,eAAe,GAAG,CAAC;CACpB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAC;IAE1C,MAAM,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,eAAe,GAAG,CAAC;CACpB;AAED,OAAO,QAAQ,6BAA6B,CAAC;IAC3C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;IAE3D,MAAM,MAAM,EAAE,aAAa,CAAC;IAC5B,eAAe,MAAM,CAAC;CACvB;AAED,OAAO,QAAQ,qBAAqB,CAAC;IACnC,OAAO,KAAK,EAAC,aAAa,IAAI,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;IAEjE,MAAM,aAAa,EAAE;QAC1B,QAAQ,iBAAiB,CAAC;KAC3B,CAAC;CACH"}
@@ -1,8 +1,10 @@
1
1
  import type { RenderableProps, VNode } from 'preact';
2
2
  import { type BrowserDetails } from '@quilted/preact-browser/server';
3
+ import { type BrowserAssets } from '@quilted/assets';
3
4
  interface Props {
4
5
  browser?: BrowserDetails;
6
+ assets?: BrowserAssets;
5
7
  }
6
- export declare function ServerContext({ browser, children }: RenderableProps<Props>): VNode<{}>;
8
+ export declare function ServerContext({ browser, assets, children, }: RenderableProps<Props>): VNode<{}>;
7
9
  export {};
8
10
  //# sourceMappingURL=ServerContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerContext.d.ts","sourceRoot":"","sources":["../../../source/server/ServerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,KAAK,EAAC,MAAM,QAAQ,CAAC;AAEnD,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,gCAAgC,CAAC;AAExC,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GASjD,KAAK,CAAC,EAAE,CAAC,CAChC"}
1
+ {"version":3,"file":"ServerContext.d.ts","sourceRoot":"","sources":["../../../source/server/ServerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,KAAK,EAAC,MAAM,QAAQ,CAAC;AAEnD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAC,KAAK,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAEnD,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,QAAQ,GACT,EAAE,eAAe,CAAC,KAAK,CAAC,GAiBF,KAAK,CAAC,EAAE,CAAC,CAC/B"}
@@ -1,10 +1,7 @@
1
1
  import { type VNode } from 'preact';
2
- import { type AssetsCacheKey, type BrowserAssets } from '@quilted/assets';
3
- import { BrowserDetails, BrowserResponse } from '@quilted/preact-browser/server';
2
+ import { type BrowserAssets } from '@quilted/assets';
3
+ import { BrowserResponse } from '@quilted/preact-browser/server';
4
4
  import { EnhancedResponse } from '@quilted/request-router';
5
- export declare function renderToStringWithServerContext(element: VNode<any>, { browser }?: {
6
- browser?: BrowserDetails;
7
- }): Promise<string>;
8
5
  export interface RenderHTMLFunction {
9
6
  (content: ReadableStream<string>, context: {
10
7
  readonly response: BrowserResponse;
@@ -16,7 +13,6 @@ export interface RenderToResponseOptions {
16
13
  readonly stream?: 'headers' | false;
17
14
  readonly headers?: HeadersInit;
18
15
  readonly assets?: BrowserAssets;
19
- readonly cacheKey?: Partial<AssetsCacheKey>;
20
16
  readonly serializations?: Iterable<[string, unknown]>;
21
17
  readonly renderHTML?: boolean | 'fragment' | 'document' | RenderHTMLFunction;
22
18
  waitUntil?(promise: Promise<any>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"request-router.d.ts","sourceRoot":"","sources":["../../../source/server/request-router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,KAAK,EAAW,MAAM,QAAQ,CAAC;AAM5D,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,eAAe,EAKhB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAe,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAIvE,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,EACnB,EAAC,OAAO,EAAC,GAAE;IAAC,OAAO,CAAC,EAAE,cAAc,CAAA;CAAM,mBAO3C;AAED,MAAM,WAAW,kBAAkB;IACjC,CACE,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,EAC/B,OAAO,EAAE;QACP,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;KACpC,GACA,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,kBAAkB,CAAC;IAC7E,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CACzC;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,EACnB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC7B,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"request-router.d.ts","sourceRoot":"","sources":["../../../source/server/request-router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,KAAK,EAAW,MAAM,QAAQ,CAAC;AAM5D,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EAKhB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAe,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAIvE,MAAM,WAAW,kBAAkB;IACjC,CACE,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,EAC/B,OAAO,EAAE;QACP,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;KACpC,GACA,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,kBAAkB,CAAC;IAC7E,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CACzC;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,EACnB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC7B,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAC"}
@@ -7,4 +7,6 @@ declare function noopCreateRequestRouterLocalization(): void;
7
7
  export { noopCreateRequestRouterLocalization as createRequestRouterLocalization };
8
8
  declare function noopRenderToResponse(): void;
9
9
  export { noopRenderToResponse as renderToResponse };
10
+ declare function NoopServerContext(): null;
11
+ export { NoopServerContext as ServerContext };
10
12
  //# sourceMappingURL=server.browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.browser.d.ts","sourceRoot":"","sources":["../../source/server.browser.ts"],"names":[],"mappings":"AAAA,iBAAS,kBAAkB,SAAK;AAEhC,OAAO,EACL,kBAAkB,IAAI,cAAc,EACpC,kBAAkB,IAAI,mBAAmB,EACzC,kBAAkB,IAAI,oBAAoB,GAC3C,CAAC;AACF,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAC,yBAAyB,EAAC,MAAM,0BAA0B,CAAC;AAEnE,iBAAS,mCAAmC,SAAK;AACjD,OAAO,EAAC,mCAAmC,IAAI,+BAA+B,EAAC,CAAC;AAEhF,iBAAS,oBAAoB,SAAK;AAClC,OAAO,EAAC,oBAAoB,IAAI,gBAAgB,EAAC,CAAC"}
1
+ {"version":3,"file":"server.browser.d.ts","sourceRoot":"","sources":["../../source/server.browser.ts"],"names":[],"mappings":"AAAA,iBAAS,kBAAkB,SAAK;AAEhC,OAAO,EACL,kBAAkB,IAAI,cAAc,EACpC,kBAAkB,IAAI,mBAAmB,EACzC,kBAAkB,IAAI,oBAAoB,GAC3C,CAAC;AACF,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAC,yBAAyB,EAAC,MAAM,0BAA0B,CAAC;AAEnE,iBAAS,mCAAmC,SAAK;AACjD,OAAO,EAAC,mCAAmC,IAAI,+BAA+B,EAAC,CAAC;AAEhF,iBAAS,oBAAoB,SAAK;AAClC,OAAO,EAAC,oBAAoB,IAAI,gBAAgB,EAAC,CAAC;AAElD,iBAAS,iBAAiB,SAEzB;AACD,OAAO,EAAC,iBAAiB,IAAI,aAAa,EAAC,CAAC"}
@@ -3,5 +3,6 @@ export * from '@quilted/preact-browser/server';
3
3
  export * from '@quilted/assets';
4
4
  export { parseAcceptLanguageHeader } from '@quilted/preact-localize';
5
5
  export { createRequestRouterLocalization } from '@quilted/preact-localize/request-router';
6
- export { renderToResponse, renderToStringWithServerContext, type RenderToResponseOptions, type RenderHTMLFunction, } from './server/request-router.tsx';
6
+ export { renderToResponse, type RenderToResponseOptions, type RenderHTMLFunction, } from './server/request-router.tsx';
7
+ export { ServerContext } from './server/ServerContext.tsx';
7
8
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../source/server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAC,yBAAyB,EAAC,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAC,+BAA+B,EAAC,MAAM,yCAAyC,CAAC;AAExF,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,GACxB,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../source/server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAC,yBAAyB,EAAC,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAC,+BAA+B,EAAC,MAAM,yCAAyC,CAAC;AAExF,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@quilted/quilt",
3
3
  "type": "module",
4
- "version": "0.8.4",
4
+ "version": "0.8.6",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/lemonmade/quilt.git",
@@ -241,12 +241,12 @@
241
241
  "./build/esm/signals.mjs"
242
242
  ],
243
243
  "dependencies": {
244
- "@quilted/assets": "^0.1.2",
245
- "@quilted/async": "^0.4.2",
244
+ "@quilted/assets": "^0.1.5",
245
+ "@quilted/async": "^0.4.22",
246
246
  "@quilted/events": "^2.1.1",
247
- "@quilted/graphql": "^3.3.5",
247
+ "@quilted/graphql": "^3.3.8",
248
248
  "@quilted/preact-async": "^0.1.2",
249
- "@quilted/preact-browser": "^0.1.8",
249
+ "@quilted/preact-browser": "^0.1.10",
250
250
  "@quilted/preact-context": "^0.1.2",
251
251
  "@quilted/preact-graphql": "^0.1.0",
252
252
  "@quilted/preact-localize": "^0.3.0",
package/source/assets.ts CHANGED
@@ -2,9 +2,3 @@ import './assets/files.ts';
2
2
  import './assets/styles.ts';
3
3
 
4
4
  export * from '@quilted/assets';
5
-
6
- declare module '@quilted/assets' {
7
- interface AssetsCacheKey {
8
- browserGroup?: string;
9
- }
10
- }
package/source/modules.ts CHANGED
@@ -22,12 +22,9 @@ declare module 'quilt:module/request-router' {
22
22
  }
23
23
 
24
24
  declare module 'quilt:module/assets' {
25
- import type {
26
- AssetsCacheKey,
27
- BrowserAssets as BrowserAssetsType,
28
- } from '@quilted/assets';
25
+ import type {BrowserAssets as BrowserAssetsType} from '@quilted/assets';
29
26
 
30
27
  export const BrowserAssets: {
31
- new <CacheKey = AssetsCacheKey>(): BrowserAssetsType<CacheKey>;
28
+ new (): BrowserAssetsType;
32
29
  };
33
30
  }
@@ -2,14 +2,22 @@ import type {RenderableProps, VNode} from 'preact';
2
2
 
3
3
  import {
4
4
  BrowserDetailsContext,
5
+ BrowserAssetsManifestContext,
5
6
  type BrowserDetails,
6
7
  } from '@quilted/preact-browser/server';
7
8
 
9
+ import {type BrowserAssets} from '@quilted/assets';
10
+
8
11
  interface Props {
9
12
  browser?: BrowserDetails;
13
+ assets?: BrowserAssets;
10
14
  }
11
15
 
12
- export function ServerContext({browser, children}: RenderableProps<Props>) {
16
+ export function ServerContext({
17
+ browser,
18
+ assets,
19
+ children,
20
+ }: RenderableProps<Props>) {
13
21
  const withBrowser = browser ? (
14
22
  <BrowserDetailsContext.Provider value={browser}>
15
23
  {children}
@@ -18,5 +26,13 @@ export function ServerContext({browser, children}: RenderableProps<Props>) {
18
26
  children
19
27
  );
20
28
 
21
- return withBrowser as VNode<{}>;
29
+ const withAssets = assets ? (
30
+ <BrowserAssetsManifestContext.Provider value={assets}>
31
+ {withBrowser}
32
+ </BrowserAssetsManifestContext.Provider>
33
+ ) : (
34
+ withBrowser
35
+ );
36
+
37
+ return withAssets as VNode<{}>;
22
38
  }
@@ -7,12 +7,10 @@ import {
7
7
  import {
8
8
  styleAssetPreloadAttributes,
9
9
  scriptAssetPreloadAttributes,
10
- type AssetsCacheKey,
11
10
  type BrowserAssets,
12
11
  type BrowserAssetsEntry,
13
12
  } from '@quilted/assets';
14
13
  import {
15
- BrowserDetails,
16
14
  BrowserResponse,
17
15
  ScriptAsset,
18
16
  ScriptAssetPreload,
@@ -24,17 +22,6 @@ import {HTMLResponse, EnhancedResponse} from '@quilted/request-router';
24
22
 
25
23
  import {ServerContext} from './ServerContext.tsx';
26
24
 
27
- export async function renderToStringWithServerContext(
28
- element: VNode<any>,
29
- {browser}: {browser?: BrowserDetails} = {},
30
- ) {
31
- const rendered = await renderToStringAsync(
32
- <ServerContext browser={browser}>{element}</ServerContext>,
33
- );
34
-
35
- return rendered;
36
- }
37
-
38
25
  export interface RenderHTMLFunction {
39
26
  (
40
27
  content: ReadableStream<string>,
@@ -50,7 +37,6 @@ export interface RenderToResponseOptions {
50
37
  readonly stream?: 'headers' | false;
51
38
  readonly headers?: HeadersInit;
52
39
  readonly assets?: BrowserAssets;
53
- readonly cacheKey?: Partial<AssetsCacheKey>;
54
40
  readonly serializations?: Iterable<[string, unknown]>;
55
41
  readonly renderHTML?: boolean | 'fragment' | 'document' | RenderHTMLFunction;
56
42
  waitUntil?(promise: Promise<any>): void;
@@ -81,7 +67,6 @@ export async function renderToResponse(
81
67
  request,
82
68
  assets,
83
69
  status: explicitStatus,
84
- cacheKey: explicitCacheKey,
85
70
  headers: explicitHeaders,
86
71
  serializations: explicitSerializations,
87
72
  waitUntil = noop,
@@ -91,13 +76,8 @@ export async function renderToResponse(
91
76
 
92
77
  const baseURL = (request as any).URL ?? new URL(request.url);
93
78
 
94
- const cacheKey =
95
- explicitCacheKey ??
96
- (((await assets?.cacheKey?.(request)) ?? {}) as AssetsCacheKey);
97
-
98
79
  const browserResponse = new BrowserResponse({
99
80
  request,
100
- cacheKey,
101
81
  status: explicitStatus,
102
82
  headers: new Headers(explicitHeaders),
103
83
  serializations: explicitSerializations,
@@ -109,9 +89,11 @@ export async function renderToResponse(
109
89
  let rendered: string;
110
90
 
111
91
  try {
112
- rendered = await renderToStringWithServerContext(element, {
113
- browser: browserResponse,
114
- });
92
+ rendered = await renderToStringAsync(
93
+ <ServerContext assets={assets} browser={browserResponse}>
94
+ {element}
95
+ </ServerContext>,
96
+ );
115
97
  } catch (error) {
116
98
  if (error instanceof Response) {
117
99
  const mergedHeaders = new Headers(browserResponse.headers);
@@ -157,9 +139,11 @@ export async function renderToResponse(
157
139
  // this, they will explicitly turn on streaming and will have to use some in-app
158
140
  // to manually handle redirects (e.g., by rendering a script tag that uses JavaScript
159
141
  // to redirect)
160
- const rendered = await renderToStringWithServerContext(element, {
161
- browser: browserResponse,
162
- });
142
+ const rendered = await renderToStringAsync(
143
+ <ServerContext assets={assets} browser={browserResponse}>
144
+ {element}
145
+ </ServerContext>,
146
+ );
163
147
 
164
148
  appWriter.write(rendered);
165
149
  }
@@ -198,15 +182,16 @@ export async function renderToResponse(
198
182
 
199
183
  writer.write(`<!DOCTYPE html>`);
200
184
 
201
- const [synchronousAssets, preloadAssets] = await Promise.all([
202
- assets?.entry({
203
- cacheKey,
204
- modules: browserResponse.assets.get({timing: 'load'}),
205
- }),
206
- assets?.modules(browserResponse.assets.get({timing: 'preload'}), {
207
- cacheKey,
208
- }),
209
- ]);
185
+ const synchronousAssets = assets?.entry({
186
+ request,
187
+ modules: browserResponse.assets.get({timing: 'load'}),
188
+ });
189
+ const preloadAssets = assets?.modules(
190
+ browserResponse.assets.get({timing: 'preload'}),
191
+ {
192
+ request,
193
+ },
194
+ );
210
195
 
211
196
  if (synchronousAssets) {
212
197
  for (const style of synchronousAssets.styles) {
@@ -294,15 +279,17 @@ export async function renderToResponse(
294
279
 
295
280
  if (element != null) writer.write(`</div>`);
296
281
 
297
- const [newSynchronousAssets, newPreloadAssets] = await Promise.all([
298
- assets?.entry({
299
- cacheKey,
300
- modules: browserResponse.assets.get({timing: 'load'}),
301
- }),
302
- assets?.modules(browserResponse.assets.get({timing: 'preload'}), {
303
- cacheKey,
304
- }),
305
- ]);
282
+ const newSynchronousAssets = assets?.entry({
283
+ request,
284
+ modules: browserResponse.assets.get({timing: 'load'}),
285
+ });
286
+
287
+ const newPreloadAssets = assets?.modules(
288
+ browserResponse.assets.get({timing: 'preload'}),
289
+ {
290
+ request,
291
+ },
292
+ );
306
293
 
307
294
  if (newSynchronousAssets) {
308
295
  const diffedSynchronousAssets = diffBrowserAssetsEntries(
@@ -15,3 +15,8 @@ export {noopCreateRequestRouterLocalization as createRequestRouterLocalization};
15
15
 
16
16
  function noopRenderToResponse() {}
17
17
  export {noopRenderToResponse as renderToResponse};
18
+
19
+ function NoopServerContext() {
20
+ return null;
21
+ }
22
+ export {NoopServerContext as ServerContext};
package/source/server.ts CHANGED
@@ -11,7 +11,7 @@ export {createRequestRouterLocalization} from '@quilted/preact-localize/request-
11
11
 
12
12
  export {
13
13
  renderToResponse,
14
- renderToStringWithServerContext,
15
14
  type RenderToResponseOptions,
16
15
  type RenderHTMLFunction,
17
16
  } from './server/request-router.tsx';
17
+ export {ServerContext} from './server/ServerContext.tsx';