Commit graph

6649 commits

Author SHA1 Message Date
Joe Haddad
46488fbcc6
v9.5.2-canary.7 2020-08-05 14:25:00 -04:00
Mikkel Laursen
9ef0fae889
[Examples] Update react-md examples for v2 (#15723) 2020-08-05 14:24:20 -04:00
Jan Potoms
17716d1499
Add tests for querystring-relative urls (#15911) 2020-08-05 14:23:08 -04:00
Jan Potoms
5dbe0d0215
Allow absolute urls in router and Link (#15792)
Fixes https://github.com/vercel/next.js/issues/15639
Fixes https://github.com/vercel/next.js/issues/15820

To Do:
- [x] Doesn't work with `basePath` yet
2020-08-05 18:12:17 +00:00
Alex Castle
b6060fa4a5
Add experimental image post-processing (#15875)
This PR adds a second experimental post-processing step for the framework introduced by @prateekbh in #14746. The image post-processing step scans the rendered document for the first few images and uses a simple heuristic to determine if the images should be automatically preloaded.

Analysis of quite a few production Next apps has shown that a lot of sites are taking a substantial hit to their [LCP](https://web.dev/lcp/) score because an image that's part of the "hero" element on the page is not preloaded and is getting downloaded with lower priority than the JavaScript bundles. This post-processor should automatically fix that for a lot of sites, without causing any real performance effects in cases where it fails to identify the hero image.

This feature is behind an experimental flag, and will be subject to quite a bit of experimentation and tweaking before it's ready to be made a default setting.
2020-08-05 17:49:44 +00:00
Sigurður Gunnar Njálsson
abf6e74e8d
Remove outdated docs on serverless builds and runtime configs (#15907)
Fixes https://github.com/vercel/next.js/issues/15906

This should solve https://github.com/vercel/next.js/issues/15906. It simply removes a block that states runtime configuration for serverless builds are not supported.
2020-08-05 16:11:01 +00:00
Jack Clackett
026785d5ad
Update with-apollo examples to merge existing cache (#15804) 2020-08-05 11:30:29 -04:00
Aleksander
8703f134de
Fix awaiting for sync method of remark in cms examples (#15555) 2020-08-05 11:30:04 -04:00
Steven
c642999325
Test macOS on canary with separate workflow (#15901)
Follow up to #15899 since it didn't solve the [concurrency limit](https://docs.github.com/en/actions/getting-started-with-github-actions/about-github-actions#usage-limits) issue.

It seems that the job is queued prior to the `if` statement being evaluated so we must use a separate workflow to listen for push events and filter prior to the job being queued.
2020-08-05 14:13:41 +00:00
nirtamir2
5be6f25cd7
examples/custom-server-typescript upgrade dependencies (#15833) 2020-08-05 15:15:38 +02:00
Riccardo Di Maio
229817d50d
Fix typos in blog-starter and blog-starter-typescript (#15807)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-05 15:15:27 +02:00
Rounak Agarwal
f419ec198b
Update next build docs to include the --profile argument (#15766)
Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-05 15:15:12 +02:00
Steven
afc225c43d
Test macOS on canary (#15899)
Only run macOS tests on canary to avoid queued jobs due to [concurrency limit](https://docs.github.com/en/actions/getting-started-with-github-actions/about-github-actions#usage-limits).

Follow up to #15366
2020-08-05 13:13:42 +00:00
Darsh Patel
885b40681c
remove dotenv from with-stripe-typescript (#15814)
removed the dotenv dependency in favor of Next.js environment support: #15225

The example seems to work with no other changes required
![Screenshot 2020-08-03 at 12 03 22 PM](https://user-images.githubusercontent.com/11258286/89152753-557d6480-d581-11ea-919c-4b89a6bec4b6.png)
2020-08-05 10:49:46 +00:00
Joseph Knowles
432a1dec6a
Fix with-firebase-authentication example: Update the cookie when ID token refreshes on client (#15628)
I noticed a problem with the example - when you leave it logged in for more than an hour it breaks. The example API call starts to fail with `auth/id-token-expired`.

Looking at the code I saw that we never update the id token after signing in, but firebase automatically updates it every hour, meaning our `verifyIdToken` fails after an hour. 

So I used the `onIdTokenChanged` function from firebase to update the cookie every time the id token changes.

I'm open to suggestions on refactoring the code I've added.
2020-08-05 08:38:26 +00:00
Amith Mihiranga
669cad9731
Fix: with-mongodb-mongoose example improper fetch error handling (#15856)
Correct the error handling for fetch API to check if the status is ok or not

FIxes #15808
2020-08-05 07:37:29 +00:00
Flavian Desverne
f9cb5ac6b0
Replace Graphcool with dedicated example GraphQL server using Prisma (#15752)
## Motivation

As Graphcool is being shutdown, we replaced all the graphcool api endpoints with some handcrafted APIs using Prisma & Nexus, that can be found here https://github.com/prisma-labs/nextjs-graphql-api-examples. These GraphQL endpoints are now deployed to Vercel.

## Notes

- I couldn't get the reason-relay example to run. Given that the relay endpoint works on the other relay example, I don't see any reason why it wouldn't work on that one
- The `with-apollo` example is buggy when creating some posts, but nothing related to the switch of the api endpoint as it was already buggy before. I suspect the `concatPagination` strategy to be the cause of that bug, but I couldn't figure it out.

Fixes #14780
2020-08-05 06:26:54 +00:00
Darsh Patel
5db2860cc8
add payment description for with-stripe-typescript (#15888) 2020-08-05 02:04:20 -04:00
Joe Haddad
fce1830d35
v9.5.2-canary.6 2020-08-04 22:28:36 -04:00
Joe Haddad
754ec6642a
Run Fast Refresh Loader in Babel Loader (#15851)
Next.js plugins like `@next/mdx` inject additional webpack loaders to compile files, but they omit the necessary loader for Fast Refresh to work.

Instead of making these files deopt out of Fast Refresh, we can automatically detect and inject the loader in these cases.

Fixes #13574
2020-08-04 21:24:56 +00:00
agstover
fcc4d8cd50
await ctx.renderPage() in examples for TypeScript (#15528)
Co-authored-by: Joe Haddad <joe.haddad@zeit.co>
2020-08-04 14:46:40 -04:00
Joe Haddad
1968f7f552
v9.5.2-canary.5 2020-08-04 13:52:26 -04:00
Jan Potoms
92304404a4
Disallow basePath: false for internal routes (#15837) 2020-08-04 17:50:09 +00:00
jiangtao
35e4a370d9
fixed issue with runtime-config returning undefined when building or in a development environment (#15777)
fix https://github.com/vercel/next.js/issues/7713#issuecomment-643632270
2020-08-04 16:47:37 +00:00
matamatanot
9ca670d1b9
Remove dotenv from with-firebase example (#15743)
Remove the dotenv dependency from all examples (in favor of environment support): #15225

All variables are exposed to the client. This Example does not use firebase-admin.
2020-08-04 16:26:13 +00:00
Joe Haddad
e818389999
Add support for fallback: 'blocking' (#15672)
By popular request, this pull request adds support for returning `fallback: 'blocking'` from `getStaticPaths`.

This new mode will cause unknown paths to be rendered on-demand ("SSR") without the static (placeholder) fallback.

This feature is **currently experimental and should not be used in production yet**. It's currently flagged behind `unstable_`:

```
fallback: 'unstable_blocking'
```

TODO:

- [x] Next.js tests
- [ ] Add Vercel support
- [ ] Vercel tests

---

Fixes #15637
2020-08-04 15:10:31 +00:00
Tim Neutkens
668cc6a6f1 v9.5.2-canary.4 2020-08-04 12:35:24 +02:00
Darsh Patel
96a66c4bd3
incremental static generation and regeneration support in build manifest (#14365)
The icon is just something I thought might look good, can certainly be changed.
I've currently added incremental static generation support

Edit: Updated screenshot after 8037981
![Screenshot 2020-08-04 at 1 51 14 PM](https://user-images.githubusercontent.com/11258286/89270960-afe9f400-d659-11ea-8f18-197dc53b8beb.png)





Fixes: #14204
2020-08-04 08:42:18 +00:00
Jonathan G
6c59cbb46a
[Feature] Progress bar for static build (#15297)
Co-authored-by: Tim Neutkens <timneutkens@me.com>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2020-08-04 09:58:23 +02:00
Prateek Bhatnagar
1ea8bdcdc7
Bug fix: Font optimization (#15644)
- Fixes the serverless build for font optimizations
2020-08-04 07:54:08 +00:00
Kristóf Poduszló
aef6726eb8
Add missing nomodule polyfills and suggest using features only up to ES2019 for browser compatibility (#15772)
These changes aim to resolve most of the concerns raised in #15756. It adds missing polyfills for legacy browsers up until ES2019:

- Number.{parseFloat,parseInt}
- ~Math.{acosh,asinh,atanh,cbrt,clz32,cosh,expm1,fround,hypot,imul,log10p,log1p,log2,sign,sinh,tanh,trunc}~ _[Removed as these are [not widely used](https://github.com/vercel/next.js/pull/15772#discussion_r463957931)]_
  - While these may seem to weigh a lot, they barely add 1 kB to the resulting bundle:
    <img width="492" alt="gzip: 32 kB vs. 30.9 kB, Brotli: 28.8 kB vs. 27.8 kB" src="https://user-images.githubusercontent.com/14854048/89100961-1376e600-d3fc-11ea-90fd-3e6632b70220.png">
- ~Object.fromEntries~ _[Removed as [it's rarely used in user code](https://github.com/vercel/next.js/pull/15772#discussion_r463984612)]_

Also, the following features are now supported with build-time transforms:

- ~`globalThis` (gets transformed into `window` in browser environments)~ _[Removed as it [could break existing applications](https://github.com/vercel/next.js/pull/15772#discussion_r463956269)]_
- `export * as ns from 'module'`

The suggested TypeScript library version has been set to ES2018, so the features below become unavailable in type-checked files (they're not evenly supported by module-compatible browsers, either):

- Object.fromEntries
- String.prototype.matchAll
- String.prototype.replaceAll
- Promise.any + AggregateError
- WeakRef

As for the `import.meta` support, [webpack v5 seems to fix that](https://github.com/webpack/webpack/pull/11075), so it should eventually become an issue of the past.

---

Fixes #15756
2020-08-04 06:03:52 +00:00
Joe Haddad
0ef710844f
Test that overlay appears (#15850) 2020-08-04 00:37:51 -04:00
Joe Haddad
8285df5ed2
v9.5.2-canary.3 2020-08-04 00:08:28 -04:00
Joe Haddad
48ca2f2cc5
Fix CSS grid-column shorthand syntax (#15848) 2020-08-04 00:08:09 -04:00
Joe Haddad
e0d0c2ebb5
Explain Sass Extensions in CSS Docs (#15830)
Fixes #15737
2020-08-03 23:50:46 -04:00
Marc
6ffc3f2a15
Updated with-passport example to fix syntax errors (#15831)
I was referencing the with-passport example and found a minor syntax error:\
The login and signup page both used `event.preventDefault()` on the submit handlers, whereby the correct reference to the event is `e` as defined within the `handleSubmit` functions.

Additionally used the chance to bump npm packages, the largest bump being swr to the latest version: 0.3.0

### Summary of all Changes made:
* Fixed syntax error on login page
* Fixed syntax error on signup page
* Bumped cookie to 0.4.1
* Bumped next-connect to 0.8.1
* Bumped swr to 0.3.0
2020-08-03 16:56:57 +00:00
Tim Neutkens
e8c3190255
Support persisting the dev cache buster (#15827)
Same as #15483 but couldn't push to it

---

Closes #15483
Fixes #15828
2020-08-03 14:22:55 +00:00
Jan Potoms
b87e4989e2
Rename exportTrailingSlash to existing trailingSlash property (#15768)
In terms of url rewriting, `trailingSlash` supports everything `exportTrailingSlash` does. We can just share all other code paths and deprecate `exportTrailingSlash`.

This PR shows a deprecation warning when `exportTrailingSlash` is used.

Also fixes https://github.com/vercel/next.js/issues/15774

We can update the tests now or later. (I kept them the same to prove it's non-breaking)

To do:
- [x] Do we want to keep this? => nope 841d4efc51/packages/next/next-server/lib/router/router.ts (L329)
- [x] I kept `exportTrailingSlash` here. Do we want to rename that as well? => nope 2d9d649d49/packages/next/build/index.ts (L959)
2020-08-03 14:03:11 +00:00
Mehedi Hassan
e89bcf7e39
Add docs page for Create Next App (#15454)
Following up from #14830, this PR adds a new page to the docs for Create Next App. The content is identical to the README created as part of #14830. 

Also added a link on the main `getting-started` page to the new docs for Create Next App to help users find more info on Create Next App if needed. 

I'm unsure as to whether the content for the documentation needs to be different from the one I wrote for the README. Please let me know if that's the case, and I will be happy to tweak the structure.
2020-08-03 13:43:16 +00:00
Kim T
ea026151b2
with-electron-typescript build error fix (#15803)
Fixes #15802 

Added Params type to prevent typescript error during build step
2020-08-03 13:17:38 +00:00
Tim Neutkens
60f1d58c83
Fix some webpack 5 deprecation warnings (#15797)
- Use latest terser version (still 1 warning in the stable version which is an open PR)
- Add emitOnErrors instead of noEmitOnErrors
- Added trace-deprecations for Next.js core development
2020-08-03 12:57:17 +00:00
Tim Neutkens
210a6980d2
Solve large portion of webpack 5 deprecation warnings (#15806)
- Using `namedChunks` where possible, this will also allow for faster access to the chunks as we no longer have to look them up like we did before using `find`
- Using the new asset hooks introduced in the latest webpack beta
- Using the new externals function signature
2020-08-03 12:26:23 +00:00
Joe Haddad
ed0a47b110
v9.5.2-canary.2 2020-08-03 01:47:42 -04:00
JJ Kasper
9dd974dfca
Fix dotenv loading with cascading values (#15799)
Adds additional test cases for cascading env values and corrects behavior

Fixes: https://github.com/vercel/next.js/issues/15744
2020-08-02 20:15:11 +00:00
sreekumar menon
9f92819742
Remove dotenv from auth0 Next.js example (#15398)
We should remove the dotenv dependency from all Next.js examples (in favor of Next.js environment support):
https://github.com/vercel/next.js/issues/15225
2020-08-02 19:22:39 +00:00
David Lemayian
d0b6026dc5
examples: Update with-electron .gitignore (#15783)
Thank you for the excellent examples.

This PR updates the `.gitignore` for [with-electron](https://github.com/vercel/next.js/tree/canary/examples/with-electron) example to ignore the output folders.
2020-08-02 08:14:48 +00:00
Jan Potoms
841d4efc51
Improve router types (#15775) 2020-08-01 18:13:03 +00:00
Sam Robbins
d0c57cf6b3
Add clarification of routing to a dynamic route (#15771)
While it is mentioned in the [link documentation](https://nextjs.org/docs/api-reference/next/link), I think it is useful to also explain in the dynamic route documentation that you need to include the as parameter when routing to a dynamic route/
2020-08-01 12:12:17 +00:00
Jan Potoms
1b033423dc
Fix asPath of rewrite without basePath (#15760)
Fixes https://github.com/vercel/next.js/issues/15755
2020-08-01 11:51:47 +00:00
Joe Haddad
6366727550
v9.5.2-canary.1 2020-07-31 13:31:49 -04:00