@dooboostore/simple-boot-http-server-ssr 1.0.17 → 1.0.18

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.
@@ -2,15 +2,26 @@ import { RequestResponse } from '@dooboostore/simple-boot-http-server/models/Req
2
2
  import { Filter } from '@dooboostore/simple-boot-http-server/filters/Filter';
3
3
  import { HttpStatus } from '@dooboostore/simple-boot-http-server/codes/HttpStatus';
4
4
  import { SimpleBootHttpServer } from '@dooboostore/simple-boot-http-server/SimpleBootHttpServer';
5
+ import { SimConfig } from '@dooboostore/simple-boot';
6
+ import type { SwcAppInterface } from '@dooboostore/simple-web-component';
5
7
  export type SWCSSRDomParserConfig = {
6
8
  frontDistPath: string;
7
9
  frontDistIndexFileName?: string;
8
10
  welcomUrl?: string;
9
11
  ssrExcludeFilter?: (rr: RequestResponse) => boolean;
10
12
  /**
11
- * Function to register components for each request.
13
+ * SSR 에 노출할 백엔드 서비스 목록(각 항목은 symbol 을 가진다, 예: pairServices).
14
+ * 프레임워크가 요청마다 각 서비스를 꺼내 이 요청의 rr 을 주입한 뒤 Map 으로 묶어
15
+ * registerComponents 의 3번째 인자(sim)로 넘긴다. → 앱은 그 Map 을 bootfactory 에 그대로 전달만 하면 되고
16
+ * 직접 Proxy 로 감싸거나 rr 을 넣을 필요가 없다(쿠키 등 요청 컨텍스트 자동 전달).
12
17
  */
13
- registerComponents?: (window: any) => Promise<void> | void;
18
+ intentServices?: SimConfig[];
19
+ /**
20
+ * 요청마다 컴포넌트를 등록한다. 앱 bootfactory를 그대로 넘기면 된다.
21
+ * @param sim intentServices 를 rr 주입해 묶은 Map<symbol, service>. bootfactory 에 그대로 넘기면 된다.
22
+ * @returns 초기화된 SwcApp (하이드레이션 데이터 박제 등에 사용)
23
+ */
24
+ registerComponents?: (window: any, rr: RequestResponse, sim: Map<symbol, any>) => Promise<SwcAppInterface | void> | SwcAppInterface | void;
14
25
  };
