Skip to content

Commit fab9c09

Browse files
committed
fix(angular): update convert-to-application generator handling for ssr tsconfig
1 parent 8764db7 commit fab9c09

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

packages/angular/src/generators/convert-to-application-executor/convert-to-application-executor.ts

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,15 +197,25 @@ async function convertProjectTargets(
197197
const browserTsConfigJson = readJson(tree, browserTsConfigPath);
198198
const serverTsConfigJson = readJson(tree, serverTsConfigPath);
199199

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+
200205
const files = new Set([
201206
...(browserTsConfigJson.files ?? []),
202207
...(serverTsConfigJson.files ?? []),
203208
]);
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
206210
files.delete('server.ts');
211+
files.delete('src/server.ts');
212+
files.delete('src/main.server.ts');
207213

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+
}
209219
browserTsConfigJson.compilerOptions ?? {};
210220
browserTsConfigJson.compilerOptions.types = Array.from(
211221
new Set([
@@ -214,6 +224,16 @@ async function convertProjectTargets(
214224
])
215225
);
216226

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+
217237
// Delete server tsconfig
218238
tree.delete(serverTsConfigPath);
219239
}

0 commit comments

Comments
 (0)