Skip to content

Commit fb05e7f

Browse files
committed
fix(@angular/ssr): use wildcard server route configuration on the '/' route when the app router is empty
(cherry picked from commit d3dd8f0)
1 parent 4b4e000 commit fb05e7f

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

packages/angular/ssr/src/routes/ng-routes.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -480,11 +480,16 @@ export async function getRoutesFromAngularRouterConfig(
480480
}
481481
}
482482
} else {
483-
const renderMode = serverConfigRouteTree?.match('')?.renderMode ?? RenderMode.Prerender;
483+
const rootRouteMetadata = serverConfigRouteTree?.match('') ?? {
484+
route: '',
485+
renderMode: RenderMode.Prerender,
486+
};
484487

485488
routesResults.push({
489+
...rootRouteMetadata,
490+
// Matched route might be `/*` or `/**`, which would make Angular serve all routes rather than just `/`.
491+
// So we limit to just `/` for the empty app router case.
486492
route: '',
487-
renderMode,
488493
});
489494
}
490495

packages/angular/ssr/test/routes/ng-routes_spec.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -340,8 +340,8 @@ describe('extractRoutesAndCreateRouteTree', () => {
340340
);
341341
});
342342

343-
it('should apply RenderMode matching the wildcard when no Angular routes are defined', async () => {
344-
setAngularAppTestingManifest([], [{ path: '**', renderMode: RenderMode.Server }]);
343+
it('should use wildcard configuration when no Angular routes are defined', async () => {
344+
setAngularAppTestingManifest([], [{ path: '**', renderMode: RenderMode.Server, status: 201 }]);
345345

346346
const { errors, routeTree } = await extractRoutesAndCreateRouteTree(
347347
url,
@@ -351,6 +351,8 @@ describe('extractRoutesAndCreateRouteTree', () => {
351351
);
352352

353353
expect(errors).toHaveSize(0);
354-
expect(routeTree.toObject()).toEqual([{ route: '/', renderMode: RenderMode.Server }]);
354+
expect(routeTree.toObject()).toEqual([
355+
{ route: '/', renderMode: RenderMode.Server, status: 201 },
356+
]);
355357
});
356358
});

0 commit comments

Comments
 (0)