rsnext/test/production
Hannes Bornö 5f2c9d0b30
Update subset validation in @next/font/google and fix CJK bug (#44594)
Currently there's a bug when selecting Chinese, Japanese or Korean (CJK)
as subsets.
```js
const notoSans = Noto_Sans_JP({
  subsets: ['japanese'],
})
```
It actually doesn't work, nothing preloads. This PR solves this by
removing CJK languages as candidates for preloading. The reason is that
they contain so many glyphs that each font-family is split up in 100+
font files. It doesn't make sense to preload all of them.

So CJK users will have to disable preloading.
```js
const notoSansJapanese = Noto_Sans_JP({
  weight: '400',
  preload: false,
})
```
In case you do manually disable preloading like above, the default
`font-display` is changed to `swap`.

This PR also improves the validation errors of subsets.
1. Providing unknown subset
```
`@next/font` error:
Unknown subset `japanese` for font `Inter`.
Available subsets: `cyrillic`, `cyrillic-ext`, `greek`, `greek-ext`, `latin`, `latin-ext`, `vietnamese`
```
2. Missing specified subset. The error has a link with further
instructions.
```
`@next/font` error:
Missing selected subsets for font `Inter`. Please specify subsets in the function call or in your `next.config.js`. Read more: https://nextjs.org/docs/messages/google-fonts-missing-subsets
```

fixes NEXT-336

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see
[`contributing.md`](https://github.com/vercel/next.js/blob/canary/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`
- [ ]
[e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
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`](https://github.com/vercel/next.js/blob/canary/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)
2023-01-05 15:51:38 -08:00
..
app-dir-edge-runtime-with-wasm fix: usage of wasm in an appDir page file using the edge runtime (#41689) 2022-11-03 01:18:03 +00:00
app-dir-prefetch-non-iso-url Ensure next.url is used instead of next.appPort (#44163) 2022-12-19 13:29:50 -08:00
ci-missing-typescript-deps Add types as a default dependency into tests (#44140) 2022-12-19 19:05:53 +01:00
custom-error-500 Fix handling with custom _error and pages/500 (#40110) 2022-08-30 18:14:12 -05:00
dependencies-can-use-env-vars-in-middlewares feat(middleware)!: forbids middleware response body (#36835) 2022-05-19 22:02:20 +00:00
disable-fallback-polyfills fix: loosen webpack compilation with fallbackNodePolyfills: false (#40612) 2022-09-16 13:23:56 -07:00
edge-config-validations Rename allowDynamic to unstable_allowDynamic (#40496) 2022-09-12 15:32:18 -07:00
edge-runtime-is-addressable Upgrade edge-runtime + make EdgeRuntime value overridable with an env var on compilation (#38331) 2022-07-12 15:18:59 +00:00
emit-decorator-metadata Ensure next.url is used instead of next.appPort (#44163) 2022-12-19 13:29:50 -08:00
enoent-during-require Ensure ENOENT error is not ignored when loading pages (#37486) 2022-06-06 14:35:26 -04:00
escheck-output BREAKING CHANGE: Remove browsersListForSwc and change default to legacyBrowsers: false (#41529) 2022-10-19 01:38:39 +00:00
eslint-plugin-deps Upgrade typescript to 4.8.2 (#39979) 2022-08-29 16:56:02 +00:00
exported-runtimes-value-validation feat: enhance warning messages about unanalyzable config field (#38907) 2022-07-22 19:31:47 +00:00
fallback-export-error Update check for fallback pages during export (#33323) 2022-01-17 14:44:45 +00:00
fatal-render-errror Ensure default _app is used when falling back to default _error (#39467) 2022-08-10 11:36:22 -05:00
generate-middleware-source-maps feat: enables 'edge' as a possible runtime for API routes (#44045) 2022-12-15 10:08:03 +01:00
jest Update subset validation in @next/font/google and fix CJK bug (#44594) 2023-01-05 15:51:38 -08:00
middleware-environment-variables-in-node-server-reflect-the-usage-inference feat(middleware)!: forbids middleware response body (#36835) 2022-05-19 22:02:20 +00:00
middleware-typescript Upgrade typescript to 4.8.2 (#39979) 2022-08-29 16:56:02 +00:00
next-font Fix @next/font imports from outside of the root directory (#42678) 2022-11-09 13:22:45 -08:00
pnpm-support Ensure build trace ignores apply correctly when nested (#42606) 2022-11-07 17:43:58 -08:00
postcss-plugin-config-as-string allow to provide postcss plugin options as a string (#35173) 2022-04-08 16:58:50 +00:00
prerender-prefetch BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
reading-request-body-in-middleware fix(stream): Allows body larger than 16 KiB with middleware (#41270) 2022-10-17 15:26:16 -07:00
standalone-mode Ensure build trace ignores apply correctly when nested (#42606) 2022-11-07 17:43:58 -08:00
typescript-basic Fix next/dynamic types for resolving named export module (#43923) 2022-12-10 17:35:13 +00:00