HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
vercel
next.js
JavaScript2016–2026
vercel / next.js

next.js

The React Framework

165Distinct people
198Mentions
3Explicit recommenders
143.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The React Framework

GitHub

Where it is used

  • Vercel — “If you already have a project with Next.js, install Vercel CLI and run the vercel command from your project's root directory” Source
  • Plex — Plex uses Next.js to power their web experiences with SSR, on-demand ISR, and Edge Middleware. This helped improve search ranking and traffic after their relaunch. Source

What people are saying

> You don't think you're maybe contorting yourself to make some of these arguments work? First of all, I still prefer TypeScript to Python when it comes to language features.…

spion used a recommendation phrase. 3 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 8:01:28 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year198 dated mentions

Observed mentions: 2016-10-25 16:05:56 UTC to 2026-05-15 16:42:15 UTC.

0102030402016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 19 mentions; 2 submissions, 17 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 14 mentions; 1 submissions, 13 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 18 mentions; 2 submissions, 16 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 29 mentions; 3 submissions, 26 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 19 mentions; 3 submissions, 16 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 29 mentions; 3 submissions, 26 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 13 mentions; 1 submissions, 12 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 38 mentions; 8 submissions, 30 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 8 mentions; 3 submissions, 5 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC321
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC19217
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC14113
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC817
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC18216
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC29326
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC19316
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC29326
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC13112
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC38830
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC835

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Next.js Getting Started Used by some of the world's largest companies, Next.js enables you to create full-stack web applications by extending the latest React features, and integrating powerful Rust-based JavaScript tooling for the fastest builds. Visit our Learn Next.js course to get started with Next.js. Visit the Next.js Showcase to see more sites built with Next.js. Documentation Visit https://nextjs.org/docs to view the full documentation. Community The Next.js community can be found on GitHub Discussions where you can ask questions, voice ideas, and share your projects with other people. To chat with other community members, you can join the Next.js Discord server. Do note that our Code of Conduct applies to all Next.js community channels. Users are highly encouraged to read and adhere to it to avoid repercussions. Contributing Contributions to Next.js are welcome and highly appreciated. However, before you jump right into it, we would like you to review our Contribution Guidelines to make sure you have a smooth experience contributing to Next.js. Good First Issues: We have a list of good first issues that contain bugs that have a relatively limited scope. This is a great place for newcomers and beginners alike to get started, gain experience, and get familiar with our contribution process. Security If you believe you have found a security vulnerability in Next.js, we encourage you to responsibly disclose this and NOT open a public issue. To participate in our Open Source Software Bug Bounty program, please visit https://hackerone.com/vercel.
Read the full README on GitHub

What Hacker News says

38 sources
> This isn't a Javascript problem, this is a React problem. It happened with Next.js as well https://github.com/vercel/next.js/discussions/11106 > Say Python ran in the browser natively, and you reimplented React on browser and server in Python. Same problem, not Javascript. Yes. And since Python does not natively run in the browser, that mistake never happens. With JavaScript, the desire to have "backend and frontend in a single codebase" requires active resistance.
In Denial of service and source code exposure in React Server Components
> much better than the mess of Webpack/Rollup/Brunch/Grunt/Gulp/Bower/Browserify/Parcel/Snowpack/Turbopack/Babel/etc/etc. What? That mess is still ongoing. Next.js for example (probably the most popular "out of the box" solution) technically uses SWC, but not quite, because it doesn't support `styled-components` so you need to use Babel for that. But wait, you might also need to use tailwind, and for that you'll need `postcss` which might also work with Babel with `babel-plugin-import-postcss` but not necessarily, could also just use it as a Next plugin, but that doesn't always[1] seem to work. I don't think this mess will ever end unless we throw React/Vue, and all "reactive" frameworks in the dustbin and we'll get enough folks on board to re-invent the web starting from scratch. But no one really wants to do that (yet?), so even things
Read the rest
like Bun or Deno will try to be as compatible as possible making continuous concessions that will lead to the ongoing spaghettification of toolchains. [1] https://github.com/vercel/next.js/discussions/65625
In Vite+ – Unified toolchain for the web
Hosting a Next.js app and ever wondered why you see POST requests returning 200 on an endpoint that only support GET? Probably not but it got me curious today. Turns out it might be increasing your hosting cost. You can reproduce this against Vercel's own homepage: curl -iX POST https://vercel.com -F 'payload={"message":"Testing multipart form data POST"}' | less => HTTP/2 200 [...] x-powered-by: Next.js, Payload x-vercel-cache: BYPASS <!DOCTYPE html><html class=... => Returns 200, cache is bypassed. Should be 405. The behavior is also weird where the hosting type (dev, prod local, prod) matters as well as the type of POST request. Link to my findings: https://github.com/vercel/next.js/issues/78070#issuecomment-...
In Next.js GET Cache Bypass via Multipart POST – Reproduces on Vercel.com
Yeah, I was actually recommended the instrumentation route by a commenter on Reddit. I spent a similar amount of time setting up opentelemetry with Next and while it would have been titled differently, I would have likely still written a blog post after this experience too. This isn't your fault, but basically every opentelemetry package I had to setup is marked as experimental. This does not build confidence when pushing stuff to production. Then, for the longest time I couldn't get the pino instrumentation working. I managed to figure it out eventually, but it was a pain. First, pino has to be added to serverExternalPackages. If it's not, the OTel instrumentation does not work. Second, the automatic instrumentation is extremely allergic to import order. And also for whatever reason, only the pino default export is instrumented. Again, t
Read the rest
his took a while to figure out. Module local variables don't work how I would expect. I had to use globalThis instead. And after all that I was still hit by this: https://github.com/vercel/next.js/issues/80445 It does work, but it was not great to set up. Granted, I went with the manual router (eg. not using vercel/otel).
In Next.js is infuriating
Looks like the Next.js gish-gallop machine is firing on all cylinders, augmented by generative AI. .env files are problematic because they often end up in version control or left lying on local disks unencrypted, increasing the risk of a secret leak. They're nearly impossible to manage securely at scale, are difficult to distribute across a team, and offer no access control or security. Sure, if your developers live in a bubble and don't know any better. Otherwise, .env files are fantastic because they are dead simple. Keeping them out of VCS is simple. echo ".env" >> .gitignore. Need to share a secret value? Use any number of secure communications systems your company has in place. Or generate your own from the system that is issuing secrets. It's not the 1950s, when sharing a secret was considered a national security endeavor. This
Read the rest
doesn't need to be rocket science. You can communicate what's supposed to go in the .env file with a .env.template file, with a list of env variables set equal to an empty string. I'm glad they at least share the nightmare that is client-side environment variables. Prepare to waste days/weeks of your life sifting through unresolved issues in Next.js repo on GitHub, only to discover that you have to re-architect vast swaths of an application just so a secret (of any kind) is never required on the client. This is incredibly challenging and frustrating to deal with, especially when on a deadline and you're 95% done with a working solution. In typical Next.js fashion, the official documentation for instrumentation.ts is complete dog crap. It's deceptively short, making the naive developer think it's simple to configure. In reality, you should first read through the 50 open and 71 closed GitHub issues related just to instrumentation (https://github.com/vercel/next.js/issues?q=is%3Aissue%20stat...), and make sure you understand all the undocumented ways in which instrumentation.js will destroy any semblance of productivity or enjoyment of programming. I'd highly recommend staying away from the dumpster fire that is Next.js. It's too bad it's like the top skill asked for by employers these days, who seem to have no idea what they're signing up for.
In Instrumenting Next.js with runtime secret injection

Showing the 15 most recent of 38 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.