15
26
  /**
16
27
  * SSR Filter specifically for Simple Web Component (SWC).
@@ -19,6 +30,7 @@ export type SWCSSRDomParserConfig = {
19
30
  export declare class SSRSimpleWebComponentDomParserFilter implements Filter {
20
31
  config: SWCSSRDomParserConfig;
21
32
  private welcomUrl;
33
+ private app?;
22
34
  constructor(config: SWCSSRDomParserConfig);
23
35
  onInit(app: SimpleBootHttpServer): Promise<void>;
24
36
  onDestroy(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"SSRSimpleWebComponentDomParserFilter.d.ts","sourceRoot":"","sources":["../../../src/filters/SSRSimpleWebComponentDomParserFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,6DAA6D,CAAC;AAE5F,OAAO,EAAC,MAAM,EAAC,MAAM,qDAAqD,CAAC;AAE3E,OAAO,EAAC,UAAU,EAAC,MAAM,uDAAuD,CAAC;AACjF,OAAO,EAAC,oBAAoB,EAAC,MAAM,2DAA2D,CAAC;AAG/F,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,OAAO,CAAC;IACpD;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5D,CAAC;AAEF;;;GAGG;AACH,qBAAa,oCAAqC,YAAW,MAAM;IAG9C,MAAM,EAAE,qBAAqB;IAFhD,OAAO,CAAC,SAAS,CAAsB;gBAEpB,MAAM,EAAE,qBAAqB;IAI1C,MAAM,CAAC,GAAG,EAAE,oBAAoB;IAEhC,SAAS;IAET,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,eAAe,CAAC;QAAC,GAAG,EAAE,oBAAoB,CAAC;QAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE;IAsDzG,QAAQ,CAAC,MAAM,EAAE,GAAG;IAQd,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAsB,EAAE,EAAE;QAAE,EAAE,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM;IAM5G,YAAY;CAGnB"}
1
+ {"version":3,"file":"SSRSimpleWebComponentDomParserFilter.d.ts","sourceRoot":"","sources":["../../../src/filters/SSRSimpleWebComponentDomParserFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,6DAA6D,CAAC;AAE5F,OAAO,EAAC,MAAM,EAAC,MAAM,qDAAqD,CAAC;AAE3E,OAAO,EAAC,UAAU,EAAC,MAAM,uDAAuD,CAAC;AACjF,OAAO,EAAC,oBAAoB,EAAC,MAAM,2DAA2D,CAAC;AAE/F,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,OAAO,CAAC;IACpD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC;CAC5I,CAAC;AAEF;;;GAGG;AACH,qBAAa,oCAAqC,YAAW,MAAM;IAI9C,MAAM,EAAE,qBAAqB;IAHhD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,GAAG,CAAC,CAAuB;gBAEhB,MAAM,EAAE,qBAAqB;IAI1C,MAAM,CAAC,GAAG,EAAE,oBAAoB;IAIhC,SAAS;IAET,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,eAAe,CAAC;QAAC,GAAG,EAAE,oBAAoB,CAAC;QAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE;IAkHzG,QAAQ,CAAC,MAAM,EAAE,GAAG;IAQd,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAsB,EAAE,EAAE;QAAE,EAAE,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM;IAM5G,YAAY;CAGnB"}
@@ -13,7 +13,7 @@ export type SWCSSRConfig = {
13
13
  * Playwright evaluates real JS files loaded from your index.html,
14
14
  * so component registration happens automatically in the browser context.
15
15
  */
16
- registerComponents?: (window: any) => Promise<void> | void;
16
+ registerComponents?: (window: any, rr?: RequestResponse) => Promise<void> | void;
17
17
  playwright?: {
18
18
  waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';
19
19
  waitForSelector?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SSRSimpleWebComponentFilter.d.ts","sourceRoot":"","sources":["../../../src/filters/SSRSimpleWebComponentFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAE9F,OAAO,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AAKjG,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,OAAO,CAAC;IACpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,GAAG,QAAQ,CAAC;QACnE,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,qBAAa,2BAA4B,YAAW,MAAM;IAIrC,MAAM,EAAE,YAAY;IAHvC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAC,CAAM;gBAEH,MAAM,EAAE,YAAY;IAIjC,MAAM,CAAC,GAAG,EAAE,oBAAoB;IAUhC,SAAS;IAOT,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAAE,EAAE,EAAE,eAAe,CAAC;QAAC,GAAG,EAAE,oBAAoB,CAAC;QAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE;IA4NvH,QAAQ,CAAC,IAAI,EAAE,MAAM;IAOf,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAsB,EAAE,EAAE;QAAE,EAAE,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM;IAM5G,YAAY;CAGnB"}
1
+ {"version":3,"file":"SSRSimpleWebComponentFilter.d.ts","sourceRoot":"","sources":["../../../src/filters/SSRSimpleWebComponentFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAE9F,OAAO,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AAKjG,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,OAAO,CAAC;IACpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjF,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,GAAG,QAAQ,CAAC;QACnE,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,qBAAa,2BAA4B,YAAW,MAAM;IAIrC,MAAM,EAAE,YAAY;IAHvC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAC,CAAM;gBAEH,MAAM,EAAE,YAAY;IAIjC,MAAM,CAAC,GAAG,EAAE,oBAAoB;IAUhC,SAAS;IAOT,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAAE,EAAE,EAAE,eAAe,CAAC;QAAC,GAAG,EAAE,oBAAoB,CAAC;QAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE;IA4NvH,QAAQ,CAAC,IAAI,EAAE,MAAM;IAOf,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAsB,EAAE,EAAE;QAAE,EAAE,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM;IAM5G,YAAY;CAGnB"}