Commit graph

11962 commits

Author SHA1 Message Date
JJ Kasper
f1aac90c7b
Fix unhandled rejections with edge runtime (#39091)
This corrects some unhandledRejection errors showing when a connection is canceled with the edge runtime since the changes needed for 14463ddd10. This also adds a regression test to ensure we don't have these class of errors in our middleware tests. 

## Bug

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

Fixes: [slack thread](https://vercel.slack.com/archives/C03Q1UU3Z4H/p1658960102013969)
2022-07-28 07:50:51 +00:00
nasso
c4d41255fe
Convert the Cypress config to ESM Module syntax (#39036)
This seems to be what is recommended by the Cypress documentation:
https://docs.cypress.io/guides/references/configuration



## Documentation / Examples

- [x] Make sure the linting passes by running `pnpm lint`
- [x] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-28 05:39:47 +00:00
JJ Kasper
541d8c663d
Update pre-compiled to fix check (#39089) 2022-07-27 20:44:39 -05:00
JJ Kasper
84fcbd56bc
v12.2.4-canary.3 2022-07-27 20:00:50 -05:00
JJ Kasper
3a31b96f26
Ensure query is updated correctly with shallow and middleware (#39086)
This ensures we properly update the query when doing a shallow navigation with middleware present and expands our test coverage of this kind of navigation. This also adds middleware rewrite coverage for the case described in https://github.com/vercel/next.js/issues/38405  and ensures we properly resolve dynamic middleware rewrites which was causing https://github.com/vercel/next.js/issues/39049

Test deployment with fix can be seen [here](https://middleware-i18n-redirect-repro-8jd3x47j9-ijjk-testing.vercel.app/gsp/first) and [here](https://nextjs-middleware-rewrite-l6q20cwo3-ijjk-testing.vercel.app/)

## Bug

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

Fixes: https://github.com/vercel/next.js/issues/38495
Fixes: https://github.com/vercel/next.js/issues/39049
Fixes: https://github.com/vercel/next.js/issues/38405
2022-07-28 00:52:56 +00:00
Shu Ding
600bdb1eb5
Remove RSC rendering from render (#39045)
(For context, the logic and tests have been moved to `app-render`.)

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-27 22:11:02 +00:00
Max Proske
e955850dd4
Convert cms-agilitycms example to TypeScript (#38976)
Converted `cms-agilitycms` example to TypeScript to match Contribution docs.

## Documentation / Examples

- [X] Make sure the linting passes by running `pnpm lint`
- [X] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-27 19:24:54 +00:00
Thuy Doan
44b5534b85
feat(with-mux-video): Update mux-player scope and version to latest. (#39079)
# Description
Updates `with-mux-video` example to use latest scope and version of `@mux/mux-player-react` 🌈
2022-07-27 16:52:29 +00:00
JJ Kasper
889481e85f
Update delayed test output handling (#39078) 2022-07-27 11:41:42 -05:00
Balázs Orbán
34f5236f57
fix: show asPath on large page data warning (#39071)
Fixes #39057

Will now show:
```
Warning: data for page "/[[...slug]]" (path "/some-page") is 256 kB which exceeds the threshold of 128 kB, this amount of data can reduce performance.
See more info here: https://nextjs.org/docs/messages/large-page-data
```

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)


Co-authored-by: JJ Kasper <22380829+ijjk@users.noreply.github.com>
2022-07-27 15:15:37 +00:00
Balázs Orbán
0a781dd675
fix: use if..elif..else in docker examples (#39072)
* fix: use `if..elif..else` in docker examples

* fix missing devDependencies for build

Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-07-27 09:54:04 -05:00
Kiko Beats
0ebd53fdb5
fix: print Request & Response properties (#38903)
* Add inspect symbol for request

WIP

* Add inspect symbol for response

* build: upgrade edge-runtime
2022-07-27 09:16:16 -05:00
Fikri Karim
fe72c828b6
docs(example): Update Makeswift example (#39070) 2022-07-27 09:00:28 -05:00
Tim Neutkens
e64729521d
Add additional comments for reducer/cachenode (#39065)
- Add additional comments for reducer functions.
- Add comments for CacheNode



## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-27 12:43:43 +00:00
Tim Neutkens
8fc8a6c883
Add comments in new router reducer (#39025)
Expand explanation of new router.



## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-27 09:55:07 +00:00
JJ Kasper
90ddd0dc83
Replace node-sass test dependency with sass (#39053)
* Replace node-sass test dependency with sass

* breakup css/scss tests for more parallelism

* update compiled
2022-07-26 23:12:54 -05:00
Marcos Bérgamo
c3e5caf110
docs(examples): improve DX while copying command to create new project (#38410)
* docs(examples): improve DX while copy command to create new project

* chore: apply code review

Co-authored-by: Marcos Bérgamo <Marcos.Bergamo@refinitiv.com>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-07-26 21:57:48 -05:00
JJ Kasper
0ab6ad5241
Update default gitignore templates (#39051) 2022-07-26 20:08:40 -05:00
Shu Ding
0831dd59c9
chore: Clean up imports and unused code (#39044)
A small refactor PR to convert some imports to type imports, as well as removing a couple of unused exports.

The Edge SSR loader is also missing the global process injection (`enhanceGlobals`).

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-26 21:41:59 +00:00
JJ Kasper
8017d69a68
v12.2.4-canary.2 2022-07-26 15:24:27 -05:00
JJ Kasper
881c313b39
Update to use HEAD request for On-Demand ISR (#39038)
* Update to use HEAD request for On-Demand ISR

* update test for deploy
2022-07-26 15:18:38 -05:00
Sukka
c69d7817a1
chore: enable swc externalHelpers when pre-compile (#38182) 2022-07-26 14:23:19 -05:00
JJ Kasper
b846026673
Handle getStaticPaths error inside worker to avoid serializing (#39032)
* Handle getStaticPaths error inside worker to avoid serializing

* handle invalid export case
2022-07-26 13:56:29 -05:00
JJ Kasper
cee2cf379d
Ensure dangerouslyAllowSVG is passed correctly (#39031) 2022-07-26 12:59:45 -05:00
JJ Kasper
fd7bd12421
Fix tracing edge-runtime dependencies (#39009)
* Fix tracing edge-runtime dependencies

* update compiled

* remove old console log
2022-07-26 10:47:34 -05:00
JJ Kasper
8ae6f28634
Update Safari 10 test to no longer wait for modern Safari (#39028) 2022-07-26 10:36:24 -05:00
JJ Kasper
7fa7204854
Add config for opting out of optimistic client cache behavior (#38774)
* Add config for opting out of optimistic client cache behavior

* update test
2022-07-26 10:27:39 -05:00
JJ Kasper
0de6269c9d
Update config-schema for relay field to be less strict (#39010) 2022-07-26 08:07:39 -05:00
Titus Moore
5bd155e220
Added workaround for --isolatedModules inside of configuration files (#39004)
This relates to a bug from issue #38957 found inside of the `with-cypress` example as a result of the recent typescript conversion. This issue can be resolved with adding `export {};` which prevents TypeScript from reading `.ts` configuration files from being read as legacy script files. This issue has been resolved on StackOverflow [here](https://stackoverflow.com/questions/56577201/why-is-isolatedmodules-error-fixed-by-any-import). More info on `--isolatedModules` can be read [here](https://www.typescriptlang.org/tsconfig#isolatedModules).

## Bug

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


Fixes #38597
2022-07-26 12:43:45 +00:00
Tim Neutkens
e2286eeb51
Add additional comments to new router (#38986)
Expanded app-render.


## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-26 10:41:51 +00:00
JJ Kasper
8c902b61d1
v12.2.4-canary.1 2022-07-25 15:50:59 -05:00
JJ Kasper
135a4cfc66
Add handling for prefetching onTouchStart and initial mobile testing (#38805)
This adds handling for prefetching `onTouchStart` as this gives a little more time to start parsing required scripts for a page transition if not already done that can help make the transition faster. This is based on research showing the touch start event firing on average `90ms` before click (x-ref: [source](https://instant.page/#:~:text=in%20the%20world.-,On%20mobile,-A%20user%20starts))

This also adds testing safari with playwright so we can run these in PRs instead of only after merge and adds initial mobile testing as well. 

x-ref: [slack thread](https://vercel.slack.com/archives/C7PDM7X2M/p1658250170774989?thread_ts=1658249275.178349&cid=C7PDM7X2M)

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-25 19:04:03 +00:00
JJ Kasper
05ba790cdb
Update config schema for empty basePath (#38998) 2022-07-25 13:34:09 -05:00
Tobias Koppers
8324cf5218
update webpack (#38988)
https://github.com/webpack/webpack/releases/tag/v5.74.0

There is a nice little performance fix for rebuild performance in this release.
It also fixes the edge case @Kikobeats did run into: https://vercel.slack.com/archives/CGU8HUTUH/p1656505879286119
2022-07-25 15:47:11 +00:00
Shu Ding
49d5e362d4
Add state comparison to router (#38422)
Lands #37431 again, but it only solves the re-render issue completely for the middleware case (closes #38267), not the `rewrites` case (#37139).

For `rewrites`, the blocker is `isReady` always being `false` initially and to match the markup on hydration we can't simply work around it without a re-render. Need to come up with another fix.

## Bug

- [x] Related issues linked using `fixes #number`
- [x] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-25 15:25:56 +00:00
Max Proske
e32a4c857b
Convert custom-routes-proxying example to TypeScript (#38974)
Converted `custom-routes-proxying` example to TypeScript to match Contribution docs.

## Documentation / Examples

- [X] Make sure the linting passes by running `pnpm lint`
- [X] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-25 11:02:00 +00:00
Tim Neutkens
07c3464aff
Refactor router reducer (#38983) 2022-07-25 12:12:35 +02:00
Lee Robinson
c3fd9e4eec
Add note to next/future/image about default styles. (#38978) 2022-07-25 02:53:39 +00:00
Didi Keke
413d35b75e
docs: update typescript.md (#38717)
"You [SHOULD NOT](https://datatracker.ietf.org/doc/html/rfc2119#section-4) remove ~n~or edit it" in place of "You cannot remove it or edit it".
Rational:
- It is a strong recommendation; not a weak possibility.
- ~Both actions have a negative connotation; as such, it is appropriate to use "nor"~.



## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [x] Make sure the linting passes by running `pnpm lint`
- [x] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)


Co-authored-by: Lee Robinson <9113740+leerob@users.noreply.github.com>
2022-07-25 01:39:46 +00:00
Michael Carr
8365bf62df
Docs: Fix grammatical typo (#38962)
Fixes grammatical typo found on line 73 of `docs/basic-features/data-fetching/get-static-paths`



## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-24 03:12:10 +00:00
Lee Robinson
8b721227cf
Add section about building getStaticPaths on-demand. (#38943)
Based on feedback from here: https://twitter.com/leeerob/status/1550617876188520452

Co-authored-by: JJ Kasper <22380829+ijjk@users.noreply.github.com>
2022-07-23 05:16:16 +00:00
JJ Kasper
6b915cc34e
v12.2.4-canary.0 2022-07-22 17:51:32 -05:00
Zeeshan Ahmad
c49c6ab31b
fix: fix generateEtags type inside schema (#38936) 2022-07-22 19:57:58 +00:00
Sukka
25d34057d6
feat: enhance warning messages about unanalyzable config field (#38907)
x-ref: #38750
x-ref: https://github.com/vercel/next.js/pull/38750#discussion_r926203439

cc @ijjk 

The PR implements the details about un-extractable fields in the `UnsupportedValueError`.

The PR also enhances the warning message about the unrecognizable `config` field. Now the warning message will look like this:

```
warn  - Next.js can't recognize the exported `config` field in route "/unsupported-value-type":
Unsupported node type "CallExpression" at "config.runtime".
The default config will be used instead.
Read More - https://nextjs.org/docs/messages/invalid-page-config
```

The corresponding production test case has also been updated.
2022-07-22 19:31:47 +00:00
Thomas Ballinger
e8a049272d
Update Convex example not to ignore generated files (#38931)
Ignoring files in `convex/_generated/` was a mistake: it's not the currently recommended workflow. Developers should be able to deploy just their frontend without deploying the most recent backend functions at the same time (which would regenerate these files). With this change, a default deploy to Vercel will no longer fail.

## Documentation / Examples

- [x] Make sure the linting passes by running `pnpm lint`
- [x] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-22 18:51:10 +00:00
Shu Ding
d1d0258f29
fix: Impl attachRequestMeta in base server to handle meta differently in edge and node servers (#38932)
This line was introduced in #38862 to the base server but should only be useful for the Node.js server:

```js
addRequestMeta(req, '__NEXT_CLONABLE_BODY', getClonableBody(req.body))
```

It also introduces polyfill of `stream` to the edge server.

Here we add an abstract method to handle it differently, where only `__NEXT_INIT_QUERY` is used.

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-22 18:42:35 +00:00
Han Yeong-woo
4d8d99e47e
chore(example): convert with-stitches to TS (#38892)
* chore(example): convert `with-stitches` to TS

* refactor: change arrow to declaration

* refactor: change import default to `* as`

* feat: add next.config.js

* refactor: improve typing

Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-07-22 11:02:53 -05:00
Andrei Zanouski
e8bbf14865
Add example with cookies-next package (#31243)
* Add example with cookies-next package

* Update examples/with-cookies-next/package.json

Co-authored-by: Balázs Orbán <info@balazsorban.com>

* add typescript and update cookies-next version

* Update examples/with-cookies-next/.gitignore

Co-authored-by: Balázs Orbán <info@balazsorban.com>

* add @types/node in devDependencies

* update cookies-next

* Apply suggestions from code review

* change the function naming to be consistent with the idiom of working with a container of cookies and prettier-fix

* lint-fix

Co-authored-by: Balázs Orbán <info@balazsorban.com>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-07-22 10:32:54 -05:00
Michael Squitieri
98f4bdd12d
Remove next-page-tester from testing.md (#38920)
Next Page Tester has officially been deprecated.
2022-07-22 10:22:24 -05:00
Yuddomack
2a1dc3c647
Clear unnecessary code (#38900)
This always seems to execute.
unless there is a special reason, I think it can declare and assign at the same time, how about this?

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have 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 helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-22 15:16:57 +00:00