* Example with-react-relay-network-modern: update dependencies
* Example with-react-relay-network-modern: move relay __generated__ out of pages dir
* Example with-react-relay-network-modern: fix some errors
- Without checking if props.allBlogPosts exists it fails sometimes on
"TypeError: Cannot read property 'edges' of undefined"
- I have no idea how it could work before with Component.query().params.name,
but maybe some dependent library API has changed
* Example with-relay-modern-server-express: update dependencies
* Example with-relay-modern-server-express: move relay __generated__ out of pages dir
Fixes Error: Build optimization failed: found page without a React Component as default export in
pages/__generated__/pages_indexQuery.graphql
* Example with-relay-modern: update dependencies
* Example with-react-relay-network-modern: fix prettier errors
* [examples/with-react-native-web] fix config to get .web.* extensions resolved before other
Simple issue if you have `Compo.js` & `Compo.web.js` (eg 1st for iOS/android & second for web): with current config, .web are resolved after.
My change change this situation so web extensions are resolved before the others.
I removed the `defaultLoaders` since it was not used. Tell me if that was intentional so I can add it back.
* lint-fix
Co-authored-by: Joe Haddad <timer150@gmail.com>
* Rename getServerProps to getServerSideProps
* Remove unstable_ prefix from new methods
* Add error when legacy methods are detected
* Add legacy methods for babel transform
* Add unstable_getServerSideProps also
* Apply suggestions from code review
Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>
* Update types import
Co-authored-by: Joe Haddad <timer150@gmail.com>
* Make withApollo work with _app.js components
* Support wrapping functional _App
* Add apolloClient to NextPageContext & NextPageContext
* Propertly call App.getInitialProps if used in NextAppContext
* Add Automatic Static Optimization warning
* Update deps
* Reduce API surface
* Move back to singleton client
* Improve documentation
* Remove Head.rewind()
We can get rid of .rewind by now as the latest next/head no longer uses legacy context.
* Add extra docs
* Reuse apolloState coming from previous hocs
Co-authored-by: Joe Haddad <timer150@gmail.com>
* Find/Replace "Deploy it to the cloud..."
* Find/Replace "Deploy it to the cloud..." (no colon)
* Find/Replace "Deploy it to the cloud..." for firebase
* Convert remaining ones
* Storybook deployment
* Update with-stripe-typescript
* Update contributing.md
* Remove `now`
* Update examples/with-stripe-typescript/README.md
Co-Authored-By: Luis Alvarez D. <luis@zeit.co>
* copy only the necessary files during stage 2 in multi-stage.
* update readme
* adds compress:false to prevent the server from crashing while running http2
* moving the config to next.config
* link to the issue
* fix grammatical error
* Update examples/with-http2/next.config.js
Co-Authored-By: Jan Potoms <2109932+Janpot@users.noreply.github.com>
Co-authored-by: Jan Potoms <2109932+Janpot@users.noreply.github.com>
Co-authored-by: Joe Haddad <timer150@gmail.com>
* With threejs example
* static folder replaced with public folder - linting issues resolved
* CR- gitignore removed- readmea updated- css files and package removed
* used plain css file insteaded of styled component
* built in css added
Co-authored-by: welcomebackfda <54882055+welcomebackfda@users.noreply.github.com>
* Make withApollo work with _app.js components
* Support wrapping functional _App
* Add apolloClient to NextPageContext & NextPageContext
* Propertly call App.getInitialProps if used in NextAppContext
* Add Automatic Static Optimization warning
1. Prevent possible race conditions of cache pruning, refetching and redirects
2. Note: the original code has the following defect.
SignOut action restarts the dev server effectively resetting the memory and erasing all the "registered users" data. You have to SignUp again after SignOut. I'm not sure how
to properly fix it a.t.m
* Fix api-routes-apollo-server-and-client-auth Example
`client.resetStore()` must be called after SignIn, SignOut actions
Otherwise, even the current basic auth is not working 100% of the time...
For example, as caching occurs here:
```
const { data, loading } = useQuery(ViewerQuery)
```
it sometimes (race conditions!) prevents a user from signing in
the current code base.
Check https://github.com/apollographql/apollo-cache-persist/issues/34#issuecomment-371177206 comment for more info.
* Fix api-routes-apollo-server-and-client-auth Example (linting)
* Repair advanced feature reference
The explanation of the custom document feature had been moved.
* Update README.md
Co-authored-by: Joe Haddad <timer150@gmail.com>
* Added example
* Updated readme of the dynamic-routing example
* Updated catch all docs
* Simplified example
* Update examples/catch-all-routes/README.md
Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>
Co-authored-by: Joe Haddad <timer150@gmail.com>
* Let users define their own client token.
* Make sure users know that GraphQL schema can also be done via the UI
* Update README.md
* Update setup.js
Co-authored-by: Matthew Sweeney <mail@msweeneydev.com>
Co-authored-by: Joe Haddad <timer150@gmail.com>
* Update emotion to v10, use @emotion/core, @emotion/styled
* Add with-emotion-11 and make review changes
* Fix package names and run prettier
* fix readmes
Co-authored-by: Joe Haddad <timer150@gmail.com>
* Start from existing example
* Upgrade some dependencies
* Use dotenv
* Remove custom server
* Add serverless Firebase auth
* Add TODOs
* Update project name
* Fix build script
* Remove server middleware from client JS bundle
* Add logout functionality
* Redirect to auth page on logout
* Remove TODO
* Add comments about the cookie-session approach
* Remove the sessions folder
* Add comments for eslint
* Remove unused files
* Clarify comment
* Update README.md
* Rename variable for clarity
* Update README.md
* Change some comments
* Add more to gitignore
* Remove the bundle analyzer
* Move server-side auth user logic from _app.js to a HOC to support static HTML rendering
Co-authored-by: Joe Haddad <timer150@gmail.com>
* Add an example for Fauna using cookie based auth.
* Update example to use more secure method of non-js cookie and all authed access via backend api calls.
* Updated README
* Updated files and added prettier
* Remove unused import to fix lint issue.
* Improve documentation on how to setup fauna. Remove client key to simplify setup.
* Remove semicolons
* Lint fix
* Updated readme instructions and deployment
* Fixed client side redirect issue with /profile
* Simplified login code
* Simplified signup code
* Removed isomorphic-unfetch
* Simplified logout
* Removed get-host file
* Removed the custom getInitialProps from withAuthSync
* Removed user email from localStorage
Co-authored-by: Luis Alvarez D. <luis@zeit.co>
* New example with-typescript-graphql
* Update newer graphql-let
* Apply @lfades 's suggestions
* Use "lib" for tools directory
* Move config decorator to next.config.js
* Apply stricter tsconfig
* mod: hide the word "apollo" from users
* mod: Use variable name `withApollo`
* Use the later version of graphql-let
* Only pages can be in pages
* Life improvements
* fix: .grpahql-let.yml point to the wrong document path
* Use a wider glob for less pitfalls
* Add a note about it in README.md
Co-authored-by: Luis Alvarez D. <luis@zeit.co>
* add with-mobx-keystone-typescript example
* Use latest Next.js and removed gitignore
* Fixed my suggestions
* Enabled strict mode and simplified _app
Co-authored-by: Luis Alvarez D. <luis@zeit.co>
* Remove redefinition of apolloClient
It seems that the definition of `apolloClient` on line 47 seems to be a intended to be defining the `apolloClient` defined in global scope. That re-declaration of the `apolloClient` variable is removed in favor of assigning the return of `initApolloClient()` to the globally defined `apolloClient`
* Rename the global apollo client to globalApolloClient
* Remove next folder before build in with-react-intl
* Relax message id requirement in with-react-intl
* @formatjs/cli instead of babel-plugin-react-intl
* default-lang.js -> extract.js
Co-authored-by: Joe Haddad <timer150@gmail.com>
* copy only compiled files into electron build for with-electron-typescript
* updated npm deps for with-electron-typescript
* copy only compiled files into electron build for with-electron
* updated npm deps for with-electron
Co-authored-by: JJ Kasper <jj@jjsweb.site>
With an update to sentry-testkit to depend on native node modules
this example no longer works in the browser. Sentry-testkit is made
for a node server not to work in the browser. However, with this
change we no longer require sentry-testkit in our setup for sentry.
Before this change with the update of sentry-testkit to 3.1 we were
encountering errors when trying to run the next.js local development
server because it was trying to load sentry-testkit in the browser.
Thank you to @ohana54 for his example found here https://github.com/wix/sentry-testkit/issues/43
this will now close this issue https://github.com/zeit/next.js/issues/9768
as well.
- Updated dependencies.
- For compatibility with the current next-graphql-react API, added next.config.js using the `withGraphQLConfig` decorator.
- For compatibility with the current graphql-react API, updated the options used with `useGraphQL`.
- Updated the readme to align with the current graphql-react and next-graphql-react APIs.
- Minor destructuring refactor for clarity.
- Converted the custom App to a functional component.
* no ssr component which uses useEffect hook
This library used wasn't updated for 4 years. I tried to contact the owner, which failed, and decided to create my own. So if you see this PR as a shameless plugin for my own component you can delete it. Just wanted to make this example more up to date.
* Update index.js
* fix linting
* Update index.js
* Update example
* Fix redirect logic for unauthenticated flows
* check for lack of existence of window for server code
Co-Authored-By: Luis Alvarez D. <luis@zeit.co>
* remove comment
Co-Authored-By: Luis Alvarez D. <luis@zeit.co>
* remove comment
Co-Authored-By: Luis Alvarez D. <luis@zeit.co>
* Add AMP First example
The sample demonstrates how to build an AMP First Site with AMP. If
follows all the best-practices recommended by Lighthouse and will
result in a fully-qualified PWA.
Live demo of the page: https://my-next-app.sebastianbenz.now.sh/#development=1
* small improvements to AmpScript and AmpState
* remove gitignore
* Update example
* Move styles down in Layout
* Apply lint fix and tweak prop-types
* Add warning for host header usage
As long as node does not ship with fill-icu this will do the trick making FormattedRelativeTime work on nodejs.
Other polyfill like @formatjs/intl-relativetimeformat/polyfill did not work on nodejs and thus giving an error that client did not match server.
* Add initial bit for plugins
* Add checks for needed metadata values
* Add test
* Initial plugins changes
* Add handling for _app middleware
* Add loading of _document middleware and
handling of multiple default export syntaxes
* Fix insert order for middleware member expression
* Remove early return from middleware plugin from testing
* Add tests for current plugin middlewares
* Update test plugin package.json
* Update handling for class default export
* Update to use webpack loader instead of babel
plugin, remove redundant middleware naming, and add field for required env for plugins
* Add middleware to support material-ui use case
and example material-ui plugin
* Update tests and remove tests stuff from google analytics plugin
* Remove old plugin suite
* Add init-server middleware
* Exit hard without stack trace when error in collecting plugins
* Add on-error-client and on-error-server and update
to run init-server with next-start in serverless mode
* Update init-client for google analytics plugin
* Add example Sentry plugin and update with-sentry-simple
* Remove middleware field/folder and use src dir for plugins
* Add post-hydration middleware and update
material-ui plugin
* Put plugins code behind flag
* Update chromedriver
* Revert "Update chromedriver"
This reverts commit 1461e978e677f7da05e29e0415ec614a04bf65f9.
* Update lock file
* Remove un-needed _app for sentry example
* Add auto loading of scoped packages, add plugins
config for manually listing plugins, and update
to only collect plugins once
* Update example plugins
* Expose plugins' config
* Rename plugin lifecycles and add babel-preset-build
* Rename other methods with unstable
* Update log when plugin config overrides auto-detecting
* Fix example active-class-anme: Add support for children of ActiveLink without a className.
* Update examples/active-class-name/components/ActiveLink.js
Co-Authored-By: Luis Alvarez D. <luis@zeit.co>
* add netlifycms example
* Updated everything
* Moved the layout out of _app
* Updated next to latest
* applied prettier and linter
* Removed unrequired files
* Moved to with-netlify-cms
* updated readme to reflect the new name
* Added license field
## Changelog
- Use functional components instead of class components
- Use default exports like in all other examples
- Rename `Portal` component to `ClientOnlyPortal`.
* [with-typescript] Updated TypeScript example to use API routes
Next.js 9.0.0 has been out for a while, which supports API routes, but
the examples were never updated to make use of it. This PR adds a simple
example of an API route which also makes use of dynamic routing.
A simple `fetch()` wrapper is also added for example purposes, and the
pages structure have also been updated to dynamic routing.
* Properly link to the dynamic page
* Update inferno examples to v7.3
* Add polyfill for React.createContext
* Alias react and react-dom with inferno-compat
* Fix linter errors
* Add warning about hooks and suspense support
## Changelog
- Removed react-lazyload
- Removed images
- Removed ReactDOMServer from Client
- Removed next.config.js
## Notes
**CommonJS vs ESM:** In the future we might be able to use top level `await` in order to import only on the server (e.g.: `await import(“react-dom/server”)`)
Until then we need to mix CommonJS and ESM in favor of messing with the webpack config.
The call to `accept.languages()` made the fallback not work.
When called e.g. with `Accept-Language: es-ES,es;q=0.9`, `locale` would contain `[ 'es-ES', 'es' ]` instead of `en`.
(See also: https://www.npmjs.com/package/accepts#languagelanguages )
* quill js with nextjs
* remove spaces and blank line
* fix code lints
* imporve lin
* fix lint error
* trying to fix lint
* Update examples/with-quill-js/README.md
Co-Authored-By: Luis Alvarez D. <luis@zeit.co>
* Update examples/with-quill-js/README.md
Co-Authored-By: Luis Alvarez D. <luis@zeit.co>
* update readme
* Update example
* Add auth0 example
* Apply suggestions from code review
Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>
* Remove LICENSE
* Add create next-app section
* Update to latest @auth0/nextjs-auth0
* Update user handling
* Update profile link to use <Link>
* Update .env template to reflect guides
* Simplify example
* Update example to prefer API call (temporary hardcoded url)
* Simplify state and ensure rerenders don’t race
* Clear up import being commented
* Make code style consistent
* Update pages to reflect required auth on the client-side
* Memoize the user on window
* Update now.json instruction
* Remove meta fields
* Update docs with explanation
* Update UI for auth0 example
## Changes
- [x] Remove _app.js usage
- [x] Migrate withRedux HOC to functional component
- [x] Add correct display name
- [x] Remove abstractions/boilerplate from example
- [x] Add useInterval HOC from Dan
* Update to capture server exceptions and more
- Adds test cases for several server and client-side exceptions
- Allows capturing more server-side exceptions by overriding _error.js and using Sentry.captureException() within
- Use @sentry/node on the server
- Rely on Next.js's React Error Boundary instead of creating our own in _app.js
* Update test notes
Found some differences while testing in production
* Remove accidental mount throw on test 8
* Add note about server-side source maps
* Linting fixes
Some users aren't aware they need to edit their custom server to support various HTTP Methods (e.g. POST for API Routes).
Instead, we should just handle all HTTP Methods out-of-the-box.
---
Closes#8237
* Remove connectToDevTools in favour of better default
* Remove redirect code from client
* Simplify function
* Remove apollo-boost
This package is optimized for client usage only.
We actually never used it. We only usered its reexports.
More info:
https://www.apollographql.com/docs/react/v2.5/recipes/authentication/#header
* Remove stopPropagation
We actually don’t need it.
* Refactor getToken method
We want to show how to get the token.
This can be from a cookie or some other isomorph store.
We are not interested in the cookie abstraction in this example.
* Secure cookie
not perfect but better than before….
* Add ssr config option
This was documented but not implemented
* Fix getInitialProps in with-apollo example
The code before had two design flaws:
* When we skip WithApollo.getInitialProps we must hoist PageComponent.getInitialProps if it is present.
* We should expose the apolloClient to underlying PageComponent.getInitialProps contexts.
* Add abort check
* Add some comments
* Add client only example page
https://github.com/zeit/next.js/pull/8620#issuecomment-527870886
* Remove connectToDevTools setting in favor default config
7eaf4132cd/packages/apollo-client/src/ApolloClient.ts (L170-L173)
* Remove fetch check
This is done by https://www.npmjs.com/package/isomorphic-unfetch
* Remove apollo-boost
I am removing this package, because we never actually used it.
This is because we use the named export of apollo boost wich resolves to apollo-client.
This way we removed apollo-link-state, apollo-link-error
* Remove redirect code from the client
* Move apollo logic into one file
+ Use http-link from http boost
* Remove _app.js from with-apollo-auth example
* Covert other class components to functional components
* Use esm import instead of require
played around with that example and was wondering why it didn't work any more when having an `auth/login` page.
I hope this addition will spare someone else some confusion :)