@@ -42,60 +42,62 @@ export async function initialize(request: InitRequest) {
42
42
}
43
43
} ) ;
44
44
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
+ } ,
67
82
} ,
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 ) ;
71
86
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 ;
74
89
75
90
if ( result ?. error ) {
76
91
throw result . error ;
77
92
}
78
93
79
- return result ?. workerCodeFile ?? workerFile ;
94
+ return result ?. transformedOptions ?? compilerOptions ;
80
95
} ,
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
+ ) ;
96
97
97
98
return {
98
99
externalStylesheets,
100
+ templateUpdates,
99
101
referencedFiles,
100
102
// TODO: Expand? `allowJs`, `isolatedModules`, `sourceMap`, `inlineSourceMap` are the only fields needed currently.
101
103
compilerOptions : {
0 commit comments