sveltejs/kit

14 rules learned from 967 merged PRs: the files and habits in sveltejs/kit that kept needing a fix after merge.

Merged PRs read
967
Needed a fix
65 (7.7%)
Reverted
8
Merged between
2025-08-11 and 2026-11-10

Tested on PRs the rules had never seen

4 of the 11 code PRs that breached a rule needed a fix (36%), against 0 of the 17 that breached none (0%).

Rules were learned from older PRs, then tested on later PRs they hadn't seen. How we tested

PRTitle and the rule it breachedWhat happened
fix: restart the dev server when the wrangler config file changesFragile area: packages/adapter-cloudflare/ (3 of 18 earlier PRs needed a fix) reverted, fixed in #17578, 14 days later
fix: share one Cloudflare platform proxy between Vite serversFragile area: packages/adapter-cloudflare/ (3 of 18 earlier PRs needed a fix) fixed in #17432, 2 days later
fix: don't warn about Storybook's Vite plugins that use `transformIndexHtml`Hotspot: packages/kit/src/exports/vite/utils.js (3 of 7 earlier PRs needed a fix) fixed in #17376, 1 day later

Fix-prone files and folders

PRs that touched these paths needed a follow-up fix more often than the 8% repo average. Counts are PRs that touched the path.

  1. Hotspot: packages/kit/src/exports/vite/utils.js

    4 of 9 earlier PRs that changed this needed a fix.

    5 clean, 4 fixed (44%)
  2. Hotspot: packages/kit/src/runtime/app/server/remote/form.js

    12 of 30 earlier PRs that changed this needed a fix.

    18 clean, 12 fixed (40%)
  3. Hotspot: packages/kit/src/runtime/client/remote-functions/form.svelte.js

    17 of 50 earlier PRs that changed this needed a fix.

    33 clean, 17 fixed (34%)
  4. Hotspot: packages/kit/src/types/internal.d.ts

    13 of 40 earlier PRs that changed this needed a fix.

    27 clean, 13 fixed (33%)
  5. Hotspot: packages/kit/src/runtime/app/server/remote/query.js

    8 of 25 earlier PRs that changed this needed a fix.

    17 clean, 8 fixed (32%)
  6. Hotspot: packages/kit/src/runtime/server/page/render.js

    12 of 41 earlier PRs that changed this needed a fix.

    29 clean, 12 fixed (29%)
  7. Hotspot: packages/kit/src/runtime/server/page/load_data.js

    4 of 14 earlier PRs that changed this needed a fix.

    10 clean, 4 fixed (29%)
  8. Hotspot: packages/adapter-netlify/index.js

    3 of 11 earlier PRs that changed this needed a fix.

    8 clean, 3 fixed (27%)
  9. Hotspot: packages/kit/src/runtime/client/client.js

    16 of 60 earlier PRs that changed this needed a fix.

    44 clean, 16 fixed (27%)
  10. Hotspot: packages/kit/src/runtime/server/respond.js

    8 of 30 earlier PRs that changed this needed a fix.

    22 clean, 8 fixed (27%)
  11. Hotspot: packages/kit/src/runtime/app/server/remote/shared.js

    5 of 19 earlier PRs that changed this needed a fix.

    14 clean, 5 fixed (26%)
  12. Hotspot: packages/adapter-node/src/handler.js

    3 of 13 earlier PRs that changed this needed a fix.

    10 clean, 3 fixed (23%)
  13. Hotspot: packages/kit/src/runtime/form-utils.js

    6 of 26 earlier PRs that changed this needed a fix.

    20 clean, 6 fixed (23%)
  14. Hotspot: packages/kit/src/exports/vite/index.js

    14 of 67 earlier PRs that changed this needed a fix.

    53 clean, 14 fixed (21%)

Conventions

Habits most PRs here follow, where PRs that broke them needed a fix more often. Counts on each bar are the PRs that broke it.

No habit here made the list.

Recent PRs that needed a fix

Rules flagged 131 recent PRs, and 21 of those needed a fix (16%), against 7% of all recent PRs. These are the 15 with the strongest rule that needed a fix, with the PR that fixed each.

PRTitleSizeRule it breachedWhat happened
feat: experimental `query.live` remote function +2,410 -309 touches packages/kit/src/runtime/app/server/remote/form.js18 clean, 12 fixed fixed in #15752, same day
fix: dedupe remote data +1,698 -946 touches packages/kit/src/runtime/app/server/remote/form.js18 clean, 12 fixed fixed in #16014, same day
feat: `hydratable` and a more consistent remote functions model +1,238 -693 touches packages/kit/src/runtime/app/server/remote/form.js18 clean, 12 fixed fixed in #15561, 6 days later
breaking: rework client-driven refreshes +950 -320 touches packages/kit/src/runtime/client/remote-functions/form.svelte.js33 clean, 17 fixed fixed in #15634, same day
fix: call reset function via prototype +38 -1 touches packages/kit/src/runtime/client/remote-functions/form.svelte.js33 clean, 17 fixed fixed in #16163, 2 days later
feat: explicit environment variables +1,078 -102 touches packages/kit/src/types/internal.d.ts27 clean, 13 fixed fixed in #15950, 1 day later
feat: Isomorphic caching for queries +2,547 -1,578 touches packages/kit/src/runtime/app/server/remote/query.js17 clean, 8 fixed fixed in #15929, 10 days later
fix: skip client build if all routes have CSR disabled +329 -277 touches packages/kit/src/runtime/server/page/render.js29 clean, 12 fixed fixed in #16004, 2 days later
fix: add support for trusted types CSP +158 -79 touches packages/kit/src/runtime/server/page/render.js29 clean, 12 fixed fixed in #15652, same day
fix: ensure version is defined when using $app/env with explicit env vars +30 -3 touches packages/kit/src/runtime/server/page/render.js29 clean, 12 fixed fixed in #15980, 1 day later
docs: fix links +107 -107 touches packages/kit/src/runtime/client/client.js44 clean, 16 fixed fixed in #17440, 8 days later
fix: allow use of `$app/env/public` in service workers +119 -17 touches packages/kit/src/runtime/server/respond.js22 clean, 8 fixed fixed in #15951, same day
chore(prefetch): disable link prefetching on slow internet connections +7 -2 touches packages/kit/src/runtime/client/client.js44 clean, 16 fixed reverted
chore: add failing tests for adapter-node +392 -234 touches packages/adapter-node/src/handler.js10 clean, 3 fixed fixed in #16156, 2 days later
fix: bundle entrypoints alongside app code +97 -110 touches packages/adapter-node/src/handler.js10 clean, 3 fixed fixed in #16106, 5 days later

Get this for your own repo

Precall reads your repo's history the same way and comments on new PRs that touch the spots that kept breaking. Download the rules file for sveltejs/kit.