Commit graph

7950 commits

Author SHA1 Message Date
JJ Kasper
0ec58c6328
v10.0.9-canary.7 2021-03-12 09:40:31 -06:00
JJ Kasper
7e63bd7d54
Ensure export only triggers when static pages are present (#22996)
This makes sure we don't trigger the export step if we aren't exporting any static pages during a build. This also adds an invariant to ensure we don't attempt creating a progress with 0 items.

Fixes: https://github.com/vercel/next.js/issues/22994
2021-03-12 08:36:28 +00:00
Kenneth Lum
2af5a0e47c
it is props: { posts } (#23004)
changing `props: posts` to `props: { posts }`
2021-03-12 08:11:01 +00:00
Kenneth Lum
e7a22afe2f
When there is data already, the props is props: { data } (#23003)
When there is data already, the props is props: { data }
Would be better if the `props: { }` part is `props: { data }`
2021-03-12 08:03:10 +00:00
JJ Kasper
62967fc667
Add note for loading env files during testing (#22982)
This adds a note to the environment variables documentation to mention how the env files can be loaded using the `@next/env` package as this has been brought up a few times. 

x-ref: https://github.com/vercel/next.js/issues/22936#issuecomment-796665303
x-ref: https://github.com/vercel/next.js/issues/17903
2021-03-12 00:47:42 +00:00
JJ Kasper
97ebc742e8
v10.0.9-canary.6 2021-03-11 13:54:57 -06:00
Dale Bustad
ffbb10fa9a
Silence trace debug messages (#22988)
These messages aren't necessary in the normal course of using Next.js.  Hiding behind a flag to reduce the noise.
2021-03-11 19:51:43 +00:00
Nabil Boussouf
371aa608b2
Install tailwindcss as a development dependency (#22964)
Set tailwindcss as a development dependency https://tailwindcss.com/docs/guides/nextjs#install-tailwind-via-npm
2021-03-11 14:16:36 +00:00
JJ Kasper
014a2f8495
v10.0.9-canary.5 2021-03-10 15:50:50 -06:00
Dale Bustad
e27b7e996d
Telemetry-compatible tracing (#22713)
A number of changes here.  I recommend viewing the diff with the <a href="?w=1">whitespace flag enabled</a>.

- OpenTelemetry is replaced with a custom and lightweight tracing solution.
- Three trace targets are currently supported: console, Zipkin, and NextJS.
- Tracing is now governed by environment variables rather than `--require instrument.js`.
  + `TRACE_TARGET`: one of `CONSOLE`, `ZIPKIN`, or `TELEMETRY`; defaults to `TELEMETRY` if unset or invalid.
  + `TRACE_ID`: an 8-byte hex-encoded value used as the Zipkin trace ID; if not provided, this value will be randomly generated and passed down to subprocesses.

Other sundry:

- I'm missing something, probably a setup step, with the Zipkin target.  Traces are captured successfully, but you have to manually enter the Trace ID in order to view the trace - it doesn't show up in queries.
- I'm generally unhappy with [this commit](235cedcb3e).  It is... untidy to provide a telemetry object via `setGlobal`, but I don't have a ready alternative.  Is `distDir` strictly required when creating a new Telemetry object?  I didn't dig too deep here.

As noted, there are a lot of changes, so it'd be great if a reviewer could:

- [ ] pull down the branch and try to break it
- [ ] check the Zipkin traces and identify possible regressions in the functionality

Closes #22570
Fixes #22574
2021-03-10 21:00:20 +00:00
Lee Robinson
fa02b197f5
Fix typo in source maps documentation. (#22952) 2021-03-10 16:41:01 +00:00
JJ Kasper
7f1800e175
v10.0.9-canary.4 2021-03-09 13:12:16 -06:00
Shu Ding
7dd99faee7
Fix next/image being downloaded multiple times on Safari (#22902)
Currently if you have `sizes` set in `next/image`, the image will likely be downloaded multiple times (usually twice) on Safari (macOS and iOS): the correct size for the viewport, and the original size specified in `src`. 

Also make sure you have "Ignore Resource Cache" disabled in the Safari Devtools when trying to reproduce:

![CleanShot 2021-03-09 at 21 05 54@2x](https://user-images.githubusercontent.com/3676859/110476820-6399f180-811d-11eb-93ec-5b2482c87884.png)

The root cause is the way Safari handles `<img>`'s attribute updates. Although React updates all the attributes one by one synchronously and programmatically, Safari will still try to fetch the resource immediately and won't wait for other DOM changes to be finished. 

That means if we set the following 3 attributes in this order: `src`, `srcSet`, `sizes`. Safari will fetch the image when `src` is set. And then once `srcSet` is there it will fetch the resource again based on it. And finally, when `sizes` is updated it might correct the resource URL again.

So the fix here is simple: by just reordering those to `sizes`, `srcSet`, `src`, it will only load the image with the correct size only once:

<img width="1498" alt="CleanShot 2021-03-09 at 21 05 30@2x" src="https://user-images.githubusercontent.com/3676859/110477852-a27c7700-811e-11eb-88dc-d6e7895f67bd.png">

Fixes #19478.
2021-03-09 19:07:01 +00:00
JJ Kasper
e84571d8e3
Add appDir field to server files manifest (#22915)
This adds an `appDir` field to the `required-server-files` manifest signifying where the app source is located. 

x-ref: https://github.com/vercel/next.js/issues/22847
2021-03-09 18:41:57 +00:00
Tim Neutkens
969ef1676d v10.0.9-canary.3 2021-03-09 13:00:58 +01:00
JJ Kasper
e9a1d8fd42
Add documentation for new static 500 behavior (#22888)
Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-03-09 12:45:31 +01:00
JJ Kasper
d951b2385f
Update /500 page exporting when _error has custom GIP (#22887)
This updates to not automatically export `/500` from `_error` if a custom `getInitialProps` is used since logic may be used inside of this method that causes the export to fail. Users can still opt-in to the static `/500` by adding a `pages/500.js` file. 

This also refactors checking `_app` for custom `getInitialProps` to outside of the static check loop to prevent a potential race condition where we could run this check multiple times un-necessarily.  

Fixes: https://github.com/vercel/next.js/issues/22815
2021-03-09 09:55:28 +00:00
Yuki Takemoto
635a98e2fd
Fix typo (#22891)
This PR fixed a typo in api reference.
2021-03-09 01:37:52 +00:00
DOUGES
40f4cf4866
chore: adds compiled css example (#22786)
Hiya! I was asked to add an example of how to use [Compiled](https://compiledcssinjs.com/) with Next.js, figured I might as well at it to the source 😄. Let me know if there's any changes needed.
2021-03-08 21:25:49 +00:00
JJ Kasper
38964ab09c
v10.0.9-canary.2 2021-03-08 10:58:24 -06:00
JJ Kasper
e9506773a3
Ensure env is loaded before next config (#22879)
This ensures we load all env values before loading `next.config.js` since these values can be used in there. This also updates to ensure we're testing these values are available while loading `next.config.js` so we don't regress on this. 

Fixes: https://github.com/vercel/next.js/issues/22811
2021-03-08 16:53:52 +00:00
Tim Neutkens
9e06f82af4
Upgrade webpack 5 (#22864)
Upgrades webpack 5 to the latest version.
2021-03-08 15:20:42 +00:00
Jason Emery
81b05256dd
Update router.md (#21899)
include scroll option documentation for router.push
2021-03-08 13:52:37 +00:00
Sadra Bahrami
42b3b162df
Remove extra work on cli functions (#22855)
Hi I saw you wrote extra async await code for command line function that doesn't need. I fixed that and code become very smaller and prettier.
![ts](https://user-images.githubusercontent.com/48912836/110254867-442c8880-7fa6-11eb-9f0f-3b853d5db94c.png)
2021-03-08 13:47:05 +00:00
Sebastian Andil
87ccebf5fd
Update module-path-aliases.md (#22739)
Add note about restarting dev server on changes to tsconfig / jsconfig
2021-03-08 14:19:31 +01:00
harshit bhalla
e235f7fa4e
Corrected the url to strapi documentation (#22870) 2021-03-08 13:06:13 +00:00
Tim Neutkens
e7a1cb86e3 v10.0.9-canary.1 2021-03-08 11:46:03 +01:00
JJ Kasper
cdf8f9a1d0
Ensure /404 is not exported during build un-necessarily (#22825)
This ensures we don't export `/404` during the automatic static optimization during build when the `/404` isn't static and won't be used/copied to the final output. 

x-ref: https://github.com/vercel/next.js/issues/22815
2021-03-08 08:30:44 +00:00
Laith Younes
3f9c469bca
Add RTL to with-next-translate example (#22808)
### Arabic/Hebrew RTL to `with-next-translate` Example
Added a simple example to change HTML direction based on the currently selected language

### References: 
- [#19049](https://github.com/vercel/next.js/discussions/19049)
- [#18667](https://github.com/vercel/next.js/issues/18667)
2021-03-08 00:33:42 +00:00
Edaz
e861ada67d
Add deploy with Vercel button to api-routes-apollo-server-and-client example (#22841) 2021-03-07 17:08:35 +00:00
JJ Kasper
e17398f40e
v10.0.9-canary.0 2021-03-05 13:26:54 -06:00
Shu Ding
2d207fb11d
Dedupe in-flight server data requests (#22781)
This PR adds request deduplication for `_getServerData`. If a request with the same URL is already in-flight, we don't send another new request. When a request succeeds or fails, we delete the cache.

A potential improvement this brings is, when `getServerSideProps` of a new route is slow to load, the user might keep clicking on the link which causes new requests, and the route will never update because results of old requests were ditched. Also adds a test case for this scenario.

Closes #19238.
2021-03-05 17:16:02 +00:00
Shu Ding
afc8ce4d0d
Fix idleTimeout error being thrown in route loader (#22775)
In the current implementation, `idleTimeout` will always be thrown even if it didn't time out and `Promise.race` was resolved. This causes the error `Error: Route did not complete loading` on every route transition and Chrome Devtools will pause code execution if you have "Pause on exceptions" enabled.

This PR adds `resolvePromiseWithTimeout` which does the same thing as `Promise.race` and `idleTimeout`, but it cancels the rejection when it resolves successfully, in which case the error won't be thrown.

Fixes #21543.
2021-03-05 16:32:00 +00:00
Joe Haddad
33255b7f4e
v10.0.8 2021-03-05 10:26:50 -05:00
JJ Kasper
c493791165
v10.0.8-canary.17 2021-03-04 16:23:09 -06:00
JJ Kasper
27555c8ef9
v10.0.8-canary.16 2021-03-04 16:10:20 -06:00
JJ Kasper
3417164c1d
Fix index revalidate with dynamic route in minimal mode (#22783)
This fixes the case where index page revalidation would match a dynamic page instead of the index page from the pathname not being denormalized. 

Fixes: https://github.com/vercel/next.js/issues/22750
2021-03-04 22:09:45 +00:00
Tim
1f5c2c8513
Add example prepr cms (#22776)
Added preview example with Prepr CMS.

Working demo at https://next-blog-prepr.vercel.app/
2021-03-04 19:12:42 +00:00
NkxxkN
f00f4bd912
Examples bump supertokens (#22764)
Hey team!
We are updating the `with-supertokens` example to reflect the use of credentials alongside third party login

See: 
![image](https://user-images.githubusercontent.com/5072452/109943811-dd714b80-7cd5-11eb-91b5-5a966a1c1e2d.png)

This PR bumps the versions and add a base example implementation.
2021-03-04 14:18:19 +00:00
Joe Haddad
2046648fa7
v10.0.8-canary.15 2021-03-03 14:53:19 -05:00
Joe Haddad
61dae380a8
chore: upgrade webpack 5 version (#22737) 2021-03-03 19:52:20 +00:00
JJ Kasper
ce400b2678
Update NEXT_LOCALE cookie note (#22736)
This updates the `NEXT_LOCALE` cookie docs to mention how it is used for redirecting from `/` more specifically. 

x-ref: https://github.com/vercel/next.js/pull/20045#discussion_r586158535
2021-03-03 19:30:01 +00:00
JJ Kasper
1435de15bc
Ensure component load order (#22731)
This ensures we load `_document` then `_app` and then the page's component in all cases which matches behavior between the serverless target and the default server target.  Additional tests to ensure this order is followed has been added to prevent regression. 

Fixes: https://github.com/vercel/next.js/issues/22732
2021-03-03 19:20:48 +00:00
Grigory
e04d399ab5
Add missing dependencies in example (#22712)
@babel/plugin-proposal-class-properties is missing in with-mobx-react-lite example
2021-03-03 13:23:53 +00:00
Chris Meagher
bdc20c2657
Add Azure Pipelines example to no-cache docs (#22708)
I added this in to my own pipeline to fix the no-cache error and thought it may be of use to others.
2021-03-03 09:47:19 +00:00
Tim Neutkens
5b479b609a v10.0.8-canary.14 2021-03-03 10:39:10 +01:00
JJ Kasper
b80fdfb828
Update webpack server chunks output (#22697)
This updates to output server chunks to a nested folder to prevent bundling the entire folder when tracing. This also fixes the webpack 5 tests not actually using webpack 5 since https://github.com/vercel/next.js/pull/22583 since the webpack 5 enabling check didn't account for the test environment variable used to enable webpack 5. This also clears up some deprecation warnings from webpack 5 in the mini-css-extract-plugin.

Fixes: https://github.com/vercel/next.js/issues/21297
2021-03-03 09:37:24 +00:00
JJ Kasper
ac47795d37
v10.0.8-canary.13 2021-03-02 13:55:31 -06:00
JJ Kasper
e037c22997
Ensure optional params are normalized in minimal mode (#22676) 2021-03-02 13:51:53 -06:00
Janicklas Ralph
a107dcb732
Experimental script loader changes (#22038)
Making experimental script work in _document.js - Fixes for server to client transition
Adding additional test for _document.js
2021-03-02 19:17:33 +00:00