Skip to content

Commit 2a80472

Browse files
authored
Merge pull request #20220 from mozilla/dependabot/npm_and_yarn/next-15.5.14
chore(deps): bump next from 14.2.35 to 15.5.14
2 parents d5e312b + 55ceb47 commit 2a80472

66 files changed

Lines changed: 1176 additions & 612 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/payments/next/.eslintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"extends": ["next", "next/core-web-vitals", "../../../.eslintrc.json"],
3-
"ignorePatterns": ["!**/*", ".next/**/*", "build/**/*"],
3+
"ignorePatterns": ["!**/*", ".next/**/*", "build/**/*", "next-env.d.ts"],
44
"overrides": [
55
{
66
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],

apps/payments/next/app/[locale]/[offeringId]/[interval]/[churnType]/loyalty-discount/terms/not-found.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ export enum PaymentsPage {
1010
Subscriptions = 'subscriptions',
1111
}
1212

13-
export default function NotFound() {
14-
const acceptLanguage = headers().get('accept-language');
13+
export default async function NotFound() {
14+
const acceptLanguage = (await headers()).get('accept-language');
1515
const l10n = getApp().getL10n(acceptLanguage);
1616
return (
1717
<PageNotFound

apps/payments/next/app/[locale]/[offeringId]/[interval]/[churnType]/loyalty-discount/terms/page.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,19 @@ export default async function ChurnTerms({
1515
params,
1616
searchParams,
1717
}: {
18-
params: ChurnParams;
19-
searchParams: Record<string, string | string[]> | undefined;
18+
params: Promise<ChurnParams>;
19+
searchParams: Promise<Record<string, string | string[]> | undefined>;
2020
}) {
2121
if (!config.churnInterventionConfig.enabled) {
2222
notFound();
2323
}
2424

25-
const { locale, interval, churnType, offeringId } = params;
26-
const acceptLanguage = headers().get('accept-language');
25+
const { locale, interval, churnType, offeringId } = await params;
26+
const acceptLanguage = (await headers()).get('accept-language');
2727
const l10n = getApp().getL10n(acceptLanguage, locale);
2828

29-
const urlSearchParams = new URLSearchParams(searchParams);
29+
const resolvedSearchParams = await searchParams;
30+
const urlSearchParams = new URLSearchParams(resolvedSearchParams);
3031
const searchParamsString = urlSearchParams.toString()
3132
? `?${urlSearchParams.toString()}`
3233
: '';

apps/payments/next/app/[locale]/[offeringId]/[interval]/checkout/[cartId]/error/page.tsx

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,53 +30,57 @@ export async function generateMetadata({
3030
params,
3131
searchParams,
3232
}: {
33-
params: CheckoutParams;
34-
searchParams: Record<string, string | string[]> | undefined;
33+
params: Promise<CheckoutParams>;
34+
searchParams: Promise<Record<string, string | string[]> | undefined>;
3535
}): Promise<Metadata> {
36+
const resolvedParams = await params;
37+
const resolvedSearchParams = await searchParams;
3638
return buildPageMetadata({
37-
params,
39+
params: resolvedParams,
3840
page: 'error',
3941
pageType: 'checkout',
40-
acceptLanguage: headers().get('accept-language'),
42+
acceptLanguage: (await headers()).get('accept-language'),
4143
baseUrl: config.paymentsNextHostedUrl,
42-
searchParams,
44+
searchParams: resolvedSearchParams,
4345
});
4446
}
4547

4648
export default async function CheckoutError({
4749
params,
4850
searchParams,
4951
}: {
50-
params: CheckoutParams;
51-
searchParams: Record<string, string | string[]>;
52+
params: Promise<CheckoutParams>;
53+
searchParams: Promise<Record<string, string | string[]>>;
5254
}) {
53-
const { locale } = params;
54-
const acceptLanguage = headers().get('accept-language');
55+
const resolvedParams = await params;
56+
const resolvedSearchParams = await searchParams;
57+
const { locale } = resolvedParams;
58+
const acceptLanguage = (await headers()).get('accept-language');
5559

5660
const sessionPromise = auth();
5761
const cartPromise = getCartOrRedirectAction(
58-
params.cartId,
62+
resolvedParams.cartId,
5963
SupportedPages.ERROR,
60-
searchParams
64+
resolvedSearchParams
6165
);
6266
const l10n = getApp().getL10n(acceptLanguage, locale);
6367
const [cart, session] = await Promise.all([cartPromise, sessionPromise]);
6468

6569
const errorReason = getErrorFtlInfo(
6670
cart.errorReasonId,
67-
params,
71+
resolvedParams,
6872
config,
69-
searchParams
73+
resolvedSearchParams
7074
);
7175

7276
if (cart.id && cart.uid !== session?.user?.id) {
7377
const redirectSearchParams: Record<string, string | string[]> =
74-
searchParams || {};
78+
resolvedSearchParams || {};
7579
delete redirectSearchParams.cartId;
7680
delete redirectSearchParams.cartVersion;
7781
const redirectTo = buildRedirectUrl(
78-
params.offeringId,
79-
params.interval,
82+
resolvedParams.offeringId,
83+
resolvedParams.interval,
8084
'new',
8185
'checkout',
8286
{

apps/payments/next/app/[locale]/[offeringId]/[interval]/checkout/[cartId]/layout.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,17 @@ export default async function CheckoutLayout({
3636
params,
3737
}: {
3838
children: React.ReactNode;
39-
params: CheckoutParams;
39+
params: Promise<CheckoutParams>;
4040
}) {
41-
const { locale } = params;
42-
const acceptLanguage = headers().get('accept-language');
41+
const resolvedParams = await params;
42+
const { locale } = resolvedParams;
43+
const acceptLanguage = (await headers()).get('accept-language');
4344
const cmsDataPromise = fetchCMSData(
44-
params.offeringId,
45+
resolvedParams.offeringId,
4546
acceptLanguage,
4647
locale
4748
);
48-
const cartDataPromise = getCartAction(params.cartId);
49+
const cartDataPromise = getCartAction(resolvedParams.cartId);
4950
const sessionPromise = auth();
5051
const l10n = getApp().getL10n(acceptLanguage, locale);
5152
const [cms, cart, session] = await Promise.all([
@@ -125,13 +126,13 @@ export default async function CheckoutLayout({
125126
const result = await updateTaxAddressAction(
126127
cart.id,
127128
cart.version,
128-
params.offeringId,
129+
resolvedParams.offeringId,
129130
{
130131
countryCode,
131132
postalCode,
132133
},
133134
session?.user?.id,
134-
params.interval
135+
resolvedParams.interval
135136
);
136137

137138
if (result.ok) {

apps/payments/next/app/[locale]/[offeringId]/[interval]/checkout/[cartId]/needs_input/page.tsx

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,35 +25,39 @@ export async function generateMetadata({
2525
params,
2626
searchParams,
2727
}: {
28-
params: CheckoutParams;
29-
searchParams: Record<string, string | string[]> | undefined;
28+
params: Promise<CheckoutParams>;
29+
searchParams: Promise<Record<string, string | string[]> | undefined>;
3030
}): Promise<Metadata> {
31+
const resolvedParams = await params;
32+
const resolvedSearchParams = await searchParams;
3133
return buildPageMetadata({
32-
params,
34+
params: resolvedParams,
3335
page: 'needs_input',
3436
pageType: 'checkout',
35-
acceptLanguage: headers().get('accept-language'),
37+
acceptLanguage: (await headers()).get('accept-language'),
3638
baseUrl: config.paymentsNextHostedUrl,
37-
searchParams,
39+
searchParams: resolvedSearchParams,
3840
});
3941
}
4042

4143
export default async function NeedsInputPage({
4244
params,
4345
searchParams,
4446
}: {
45-
params: CheckoutParams;
46-
searchParams: Record<string, string | string[]> | undefined;
47+
params: Promise<CheckoutParams>;
48+
searchParams: Promise<Record<string, string | string[]> | undefined>;
4749
}) {
48-
const { locale } = params;
49-
const acceptLanguage = headers().get('accept-language');
50+
const resolvedParams = await params;
51+
const resolvedSearchParams = await searchParams;
52+
const { locale } = resolvedParams;
53+
const acceptLanguage = (await headers()).get('accept-language');
5054
const l10n = getApp().getL10n(acceptLanguage, locale);
5155

5256
const sessionPromise = auth();
5357
const cartPromise = getCartOrRedirectAction(
54-
params.cartId,
58+
resolvedParams.cartId,
5559
SupportedPages.NEEDS_INPUT,
56-
searchParams
60+
resolvedSearchParams
5761
);
5862
const [session, cart] = await Promise.all([sessionPromise, cartPromise]);
5963

@@ -63,12 +67,12 @@ export default async function NeedsInputPage({
6367

6468
if (!session?.user?.id ||cart.uid !== session.user.id) {
6569
const redirectSearchParams: Record<string, string | string[]> =
66-
searchParams || {};
70+
resolvedSearchParams || {};
6771
delete redirectSearchParams.cartId;
6872
delete redirectSearchParams.cartVersion;
6973
const redirectTo = buildRedirectUrl(
70-
params.offeringId,
71-
params.interval,
74+
resolvedParams.offeringId,
75+
resolvedParams.interval,
7276
'new',
7377
'checkout',
7478
{
@@ -93,7 +97,7 @@ export default async function NeedsInputPage({
9397
locale={locale}
9498
cart={cart}
9599
>
96-
<PaymentInputHandler cartId={params.cartId} />
100+
<PaymentInputHandler cartId={resolvedParams.cartId} />
97101
</StripeWrapper>
98102
<h2 id="processing-payment-heading">
99103
{l10n.getString(

apps/payments/next/app/[locale]/[offeringId]/[interval]/checkout/[cartId]/processing/page.tsx

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,33 +21,37 @@ export async function generateMetadata({
2121
params,
2222
searchParams,
2323
}: {
24-
params: CheckoutParams;
25-
searchParams: Record<string, string | string[]> | undefined;
24+
params: Promise<CheckoutParams>;
25+
searchParams: Promise<Record<string, string | string[]> | undefined>;
2626
}): Promise<Metadata> {
27+
const resolvedParams = await params;
28+
const resolvedSearchParams = await searchParams;
2729
return buildPageMetadata({
28-
params,
30+
params: resolvedParams,
2931
page: 'processing',
3032
pageType: 'checkout',
31-
acceptLanguage: headers().get('accept-language'),
33+
acceptLanguage: (await headers()).get('accept-language'),
3234
baseUrl: config.paymentsNextHostedUrl,
33-
searchParams,
35+
searchParams: resolvedSearchParams,
3436
});
3537
}
3638

3739
export default async function ProcessingPage({
3840
params,
3941
searchParams,
4042
}: {
41-
params: CheckoutParams;
42-
searchParams: Record<string, string | string[]> | undefined;
43+
params: Promise<CheckoutParams>;
44+
searchParams: Promise<Record<string, string | string[]> | undefined>;
4345
}) {
44-
const { locale } = params;
45-
const acceptLanguage = headers().get('accept-language');
46+
const resolvedParams = await params;
47+
const resolvedSearchParams = await searchParams;
48+
const { locale } = resolvedParams;
49+
const acceptLanguage = (await headers()).get('accept-language');
4650
const l10n = getApp().getL10n(acceptLanguage, locale);
4751
await validateCartStateAndRedirectAction(
48-
params.cartId,
52+
resolvedParams.cartId,
4953
SupportedPages.PROCESSING,
50-
searchParams
54+
resolvedSearchParams
5155
);
5256
return (
5357
<section
@@ -56,7 +60,7 @@ export default async function ProcessingPage({
5660
aria-labelledby="processing-payment-heading"
5761
>
5862
<LoadingSpinner className="w-10 h-10" />
59-
<PaymentStateObserver cartId={params.cartId} />
63+
<PaymentStateObserver cartId={resolvedParams.cartId} />
6064
<h2 id="processing-payment-heading">
6165
{l10n.getString(
6266
'next-payment-processing-message',

apps/payments/next/app/[locale]/[offeringId]/[interval]/checkout/[cartId]/start/page.tsx

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -36,41 +36,46 @@ export async function generateMetadata({
3636
params,
3737
searchParams,
3838
}: {
39-
params: CheckoutParams;
40-
searchParams: Record<string, string | string[]> | undefined;
39+
params: Promise<CheckoutParams>;
40+
searchParams: Promise<Record<string, string | string[]> | undefined>;
4141
}): Promise<Metadata> {
42+
const resolvedParams = await params;
43+
const resolvedSearchParams = await searchParams;
4244
return buildPageMetadata({
43-
params,
45+
params: resolvedParams,
4446
page: 'start',
4547
pageType: 'checkout',
46-
acceptLanguage: headers().get('accept-language'),
48+
acceptLanguage: (await headers()).get('accept-language'),
4749
baseUrl: config.paymentsNextHostedUrl,
48-
searchParams,
50+
searchParams: resolvedSearchParams,
4951
});
5052
}
5153

5254
export default async function Checkout({
5355
params,
5456
searchParams,
5557
}: {
56-
params: CheckoutParams;
57-
searchParams: Record<string, string | string[]> | undefined;
58+
params: Promise<CheckoutParams>;
59+
searchParams: Promise<Record<string, string | string[]> | undefined>;
5860
}) {
59-
const { locale } = params;
61+
const resolvedParams = await params;
62+
const resolvedSearchParams = await searchParams;
63+
const { locale } = resolvedParams;
6064

61-
const acceptLanguage = headers().get('accept-language');
62-
const nonce = headers().get('x-nonce') || undefined;
65+
const headersList = await headers();
66+
const acceptLanguage = headersList.get('accept-language');
67+
const nonce = headersList.get('x-nonce') || undefined;
6368
const sessionPromise = auth();
6469
const l10n = getApp().getL10n(acceptLanguage, locale);
6570
const cmsDataPromise = fetchCMSData(
66-
params.offeringId,
71+
resolvedParams.offeringId,
6772
acceptLanguage,
6873
locale
6974
);
7075
const cartPromise = getCartOrRedirectAction(
71-
params.cartId,
76+
resolvedParams.cartId,
7277
SupportedPages.START,
73-
searchParams
78+
resolvedSearchParams
7479
);
7580
//TODO - Replace with cartPromise as part of FXA-8903
7681
const [session, cart, cms] = await Promise.all([
@@ -82,12 +87,12 @@ export default async function Checkout({
8287
// prevent cart and session user mismatch
8388
if (cart.uid !== session?.user?.id) {
8489
const redirectSearchParams: Record<string, string | string[]> =
85-
searchParams || {};
90+
resolvedSearchParams || {};
8691
delete redirectSearchParams.cartId;
8792
delete redirectSearchParams.cartVersion;
8893
const redirectTo = buildRedirectUrl(
89-
params.offeringId,
90-
params.interval,
94+
resolvedParams.offeringId,
95+
resolvedParams.interval,
9196
'new',
9297
'checkout',
9398
{
@@ -100,13 +105,13 @@ export default async function Checkout({
100105
}
101106

102107
const redirectSearchParams: Record<string, string | string[]> =
103-
searchParams || {};
108+
resolvedSearchParams || {};
104109
redirectSearchParams.cartId = cart.id;
105110
redirectSearchParams.cartVersion = cart.version.toString();
106111

107112
const redirectTo = buildRedirectUrl(
108-
params.offeringId,
109-
params.interval,
113+
resolvedParams.offeringId,
114+
resolvedParams.interval,
110115
'new',
111116
'checkout',
112117
{

0 commit comments

Comments
 (0)