Skip to content

Commit 4ac8a51

Browse files
feat: migrate nuqs from v1.20.0 to v2.7.2 (calcom#24514)
* feat: migrate nuqs from v1.20.0 to v2.7.2 - Update nuqs package version in apps/web/package.json - Add NuqsAdapter wrapper in root layout for App Router compatibility - Server-side imports already using correct 'nuqs/server' path - All existing parsers and usage patterns remain compatible - No breaking changes to application functionality - Fix unnecessary escape characters in fontFamily regex Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * move adapter * revert --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent 82951cd commit 4ac8a51

4 files changed

Lines changed: 47 additions & 32 deletions

File tree

apps/web/lib/app-providers-app-dir.tsx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { ThemeProvider } from "next-themes";
66
import type { AppProps as NextAppProps } from "next/app";
77
import type { ReadonlyURLSearchParams } from "next/navigation";
88
import { usePathname, useSearchParams } from "next/navigation";
9+
import { NuqsAdapter } from "nuqs/adapters/next/app";
910

1011
import DynamicPostHogProvider from "@calcom/features/ee/event-tracking/lib/posthog/providerDynamic";
1112
import { OrgBrandingProvider } from "@calcom/features/ee/organizations/context/provider";
@@ -119,15 +120,17 @@ const AppProviders = (props: PageWrapperProps) => {
119120
nonce={props.nonce}
120121
isThemeSupported={isThemeSupported}
121122
isBookingPage={props.isBookingPage || isBookingPage}>
122-
<FeatureFlagsProvider>
123-
{props.isBookingPage || isBookingPage ? (
124-
<OrgBrandProvider>{props.children}</OrgBrandProvider>
125-
) : (
126-
<DynamicIntercomProvider>
123+
<NuqsAdapter>
124+
<FeatureFlagsProvider>
125+
{props.isBookingPage || isBookingPage ? (
127126
<OrgBrandProvider>{props.children}</OrgBrandProvider>
128-
</DynamicIntercomProvider>
129-
)}
130-
</FeatureFlagsProvider>
127+
) : (
128+
<DynamicIntercomProvider>
129+
<OrgBrandProvider>{props.children}</OrgBrandProvider>
130+
</DynamicIntercomProvider>
131+
)}
132+
</FeatureFlagsProvider>
133+
</NuqsAdapter>
131134
</CalcomThemeProvider>
132135
</TooltipProvider>
133136
</EventCollectionProvider>

apps/web/lib/app-providers.tsx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import type { SSRConfig } from "next-i18next/dist/types/types";
88
import { ThemeProvider } from "next-themes";
99
import type { AppProps as NextAppProps, AppProps as NextJsAppProps } from "next/app";
1010
import dynamic from "next/dynamic";
11+
import { NuqsAdapter } from "nuqs/adapters/next/pages";
1112
import type { ParsedUrlQuery } from "querystring";
1213
import type { PropsWithChildren, ReactNode } from "react";
1314
import { useEffect } from "react";
@@ -286,15 +287,17 @@ const AppProviders = (props: AppPropsWithChildren) => {
286287
isThemeSupported={props.Component.isThemeSupported}
287288
isBookingPage={props.Component.isBookingPage || isBookingPage}
288289
router={props.router}>
289-
<FeatureFlagsProvider>
290-
{_isBookingPage ? (
291-
<OrgBrandProvider>{props.children}</OrgBrandProvider>
292-
) : (
293-
<DynamicIntercomProvider>
290+
<NuqsAdapter>
291+
<FeatureFlagsProvider>
292+
{_isBookingPage ? (
294293
<OrgBrandProvider>{props.children}</OrgBrandProvider>
295-
</DynamicIntercomProvider>
296-
)}
297-
</FeatureFlagsProvider>
294+
) : (
295+
<DynamicIntercomProvider>
296+
<OrgBrandProvider>{props.children}</OrgBrandProvider>
297+
</DynamicIntercomProvider>
298+
)}
299+
</FeatureFlagsProvider>
300+
</NuqsAdapter>
298301
</CalcomThemeProvider>
299302
</TooltipProvider>
300303
</CustomI18nextProvider>

apps/web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
"next-seo": "^6.0.0",
118118
"next-themes": "^0.2.0",
119119
"nodemailer": "^6.7.8",
120-
"nuqs": "^1.20.0",
120+
"nuqs": "^2.7.2",
121121
"openid-client": "6.5.0",
122122
"otplib": "^12.0.1",
123123
"posthog-js": "^1.164.1",

yarn.lock

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4372,7 +4372,7 @@ __metadata:
43724372
node-html-parser: ^6.1.10
43734373
node-mocks-http: ^1.11.0
43744374
nodemailer: ^6.7.8
4375-
nuqs: ^1.20.0
4375+
nuqs: ^2.7.2
43764376
openid-client: 6.5.0
43774377
otplib: ^12.0.1
43784378
postcss: ^8.4.18
@@ -16658,7 +16658,7 @@ __metadata:
1665816658
languageName: node
1665916659
linkType: hard
1666016660

16661-
"@standard-schema/spec@npm:^1.0.0":
16661+
"@standard-schema/spec@npm:1.0.0, @standard-schema/spec@npm:^1.0.0":
1666216662
version: 1.0.0
1666316663
resolution: "@standard-schema/spec@npm:1.0.0"
1666416664
checksum: 2d7d73a1c9706622750ab06fc40ef7c1d320b52d5e795f8a1c7a77d0d6a9f978705092bc4149327b3cff4c9a14e5b3800d3b00dc945489175a2d3031ded8332a
@@ -36388,13 +36388,6 @@ __metadata:
3638836388
languageName: node
3638936389
linkType: hard
3639036390

36391-
"mitt@npm:^3.0.1":
36392-
version: 3.0.1
36393-
resolution: "mitt@npm:3.0.1"
36394-
checksum: b55a489ac9c2949ab166b7f060601d3b6d893a852515ae9eca4e11df01c013876df777ea109317622b5c1c60e8aae252558e33c8c94e14124db38f64a39614b1
36395-
languageName: node
36396-
linkType: hard
36397-
3639836391
"mixpanel@npm:0.18.1":
3639936392
version: 0.18.1
3640036393
resolution: "mixpanel@npm:0.18.1"
@@ -37954,14 +37947,30 @@ __metadata:
3795437947
languageName: node
3795537948
linkType: hard
3795637949

37957-
"nuqs@npm:^1.20.0":
37958-
version: 1.20.0
37959-
resolution: "nuqs@npm:1.20.0"
37950+
"nuqs@npm:^2.7.2":
37951+
version: 2.7.2
37952+
resolution: "nuqs@npm:2.7.2"
3796037953
dependencies:
37961-
mitt: ^3.0.1
37954+
"@standard-schema/spec": 1.0.0
3796237955
peerDependencies:
37963-
next: ">=13.4 <14.0.2 || ^14.0.3"
37964-
checksum: 9b92c9c0bac2ad96fcd6337bad1cbbafc3ebf47a73adabcf3e19005c2654fc484329bf9a51b83f3547181c4c3138a7c32fc14f51b45d527f4e9784120e27f365
37956+
"@remix-run/react": ">=2"
37957+
"@tanstack/react-router": ^1
37958+
next: ">=14.2.0"
37959+
react: ">=18.2.0 || ^19.0.0-0"
37960+
react-router: ^6 || ^7
37961+
react-router-dom: ^6 || ^7
37962+
peerDependenciesMeta:
37963+
"@remix-run/react":
37964+
optional: true
37965+
"@tanstack/react-router":
37966+
optional: true
37967+
next:
37968+
optional: true
37969+
react-router:
37970+
optional: true
37971+
react-router-dom:
37972+
optional: true
37973+
checksum: b6735af6841da60029bd882787536db8db3855a9fd25b1d55e37faf033da45fae8b256ba03d6b972f44dbfb9dc205e2b93ef2f339bc9ac842e6508de6e29d016
3796537974
languageName: node
3796637975
linkType: hard
3796737976

0 commit comments

Comments
 (0)