Repository Analysis

remix-run/react-router

Declarative routing for React

0.7 Likely human-written View on GitHub
0.7
Adjusted Score
0.7
Raw Score
100%
Time Factor
2026-05-30
Last Push
56,437
Stars
TypeScript
Language
305,095
Lines of Code
1343
Files
200
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 1HIGH 1MEDIUM 6LOW 192

Pattern Findings

200 matches across 6 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers146 hits · 148 pts
SeverityFileLineSnippet
LOW…p/routes/client-loader-without-server-loader/route.tsx7export default function ClientLoaderWithoutServerLoaderRoute({
LOW…p/routes/client-loader-without-server-loader/route.tsx7export default function ClientLoaderWithoutServerLoaderRoute({
LOWintegration/prefetch-test.ts97function getRouteModulePreloadHrefs(fixture: Fixture, routeIds: string[]) {
LOWintegration/prefetch-test.ts109function getInitialScriptsPreloadHrefs(fixture: Fixture, routeIds: string[]) {
LOWintegration/split-route-modules-test.ts228async function splittableHydrateFallbackDownloaded(page: Page) {
LOWintegration/split-route-modules-test.ts234async function unsplittableHydrateFallbackDownloaded(page: Page) {
LOWintegration/split-route-modules-test.ts239async function mixedHydrateFallbackDownloaded(page: Page) {
LOWintegration/vite-hmr-hdr-rsc-test.ts147 export function ImportedServerComponentClientMounted() {
LOWintegration/vite-css-lazy-loading-test.ts178 export default function SiblingsWithLazyCssComponent() {
LOWintegration/vite-css-lazy-loading-test.ts190 export default function WithStaticOnlyCssComponent() {
LOWintegration/error-data-request-test.ts103 function assertLoggedErrorInstance(message: string) {
LOWdocs/explanation/sessions-and-cookies.md230function createDatabaseSessionStorage({
LOWscripts/docs.ts352function getDeclarationDescription(child: JSONOutput.DeclarationReflection) {
LOWscripts/docs.ts410function generateMarkdownForComment(comment: SimplifiedComment): string {
LOWscripts/release-comments.ts93async function commentOnPrAndLinkedIssues(pr: MergedPR, latest: Tag) {
LOWscripts/release-comments.ts275function getIssuesLinkedToPullRequest(prHtmlUrl: string): Array<number> {
LOWscripts/changes/validate.ts6function getMissingChangelogPackageDirNames(): string[] {
LOWscripts/utils/packages.ts39 return function getNpmPackageNameToDirectoryMap(): Map<string, string> {
LOWscripts/utils/packages.ts76export function packageNameToDirectoryName(packageName: string): string | null {
LOWscripts/utils/packages.ts170export function buildReverseDependencyGraph(): Map<string, Set<string>> {
LOWscripts/utils/git.ts9function parseVersionFromPackageJson(content: string): string | null {
LOWscripts/utils/git.ts34export function findVersionIntroductionCommit(
LOWscripts/previews/branch.ts94async function updatePackageDependencies() {
LOW…s/react-router-remix-routes-option-adapter/manifest.ts16export function routeManifestToRouteConfig(
LOWpackages/create-react-router/loading-indicator.ts98function getGradientAnimationFrames() {
LOWpackages/create-react-router/utils.ts310export async function getDirectoryFilesRecursive(dir: string) {
LOWpackages/create-react-router/copy-template.ts98async function copyTemplateFromRemoteTarball(
LOWpackages/create-react-router/copy-template.ts106async function copyTemplateFromGithubRepoShorthand(
LOWpackages/create-react-router/copy-template.ts121async function copyTemplateFromGithubRepoUrl(
LOWpackages/create-react-router/copy-template.ts129async function copyTemplateFromGenericUrl(
LOWpackages/create-react-router/copy-template.ts137async function copyTemplateFromLocalFilePath(
LOWpackages/create-react-router/copy-template.ts184async function downloadAndExtractRepoTarball(
LOWpackages/create-react-router/copy-template.ts218async function downloadAndExtractTarball(
LOWpackages/create-react-router/copy-template.ts370async function writeReadableStreamToWritable(
LOWpackages/create-react-router/copy-template.ts451function getGithubReleaseAssetInfo(browserUrl: string): ReleaseAssetInfo {
LOWpackages/create-react-router/index.ts248async function copyTemplateToTempDirStep(ctx: Context) {
LOWpackages/create-react-router/index.ts383async function installDependenciesQuestionStep(ctx: Context) {
LOWpackages/react-router-fs-routes/flatRoutes.ts513export function getRoutePathConflictErrorMessage(
LOWpackages/react-router-fs-routes/flatRoutes.ts532export function getRouteIdConflictErrorMessage(
LOWpackages/react-router-fs-routes/manifest.ts16export function routeManifestToRouteConfig(
LOWpackages/react-router-node/stream.ts4export async function writeReadableStreamToWritable(
LOWpackages/react-router-node/stream.ts132export async function writeAsyncIterableToWritable(
LOWpackages/react-router-node/__tests__/stream-test.ts12function createBackpressureSamplingWritable(
LOWpackages/react-router-dev/config/routes.ts357export function configRoutesToRouteManifest(
LOWpackages/react-router-dev/typegen/index.ts16async function clearRouteModuleAnnotations(ctx: Context) {
LOWpackages/react-router-dev/vite/vite.ts56export function defineOptimizeDepsCompilerOptions(options: {
LOWpackages/react-router-dev/vite/remove-exports.ts161function validateDestructuredExports(
LOWpackages/react-router-dev/vite/plugin.ts161function isSsrBundleEnvironmentName(
LOWpackages/react-router-dev/vite/plugin.ts3086async function getPrerenderBuildAndHandler(
LOWpackages/react-router-dev/vite/plugin.ts3557async function validateSsrFalsePrerenderExports(
LOWpackages/react-router-dev/vite/plugin.ts3694function getRoutesByServerBundleId(
LOWpackages/react-router-dev/vite/plugin.ts3744async function detectRouteChunksIfEnabled(
LOWpackages/react-router-dev/vite/plugin.ts3987export async function getEnvironmentOptionsResolvers(
LOWpackages/react-router-dev/vite/plugin.ts4200export function resolveEnvironmentsOptions(
LOWpackages/react-router-dev/vite/plugin.ts4252function assertPrerenderPathsMatchRoutes(
LOWpackages/react-router-dev/vite/plugin.ts4268function getPrerenderConcurrencyConfig(
LOWpackages/react-router-dev/vite/plugin.ts4329function createResourceRouteRequest(
LOWpackages/react-router-dev/vite/route-chunks.ts54function assertNodePathIsStatement(
LOWpackages/react-router-dev/vite/route-chunks.ts65function assertNodePathIsVariableDeclarator(
LOWpackages/react-router-dev/vite/route-chunks.ts285function getDependentIdentifiersForPath(
86 more matches not shown…
Over-Commented Block29 hits · 26 pts
SeverityFileLineSnippet
LOWplayground/rsc-vite/src/routes/root/root.tsx41// return (
LOWplayground/rsc-vite/src/routes/root/root.tsx61// );
LOWplayground/rsc-vite/src/routes/root/root.tsx81// {" | "}
LOWintegration/bug-report-test.ts21//
LOWintegration/bug-report-test.ts41//
LOWintegration/bug-report-test.ts121 // Go check out the other tests to see what else you can do.
LOWintegration/helpers/vite-5-template/env.d.ts1/// <reference types="@react-router/node" />
LOWintegration/helpers/vite-8-template/env.d.ts1/// <reference types="@react-router/node" />
LOWintegration/helpers/vite-7-beta-template/env.d.ts1/// <reference types="@react-router/node" />
LOWintegration/helpers/vite-6-template/env.d.ts1/// <reference types="@react-router/node" />
LOWexamples/view-transitions/src/main.tsx181 <p>Image Number {idx}</p>
LOWpackages/react-router-dev/vite/plugin.ts401 .flatMap((e) => e.css ?? [])
LOWpackages/react-router-dev/vite/plugin.ts3061}
LOWpackages/react-router-dev/vite/plugin.ts4041 // doesn't support it by default.
LOWpackages/react-router-dev/vite/cloudflare-dev-proxy.ts61 return {
LOWpackages/react-router/index.ts341
LOWpackages/react-router/__tests__/router/fetchers-test.ts3701 let A = await t.fetch("/fetch", "a", "root");
LOWpackages/react-router/lib/hooks.tsx781 let parentParams = routeMatch ? routeMatch.params : {};
LOWpackages/react-router/lib/hooks.tsx841
LOWpackages/react-router/lib/dom/lib.tsx101////////////////////////////////////////////////////////////////////////////////
LOWpackages/react-router/lib/dom/lib.tsx3381 // <NavLink to="/details/1" viewTransition>
LOWpackages/react-router/lib/dom/ssr/single-fetch.tsx61 reader: ReadableStreamDefaultReader<Uint8Array>;
LOWpackages/react-router/lib/dom/ssr/single-fetch.tsx241 // fetch enabled because we can prerender the `.data` files at build time
LOWpackages/react-router/lib/router/router.ts1061 let subscribers = new Set<RouterSubscriber>();
LOWpackages/react-router/lib/router/router.ts1641
LOWpackages/react-router/lib/router/router.ts1801 // navigation may be interrupted and our revalidation wouldn't be finished
LOWpackages/react-router/lib/router/router.ts4161
LOWpackages/react-router/lib/router/router.ts5921
LOWpackages/react-router/lib/router/utils.ts1781// do not contribute to the path, such that index/pathless layout routes don't
Overly Generic Function Names17 hits · 18 pts
SeverityFileLineSnippet
LOWplayground/vite-plugin-cloudflare/app/entry.server.tsx6export default async function handleRequest(
LOWintegration/vite-dev-custom-entry-test.ts17 export default function handleRequest(
LOWintegration/server-entry-test.ts17 export default function handleRequest() {
LOWintegration/single-fetch-test.ts1749 export default function handleRequest(
LOWintegration/single-fetch-test.ts1845 export default function handleRequest(
LOWintegration/single-fetch-test.ts4422 export default function handleRequest(
LOWintegration/vite-spa-mode-test.ts117 export default function handleRequest(
LOWintegration/vite-spa-mode-test.ts385 export default function handleRequest(
LOWintegration/custom-entry-server-test.ts22 export default function handleRequest(
LOWintegration/error-sanitization-test.ts488 export default function handleRequest(
LOWintegration/middleware-test.ts2015 export default function handleRequest(
LOW…s/vite-plugin-cloudflare-template/app/entry.server.tsx6export default async function handleRequest(
LOW…ers/cloudflare-dev-proxy-template/app/entry.server.tsx6export default async function handleRequest(
LOW…react-router-dev/config/defaults/entry.server.node.tsx12export default function handleRequest(
LOWpackages/react-router/lib/dom/server.tsx136 * export async function handleRequest(request: Request) {
LOWpackages/react-router/lib/dom/server.tsx318 * export async function handleRequest(request: Request) {
LOWpackages/react-router/lib/dom/server.tsx358 * export async function handleRequest(request: Request) {
AI Slop Vocabulary6 hits · 18 pts
SeverityFileLineSnippet
MEDIUMscripts/docs.ts298 // to leverage the same description for the `@param` JSDoc tag. Mostly needed
MEDIUMpackages/react-router/lib/context.ts86 /** Enables a {@link https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API View Transition} for this n
MEDIUMpackages/react-router/lib/components.tsx1791// Indirection to leverage useAsyncValue for a render-prop API on `<Await>`
MEDIUMpackages/react-router/lib/router/router.ts4173 // such as not being able to leverage `headers()`, or respect
MEDIUMpackages/react-router/lib/router/router.ts5384 // provide this value so they can leverage it if needed after they check
MEDIUMpackages/react-router/lib/router/router.ts6356 // Opt-ing into the `shouldCallHandler` API changes some nuanced behavior
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippet
CRITICALscripts/release-comments.ts357 return (parsed as IssueLabelsResult).data.repository.issue.labels.nodes.map(
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippet
HIGH…act-router/__tests__/router/utils/data-router-setup.ts234 // Enhance routes with loaders/actions as requested that will call the