No description
Find a file
Alex Kirszenberg 9483ff170a
Initial HMR Nexturbo API implementation (#52950)
This implements a MVP of HMR. HMR works similarly as in turbopack-dev-server, but instead of going through the router to retrieve output assets, output assets are eagerly stored into a global hash map, and retrieved directly from there (see `VersionedContentMap`).

This will require some more glue on the Next.js side in order to handle:
* RSC headers;
* handling Turbopack subscriptiob HMR events from the Next.js WS server, proxying them to `hmr_events`, and sending back the stream of updates.

There's currently no way to evict deleted output assets, nor to communicate these events to the client. @sokra mentioned the `VersionedContentMap` could store a list of assets per entrypoint, instead of having a top-level flat map.

Co-authored-by: Tobias Koppers <1365881+sokra@users.noreply.github.com>
2023-08-07 10:37:57 +00:00
.cargo Revert "Next Build Turbo POC (#49942)" (#51538) 2023-06-19 21:54:04 -07:00
.config Update Next.js code owners (#51319) 2023-06-14 20:07:32 -07:00
.devcontainer re-enable next-dev-tests (#47087) 2023-03-14 16:05:19 +01:00
.github Update fonts workflow env 2023-08-06 17:31:36 -07:00
.husky Replace pre-commit with husky (#38350) 2022-07-06 11:14:16 -05:00
.vscode Revert "Implement new forking technique for vendored packages. (#51083)" (#53640) 2023-08-06 13:00:12 -07:00
bench Replace var with const (#49379) 2023-05-09 10:25:39 +02:00
contributing Clarify requirements for running examples (#53143) 2023-07-28 22:59:16 -07:00
docs Fix: missing equal sign (#53650) 2023-08-07 01:52:37 +00:00
errors Docs: Document caching mechanisms (#52514) 2023-07-31 17:03:26 +00:00
examples EXAMPLE: fix with-supabase signup button style (#53531) 2023-08-04 20:36:52 +00:00
packages Initial HMR Nexturbo API implementation (#52950) 2023-08-07 10:37:57 +00:00
scripts Add update fonts workflow (#53645) 2023-08-07 00:11:03 +00:00
test Fix action failures due to state tree encoding (#53655) 2023-08-07 10:02:48 +00:00
.alexignore Integrate next-* crates from Turbopack (#47019) 2023-03-13 14:33:17 +01:00
.alexrc docs: Add "special" to the Alex allowlist (#48021) 2023-04-06 16:32:06 +02:00
.eslintignore Revert "Implement new forking technique for vendored packages. (#51083)" (#53640) 2023-08-06 13:00:12 -07:00
.eslintrc.json update eslint config (#53637) 2023-08-07 09:41:14 +00:00
.gitattributes chore: make next/src/build files indexable on github (#51647) 2023-06-22 11:32:42 +00:00
.gitignore Revert "Implement new forking technique for vendored packages. (#51083)" (#53640) 2023-08-06 13:00:12 -07:00
.npmrc fix: npm publish provenance permissions (#48757) 2023-04-24 14:08:55 +00:00
.prettierignore chore: add GH action to notify about pending PRs (#53541) 2023-08-03 21:40:28 +00:00
.prettierignore_staged Revert "Implement new forking technique for vendored packages. (#51083)" (#53640) 2023-08-06 13:00:12 -07:00
.prettierrc.json Prettier trailingComma default value to es5 since 2.0 (#14391) 2020-06-22 13:25:24 +02:00
.rustfmt.toml build(cargo): move workspaces manifest to top level (#48198) 2023-04-19 18:38:36 +02:00
azure-pipelines.yml chore: update to pnpm@8.6.11 (#50923) 2023-08-04 19:40:20 +00:00
Cargo.lock Initial HMR Nexturbo API implementation (#52950) 2023-08-07 10:37:57 +00:00
Cargo.toml Update to turbopack-230804.2 (#53588) 2023-08-04 21:51:35 +00:00
CODE_OF_CONDUCT.md updated code of conduct to v2.1 (#34208) 2022-02-10 18:11:42 -06:00
contributing.md chore: improve repo templates (#46629) 2023-03-01 09:25:51 -08:00
jest.config.js use env var to switch next.js to turbopack mode (#51353) 2023-06-21 13:52:14 +00:00
jest.replay.config.js Add Replay integration for dev e2e tests (#40955) 2022-09-29 14:45:10 -07:00
lerna.json v13.4.13 2023-08-07 06:57:47 +00:00
license.md Update license year (#44403) 2023-01-01 11:12:49 +01:00
lint-staged.config.js Run dev tests against default CNA templates (#45211) 2023-01-24 11:01:03 -08:00
package.json Add update fonts workflow (#53645) 2023-08-07 00:11:03 +00:00
plopfile.js Opt-in to dynamic rendering when reading searchParams (#46205) 2023-03-16 21:46:35 +01:00
pnpm-lock.yaml v13.4.13 2023-08-07 06:57:47 +00:00
pnpm-workspace.yaml Integrate next-* crates from Turbopack (#47019) 2023-03-13 14:33:17 +01:00
readme.md Monorepo (#5341) 2018-10-01 01:02:10 +02:00
release.js Fix labels for release sections 2021-11-21 13:11:54 +01:00
run-tests.js fix Next.rs API (#53456) 2023-08-02 14:31:52 +02:00
rust-toolchain Turbopack: Vc<T> and Turbo Engine type system improvements (#51792) 2023-07-16 13:56:20 +00:00
test-file.txt Add additional file serving tests (#12479) 2020-05-04 11:58:19 -05:00
tsconfig-tsec.json Integrate tsec into the linting process (#33746) 2022-02-24 16:59:18 -08:00
tsconfig.json type check tests (and convert next-test-utils.js to ts) (#51071) 2023-06-23 17:42:50 +00:00
tsec-exemptions.json Move core files to src folder and move JS files to TypeScript (#44405) 2023-01-03 10:05:50 +01:00
turbo.json Fix build-native turbo config (#53380) 2023-07-31 14:00:30 +00:00
UPGRADING.md Move upgrading guide to /docs (#10727) 2020-02-28 23:46:18 +01:00
vercel.json Silence GH Comments for Preview URLs (#18766) 2020-11-03 21:59:47 +00:00

Next.js

Getting Started

Visit https://nextjs.org/learn to get started with Next.js.

Documentation

Visit https://nextjs.org/docs to view the full documentation.

Who is using Next.js?

Next.js is used by the world's leading companies. Check out the Next.js Showcase to learn more.

Community

The Next.js community can be found on GitHub Discussions, where you can ask questions, voice ideas, and share your projects.

To chat with other community members you can join the Next.js Discord.

Our Code of Conduct applies to all Next.js community channels.

Contributing

Please see our contributing.md.

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 to get started, gain experience, and get familiar with our contribution process.

Authors

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. We will investigate all legitimate reports. Email security@vercel.com to disclose any security vulnerabilities.

https://vercel.com/security