rsnext/packages/next
Tim Neutkens 8e3586d2cc
Optimize bundle size for appDir (#42252)
- Ensure React / other deps are deduped against main-app bundle
- Only require web-vitals when it's needed
- Move warnOnce into separate file as it's not tree shaken
- Add create-next-app with bundle analyzer

<details>
<summary>13.0.0 (react-dom deduping bug)</summary>

<img width="1912" alt="13-0-0" src="https://user-images.githubusercontent.com/6324199/199067942-d2394ffa-fc1c-4606-94f4-b489ef959a9b.png">

</details>

<details>
<summary>Canary (react-dom deduping bug fixed)</summary>

<img width="1912" alt="current-canary-branch" src="https://user-images.githubusercontent.com/6324199/199067999-786b523e-b4f0-4044-8d2e-acaa0386771a.png">

</details>

<details>
<summary>This PR</summary>

<img width="1912" alt="pr-changes" src="https://user-images.githubusercontent.com/6324199/199068060-2fdb6e11-8b94-4683-9b8e-65bb6faab34a.png">

</details>



## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have a helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm build && pnpm lint`
- [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
2022-10-31 17:50:35 +00:00
..
bin Remove react root condition and always use concurrent mode (#42141) 2022-10-29 20:34:03 +00:00
build Optimize bundle size for appDir (#42252) 2022-10-31 17:50:35 +00:00
bundles refactor: split up CONTRIBUTING.md (#40515) 2022-09-16 14:54:58 -07:00
cli Ensure we detect config correctly with turbo flag (#42201) 2022-10-30 20:06:11 -07:00
client Optimize bundle size for appDir (#42252) 2022-10-31 17:50:35 +00:00
compiled Keep react-dom/server.node in precompiled (#42138) 2022-10-29 21:32:28 +00:00
export Ensure we detect config correctly with turbo flag (#42201) 2022-10-30 20:06:11 -07:00
font Font description and error messages (#41764) 2022-10-25 03:15:06 +00:00
image-types Don't import internally from types in next-env.d.ts (#34394) 2022-02-19 04:25:49 +01:00
legacy BREAKING CHANGE: Rename next/image to next/legacy/image & rename next/future/image to next/image (#41399) 2022-10-14 01:59:22 +00:00
lib Update vscode config handling (#42169) 2022-10-30 01:51:44 -07:00
pages fix(ts): relax AppProps to not require generic (#41264) 2022-10-07 14:59:32 -07:00
server Default font config fix (#42235) 2022-10-31 08:56:37 -07:00
shared/lib Optimize bundle size for appDir (#42252) 2022-10-31 17:50:35 +00:00
telemetry Ensure we detect config correctly with turbo flag (#42201) 2022-10-30 20:06:11 -07:00
trace Update @types/node to 14.14.31 (#41634) 2022-10-22 11:19:14 -07:00
types Update precompiled react to next channel (#41708) 2022-10-24 00:31:52 -07:00
amp.d.ts
amp.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
app.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
app.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
babel.d.ts
babel.js
client.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
client.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
config.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
config.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
constants.d.ts
constants.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
document.d.ts Fix document type import path (#32117) 2021-12-04 10:23:15 +00:00
document.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
dynamic.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
dynamic.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
error.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
error.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
head.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
head.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
headers.d.ts Add exports for new router (#41368) 2022-10-13 09:13:39 +00:00
headers.js Add exports for new router (#41368) 2022-10-13 09:13:39 +00:00
image.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
image.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
index.d.ts typing: upgrade styled-jsx to remove workaround in build script (#39408) 2022-08-09 17:10:33 +00:00
jest.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
jest.js fix(#36534): enable interopClientDefaultExport for next/jest (#36824) 2022-05-11 13:13:13 -05:00
license.md Update license year 2022-01-13 16:02:34 +01:00
link.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
link.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
navigation.d.ts Add exports for new router (#41368) 2022-10-13 09:13:39 +00:00
navigation.js Add exports for new router (#41368) 2022-10-13 09:13:39 +00:00
package.json v13.0.1-canary.3 2022-10-31 09:01:43 -07:00
README.md docs(README): next.js logo with dark mode (#40223) 2022-09-13 16:39:52 +02:00
router.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
router.js Alias all client, shared, pages dist assets for esm (#41034) 2022-09-29 21:24:04 +00:00
script.d.ts Improve exported root definitions (#32077) 2021-12-03 07:16:29 +00:00
script.js edge-ssr: bundle next/dist as ESM for better tree-shaking (#40251) (#40980) 2022-09-28 12:29:22 +02:00
server.d.ts Update @types/node to 14.14.31 (#41634) 2022-10-22 11:19:14 -07:00
server.js refactor: add named export in next/server (#39381) 2022-08-07 16:17:15 +00:00
taskfile-ncc.js Update to latest ncc and ensure caniuse-lite data is external (#32064) 2021-12-08 10:41:35 -06:00
taskfile-swc.js Bump minimum Node.js version to 14.6.0 (#41765) 2022-10-24 21:47:54 -07:00
taskfile.js Keep react-dom/server.node in precompiled (#42138) 2022-10-29 21:32:28 +00:00
tsconfig.json BREAKING CHANGE: Rename next/image to next/legacy/image & rename next/future/image to next/image (#41399) 2022-10-14 01:59:22 +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