@@ -42,60 +42,62 @@ export async function initialize(request: InitRequest) {
4242 }
4343 } ) ;
4444
45- const { compilerOptions, referencedFiles, externalStylesheets } = await compilation . initialize (
46- request . tsconfig ,
47- {
48- fileReplacements : request . fileReplacements ,
49- sourceFileCache,
50- modifiedFiles : sourceFileCache . modifiedFiles ,
51- transformStylesheet ( data , containingFile , stylesheetFile , order , className ) {
52- const requestId = randomUUID ( ) ;
53- const resultPromise = new Promise < string > ( ( resolve , reject ) =>
54- stylesheetRequests . set ( requestId , [ resolve , reject ] ) ,
55- ) ;
56-
57- request . stylesheetPort . postMessage ( {
58- requestId,
59- data,
60- containingFile,
61- stylesheetFile,
62- order,
63- className,
64- } ) ;
65-
66- return resultPromise ;
45+ const { compilerOptions, referencedFiles, externalStylesheets, templateUpdates } =
46+ await compilation . initialize (
47+ request . tsconfig ,
48+ {
49+ fileReplacements : request . fileReplacements ,
50+ sourceFileCache,
51+ modifiedFiles : sourceFileCache . modifiedFiles ,
52+ transformStylesheet ( data , containingFile , stylesheetFile , order , className ) {
53+ const requestId = randomUUID ( ) ;
54+ const resultPromise = new Promise < string > ( ( resolve , reject ) =>
55+ stylesheetRequests . set ( requestId , [ resolve , reject ] ) ,
56+ ) ;
57+
58+ request . stylesheetPort . postMessage ( {
59+ requestId,
60+ data,
61+ containingFile,
62+ stylesheetFile,
63+ order,
64+ className,
65+ } ) ;
66+
67+ return resultPromise ;
68+ } ,
69+ processWebWorker ( workerFile , containingFile ) {
70+ Atomics . store ( request . webWorkerSignal , 0 , 0 ) ;
71+ request . webWorkerPort . postMessage ( { workerFile, containingFile } ) ;
72+
73+ Atomics . wait ( request . webWorkerSignal , 0 , 0 ) ;
74+ const result = receiveMessageOnPort ( request . webWorkerPort ) ?. message ;
75+
76+ if ( result ?. error ) {
77+ throw result . error ;
78+ }
79+
80+ return result ?. workerCodeFile ?? workerFile ;
81+ } ,
6782 } ,
68- processWebWorker ( workerFile , containingFile ) {
69- Atomics . store ( request . webWorkerSignal , 0 , 0 ) ;
70- request . webWorkerPort . postMessage ( { workerFile , containingFile } ) ;
83+ ( compilerOptions ) => {
84+ Atomics . store ( request . optionsSignal , 0 , 0 ) ;
85+ request . optionsPort . postMessage ( compilerOptions ) ;
7186
72- Atomics . wait ( request . webWorkerSignal , 0 , 0 ) ;
73- const result = receiveMessageOnPort ( request . webWorkerPort ) ?. message ;
87+ Atomics . wait ( request . optionsSignal , 0 , 0 ) ;
88+ const result = receiveMessageOnPort ( request . optionsPort ) ?. message ;
7489
7590 if ( result ?. error ) {
7691 throw result . error ;
7792 }
7893
79- return result ?. workerCodeFile ?? workerFile ;
94+ return result ?. transformedOptions ?? compilerOptions ;
8095 } ,
81- } ,
82- ( compilerOptions ) => {
83- Atomics . store ( request . optionsSignal , 0 , 0 ) ;
84- request . optionsPort . postMessage ( compilerOptions ) ;
85-
86- Atomics . wait ( request . optionsSignal , 0 , 0 ) ;
87- const result = receiveMessageOnPort ( request . optionsPort ) ?. message ;
88-
89- if ( result ?. error ) {
90- throw result . error ;
91- }
92-
93- return result ?. transformedOptions ?? compilerOptions ;
94- } ,
95- ) ;
96+ ) ;
9697
9798 return {
9899 externalStylesheets,
100+ templateUpdates,
99101 referencedFiles,
100102 // TODO: Expand? `allowJs`, `isolatedModules`, `sourceMap`, `inlineSourceMap` are the only fields needed currently.
101103 compilerOptions : {
0 commit comments