Next.js 15 Update (#26)

* Update Next.js and React versions in all packages
* Replace onRedirect function with next/link in BillingSessionStatus, since it's no longer cached by default
* Remove unused revalidatePath import in billing return page, since it's no longer cached by default
* Add Turbopack module aliases to improve development server speed
* Converted new Dynamic APIs to be Promise-based
* Adjust mobile layout
* Use ENABLE_REACT_COMPILER to enable the React Compiler in Next.js 15
* Report Errors using the new onRequestError hook
This commit is contained in:
Giancarlo Buomprisco
2024-10-22 08:39:21 +02:00
committed by GitHub
parent 93cb011260
commit 5b9285a575
109 changed files with 5143 additions and 5545 deletions

View File

@@ -30,8 +30,9 @@ const priority = featuresFlagConfig.languagePriority;
*
* Initialize the i18n instance for every RSC server request (eg. each page/layout)
*/
function createInstance() {
const cookie = cookies().get(I18N_COOKIE_NAME)?.value;
async function createInstance() {
const cookieStore = await cookies();
const cookie = cookieStore.get(I18N_COOKIE_NAME)?.value;
let selectedLanguage: string | undefined = undefined;
@@ -43,7 +44,7 @@ function createInstance() {
// if not, check if the language priority is set to user and
// use the user's preferred language
if (!selectedLanguage && priority === 'user') {
const userPreferredLanguage = getPreferredLanguageFromBrowser();
const userPreferredLanguage = await getPreferredLanguageFromBrowser();
selectedLanguage = getLanguageOrFallback(userPreferredLanguage);
}
@@ -55,8 +56,9 @@ function createInstance() {
export const createI18nServerInstance = cache(createInstance);
function getPreferredLanguageFromBrowser() {
const acceptLanguage = headers().get('accept-language');
async function getPreferredLanguageFromBrowser() {
const headersStore = await headers();
const acceptLanguage = headersStore.get('accept-language');
if (!acceptLanguage) {
return;