@@ -197,15 +197,25 @@ async function convertProjectTargets(
197
197
const browserTsConfigJson = readJson ( tree , browserTsConfigPath ) ;
198
198
const serverTsConfigJson = readJson ( tree , serverTsConfigPath ) ;
199
199
200
+ const serverFiles = [ 'src/main.server.ts' , 'src/server.ts' ] ;
201
+ if ( tree . exists ( join ( project . root , 'src/app/app.config.server.ts' ) ) ) {
202
+ serverFiles . push ( 'src/app/app.config.server.ts' ) ;
203
+ }
204
+
200
205
const files = new Set ( [
201
206
...( browserTsConfigJson . files ?? [ ] ) ,
202
207
...( serverTsConfigJson . files ?? [ ] ) ,
203
208
] ) ;
204
-
205
- // Server file will be added later by the setup-ssr generator
209
+ // Server files will be added later if needed by the setup-ssr generator
206
210
files . delete ( 'server.ts' ) ;
211
+ files . delete ( 'src/server.ts' ) ;
212
+ files . delete ( 'src/main.server.ts' ) ;
207
213
208
- browserTsConfigJson . files = Array . from ( files ) ;
214
+ if ( files . size ) {
215
+ browserTsConfigJson . files = Array . from ( files ) ;
216
+ } else if ( browserTsConfigJson . files ) {
217
+ delete browserTsConfigJson . files ;
218
+ }
209
219
browserTsConfigJson . compilerOptions ?? { } ;
210
220
browserTsConfigJson . compilerOptions . types = Array . from (
211
221
new Set ( [
@@ -214,6 +224,16 @@ async function convertProjectTargets(
214
224
] )
215
225
) ;
216
226
227
+ if ( browserTsConfigJson . exclude ?. length ) {
228
+ const normalizeExclude = ( exclude : string ) =>
229
+ exclude . startsWith ( './' ) ? exclude . slice ( 2 ) : exclude ;
230
+ browserTsConfigJson . exclude = browserTsConfigJson . exclude . filter (
231
+ ( exclude : string ) => ! serverFiles . includes ( normalizeExclude ( exclude ) )
232
+ ) ;
233
+ }
234
+
235
+ writeJson ( tree , browserTsConfigPath , browserTsConfigJson ) ;
236
+
217
237
// Delete server tsconfig
218
238
tree . delete ( serverTsConfigPath ) ;
219
239
}
0 commit comments