Merged in feat/sw-2859-set-up-shared-trpc-package (pull request #2319)

feat(SW-2859): Create trpc package

* Add isEdge, safeTry and dataCache to new common package

* Add eslint and move prettier config

* Clean up tests

* Create trpc package and move initialization

* Move errors and a few procedures

* Move telemetry to common package

* Move tokenManager to common package

* Add Sentry to procedures

* Clean up procedures

* Fix self-referencing imports

* Add exports to packages and lint rule to prevent relative imports

* Add env to trpc package

* Add eslint to trpc package

* Apply lint rules

* Use direct imports from trpc package

* Add lint-staged config to trpc

* Move lang enum to common

* Restructure trpc package folder structure

* Fix lang imports


Approved-by: Linus Flood
This commit is contained in:
Anton Gunnarsson
2025-06-18 12:14:20 +00:00
parent 2f38bdf0b1
commit 846fd904a6
211 changed files with 989 additions and 627 deletions

View File

@@ -1,4 +1,5 @@
import { Lang } from "@/constants/languages"
import { Lang } from "@scandic-hotels/common/constants/language"
import { profile } from "@/constants/routes/myPages"
import { serverClient } from "@/lib/trpc/server"
import { getPublicURL } from "@/server/utils"

View File

@@ -2,9 +2,9 @@ import { revalidateTag } from "next/cache"
import { headers } from "next/headers"
import { z } from "zod"
import { Lang } from "@scandic-hotels/common/constants/language"
import { getCacheClient } from "@scandic-hotels/common/dataCache"
import { Lang } from "@/constants/languages"
import { env } from "@/env/server"
import { badRequest, internalServerError, notFound } from "@/server/errors/next"

View File

@@ -2,9 +2,9 @@ import { revalidateTag } from "next/cache"
import { headers } from "next/headers"
import { z } from "zod"
import { Lang } from "@scandic-hotels/common/constants/language"
import { getCacheClient } from "@scandic-hotels/common/dataCache"
import { Lang } from "@/constants/languages"
import { env } from "@/env/server"
import { badRequest, internalServerError, notFound } from "@/server/errors/next"

View File

@@ -8,7 +8,7 @@ import { badRequest, internalServerError } from "@/server/errors/next"
import { generateTag } from "@/utils/generateTag"
import type { Lang } from "@/constants/languages"
import type { Lang } from "@scandic-hotels/common/constants/language"
// This file is primarily to be used locally to test
// purging your cache for new (and old) requests

View File

@@ -2,9 +2,9 @@ import { revalidateTag } from "next/cache"
import { headers } from "next/headers"
import { z } from "zod"
import { Lang } from "@scandic-hotels/common/constants/language"
import { getCacheClient } from "@scandic-hotels/common/dataCache"
import { Lang } from "@/constants/languages"
import { env } from "@/env/server"
import { badRequest, internalServerError } from "@/server/errors/next"
import { affix as breadcrumbsAffix } from "@/server/routers/contentstack/breadcrumbs/utils"

View File

@@ -1,8 +1,9 @@
import { type NextRequest, NextResponse } from "next/server"
import { createCounter } from "@scandic-hotels/common/telemetry"
import { env } from "@/env/server"
import { dt } from "@/lib/dt"
import { createCounter } from "@/server/telemetry"
import {
getEntries,

View File

@@ -1,7 +1,8 @@
import { Region, Stack } from "contentstack"
import { createCounter } from "@scandic-hotels/common/telemetry"
import { env } from "@/env/server"
import { createCounter } from "@/server/telemetry"
import type { SyncResponse } from "@/types/sitemap"

View File

@@ -1,10 +1,12 @@
import { createCounter } from "@scandic-hotels/common/telemetry"
import { env } from "@/env/server"
import { createCounter } from "@/server/telemetry"
import { removeTrailingSlash } from "@/utils/url"
import type { Lang } from "@scandic-hotels/common/constants/language"
import type { SyncItem } from "@/types/sitemap"
import type { Lang } from "@/constants/languages"
export function mergeEntries(
currentEntries: SyncItem[],

View File

@@ -1,11 +1,11 @@
import { fetchRequestHandler } from "@trpc/server/adapters/fetch"
import { createAppContext } from "@/lib/trpc/server"
import { appRouter } from "@/server"
import { createContext } from "@/server/context"
async function handler(req: Request) {
return fetchRequestHandler({
createContext,
createContext: createAppContext,
endpoint: "/api/web/trpc",
req,
router: appRouter,