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
| PR | Title and the rule it breached | What 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.
- Hotspot: packages/kit/src/exports/vite/utils.js
4 of 9 earlier PRs that changed this needed a fix.
5 clean, 4 fixed (44%) - 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%) - 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%) - Hotspot: packages/kit/src/types/internal.d.ts
13 of 40 earlier PRs that changed this needed a fix.
27 clean, 13 fixed (33%) - 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%) - 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%) - 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%) - Hotspot: packages/adapter-netlify/index.js
3 of 11 earlier PRs that changed this needed a fix.
8 clean, 3 fixed (27%) - Hotspot: packages/kit/src/runtime/client/client.js
16 of 60 earlier PRs that changed this needed a fix.
44 clean, 16 fixed (27%) - Hotspot: packages/kit/src/runtime/server/respond.js
8 of 30 earlier PRs that changed this needed a fix.
22 clean, 8 fixed (27%) - 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%) - Hotspot: packages/adapter-node/src/handler.js
3 of 13 earlier PRs that changed this needed a fix.
10 clean, 3 fixed (23%) - Hotspot: packages/kit/src/runtime/form-utils.js
6 of 26 earlier PRs that changed this needed a fix.
20 clean, 6 fixed (23%) - 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.
| PR | Title | Size | Rule it breached | What 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.