3 of 6 standards met
When rendering my Next app, I'm getting an SSR error from SpeedInsights. How do I know it's from Speed Insights? I can comment it out and the error goes away. Here's the error: I'm seeing some Stack Overflows referencing issues where you might have HTML elements inside one another, like els inside other els, etc. You can silence this error by doing this.
🖖 What's in there? This PR includes Nextjs parallel routes best effort support. 🤺 How to test? There are two new routes in the nextjs demo app: /parallel-routes/dashboard and parallel-routes/settings. Open the dev tools and check in console for the detected route and actual path. 🔬Notes to reviewers In Next.js App Router, merges params from all active route segments, including parallel route slots ( convention). When a layout has a slot with a catch-all segment (e.g., ), that slot's params appear in even though they don't correspond to the URL structure. The bug: on a static route like , returns (from the sidebar slot). then produces instead of the correct static path. The reproduction is already built at apps/nextjs-15/src/app/parallel-routes/. How It Handles Each Scenario
Repository: vercel/speed-insights. Description: Vercel Speed Insights package Stars: 94, Forks: 21. Primary language: TypeScript. Languages: TypeScript (50.2%), Astro (26.5%), CSS (12%), JavaScript (5%), Vue (4.8%). License: Apache-2.0. Homepage: https://vercel.com/docs/speed-insights Latest release: 1.3.1 (2mo ago). Open PRs: 4, open issues: 19. Last activity: 4d ago. Community health: 62%. Top contributors: feugy, tobiaslins, HugoRCD, huozhi, emspishak, fgascon, MoustaphaDev, skve.
Last 12 weeks · 1 commit
📓 What's in there? This PR improves the script injection process for Vercel Speed Insights by adding a warm-up function. Before injecting the main script, the code performs a fetch to the script URL to "warm up" the endpoint (even if the first response might be HTML). This change is intended to reduce errors related to cold starts, ensuring that when the actual script is loaded, the endpoint is ready to serve valid JavaScript. Issue https://github.com/vercel/speed-insights/issues/98 🧪 How to test? Open a page that uses Speed Insights injection. Verify that the script tag is appended to the document head after the warm-up call. ❗ Notes to reviewers This change is purely additive and does not affect the core functionality of Speed Insights. Please verify that this approach reduces errors associated with cold starts without introducing side effects in both development and production environments.
🖖 What's in there? This PR introduce loads a stringified configuration when injecting the script, which acts as defaults for unspecified properties. This mechanism is a generic way for Vercel to configure at build time and other "client side" packages, while allowing users to override the configuration when needed. Finally, it replaces eslint+prettier with biome, and husky+lint-staged with lefthook, and restore unit tests in CI. 🤺 How to test? It's not tested on CI, because I need to define configuration strings at build time when deploying the test applications on Vercel. At least the exiting tests are checking that it's fully backward compatible. As for manual tests: 1. go to any test application inside the folder 3. build the app using the appropriate env var: (Next), (Astro), (all others) and give it these values 1. custom injected script URL . 1. production injected script + custom ingestion intake URL 5. run the application locally ( or ) and browse to it with dev tools open on the network tab. 1. attempt to inject the script from the provided (fake) url 1. attempt to collect the page vitals to the provided (fake) url for example: or 🔬Notes to reviewers All changes on test apps are due to biome's linter and formatter.
This PR restructures the Nuxt module to provide a cleaner developer experience. One-line usage For Nuxt users wanting to enable Vercel Speed Insights without the need to configure anything: Custom usage If the user needs to specify options, they can use the function in a Nuxt plugin: Component usage Using the `app.vueerror.vue`.