hunk.code_window:       await disableJavaScript(page);
         let cssResponses = collectResponses(page, url =>
           url.pathname.endsWith(".css")
         );
         await page.goto(`${testServer}/links`);
         expect(cssResponses.length).toEqual(4);
       });
       it("waits for new styles to load before transitioning", async () => {
         await page.goto(`${testServer}/`);
         await reactIsHydrated(page);
  
hunk.labels: keep keep keep keep keep replace keep keep keep keep keep
hunk.after_edit:       expect(cssResponses.length).toEqual(5);
  
hunk.file_path: fixtures/gists-app/tests/link-test.ts
hunk.type: replace
file: import type { ServerRouteModule } from "./routeModules";
  
  export interface RouteManifest<Route> {
    [routeId: string]: Route;
  }
  
  export type ServerRouteManifest = RouteManifest<Omit<ServerRoute, "children">>;
  
  interface Route {
    caseSensitive?: boolean;
    id: string;
    parentId?: string;
    path: string;
  }
  
  export interface EntryRoute extends Route {
    hasAction?: boolean;
    hasLoader?: boolean;
    imports?: string[];
    module: string;
  }
  
  export interface ServerRoute extends Route {
    children: ServerRoute[];
    module: ServerRouteModule;
  }
  
  export function createRoutes(
    manifest: ServerRouteManifest,
    parentId?: string
  ): ServerRoute[] {
    return Object.keys(manifest)
      .filter(key => manifest[key].parentId === parentId)
      .map(id => ({
        ...manifest[id],
        children: createRoutes(manifest, id)
      }));
  }
  