Skip to content

Commit

Permalink
Feat: Add Route Groups
Browse files Browse the repository at this point in the history
  • Loading branch information
janus-reith committed Feb 6, 2025
1 parent 4e7d97f commit c4c0422
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions packages/astro/src/core/routing/manifest/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,13 @@ interface Item {
// eslint-disable-next-line regexp/no-super-linear-backtracking
const ROUTE_DYNAMIC_SPLIT = /\[(.+?\(.+?\)|.+?)\]/;
const ROUTE_SPREAD = /^\.{3}.+$/;
const ROUTE_GROUP = /^\(.+\)$/;

export function getParts(part: string, file: string) {
// Skip route group segments
if (ROUTE_GROUP.test(part)) {
return [];
}
const result: RoutePart[] = [];
part.split(ROUTE_DYNAMIC_SPLIT).map((str, i) => {
if (!str) return;
Expand Down Expand Up @@ -161,6 +166,13 @@ function createFileBasedRoutes(
const segment = isDir ? basename : name;
validateSegment(segment, file);

// Check if this is a route group, if yes skip group folder name but process its content
const isRouteGroup = ROUTE_GROUP.test(segment);
if (isRouteGroup && isDir) {
walk(fsMod ?? fs, path.join(dir, basename), parentSegments, parentParams);
continue;
}

const parts = getParts(segment, file);
const isIndex = isDir ? false : basename.substring(0, basename.lastIndexOf('.')) === 'index';
const routeSuffix = basename.slice(basename.indexOf('.'), -ext.length);
Expand Down

0 comments on commit c4c0422

Please sign in to comment.