## Description
This PR ensures that the default prettier config is used for examples
and templates.
This config is compatible with `prettier@3` as well (upgrading prettier
is bigger change that can be a future PR).
## Changes
- Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will
be needed upgrading to prettier@3)
- Added `examples/.prettierrc.json` with default config (this will
change every example)
- Added `packages/create-next-app/templates/.prettierrc.json` with
default config (this will change every template)
## Related
- Fixes#54402
- Closes#54409
### Reason for making this change
https://yarnpkg.com/getting-started/qa#:~:text=yarn%2Finstall%2Dstate.,your%20workspaces%20all%20over%20again.
In the official documentation of `yarn`, it is stated that `.yarn/install-state.gz` is an optimization file that developer shouldn't ever have to commit. However, currently, when running `create-next-app`, `.yarn/install-state.gz` is being commited.
### Remaining work
I apologize for only modifying one template initially to initiate the discussion first.
If this change is agreed upon, it should be synchronized with other `.gitignore` templates. Would it be possible to follow a similar approach as in https://github.com/vercel/next.js/pull/47241? I would appreciate any assistance in syncing this change.
Adds cache control headers in the auth middleware to prevent issues with cached tokens being passed in GET API requests.
Co-authored-by: Mihály Lengyel <1129990+porcellus@users.noreply.github.com>
Co-authored-by: Nemi Shah <18233774+nkshah2@users.noreply.github.com>
Co-authored-by: Lee Robinson <9113740+leerob@users.noreply.github.com>
ensure `next` is the dependency of third-parties package so turbo will
build next first then `@next/third-parties` to avoid type failing
---------
Co-authored-by: JJ Kasper <jj@jjsweb.site>
If there is an unauthorised error during `getServerSideProps`, then we
return the same response as the try refresh token error so that all
cookies are cleared from the frontend due to refreshing failure.
If we did not do this, it would cause an infinite loop if the session
was removed in offline mode as the frontend would still think that the
session exists, and would redirect back to the protected route which
would fail verification again.
- Update dependency version
- Update config for email verification recipe to match new version
Co-authored-by: NkxxkN <kevin@supertokens.io>
Co-authored-by: NkxxkN <kevin.antoine@protonmail.com>
Co-authored-by: Lee Robinson <me@leerob.io>
Co-authored-by: Rishabh <rishabh@supertokens.io>
Co-authored-by: Bhumil Sarvaiya <sarvaiyabhumil@gmail.com>
Co-authored-by: jscyo <joelsteve97@hotmail.com>
Co-authored-by: Mihaly Lengyel <mihaly.lengyel@tresorit.com>
Co-authored-by: Balázs Orbán <info@balazsorban.com>
Co-authored-by: Mihaly Lengyel <mihaly@lengyel.tech>
- Updates supertokens-node and supertokens-auth-react dependencies.
- Uses separate Email verification recipe instead of using it inside the
ThirdPartyEmailPassword recipe (as per the update)
- Uses <SessionAuth> guard instead of <ThirdPartyEmailPassword> guard
(as per the lib update)
<!--
Thanks for opening a PR! Your contribution is much appreciated.
In order to make sure your PR is handled as smoothly as possible we
request that you follow the checklist sections below.
Choose the right checklist for the change that you're making:
-->
## Documentation / Examples
- [x] Make sure the linting passes by running `pnpm lint`
- [x] The examples guidelines are followed from [our contributing
doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
Convert example to use typescript.
Co-authored-by: Titus Moore <tmoore@edgewebware.com>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
* add-supertokens-to-authentication.md
* bump supertokens deps
* update SuperTokens Auth doc
* Update docs/authentication.md
Co-authored-by: Lee Robinson <me@leerob.io>
* Update docs/authentication.md
Co-authored-by: Lee Robinson <me@leerob.io>
* updates supertokens dependency and optimises for serverless execution
* runs prettier-fix
* adds supertokens to 'Bring Your Own Database' section as well
* does not show home page if not logged in
* extracts config into its own file and calls it in all serverless functions
* removes need for backend init in app.jsx
* simplifies use of dynamic
* refreshes page after getServerSideProps
* removes unnecessary check in API
* update to docs pertaining SuperTokens
* adds placeholder secrets so that the UI loads on first run
* changes to readme
* updates version of supertokens frontend and backend SDK, and a few other fixes
* Update docs/authentication.md
Co-authored-by: Lee Robinson <me@leerob.io>
* updates to readme for supertokens example
* updates version of dependency
* updates dependency version
* updates to dependencies
* removes unnecessary config on frontend
* changes how redirection is done post signout
* update to dependency
* updates examples
* updates code to use for new package
* updates dependencies
* updates auth-react package
* with-supertokens example updated to use supertokens-node v7
* updates dependency
* updates supertokens-node version
* Update examples/with-supertokens/package.json
Co-authored-by: Lee Robinson <me@leerob.io>
* updates based on check-examples.sh script
* linter fix
* updates supertokens-auth-react dependency version
* adds development OAuth key to example
* removes section from README
* removes unnecessary file
* updates dependency versions
* with-supertokens: reduced bundle size by removing node lib from bundle
Linting fix
* Removed accidentally added config file
* adds sign in with apple
* extracted oauth keys to .env file
* fixes node init issue race condition
* removes unnecessary file
* updates supertokens-auth-react dependency
* updates superttokens-node dependency
* adds a cap to react dependency
* updates eslint-config-next version
* removes unnecessary dev dependency
* updates to latest version of supertokens-auth-react SDK
* Updated nextjs in supertokens example
* Update examples/with-supertokens/package.json
* Update examples/with-supertokens/package.json
* Update package.json
* Update examples/with-supertokens/package.json
Co-authored-by: Balázs Orbán <info@balazsorban.com>
* Update examples/with-supertokens/package.json
Co-authored-by: Balázs Orbán <info@balazsorban.com>
* updates to supertokens-auth-react version
* feat: update&improve ssr in with-supertokens
* refactor: implement review feedback
* refactor: moved everything into ProtectedPage to make Auth component usage clearer
* refactor: implement review feedback
* updates dependency version and uses nextjs router for navigation
* removes prettier dendency in with-supertokens example app
Update version of supertokens-auth-react to add react 18 support.
Co-authored-by: Bhumil Sarvaiya <21988812+bhumilsarvaiya@users.noreply.github.com>
Co-authored-by: Joel Coutinho <6310783+jscyo@users.noreply.github.com>
* add-supertokens-to-authentication.md
* bump supertokens deps
* update SuperTokens Auth doc
* Update docs/authentication.md
Co-authored-by: Lee Robinson <me@leerob.io>
* Update docs/authentication.md
Co-authored-by: Lee Robinson <me@leerob.io>
* updates supertokens dependency and optimises for serverless execution
* runs prettier-fix
* adds supertokens to 'Bring Your Own Database' section as well
* does not show home page if not logged in
* extracts config into its own file and calls it in all serverless functions
* removes need for backend init in app.jsx
* simplifies use of dynamic
* refreshes page after getServerSideProps
* removes unnecessary check in API
* update to docs pertaining SuperTokens
* adds placeholder secrets so that the UI loads on first run
* changes to readme
* updates version of supertokens frontend and backend SDK, and a few other fixes
* Update docs/authentication.md
Co-authored-by: Lee Robinson <me@leerob.io>
* updates to readme for supertokens example
* updates version of dependency
* updates dependency version
* updates to dependencies
* removes unnecessary config on frontend
* changes how redirection is done post signout
* update to dependency
* updates examples
* updates code to use for new package
* updates dependencies
* updates auth-react package
* with-supertokens example updated to use supertokens-node v7
* updates dependency
* updates supertokens-node version
* Update examples/with-supertokens/package.json
Co-authored-by: Lee Robinson <me@leerob.io>
* updates based on check-examples.sh script
* linter fix
* updates supertokens-auth-react dependency version
* adds development OAuth key to example
* removes section from README
* removes unnecessary file
* updates dependency versions
* with-supertokens: reduced bundle size by removing node lib from bundle
Linting fix
* Removed accidentally added config file
* adds sign in with apple
* extracted oauth keys to .env file
* fixes node init issue race condition
* removes unnecessary file
* updates supertokens-auth-react dependency
* updates superttokens-node dependency
* adds a cap to react dependency
* updates eslint-config-next version
* removes unnecessary dev dependency
* updates to latest version of supertokens-auth-react SDK
* Updated nextjs in supertokens example
* Update examples/with-supertokens/package.json
* Update examples/with-supertokens/package.json
* Update package.json
* Update examples/with-supertokens/package.json
Co-authored-by: Balázs Orbán <info@balazsorban.com>
* Update examples/with-supertokens/package.json
Co-authored-by: Balázs Orbán <info@balazsorban.com>
Co-authored-by: NkxxkN <kevin@supertokens.io>
Co-authored-by: NkxxkN <kevin.antoine@protonmail.com>
Co-authored-by: Lee Robinson <me@leerob.io>
Co-authored-by: Rishabh <rishabh@supertokens.io>
Co-authored-by: Bhumil Sarvaiya <sarvaiyabhumil@gmail.com>
Co-authored-by: jscyo <joelsteve97@hotmail.com>
Co-authored-by: Mihaly Lengyel <mihaly.lengyel@tresorit.com>
Co-authored-by: Balázs Orbán <info@balazsorban.com>
This PR updates the docs and examples for `create-next-app` to include pnpm usage.
The following script was used to update every example README:
```js
const fs = require('fs')
const examples = fs.readdirSync('./examples')
for (let example of examples) {
const filename = `./examples/${example}/README.md`
const markdown = fs.readFileSync(filename, 'utf8')
const regex = new RegExp(`^yarn create next-app --example (.*)$`, 'gm')
const output = markdown.replace(regex, (yarn, group) => {
const pnpm = `pnpm create next-app -- --example ${group}`
return `${yarn}\n# or\n${pnpm}`
})
fs.writeFileSync(filename, output)
}
```
New version of supertokens-auth-react.
Co-authored-by: Bhumil Sarvaiya <21988812+bhumilsarvaiya@users.noreply.github.com>
Co-authored-by: Joel Coutinho <6310783+jscyo@users.noreply.github.com>
* add-supertokens-to-authentication.md
* bump supertokens deps
* update SuperTokens Auth doc
* Update docs/authentication.md
Co-authored-by: Lee Robinson <me@leerob.io>
* Update docs/authentication.md
Co-authored-by: Lee Robinson <me@leerob.io>
* updates supertokens dependency and optimises for serverless execution
* runs prettier-fix
* adds supertokens to 'Bring Your Own Database' section as well
* does not show home page if not logged in
* extracts config into its own file and calls it in all serverless functions
* removes need for backend init in app.jsx
* simplifies use of dynamic
* refreshes page after getServerSideProps
* removes unnecessary check in API
* update to docs pertaining SuperTokens
* adds placeholder secrets so that the UI loads on first run
* changes to readme
* updates version of supertokens frontend and backend SDK, and a few other fixes
* Update docs/authentication.md
Co-authored-by: Lee Robinson <me@leerob.io>
* updates to readme for supertokens example
* updates version of dependency
* updates dependency version
* updates to dependencies
* removes unnecessary config on frontend
* changes how redirection is done post signout
* update to dependency
* updates examples
* updates code to use for new package
* updates dependencies
* updates auth-react package
* with-supertokens example updated to use supertokens-node v7
* updates dependency
* updates supertokens-node version
* Update examples/with-supertokens/package.json
Co-authored-by: Lee Robinson <me@leerob.io>
* updates based on check-examples.sh script
* linter fix
* updates supertokens-auth-react dependency version
* adds development OAuth key to example
* removes section from README
* removes unnecessary file
* updates dependency versions
* with-supertokens: reduced bundle size by removing node lib from bundle
Linting fix
* Removed accidentally added config file
* adds sign in with apple
* extracted oauth keys to .env file
* fixes node init issue race condition
* removes unnecessary file
* updates supertokens-auth-react dependency
* updates superttokens-node dependency
* adds a cap to react dependency
* updates eslint-config-next version
* removes unnecessary dev dependency
Co-authored-by: NkxxkN <kevin@supertokens.io>
Co-authored-by: NkxxkN <kevin.antoine@protonmail.com>
Co-authored-by: Lee Robinson <me@leerob.io>
Co-authored-by: Rishabh <rishabh@supertokens.io>
Co-authored-by: Bhumil Sarvaiya <sarvaiyabhumil@gmail.com>
Co-authored-by: jscyo <joelsteve97@hotmail.com>
Co-authored-by: Mihaly Lengyel <mihaly.lengyel@tresorit.com>
Update version of supertokens-auth-react SDK for this demo. It has a few UI enhancements for our pre built UI + a new passwordless auth recipe.
Co-authored-by: kant01ne <5072452+kant01ne@users.noreply.github.com>
Co-authored-by: Bhumil Sarvaiya <21988812+bhumilsarvaiya@users.noreply.github.com>
Co-authored-by: Joel Coutinho <6310783+jscyo@users.noreply.github.com>
Updates with-supertokens example to fix a race condition for initialising the supertokens-node SDK. Earlier we used to do it in _app.js in an async manner, so if `getServerSideProps` is called before the `supertokens.init` is called, the page load would fail.
Now, we call `supertokens.init` (for the node SDK) in the `getServerSideProps` function itself.
Co-authored-by: kant01ne <5072452+kant01ne@users.noreply.github.com>
Co-authored-by: Bhumil Sarvaiya <21988812+bhumilsarvaiya@users.noreply.github.com>
Co-authored-by: Joel Coutinho <6310783+jscyo@users.noreply.github.com>
Clean up package.json files in the `examples` directory:
- Add `private: true`
- Remove `version` (because they are irrelevant for packages that are not meant to be published)
- Remove `name` (because they are optional for packages that are not meant to be published, and when someone clones an example, they often rename it and the property becomes stale)
- Remove `author`
- Remove `description`
- Remove `license`
Also remove `with-dynamic-app-layout` example completely, since it does the same as `layout-component` (https://github.com/vercel/next.js/pull/27121#discussion_r668178408).
## Documentation / Examples
- [x] Make sure the linting passes
[With next 11 requiring react 17](https://nextjs.org/blog/next-11#upgrade-guide), most of the examples
need to be updated, so the following snippet updated all the examples to
a compatible react version.
```bash
cd examples/
fd -g 'package.json' | xargs sed -r -i 's/"react": ".*"/"react": "^17.0.2"/
fd -g 'package.json' | xargs sed -r -i 's/"react-dom": ".*"/"react-dom": "^17.0.2"/'
# exclude experimental react version
git checkout with-reason-relay/package.json
```