Commit graph

6463 commits

Author SHA1 Message Date
RD
72d35d0524
Fix typescript plugin (#44128)
Co-authored-by: Shu Ding <g@shud.in>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2023-01-19 13:18:41 -08:00
Hannes Bornö
9b39c79d2c
Display the reason of hydration error in error overlay (#44857) 2023-01-19 13:45:34 +01:00
Hannes Bornö
d363e6f2b3
Don't dispaly "Error: " twice when router isn't mounted (#45038)
Before

![image](https://user-images.githubusercontent.com/25056922/213422675-d2865012-ea23-4ee7-b984-4021e698bce0.png)

After

![image](https://user-images.githubusercontent.com/25056922/213422561-5730efea-82da-4e13-aac6-a1e84b098605.png)

Fixes NEXT-381

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see
[`contributing.md`](https://github.com/vercel/next.js/blob/canary/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`
- [ ]
[e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
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`](https://github.com/vercel/next.js/blob/canary/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)
2023-01-19 13:12:36 +01:00
JJ Kasper
9b97461ba8
v13.1.3-canary.5 2023-01-18 17:03:39 -08:00
JJ Kasper
57fb41b880
Ensure additional windows are not created on Windows OS (#45022) 2023-01-18 16:59:02 -08:00
Hannes Bornö
c50641f709
Remove next-app-loader from import trace (#44996) 2023-01-18 14:52:39 -08:00
JJ Kasper
4dfe831bbb
Add project directory rename/remove handling (#44911) 2023-01-18 14:37:40 -08:00
Jan Kaifer
d7307cffb7
Fix turbo usage in tests (#44715) 2023-01-18 20:35:28 +01:00
JJ Kasper
ad48202432
Ensure force-dynamic is honored during build (#45015) 2023-01-18 11:24:48 -08:00
JJ Kasper
6b7c69fa4d
Add proper error when app path switches static to dynamic (#44989) 2023-01-18 10:24:35 -08:00
JJ Kasper
c72ebf7722
v13.1.3-canary.4 2023-01-17 16:09:26 -08:00
JJ Kasper
8f0acdf781
Gracefully handle telemetry not being available (#44986) 2023-01-17 16:00:22 -08:00
JJ Kasper
6d09f0b80c
Add experimental.allowedRevalidateHeaderKeys config (#44985) 2023-01-17 14:15:53 -08:00
JJ Kasper
f741b888dd
v13.1.3-canary.3 2023-01-17 12:39:36 -08:00
JJ Kasper
2bc8e740c7
Update res.revalidate to pass through headers (#44981) 2023-01-17 12:35:07 -08:00
Jesse Zhu
aeef38e80e
Use withoutEnlargement instead of sharp.metadata() (#44890) 2023-01-17 10:56:53 -08:00
Shu Ding
3a9bfe60d2
Fix CSS imports being tracked multiple times (#44938)
Currently the way our renderer injects CSS is to first track CSS imports on the module level, and then render these links on each layer. However, in a complex application it's possible that one CSS being imported in many modules, and in multiple layouts. This causes an issue of duplication. And if there are many rules the order could be messed up by that. 

This PR deduplicates CSS resources used by one entry (layout, page, error, ...) and all its parent layouts. If an entry is rendered, all its ancestors are rendered too.

See test case for more details. Currently those two tests will all fail.

Fixes #42862.

## Bug

- [ ] Related issues linked using `fixes #number`
- [x] Integration tests added
- [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/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`
- [ ] [e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) 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`](https://github.com/vercel/next.js/blob/canary/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)
2023-01-17 18:36:00 +00:00
Hannes Bornö
5b5cc33991
Fix force-static description in next-typescript (#44951) 2023-01-17 08:52:50 -08:00
Tim Neutkens
4f410e43fb v13.1.3-canary.2 2023-01-17 15:47:33 +01:00
Tim Neutkens
66094ef6da
Ensure rootLayoutIncluded is set on partial render (#44958) 2023-01-17 15:21:49 +01:00
JJ Kasper
8a8a70e428
v13.1.3-canary.1 2023-01-16 16:13:09 -08:00
Wyatt Johnson
e78c6ec2a5
Replace eslint rule for no-shadow with typescript-eslint/no-shadow (#44936) 2023-01-16 16:02:59 -08:00
Hannes Bornö
d45d0f96f5
Custom RSC compiler error message in pages/ (#44865)
Change the error message when the RSC compiler errors are caused by a
`/pages` page.
 
Fixes NEXT-371

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see
[`contributing.md`](https://github.com/vercel/next.js/blob/canary/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`
- [ ]
[e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
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`](https://github.com/vercel/next.js/blob/canary/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)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-16 14:47:18 +01:00
Diptesh Choudhuri
869aab39f1
fix standalone wrong url being logged (#44887)
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2023-01-15 18:10:26 -08:00
JJ Kasper
969cca878c
Move server-external-packages to JSON (#44910)
This migrates the server component external packages list to a JSON file so it can be loaded by turbopack without booting node. 

x-ref: [slack thread](https://vercel.slack.com/archives/C03EWR7LGEN/p1673738166096439)
2023-01-16 01:38:39 +00:00
LongYinan
d61b0761ef
Use sequentialRead while encoding images with sharp (#44881)
This can reduce memory usage and might improve performance on some systems.

Related: https://github.com/Brooooooklyn/Image/pull/34#issuecomment-1382182686
2023-01-14 10:34:42 +00:00
JJ Kasper
d4a3c66479
Update pre-compiled (#44874) 2023-01-13 17:52:35 -08:00
JJ Kasper
62bbbfb6e5
v13.1.3-canary.0 2023-01-13 17:04:09 -08:00
Jiachi Liu
375871620a
Handle empty module from the next dynamic loader (#44873) 2023-01-13 16:48:29 -08:00
Jiachi Liu
ff19e7ad30
Add built-in server-only and client-only (#44861) 2023-01-13 14:55:34 -08:00
Jiachi Liu
98df70e233
Refactor next dynamic (#44832)
* Convert `loadable` to tsx for convenience
* Merge `NoSSR` into `loadable`
* Address the missing `preload` method mentioned in
https://github.com/vercel/next.js/pull/42589#issuecomment-1353226954

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-13 14:47:07 +01:00
JJ Kasper
5f2809f40f
v13.1.2 2023-01-12 15:24:15 -08:00
JJ Kasper
be2d286cee
v13.1.2-canary.8 2023-01-12 13:16:02 -08:00
Jiachi Liu
6fcb518f31
Fix image emittion for pure client image (#44831)
Fixes https://github.com/vercel/next.js/issues/44068
Fixes https://github.com/vercel/next.js/issues/44143
Fixes https://github.com/vercel/next.js/issues/44658
2023-01-12 11:24:59 -08:00
Jimmy Lai
9255da2525 v13.1.2-canary.7 2023-01-12 18:52:25 +01:00
Hannes Bornö
0b36a526c7
Fix capitalization in formatted server errors (#44798) 2023-01-12 08:15:28 -08:00
Tim Neutkens
2b7e32c3f1 v13.1.2-canary.6 2023-01-12 15:58:54 +01:00
Tim Neutkens
223c974774
Fix router.refresh() resetting state and Suspense boundaries (#44775)
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2023-01-12 15:48:59 +01:00
JJ Kasper
12bfabd179
Update to latest version of pnpm (#44791) 2023-01-11 17:36:52 -08:00
JJ Kasper
2a53cbcc65
v13.1.2-canary.5 2023-01-11 16:03:19 -08:00
JJ Kasper
25b5845a0a
Fix app ISR handling with no generateStaticParams (#44787) 2023-01-11 15:28:03 -08:00
chencheng (云谦)
86f384fc5f
chore: fix typo (#44761) 2023-01-10 19:41:23 -08:00
Ian Luca
eab68a9f81
Ensure folder exists for standalone server (#44745)
When using standalone output in a monorepo, nextjs will sometimes throw:

`> NX ENOENT: no such file or directory, open
'/dist/apps/my-app/.next/standalone/apps/my-app/server.js'`

next.config.js:
```js
const { withNx } = require("@nrwl/next/plugins/with-nx");
const path = require("path");

/**
 * @type {import('@nrwl/next/plugins/with-nx').WithNxOptions}
 **/
const nextConfig = {
  output: "standalone",
  experimental: {
    outputFileTracingRoot: path.join(__dirname, "../../"),
  },
};

module.exports = withNx(nextConfig);
```

## Bug

- [x] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see
[`contributing.md`](https://github.com/vercel/next.js/blob/canary/contributing.md)

Fixes https://github.com/nrwl/nx/issues/14112,
https://github.com/nrwl/nx/issues/9017

This `mkdir` instruction is the same as done for other parts of the
`copyTracedFiles` function. E.g. middlewares or pages.

Tested via publishing to an internal npm registry and pnpm overrides:
```json
  "pnpm": {
    "overrides": {
      "next": "npm:@internal/next@13.1.3-dev"
    }
  }
```
2023-01-10 13:37:39 -08:00
Hannes Bornö
b6f6179d5d
@next/font: Add preconnect tag when fonts are used but not preloaded in app-dir (#44746)
Add a preconnect tag to self with `crossorigin=anonymous` if fonts are used but not preloaded. This is already done in [`/pages`](https://github.com/vercel/next.js/blob/canary/packages/next/src/pages/_document.tsx#L384) but not yet for `/app`. 

Fixes NEXT-337

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/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`
- [ ] [e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) 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`](https://github.com/vercel/next.js/blob/canary/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)
2023-01-10 19:07:26 +00:00
Jan Kaifer
24a531a69b
Update jsonwebtoken (#44748)
Patches https://github.com/advisories/GHSA-27h2-hvpr-p74q

Shouldn't affect us, but good to patch anyway.
2023-01-10 16:06:36 +01:00
Hannes Bornö
9a5c8cebf0
Improve errors caused by Class Component rendered in a server component. (#44726)
Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
Co-authored-by: Steven <steven@ceriously.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-10 14:47:20 +01:00
Hannes Bornö
03e5f5e18d
Hydration error link is appended multiple times in app-dir (#44741)
It looks like we get the same error each time when React is retrying. This adds a check so the link is only appended the first time.

Before
![image](https://user-images.githubusercontent.com/25056922/211514056-d34ab8bc-65ec-42ea-a891-ca1ce5fd07de.png)

After
![image](https://user-images.githubusercontent.com/25056922/211514266-181b8fd4-cc72-42c9-b3fb-53cb6a326fee.png)

Fixes NEXT-356

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/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`
- [ ] [e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) 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`](https://github.com/vercel/next.js/blob/canary/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)
2023-01-10 10:33:24 +00:00
Akshit Sinha
9dedc94500
Fix IPv6 hostname formatting in CLI (#43491)
Co-authored-by: Jan Kaifer <jan@kaifer.cz>
Fixes https://github.com/vercel/next.js/issues/21979
2023-01-10 11:06:25 +01:00
JJ Kasper
c7162c42b2
v13.1.2-canary.4 2023-01-09 16:55:34 -08:00
JJ Kasper
c9141cf131
land(Fix: Add trailing slash to locale redirect based on next config) (#44735)
Lands https://github.com/vercel/next.js/pull/44562 with lint fixes

Closes: https://github.com/vercel/next.js/pull/44562

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see
[`contributing.md`](https://github.com/vercel/next.js/blob/canary/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`
- [ ]
[e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
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`](https://github.com/vercel/next.js/blob/canary/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)

Co-authored-by: Mateusz Lesiak <mateusz.lesiak@columbusglobal.com>
2023-01-09 16:04:55 -08:00