From bb200b922d4583fa86c87710deda2bdee2adfd37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 9 Nov 2022 19:32:32 +0100 Subject: [PATCH] @next/font error messages (#42689) Fix wrong links. Add specific error message if Next.js version < 13. ## Bug - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Errors have a helpful link attached, see `contributing.md` ## Feature - [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. - [ ] Errors have a helpful link attached, see `contributing.md` ## Documentation / Examples - [ ] Make sure the linting passes by running `pnpm build && pnpm lint` - [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md) --- packages/font/google/index.js | 8 ++++++++ packages/font/local/index.js | 8 ++++++++ packages/next/font/google/index.js | 2 +- packages/next/font/index.js | 2 +- packages/next/font/local/index.js | 2 +- 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/packages/font/google/index.js b/packages/font/google/index.js index b86140fd452a..2857d7462136 100644 --- a/packages/font/google/index.js +++ b/packages/font/google/index.js @@ -1,7 +1,15 @@ +// Validate next version +const semver = require('next/dist/compiled/semver') +if (semver.lt(require('next/package.json').version, '13.0.0')) { + throw new Error('`@next/font` is only available in Next.js 13 and newer.') +} + let message = '@next/font/google failed to run or is incorrectly configured.' if (process.env.NODE_ENV === 'development') { message += '\nIf you just installed `@next/font`, please try restarting `next dev` and resaving your file.' } +message += `\n\nRead more: https://nextjs.org/docs/basic-features/font-optimization` + throw new Error(message) diff --git a/packages/font/local/index.js b/packages/font/local/index.js index c2eda14c0128..172df54efaf8 100644 --- a/packages/font/local/index.js +++ b/packages/font/local/index.js @@ -1,7 +1,15 @@ +// Validate next version +const semver = require('next/dist/compiled/semver') +if (semver.lt(require('next/package.json').version, '13.0.0')) { + throw new Error('`@next/font` is only available in Next.js 13 and newer.') +} + let message = '@next/font/local failed to run or is incorrectly configured.' if (process.env.NODE_ENV === 'development') { message += '\nIf you just installed `@next/font`, please try restarting `next dev` and resaving your file.' } +message += `\n\nRead more: https://nextjs.org/docs/basic-features/font-optimization` + throw new Error(message) diff --git a/packages/next/font/google/index.js b/packages/next/font/google/index.js index e16a36e0735d..dbd5f2de02bb 100644 --- a/packages/next/font/google/index.js +++ b/packages/next/font/google/index.js @@ -1,3 +1,3 @@ throw new Error( - 'You tried to import `next/font/google`, did you mean `@next/font/google`?\nRead more: https://nextjs.org/docs/optimizing/fonts' + 'You tried to import `next/font/google`, did you mean `@next/font/google`?\nRead more: https://nextjs.org/docs/basic-features/font-optimization' ) diff --git a/packages/next/font/index.js b/packages/next/font/index.js index f208343aee3d..829031b71436 100644 --- a/packages/next/font/index.js +++ b/packages/next/font/index.js @@ -1,3 +1,3 @@ throw new Error( - 'You tried to import `next/font`, did you mean `@next/font`?\nRead more: https://nextjs.org/docs/optimizing/fonts' + 'You tried to import `next/font`, did you mean `@next/font`?\nRead more: https://nextjs.org/docs/basic-features/font-optimization' ) diff --git a/packages/next/font/local/index.js b/packages/next/font/local/index.js index 92e74f90a729..50a6649791c4 100644 --- a/packages/next/font/local/index.js +++ b/packages/next/font/local/index.js @@ -1,3 +1,3 @@ throw new Error( - 'You tried to import `next/font/local`, did you mean `@next/font/local`?\nRead more: https://nextjs.org/docs/optimizing/fonts' + 'You tried to import `next/font/local`, did you mean `@next/font/local`?\nRead more: https://nextjs.org/docs/basic-features/font-optimization' )