Commit graph

10104 commits

Author SHA1 Message Date
Tim Neutkens
28a5d7a2e3
Rewrite send-trace-to-jaeger in Rust (#31392) 2021-11-14 17:17:18 +01:00
Emmanouil Zoumpoulakis
ce3112048f
Typo fixes on Markdown files (#31380)
Some simple typo fixes on Markdown files
2021-11-14 01:56:41 +00:00
Tim Neutkens
950eb0f489 v12.0.4-canary.11 2021-11-13 18:26:43 +01:00
Tim Neutkens
e0531e30f4
Add support for legacy decorators through tsconfig/jsconfig (#31376) 2021-11-13 18:26:13 +01:00
Zhang Zhi
ae1cee59d6
Auth0 Example: getSession should be called with req and res (#31330) 2021-11-12 20:19:29 -06:00
Rishabh Poddar
f6c62d3b89
Updates with-supertokens example to add sign in with apple (#31200)
Co-authored-by: Lee Robinson <me@leerob.io>
2021-11-12 19:54:28 -06:00
Matt Kane
9952cc79db
Don't proxy middleware if host is the same (#31180)
This changes the check for whether a rewrite is internal or if it should be proxied. Currently it checks if `protocol` is unset, which is only the case for relative URLs or localhost. This means that requests where there is a hostname set, or if localhost is specified in another way such as `127.0.0.1`, then it will be proxied, which potentially causes a proxy loop or ssl error. This PR changes the test so that it also checks if the hosts match, and only proxies if they are different.

Fixes #31179 

## Bug

- [x] Related issues linked using `fixes #number`
- [x] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`
2021-11-13 00:20:13 +00:00
Thibaut SABOT
d1adf1d503
Add eslint rule to prevent importing next/server outside of _middleware (#30973)
* Add eslint rule to prevent importing next/server outside of _middleware

* add error to manifest.json

Co-authored-by: Javi Velasco <javier.velasco86@gmail.com>
2021-11-12 17:44:39 -06:00
Hiroshi Ogawa
4a22059b11
fix(30724): clear "x-middleware-next" header when chaining middlewares (#30866)
* fix(30724): clear "x-middleware-next" header when chaining middlewares

* refactor: do not accumulate "x-middleware-next" header

* test: fix grammar of test case title

* Update packages/next/server/next-server.ts

Co-authored-by: Javi Velasco <javier.velasco86@gmail.com>
2021-11-12 17:44:17 -06:00
Tim Neutkens
d9fc3eeb7e v12.0.4-canary.10 2021-11-12 21:54:01 +01:00
Tim Neutkens
a4692d400d
Add support for jsxImportSource in tsconfig/jsconfig (#31358) 2021-11-12 21:51:43 +01:00
JJ Kasper
06f3d398b1
Ensure NODE_ENV is replaced correctly with swc (#31274) 2021-11-12 13:59:21 -06:00
Filip Skokan
f796ea3e7d
fix(middleware): fetch resource may be a URL instance (or any stringifiable value) (#31260)
The `resource` argument[^1] in fetch may also be an instance of URL (or any other stringifiable value) but the sandbox variant of middlewares doesn't support that.

```js
export async function middleware(req, ev) {
  await fetch(new URL('https://www.googleapis.com/oauth2/v3/certs'), {
    redirect: 'manual',
    method: 'GET',
  })

  return new Response(JSON.stringify({}), { status: 200 });
}
```

This is fixing the use of e.g. URL instance in `fetch`.

```
TypeError: initurl.startsWith is not a function
  at getFetchURL (/my-next-app/node_modules/next/dist/server/web/sandbox/sandbox.js:246:17)
  at fetch (/my-next-app/node_modules/next/dist/server/web/sandbox/sandbox.js:77:29)
  at Object.middleware [as handler] (webpack-internal:///./pages/_middleware.js:86:15)
  at async adapter (webpack-internal:///./node_modules/next/dist/server/web/adapter.js:30:22)
  at async DevServer.runMiddleware (/my-next-app/node_modules/next/dist/server/next-server.js:430:26)
  at async DevServer.runMiddleware (/my-next-app/node_modules/next/dist/server/dev/next-dev-server.js:394:28)
  at async Object.fn (/my-next-app/node_modules/next/dist/server/next-server.js:807:34)
  at async Router.execute (/my-next-app/node_modules/next/dist/server/router.js:211:32)
  at async DevServer.run (/my-next-app/node_modules/next/dist/server/next-server.js:1115:29)
  at async DevServer.run (/my-next-app/node_modules/next/dist/server/dev/next-dev-server.js:440:20)
```

[^1]: https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters
2021-11-12 13:22:27 +00:00
Jiachi Liu
cf206a8392
Resolve stream piper on complete shell for renderToReadableStream (#31186)
1. Align `renderToReadableStream` with `renderToNodeStream`, resolve promise of `NodeWritablePiper` only when `onCompleteShell` is called.
2. update webpack to disable chunk loading for web runtime

Item 1 is the preparation for middleware-ssr-loader. Then we can do the following there

```js
try {
   result = await renderToHTML(page)
} catch (e) {
   result = await renderToHTML(errorPage)
}
result.pipe(renderResult)
```
2021-11-12 00:00:54 +00:00
Yunfei He
4551571615
Automatically use different port to start dev server for non-explicit port (#30736)
* Automatically using different port to start dev server for non-explicit port

* return correct port

* more reasonable changes

* fix isExplicitPort

* 1. rename isExplicitPort to allowRetry 2.restrict the number of retries

Co-authored-by: Steven <steven@ceriously.com>
2021-11-11 17:19:20 -05:00
Alexander Savelyev
0c04f96e9b
bugfix/second-locale-in-pathname remove console.log (#31289)
Sorry, I forgot to remove console.log in a test
2021-11-11 21:54:27 +00:00
Dyar Faradj
ae72632870
Changes in dev script (package.json) (#31245)
New Next.js projects now generates "dev": "next dev"



## Documentation / Examples

- [X] Make sure the linting passes by running `yarn lint`
2021-11-11 21:12:15 +00:00
jj@jjsweb.site
51ad2542bb
v12.0.4-canary.9 2021-11-11 14:20:30 -06:00
JJ Kasper
6b89fbf12d
Ensure asPath is correctly normalized in minimalMode with i18n (#31281)
This ensures the `asPath` and `req.url` values are normalized correctly for fallback pages with i18n in minimal mode. This also copies the minimal mode test suite to run against i18n as well. This also fixes an issue where rewrite params weren't passed correctly on the client when no params were already used in the destination. 

The provided reproduction has been deployed against this patch [here](https://nextjs-error-repro-9zdu3sp5r-ijjk-testing.vercel.app/page/test-page) show it working. 

## Bug

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

Fixes: https://github.com/vercel/next.js/issues/27563
Fixes: https://github.com/vercel/next.js/issues/30203
2021-11-11 20:11:50 +00:00
Jiachi Liu
6abc6699e9
Upgrade webpack (#31313)
Co-authored-by: JJ Kasper <22380829+ijjk@users.noreply.github.com>
2021-11-11 19:02:27 +00:00
JJ Kasper
e55c42cef0
Maintain co-authors when kodiak merges (#31316) 2021-11-11 12:21:25 -06:00
matamatanot
ee3a51006f
Fix failed-loading-swc link in Troubleshooting (#31314)
## Documentation / Examples

#31265

- [x] Make sure the linting passes by running `yarn lint`
2021-11-11 17:53:01 +00:00
Tim Neutkens
c4558c913f
Output where preference is saved (#31305)
Fixes #31241



## 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 `yarn lint`
2021-11-11 16:48:00 +00:00
Tim Neutkens
fbe366f465 v12.0.4-canary.8 2021-11-11 16:36:38 +01:00
Tim Neutkens
7aabcda66e v12.0.4-canary.7 2021-11-11 16:31:33 +01:00
Delba de Oliveira
5e179e32b6
Testing Docs: Add links to jump to sections (#31311)
Added Playwright to the top of the page and links to help readers jump to sections. 

## 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
- [x] 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 `yarn lint`
2021-11-11 15:18:23 +00:00
Tim Neutkens
9faf14e0b7
next/jest: Ensure typeof window is not transformed in jsdom environment (#31304)
Found that when the target is `jsdom` instead of `node` the "typeof window" transform is incorrect. This was causing an unexpected failure in on of the tests for vercel.com.


## 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 `yarn lint`
2021-11-11 15:05:32 +00:00
Tim Neutkens
0ae94488f3 v12.0.4-canary.6 2021-11-11 12:06:30 +01:00
JJ Kasper
35fb466eb3
Fix test-pnp stalling in CI (#31282) 2021-11-11 11:56:12 +01:00
Donny/강동윤
46e1cbc95e
Update swc for jsc.paths (#31290)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-11-11 11:55:44 +01:00
Tim Neutkens
2800a2b1c0
Ensure next/jest is published (#31296)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-11-11 11:48:12 +01:00
ihmpavel
bd8003850b
Fix typo in next build log (#31295)
## 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 `yarn lint`
2021-11-11 10:38:53 +00:00
Tim Neutkens
dfff685207 v12.0.4-canary.5 2021-11-11 09:21:54 +01:00
Steve Jarvis
5014362a7a
Fix Auth0 Example (#31284)
Fixes #31286

I was going through the [Auth0 example](https://github.com/vercel/next.js/tree/canary/examples/auth0) and hit the following issue (screencap):

<img width="964" alt="Screen Shot 2021-11-10 at 12 57 41 PM" src="https://user-images.githubusercontent.com/2515575/141226775-08e5e1d3-618c-4fae-a133-70685c7b3ad2.png">

This just updates the call there to pass `res`, which matches the signature documented here: https://auth0.github.io/nextjs-auth0/modules/session_get_session.html

With this fix, the rest of the example worked wonderfully 👍.

## Bug

- [x] Related issues linked using `fixes #number`
- [ ] Integration tests added (NA?)
- [x] Errors have helpful link attached, see `contributing.md`
2021-11-11 03:16:31 +00:00
vordgi
ae1d271f9a
bugfix/i18n Do not support the second locale in the pathname (#31229)
## Bug

- [x] Related issues linked using `fixes #number`
- [x] Integration tests added

Fixes: https://github.com/vercel/next.js/issues/31228
2021-11-11 02:29:20 +00:00
ericbiewener
c791da0977
correctly assess node equality when nonce attribute is present (#27573)
* add isEqualNode function

* add test

* trying to make integration test work

* revert

* Update test/unit/is-equal-node.unit.test.js

Co-authored-by: Steven <steven@ceriously.com>

* Revert "revert"

This reverts commit d67b9971068d18efcf839666a3a17619fd914fc3.

* Fix tests

* Use TS for unit test

* Revert waitfor

* Start tests with "should"

* Fix lint

* Use cloneNode()

Co-authored-by: Eric Biewener <eric.biewener0@walmart.com>
Co-authored-by: Steven <steven@ceriously.com>
2021-11-10 19:31:32 -06:00
Tim Neutkens
0196b03621
Experimental next/jest config helper (#31246)
* Experimental next/jest config helper

Co-Authored-By: Maia Teegarden <dev@padmaia.rocks>

* Ensure useTypescript is provided

* Move experimental warning to next/jest

* Remove unused code

* Remove unused imports

Co-authored-by: Maia Teegarden <dev@padmaia.rocks>
2021-11-10 16:16:15 -08:00
Stefano Rainieri
52139a41e9
fix: replaced useless let (#31239)
## 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 `yarn lint`
2021-11-11 00:14:38 +00:00
Jiachi Liu
82c09bd500
Update contributing doc with trouble shooting section for swc (#31265)
## Documentation / Examples

- [x] Make sure the linting passes by running `yarn lint`
2021-11-10 20:18:33 +00:00
Jiachi Liu
edb5060fc0
Fix process.env overriden in web runtime (#31261)
Fixes #31258

## Bug

- [x] Related issues linked using `fixes #number`
- [x] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`
2021-11-10 18:57:27 +00:00
Donny/강동윤
fd9593542a
Update swc minifier (#31242)
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2021-11-10 17:39:34 +01:00
ThunderMiracle
4299cc169c
docs: fix typo in css-in-js page (#31244)
## Purpose

fix minor typo in [css-in-js page](https://nextjs.org/docs/basic-features/built-in-css-support#sass-variables) 

## Documentation / Examples

- [x] Make sure the linting passes by running `yarn lint`
2021-11-10 15:45:20 +00:00
Tobias Koppers
9c4c7123b6
run middleware parser handler only for middleware modules (#31219)
## 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 `yarn lint`
2021-11-10 15:31:46 +00:00
Donny/강동윤
24f7c21736
Update swc (#31233)
## 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 `yarn lint`

This applies

 - https://github.com/swc-project/swc/pull/2699

Fixes https://github.com/vercel/next.js/issues/30839
2021-11-10 09:06:04 +00:00
Shu Ding
e1464ae5a5
Add integration test of API routes with concurrentFeatures enabled (#31227)
Ensures that API routes are working as expected with `concurrentFeatures: true`. Closes #30586.

## Bug

- [ ] 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 `yarn lint`
2021-11-09 22:48:46 +00:00
jj@jjsweb.site
7087adba12
v12.0.4-canary.4 2021-11-09 15:47:35 -06:00
Tobias Koppers
8c8642898f
upgrade webpack (#31034)
* upgrade webpack

* ⚙ Update compiled files

Co-authored-by: sokra <sokra@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-11-09 22:34:53 +01:00
Genet Schneider
e3135ccde6
Support assetPrefix specific protocol (#31213)
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2021-11-09 15:26:55 -06:00
Jiachi Liu
489ca73e43
test: skip flaky dynamic import tests (#31221) 2021-11-09 20:39:43 +00:00
Filip Skokan
0985b0b472
share collections in middleware vm context (#31043)
When libraries are required outside of the middleware function context and they do checks such as `a instanceof Uint8Array` since the constructors are different between the two contexts they'll always yield false.

This is a problem for libraries validating user input as well as the WebCryptoAPI polyfill used outside of Edge Functions.

- Fixes #30477
- Fixes #30911

This is only a problem for the sandbox runtime, not when ran inside an Edge Function.
2021-11-09 19:57:19 +00:00