Commit graph

6307 commits

Author SHA1 Message Date
Tim Neutkens
1f125f8a7e v9.4.5-canary.16 2020-06-22 23:20:11 +02:00
Tim Neutkens
6c2ce70608
Remove buildId from server-side files (#14413)
Gets rid of the custom function for naming files by removing buildId from the file paths.
2020-06-22 21:12:36 +00:00
Jan Potoms
a7af013350
Update route regex for optional catch-all parameters in named regexes (#14456)
Noticed while working on https://github.com/vercel/next.js/pull/14400 that the optional catch-all handling was missing in `namedRegex`.

This whole file also seemed quite regex heavy so I took a look at the overall logic and changed a few things. It worked by regex escaping the whole route then unescape the dynamic parts. I changed it to only regex escape the static parts, this eliminates unnecessary back and forth escaping. It also makes the dynamic parts handling more readable. The whole logic is less reliant on regexes and just uses simple string manipulation to translate the route into a regex, I didn't measure anything but as an effect this should make it more performant.
2020-06-22 18:16:21 +00:00
Jan Potoms
7078318543
Shave a few bytes off the bootstrap code (#14457)
Saw in the client bootstrap script that the error message was printed alongside the stacktrace. This is unnecessary since the stacktrace already includes the error message. In fact, it seems like browsers already do a good job of printing an error with its stacktrace when you just print them using `console.error`. It's a bit minor, but this should shave off a few bytes of the bundle.
2020-06-22 17:50:17 +00:00
Joe Haddad
6ab0724916
v9.4.5-canary.15 2020-06-22 10:14:07 -04:00
Joe Haddad
67ff62507d
Do not remove no-FOUC styles too early (#14448)
We previously used to remove our FOUC helper inside of the style injection to ensure content was shown as fast as possible.

This behavior, however, was problematic for a few reasons:

1. Large JavaScript chunks would take longer than an animation frame to parse, causing FOUC
1. Rendering would sometimes complete before an animation frame, causing improper effects

To fix the latter, we started removing the no FOUC helper **before** rendering, however, we never fixed the former by removing the dead code.

There's not a great way to test this because the FOUC is so fast and flaky, however, this code really shouldn't exist and isn't likely to be re-added (regress).

Also, we already have FOUC tests that occasionally flake, probably due to this.


Fixes #12448
Fixes #13058
Fixes #11195
Fixes #10404
2020-06-22 14:10:19 +00:00
matamatanot
b560ac4312
Prettier trailingComma default value to es5 since 2.0 (#14391)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-06-22 13:25:24 +02:00
Darsh Patel
19f3306aaa
open click-to-open editor in foreground for windows (#14307)
spent a lot of hours trying to figure out why did the editor window not open in the foreground on windows.

The fix was super simple  : /
Needed to add `detached: true` option in child_process.spawn call

Fixes: https://github.com/vercel/next.js/issues/14016
2020-06-22 05:13:55 +00:00
Jan Potoms
eead55cbaf
Fix prefetch and some other issues with optional catch all (#14400)
Fix https://github.com/vercel/next.js/issues/14290 and a couple other issues around optional catch-all that popped up after writing these tests

Closes https://github.com/vercel/next.js/pull/14344
2020-06-22 03:00:30 +00:00
JJ Kasper
051481c55c
Add example for proxying upstream with custom routes (#14374)
As discussed this adds an example to demonstrate how you can achieve proxying upstream requests that didn't match any pages/assets in Next.js which can be helpful in achieving incremental migration
2020-06-22 00:44:04 +00:00
Andres Alvarez
6424e1f1d9
Add A/B Tests and Feature Flags example (#13629)
## Summary
This PR adds a basic example of how [Tesfy](https://tesfy.io/) could be integrated with Next.js. Tesfy is a project that I've working on during quarantine weekends, mainly to learn new stuff and provide **free** and **unlimited** A/B Tests and Feature Flags while keeping a good performance and the library [size](https://bundlephobia.com/result?p=react-tesfy@1.2.1) as small as possible.

The configuration file could be set up using a [web application](https://app.tesfy.io/) (hosted in Vercel 🎉 ) or by your self.

## Implementation
- Created `with-tesfy` folder
- Added two pages `index.js` and `features.js` to show how experiments and features could be used
- The only thing that must be persisted is the `userId`. Used a cookie to save it.
- Uses `getServerSideProps` to fetch the configuration file and get/create the `userId`.

## Screenshots

There are some screenshots from the web application. Where you can easily configure experiments and audiences per project. Teams and features will soon be added.

![Screenshot 2020-06-01 at 15 40 49](https://user-images.githubusercontent.com/6877967/83414811-60e7ce80-a41e-11ea-9e5c-887c66e80c65.png)
![Screenshot 2020-06-01 at 15 41 02](https://user-images.githubusercontent.com/6877967/83414823-66451900-a41e-11ea-885b-b58e78b042bb.png)
![Screenshot 2020-06-01 at 15 41 11](https://user-images.githubusercontent.com/6877967/83414828-6a713680-a41e-11ea-90a8-8d39a17f19a1.png)

This is my first PR! sorry if I made something wrong 😞 . Any feedback is more than welcome. Also I want to thank you all for the awesome work with Next.js ❤️
2020-06-21 23:59:53 +00:00
Tim Neutkens
ee1cf6f8c4 v9.4.5-canary.14 2020-06-21 11:20:23 +02:00
Tim Neutkens
bef9b56109
Update filename generation for client-side compilation (#14279)
Updates the way filenames are generated for browser compilation.
Notably:
- All entry bundles now have hashes in production, this includes pages (previously pages used a buildId in the path)
- The AmpFiles no longer depends on hardcoded bundle names, it uses the buildManifest instead (internals)
- All cases where we match the page name from the chunk/entrypoint name now use the same function `getRouteFromEntrypoint` (internals)
- In development we no longer include the "faked" `buildId` set to `development` for page files, instead we just use the `/_next/static/pages` path (was `/_next/static/development/pages`). This was changed as it caused unneeded complexity and makes generating the bundles easier (internals)
- Updated tons of tests to be more resilient to these changes by relying on the buildManifest instead of hardcoded paths (internals)

Follow up of these PRs:
https://github.com/vercel/next.js/pull/13759
https://github.com/vercel/next.js/pull/13870
https://github.com/vercel/next.js/pull/13937
https://github.com/vercel/next.js/pull/14130
https://github.com/vercel/next.js/pull/14176
https://github.com/vercel/next.js/pull/14268


Fixes #6303
Fixes #12087 
Fixes #1948
Fixes #4368
Fixes #4255
Fixes #2548
2020-06-20 19:59:47 +00:00
Sebastian Sycz
76673fd880
Update graphql-hooks with memcache (#14364)
Today the cd4178b53e of graphl-hooks and graphl-hooks-memcache has been released, which fixes the problem with Safari.
2020-06-20 19:40:15 +00:00
Todor Totev
5bed435176
[Examples] Remove getInitialProps from with-cookie-auth-fauna (#13887)
* Remove getInitialProps

* added swr

* Update examples/with-cookie-auth-fauna/pages/profile.js

Co-authored-by: Luis Alvarez D. <luis@vercel.com>

* Update examples/with-cookie-auth-fauna/pages/profile.js

Co-authored-by: Luis Alvarez D. <luis@vercel.com>

* no longer needed

* new .env support

* redirect if not found

* always use latest next version

* no longer needed

* Updated readme

* Updated profile page

* Fixed readme and added deploy button

Co-authored-by: Luis Alvarez D. <luis@vercel.com>
2020-06-20 10:59:53 -05:00
JJ Kasper
546c6512bd
Correct /_next/data link for GS(S)P with basePath (#14376)
This corrects the `/_next/data` path generated when using `basePath` with `getStaticProps` in a `pages/index.js` file which was previously stripping the `basePath` without checking if `/index` needed to be appended after stripping. This also adds additional checks to the `basePath` test suite to prevent regressing   

x-ref: https://github.com/vercel/next.js/pull/9872#issuecomment-646841260
2020-06-19 21:53:15 +00:00
Ty Mick
4e5e3b9072
Fix typo in test names: "treversing" → "traversing" (#14347)
Just a quick typo fix for some test names.
2020-06-19 01:05:09 +00:00
Bing Quan
ca49c547d0
Update Algolia's Instant Search Example (#14233)
* Update Algolio's Instant Search Example
- Moved from `getInitialProps` to `getServerSideProps`
- Update Algolio libraries

Co-authored-by: Arsalan Khattak <akkhattak65@gmail.com>

* Shift from SSR to CSR

Co-authored-by: Arsalan Khattak <akkhattak65@gmail.com>
2020-06-18 19:23:02 -05:00
Thor 雷神
0d6b7e95ed
Thor/stripe/add use shopping cart example (#14239)
r? @lfades 
cc @timothyis @dayhaysoos @ChrisBrownie55

* Add [use-shopping-cart](https://github.com/dayhaysoos/use-shopping-cart) example to stripe sample
* Refactor how we instantiate Stripe across the different pages with a `getStripe` singleton pattern.
2020-06-18 22:49:31 +00:00
JJ Kasper
f92571d502
De-experimentalize basePath config (#14283)
This moves the experimental `basePath` config out of the `experimental` section to prepare it for being stable
2020-06-18 10:10:20 +00:00
stefanprobst
279ae19c7e
docs: update links to docs site (#14305)
this updates some links to the docs site to their new location
2020-06-18 09:54:07 +00:00
Darsh Patel
42c309ad37
fix csp errors in with-strict-csp-app example (#14262)
Added proper content security policies in the dev environment 
fixes: #14221
2020-06-18 04:25:15 +00:00
Balázs Orbán
e87b739f33
fix typo in fast refresh documentation (#14296) 2020-06-18 01:11:07 +00:00
Shu Uesugi
a841d10954
Add c=1 to deploy buttons on CMS Examples (#14293)
Fixes #14291
2020-06-17 23:25:11 +00:00
Joe Haddad
0426694ce0
Add Fast Refresh Documentation (#14273)
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2020-06-17 14:57:57 -04:00
Tim Neutkens
1fc0aae589
Prepare for webpack 5 upgrade (#14268)
Tweaked the config that can already be updated a bit.
2020-06-17 15:00:29 +00:00
Joe Haddad
11753dd27f
v9.4.5-canary.13 2020-06-17 09:37:56 -04:00
Joe Haddad
7ce000b328
WSL should be considered Windows for HMR option (#14254)
This toggles the separate Windows `devtool` setting for WSL. We cannot test this as we do not have access to WSL in our current test setup suite, however, this is a temporary patch that should be fixed with the webpack 5 upgrade, so I do not feel strongly about testing it.

---

Fixes #14253
2020-06-17 12:59:00 +00:00
Joe Haddad
5ed89d3021
Render a helpful message for null GS(S)P return (#14252)
This makes Next.js render a better error message when `undefined` (or null) is returned from `getStaticProps` or `getServerSideProps`.

---

Fixes #11139
2020-06-17 09:25:27 +00:00
Vorathep Sumetphong
4152e0cee4
(fix) Missing props key from getServerSideProps (#14255)
Crashes the site
This change fixes the example
examples/with-cookie-auth-fauna/pages/profile.js
2020-06-17 05:59:48 +00:00
Bowen
da65f5e409
Update preview-mode.md (#14210)
It is an English grammar fix for the sentence, so that the user can better understand the documentation.
2020-06-17 04:24:35 +00:00
JJ Kasper
a9a7319ee3
Refactor moveExportedPages to use getPagePath (#14247)
Updates to not build the path from scratch here and relies on `getPagePath` instead

Closes: https://github.com/vercel/next.js/issues/14223
2020-06-17 03:40:07 +00:00
Gourav Goyal
335e9d4e8d
Added missing .env.local.example file for with example firebase-authentication-app (#14235)
Added missing .env.local.example file for with example firebase-authentication-app.
I've tested it personally and it is working fine.
2020-06-16 17:30:10 +00:00
João Pedro Schmitz
0e8ed87d20
chore(examples): update next to latest on cms examples (#14230)
Hey guys, thanks for the amazing job you are doing 💜 

This PR fixes a small error I faced when starting a project with Prismic + Next.js.

Since the version on the `cms-prismic` example was fixed to `9.2.3-canary.26` I was having the following error because the example uses the environment variables feature that is for Next.js 9.4+

<img width="1256" alt="Screen Shot 2020-06-16 at 12 13 38" src="https://user-images.githubusercontent.com/26466516/84793626-bc43c000-afcb-11ea-8823-b1dee30dbb00.png">

After updating to the latest version, I could run it successfully.

ps: I also realized that the `cms-contentful` example was also not using the `latest` version, so I decided to update it (I have not tested, but the error certainly will happen).

ps2: if you want to reproduce the error, just create a project using the example and add dummy data on the environment variables, then start the server and access `http://localhost:3000`.
2020-06-16 16:25:20 +00:00
James Mosier
d75da7d91f
Using cross-spawn for cross platform use in with-react-intl (#14231)
[In this Discussion](https://github.com/vercel/next.js/discussions/14220) it appears that trying to build the `with-react-intl` example with a Windows machine throws an error. So instead of using `execFileSync` to execute the command, I used [`cross-spawn` ](https://www.npmjs.com/package/cross-spawn) for better cross platform compatibility.
2020-06-16 15:59:59 +00:00
JJ Kasper
08d7755e68
Update routeKeys to handle non-word characters (#12801)
This updates the named regexes output in the `routes-manifest` and the associated `routeKeys` to not use any non-word characters as this breaks the named regexes e.g. `"Invalid regular expression: "^/(?<data\-provider\-id>[^/]+?)(?:/)?$"`

x-ref: https://github.com/zeit/now/pull/4355
2020-06-16 13:49:13 +00:00
Darsh Patel
a3ffa2e65f
switch to function component with-react-intl example (#14217)
The example was using class-based component for custom _app, switched to functional component approach.


**Sidenote:** The existing code didn't gave an error when navigated to a new page using the navbar
![Screenshot 2020-06-16 at 2 47 52 PM](https://user-images.githubusercontent.com/11258286/84760988-6cbebd80-afe6-11ea-9b7f-98aca7404895.png)
2020-06-16 11:27:20 +00:00
Ty Mick
725376a9d7
Fix GraphQL Hooks Example Safari bug (#14205)
Fixes #14187, where the [GraphQL Hooks Example](https://github.com/vercel/next.js/tree/canary/examples/with-graphql-hooks), when opened in Safari, doesn't respond to events in production and doesn't load at all in the dev server.

This is caused by [a bug in graphql-hooks-memcache@1.3.2](https://github.com/nearform/graphql-hooks/issues/496), which they've fixed but haven't released the fix yet. So this example fix just temporarily downgrades graphql-hooks-memcache by changing its version range to `1.3.1 || ^1.3.3`.
2020-06-16 08:33:57 +00:00
Arsalan Khattak
8cfa51878a
Update Data Fetching Method (#14190) 2020-06-16 09:59:46 +02:00
Prateek Bhatnagar
6ff72006c8
bug fixes for css eslint rule (#14202)
- ignores the link tags which do not have literal href
e.g. `<link rel="stylesheet" href={props.href} />`
2020-06-15 23:42:36 +00:00
Jesse
d3704a66f8
added graphcms (#14026)
* added graphcms

* Updated readme and environment variables

* Removed gitignore

* Updated tailwind config

* Some fixes in pages

* Updated api endpoints

* lint fix

* Updated readme

* Updated og image

* Updated cms examples to include this one

* Added example to docs

* Added preview demo link

* Updated step

Co-authored-by: Luis Alvarez <luis@vercel.com>
2020-06-15 12:03:34 -05:00
Tim Neutkens
ea6b8dac40
use requirePage for /_document and /_app (#14176) 2020-06-15 10:41:17 -04:00
Darsh Patel
d68afed6ab
Fix: validatePassword function logic [Fixes 14174 ] (#14183)
Updated the `validatePassword` function as mentioned in https://github.com/vercel/next.js/issues/14174#issue-638626374

also fixed the password validation logic in `signIn` function 

Fixes: https://github.com/vercel/next.js/issues/14174
2020-06-15 12:39:12 +00:00
stefanprobst
66778c7ab0
chore: add retry method to loadable types (#14152) 2020-06-15 14:21:03 +02:00
Sebastian Benz
eef40c5948
update AMP Optimizer to v2.5.3 (#14173) 2020-06-15 14:17:59 +02:00
Todor Totev
e4f0848c81
[Example] remove getInitialProps from aws-amplify (#13896)
* Remove getInitialProps

* update package

* Applied requested changes.

* thats essential so im bringing it back

* make sure getstaticprops doesnt throw

* proper versioning

* requested changes

* Updated readme and package.json

* Updated pages

Co-authored-by: Luis Alvarez D <luis@vercel.com>
2020-06-14 18:50:54 -05:00
Tim Neutkens
27f653bb3d
Clean up AMP bundle removal (#14130)
Drops the entrypoint instead of removing the underlying file.
2020-06-14 12:49:46 +00:00
Robert Valmassoi
05f61b22ad
Fix broken link (#14158) 2020-06-13 23:48:14 +00:00
JJ Kasper
10fda8a9b9
Update stats action for running locally (#14143)
Noticed a few things that could be updated to make running the stats locally better e.g. if the folder name didn't match the name of the repo in the `stats-config.js` file it would fail to run and the `yarn` cache could break diffing from a cached package being used instead
2020-06-13 10:31:12 +00:00
Alexej Dyschelmann
6163f30ad8
[with-recoil example] use functional form of state updaters for simplicity (#14014)
This is probably a pretty subjective change, but one might argue it less complex and may have minimally less overhead.
2020-06-13 09:04:34 +00:00