@@ -102,20 +102,19 @@ describe('createRscExposeDefinitions', () => {
102102 } ) ;
103103
104104 it ( 'allows cts and mts expose entry extensions' , ( ) => {
105- const { createRscExposeDefinitions, CALLBACK_BOOTSTRAP_MODULE } =
106- loadCreateRscExposeDefinitions ( ) ;
105+ const { createRscExposeDefinitions } = loadCreateRscExposeDefinitions ( ) ;
107106 expect (
108107 createRscExposeDefinitions ( {
109108 './serverOnlyHelper' : './src/lib/serverOnlyHelper.cts' ,
110109 './rscBridgeUtil' : './src/lib/rscBridgeUtil.mts' ,
111110 } ) ,
112111 ) . toEqual ( {
113112 './serverOnlyHelper' : {
114- import : [ CALLBACK_BOOTSTRAP_MODULE , './src/lib/serverOnlyHelper.cts' ] ,
113+ import : [ './src/lib/serverOnlyHelper.cts' ] ,
115114 layer : 'react-server-components' ,
116115 } ,
117116 './rscBridgeUtil' : {
118- import : [ CALLBACK_BOOTSTRAP_MODULE , './src/lib/rscBridgeUtil.mts' ] ,
117+ import : [ './src/lib/rscBridgeUtil.mts' ] ,
119118 layer : 'react-server-components' ,
120119 } ,
121120 } ) ;
@@ -162,8 +161,7 @@ describe('createRscExposeDefinitions', () => {
162161 } ) ;
163162
164163 it ( 'deduplicates repeated entries in object expose import arrays' , ( ) => {
165- const { createRscExposeDefinitions, CALLBACK_BOOTSTRAP_MODULE } =
166- loadCreateRscExposeDefinitions ( ) ;
164+ const { createRscExposeDefinitions } = loadCreateRscExposeDefinitions ( ) ;
167165 const exposeDefinitions = createRscExposeDefinitions ( {
168166 './infoBundle' : {
169167 import : [
@@ -176,15 +174,14 @@ describe('createRscExposeDefinitions', () => {
176174
177175 expect ( exposeDefinitions ) . toEqual ( {
178176 './infoBundle' : {
179- import : [ CALLBACK_BOOTSTRAP_MODULE , './src/components/infoBundle.ts' ] ,
177+ import : [ './src/components/infoBundle.ts' ] ,
180178 layer : 'react-server-components' ,
181179 } ,
182180 } ) ;
183181 } ) ;
184182
185183 it ( 'trims expose import path entries before deduping' , ( ) => {
186- const { createRscExposeDefinitions, CALLBACK_BOOTSTRAP_MODULE } =
187- loadCreateRscExposeDefinitions ( ) ;
184+ const { createRscExposeDefinitions } = loadCreateRscExposeDefinitions ( ) ;
188185 const exposeDefinitions = createRscExposeDefinitions ( {
189186 './infoBundle' : {
190187 import : [
@@ -197,7 +194,7 @@ describe('createRscExposeDefinitions', () => {
197194
198195 expect ( exposeDefinitions ) . toEqual ( {
199196 './infoBundle' : {
200- import : [ CALLBACK_BOOTSTRAP_MODULE , './src/components/infoBundle.ts' ] ,
197+ import : [ './src/components/infoBundle.ts' ] ,
201198 layer : 'react-server-components' ,
202199 } ,
203200 } ) ;
@@ -322,4 +319,32 @@ describe('createRscExposeDefinitions', () => {
322319 } ) ,
323320 ) . toThrow ( 'must remain internal-only and cannot be exposed' ) ;
324321 } ) ;
322+
323+ it ( 'injects callback bootstrap only for callback-capable expose keys' , ( ) => {
324+ const { createRscExposeDefinitions, CALLBACK_BOOTSTRAP_MODULE } =
325+ loadCreateRscExposeDefinitions ( ) ;
326+ expect (
327+ createRscExposeDefinitions ( {
328+ './RemoteClientCounter' : './src/components/RemoteClientCounter.tsx' ,
329+ './actions' : './src/components/actions.ts' ,
330+ './RemoteServerDefault' : './src/components/RemoteServerDefault.tsx' ,
331+ } ) ,
332+ ) . toEqual ( {
333+ './RemoteClientCounter' : {
334+ import : [
335+ CALLBACK_BOOTSTRAP_MODULE ,
336+ './src/components/RemoteClientCounter.tsx' ,
337+ ] ,
338+ layer : 'react-server-components' ,
339+ } ,
340+ './actions' : {
341+ import : [ CALLBACK_BOOTSTRAP_MODULE , './src/components/actions.ts' ] ,
342+ layer : 'react-server-components' ,
343+ } ,
344+ './RemoteServerDefault' : {
345+ import : [ './src/components/RemoteServerDefault.tsx' ] ,
346+ layer : 'react-server-components' ,
347+ } ,
348+ } ) ;
349+ } ) ;
325350} ) ;
0 commit comments