Merged in feat/common-package (pull request #2333)
feat: Add common package * Add isEdge, safeTry and dataCache to new common package * Add eslint and move prettier config * Fix yarn lock * Clean up tests * Add lint-staged config to common * Add missing dependencies Approved-by: Joakim Jäderberg
This commit is contained in:
@@ -2,11 +2,11 @@ import { cookies } from "next/headers"
|
|||||||
import { redirect } from "next/navigation"
|
import { redirect } from "next/navigation"
|
||||||
import { z } from "zod"
|
import { z } from "zod"
|
||||||
|
|
||||||
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
import { serverClient } from "@/lib/trpc/server"
|
import { serverClient } from "@/lib/trpc/server"
|
||||||
|
|
||||||
import { safeTry } from "@/utils/safeTry"
|
|
||||||
|
|
||||||
import { SAS_TOKEN_STORAGE_KEY, stateSchema } from "../sasUtils"
|
import { SAS_TOKEN_STORAGE_KEY, stateSchema } from "../sasUtils"
|
||||||
|
|
||||||
import type { NextRequest } from "next/server"
|
import type { NextRequest } from "next/server"
|
||||||
|
|||||||
@@ -2,11 +2,12 @@ import { cookies } from "next/headers"
|
|||||||
import { redirect } from "next/navigation"
|
import { redirect } from "next/navigation"
|
||||||
import { z } from "zod"
|
import { z } from "zod"
|
||||||
|
|
||||||
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import { myPages } from "@/constants/routes/myPages"
|
import { myPages } from "@/constants/routes/myPages"
|
||||||
import { serverClient } from "@/lib/trpc/server"
|
import { serverClient } from "@/lib/trpc/server"
|
||||||
|
|
||||||
import { getIntl } from "@/i18n"
|
import { getIntl } from "@/i18n"
|
||||||
import { safeTry } from "@/utils/safeTry"
|
|
||||||
|
|
||||||
import { SAS_TOKEN_STORAGE_KEY, SAS_TRANSFER_POINT_KEY } from "../sasUtils"
|
import { SAS_TOKEN_STORAGE_KEY, SAS_TRANSFER_POINT_KEY } from "../sasUtils"
|
||||||
import OneTimePasswordForm, {
|
import OneTimePasswordForm, {
|
||||||
|
|||||||
@@ -2,11 +2,12 @@ import { revalidateTag } from "next/cache"
|
|||||||
import { headers } from "next/headers"
|
import { headers } from "next/headers"
|
||||||
import { z } from "zod"
|
import { z } from "zod"
|
||||||
|
|
||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import { Lang } from "@/constants/languages"
|
import { Lang } from "@/constants/languages"
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
import { badRequest, internalServerError, notFound } from "@/server/errors/next"
|
import { badRequest, internalServerError, notFound } from "@/server/errors/next"
|
||||||
|
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
import { generateHotelUrlTag } from "@/utils/generateTag"
|
import { generateHotelUrlTag } from "@/utils/generateTag"
|
||||||
|
|
||||||
import type { NextRequest } from "next/server"
|
import type { NextRequest } from "next/server"
|
||||||
|
|||||||
@@ -2,11 +2,12 @@ import { revalidateTag } from "next/cache"
|
|||||||
import { headers } from "next/headers"
|
import { headers } from "next/headers"
|
||||||
import { z } from "zod"
|
import { z } from "zod"
|
||||||
|
|
||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import { Lang } from "@/constants/languages"
|
import { Lang } from "@/constants/languages"
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
import { badRequest, internalServerError, notFound } from "@/server/errors/next"
|
import { badRequest, internalServerError, notFound } from "@/server/errors/next"
|
||||||
|
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
import { generateLoyaltyConfigTag } from "@/utils/generateTag"
|
import { generateLoyaltyConfigTag } from "@/utils/generateTag"
|
||||||
|
|
||||||
import type { NextRequest } from "next/server"
|
import type { NextRequest } from "next/server"
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import { revalidateTag } from "next/cache"
|
import { revalidateTag } from "next/cache"
|
||||||
import { headers } from "next/headers"
|
import { headers } from "next/headers"
|
||||||
|
|
||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
import { badRequest, internalServerError } from "@/server/errors/next"
|
import { badRequest, internalServerError } from "@/server/errors/next"
|
||||||
|
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
import { generateTag } from "@/utils/generateTag"
|
import { generateTag } from "@/utils/generateTag"
|
||||||
|
|
||||||
import type { Lang } from "@/constants/languages"
|
import type { Lang } from "@/constants/languages"
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ import { revalidateTag } from "next/cache"
|
|||||||
import { headers } from "next/headers"
|
import { headers } from "next/headers"
|
||||||
import { z } from "zod"
|
import { z } from "zod"
|
||||||
|
|
||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import { Lang } from "@/constants/languages"
|
import { Lang } from "@/constants/languages"
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
import { badRequest, internalServerError } from "@/server/errors/next"
|
import { badRequest, internalServerError } from "@/server/errors/next"
|
||||||
@@ -10,7 +12,6 @@ import { languageSwitcherAffix } from "@/server/routers/contentstack/languageSwi
|
|||||||
import { affix as metadataAffix } from "@/server/routers/contentstack/metadata/utils"
|
import { affix as metadataAffix } from "@/server/routers/contentstack/metadata/utils"
|
||||||
import { affix as pageSettingsAffix } from "@/server/routers/contentstack/pageSettings/utils"
|
import { affix as pageSettingsAffix } from "@/server/routers/contentstack/pageSettings/utils"
|
||||||
|
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
import {
|
import {
|
||||||
generateRefsResponseTag,
|
generateRefsResponseTag,
|
||||||
generateRefTag,
|
generateRefTag,
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import { notFound } from "next/navigation"
|
import { notFound } from "next/navigation"
|
||||||
import { Suspense } from "react"
|
import { Suspense } from "react"
|
||||||
|
|
||||||
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getHotel,
|
getHotel,
|
||||||
getHotelPage,
|
getHotelPage,
|
||||||
@@ -16,7 +18,6 @@ import { getIntl } from "@/i18n"
|
|||||||
import { getLang } from "@/i18n/serverContext"
|
import { getLang } from "@/i18n/serverContext"
|
||||||
import { setFacilityCards } from "@/utils/facilityCards"
|
import { setFacilityCards } from "@/utils/facilityCards"
|
||||||
import { generateHotelSchema } from "@/utils/jsonSchemas"
|
import { generateHotelSchema } from "@/utils/jsonSchemas"
|
||||||
import { safeTry } from "@/utils/safeTry"
|
|
||||||
|
|
||||||
import MapCard from "./Map/MapCard"
|
import MapCard from "./Map/MapCard"
|
||||||
import MapWithCardWrapper from "./Map/MapWithCard"
|
import MapWithCardWrapper from "./Map/MapWithCard"
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
import { Typography } from "@scandic-hotels/design-system/Typography"
|
import { Typography } from "@scandic-hotels/design-system/Typography"
|
||||||
|
|
||||||
import { getMeetingRooms } from "@/lib/trpc/memoizedRequests"
|
import { getMeetingRooms } from "@/lib/trpc/memoizedRequests"
|
||||||
@@ -7,7 +8,6 @@ import StickyMeetingPackageWidget from "@/components/StickyMeetingPackageWidget"
|
|||||||
import Divider from "@/components/TempDesignSystem/Divider"
|
import Divider from "@/components/TempDesignSystem/Divider"
|
||||||
import { getIntl } from "@/i18n"
|
import { getIntl } from "@/i18n"
|
||||||
import { getLang } from "@/i18n/serverContext"
|
import { getLang } from "@/i18n/serverContext"
|
||||||
import { safeTry } from "@/utils/safeTry"
|
|
||||||
|
|
||||||
import HeroHeader from "../HeroHeader"
|
import HeroHeader from "../HeroHeader"
|
||||||
import HtmlContent from "../HtmlContent"
|
import HtmlContent from "../HtmlContent"
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
import { notFound } from "next/navigation"
|
import { notFound } from "next/navigation"
|
||||||
|
|
||||||
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
import { getCityCoordinates } from "@/lib/trpc/memoizedRequests"
|
import { getCityCoordinates } from "@/lib/trpc/memoizedRequests"
|
||||||
|
|
||||||
import TrackingSDK from "@/components/TrackingSDK"
|
import TrackingSDK from "@/components/TrackingSDK"
|
||||||
import { getLang } from "@/i18n/serverContext"
|
import { getLang } from "@/i18n/serverContext"
|
||||||
import { getHotelSearchDetails } from "@/utils/hotelSearchDetails"
|
import { getHotelSearchDetails } from "@/utils/hotelSearchDetails"
|
||||||
import { safeTry } from "@/utils/safeTry"
|
|
||||||
|
|
||||||
import { getHotelPins } from "../../HotelCardDialogListing/utils"
|
import { getHotelPins } from "../../HotelCardDialogListing/utils"
|
||||||
import { getFiltersFromHotels, getHotels } from "../helpers"
|
import { getFiltersFromHotels, getHotels } from "../helpers"
|
||||||
|
|||||||
1
apps/scandic-web/global.d.ts
vendored
Normal file
1
apps/scandic-web/global.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
import "@scandic-hotels/common/global.d.ts"
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
import * as Sentry from "@sentry/nextjs"
|
import * as Sentry from "@sentry/nextjs"
|
||||||
|
|
||||||
|
import { isEdge } from "@scandic-hotels/common/utils/isEdge"
|
||||||
|
|
||||||
import { env } from "./env/server"
|
import { env } from "./env/server"
|
||||||
import { isEdge } from "./utils/isEdge"
|
|
||||||
|
|
||||||
export async function register() {
|
export async function register() {
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ import { arrayMerge } from "@/utils/merge"
|
|||||||
|
|
||||||
import { request } from "./request"
|
import { request } from "./request"
|
||||||
|
|
||||||
|
import type { CacheTime } from "@scandic-hotels/common/dataCache"
|
||||||
import type { BatchRequestDocument } from "graphql-request"
|
import type { BatchRequestDocument } from "graphql-request"
|
||||||
|
|
||||||
import type { Data } from "@/types/request"
|
import type { Data } from "@/types/request"
|
||||||
import type { CacheTime } from "@/services/dataCache"
|
|
||||||
|
|
||||||
export async function batchRequest<T>(
|
export async function batchRequest<T>(
|
||||||
queries: (BatchRequestDocument & {
|
queries: (BatchRequestDocument & {
|
||||||
|
|||||||
@@ -3,11 +3,14 @@ import { GraphQLClient } from "graphql-request"
|
|||||||
import stringify from "json-stable-stringify-without-jsonify"
|
import stringify from "json-stable-stringify-without-jsonify"
|
||||||
import { cache as reactCache } from "react"
|
import { cache as reactCache } from "react"
|
||||||
|
|
||||||
|
import {
|
||||||
|
type CacheTime,
|
||||||
|
getCacheClient,
|
||||||
|
} from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
import { getPreviewHash, isPreviewByUid } from "@/lib/previewContext"
|
import { getPreviewHash, isPreviewByUid } from "@/lib/previewContext"
|
||||||
|
|
||||||
import { type CacheTime, getCacheClient } from "@/services/dataCache"
|
|
||||||
|
|
||||||
import { request as _request } from "./_request"
|
import { request as _request } from "./_request"
|
||||||
import { getOperationName } from "./getOperationName"
|
import { getOperationName } from "./getOperationName"
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import { type NextMiddleware, NextResponse } from "next/server"
|
import { type NextMiddleware, NextResponse } from "next/server"
|
||||||
|
|
||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import { notFound } from "@/server/errors/next"
|
import { notFound } from "@/server/errors/next"
|
||||||
import { getPublicNextURL } from "@/server/utils"
|
import { getPublicNextURL } from "@/server/utils"
|
||||||
|
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
import { findLang } from "@/utils/languages"
|
import { findLang } from "@/utils/languages"
|
||||||
|
|
||||||
import { getDefaultRequestHeaders } from "./utils"
|
import { getDefaultRequestHeaders } from "./utils"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
type WarmupFunctionsKey,
|
type WarmupFunctionsKey,
|
||||||
warmupKeys,
|
warmupKeys,
|
||||||
} from "@/services/warmup/warmupKeys"
|
} from "@/services/warmup/warmupKeys"
|
||||||
import { safeTry } from "@/utils/safeTry"
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
import { timeout } from "@/utils/timeout"
|
import { timeout } from "@/utils/timeout"
|
||||||
|
|
||||||
import type { Config, Context } from "@netlify/functions"
|
import type { Config, Context } from "@netlify/functions"
|
||||||
|
|||||||
@@ -119,6 +119,7 @@
|
|||||||
"@eslint/js": "^9.26.0",
|
"@eslint/js": "^9.26.0",
|
||||||
"@formatjs/cli": "^6.7.1",
|
"@formatjs/cli": "^6.7.1",
|
||||||
"@lokalise/node-api": "^14.0.0",
|
"@lokalise/node-api": "^14.0.0",
|
||||||
|
"@scandic-hotels/common": "workspace:*",
|
||||||
"@scandic-hotels/typescript-config": "workspace:*",
|
"@scandic-hotels/typescript-config": "workspace:*",
|
||||||
"@svgr/webpack": "^8.1.0",
|
"@svgr/webpack": "^8.1.0",
|
||||||
"@testing-library/jest-dom": "^6.6.3",
|
"@testing-library/jest-dom": "^6.6.3",
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import { z } from "zod"
|
import { z } from "zod"
|
||||||
|
|
||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import { Lang } from "@/constants/languages"
|
import { Lang } from "@/constants/languages"
|
||||||
import { safeProtectedServiceProcedure } from "@/server/trpc"
|
import { safeProtectedServiceProcedure } from "@/server/trpc"
|
||||||
import { isDefined } from "@/server/utils"
|
import { isDefined } from "@/server/utils"
|
||||||
|
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
import { safeTry } from "@/utils/safeTry"
|
|
||||||
|
|
||||||
import { getCityPageUrls } from "../contentstack/destinationCityPage/utils"
|
import { getCityPageUrls } from "../contentstack/destinationCityPage/utils"
|
||||||
import { getCountryPageUrls } from "../contentstack/destinationCountryPage/utils"
|
import { getCountryPageUrls } from "../contentstack/destinationCountryPage/utils"
|
||||||
import { getHotelPageUrls } from "../contentstack/hotelPage/utils"
|
import { getHotelPageUrls } from "../contentstack/hotelPage/utils"
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import { Lang } from "@/constants/languages"
|
import { Lang } from "@/constants/languages"
|
||||||
import {
|
import {
|
||||||
GetDestinationOverviewPage,
|
GetDestinationOverviewPage,
|
||||||
@@ -13,7 +15,6 @@ import {
|
|||||||
} from "@/server/trpc"
|
} from "@/server/trpc"
|
||||||
|
|
||||||
import { generateRefsResponseTag, generateTag } from "@/utils/generateTag"
|
import { generateRefsResponseTag, generateTag } from "@/utils/generateTag"
|
||||||
import { safeTry } from "@/utils/safeTry"
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getCitiesByCountry,
|
getCitiesByCountry,
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import * as api from "@/lib/api"
|
import * as api from "@/lib/api"
|
||||||
import {
|
import {
|
||||||
GetRewards as GetRewards,
|
GetRewards as GetRewards,
|
||||||
@@ -7,7 +9,6 @@ import { request } from "@/lib/graphql/request"
|
|||||||
import { notFound } from "@/server/errors/trpc"
|
import { notFound } from "@/server/errors/trpc"
|
||||||
import { createCounter } from "@/server/telemetry"
|
import { createCounter } from "@/server/telemetry"
|
||||||
|
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
import {
|
import {
|
||||||
generateLoyaltyConfigTag,
|
generateLoyaltyConfigTag,
|
||||||
generateRefsResponseTag,
|
generateRefsResponseTag,
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import { REDEMPTION } from "@/constants/booking"
|
import { REDEMPTION } from "@/constants/booking"
|
||||||
import { Lang } from "@/constants/languages"
|
import { Lang } from "@/constants/languages"
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
@@ -16,8 +18,6 @@ import {
|
|||||||
} from "@/server/trpc"
|
} from "@/server/trpc"
|
||||||
import { toApiLang } from "@/server/utils"
|
import { toApiLang } from "@/server/utils"
|
||||||
|
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
|
|
||||||
import { getHotelPageUrls } from "../contentstack/hotelPage/utils"
|
import { getHotelPageUrls } from "../contentstack/hotelPage/utils"
|
||||||
import { additionalDataSchema } from "./schemas/hotel/include/additionalData"
|
import { additionalDataSchema } from "./schemas/hotel/include/additionalData"
|
||||||
import { meetingRoomsSchema } from "./schemas/meetingRoom"
|
import { meetingRoomsSchema } from "./schemas/meetingRoom"
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import deepmerge from "deepmerge"
|
import deepmerge from "deepmerge"
|
||||||
import stringify from "json-stable-stringify-without-jsonify"
|
import stringify from "json-stable-stringify-without-jsonify"
|
||||||
|
|
||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import { BookingErrorCodeEnum, REDEMPTION } from "@/constants/booking"
|
import { BookingErrorCodeEnum, REDEMPTION } from "@/constants/booking"
|
||||||
import { Lang } from "@/constants/languages"
|
import { Lang } from "@/constants/languages"
|
||||||
import { selectRate } from "@/constants/routes/hotelReservation"
|
import { selectRate } from "@/constants/routes/hotelReservation"
|
||||||
@@ -11,7 +13,6 @@ import { createCounter } from "@/server/telemetry"
|
|||||||
import { toApiLang } from "@/server/utils"
|
import { toApiLang } from "@/server/utils"
|
||||||
|
|
||||||
import { generateChildrenString } from "@/components/HotelReservation/utils"
|
import { generateChildrenString } from "@/components/HotelReservation/utils"
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
import { cache } from "@/utils/cache"
|
import { cache } from "@/utils/cache"
|
||||||
import { chunk } from "@/utils/chunk"
|
import { chunk } from "@/utils/chunk"
|
||||||
import { sortRoomConfigs } from "@/utils/sort"
|
import { sortRoomConfigs } from "@/utils/sort"
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import { cache } from "react"
|
import { cache } from "react"
|
||||||
|
|
||||||
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import * as routes from "@/constants/routes/myPages"
|
import * as routes from "@/constants/routes/myPages"
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
|
|
||||||
import { getIntl } from "@/i18n"
|
import { getIntl } from "@/i18n"
|
||||||
import { safeTry } from "@/utils/safeTry"
|
|
||||||
import { getEurobonusMembership } from "@/utils/user"
|
import { getEurobonusMembership } from "@/utils/user"
|
||||||
|
|
||||||
import type { UserLoyalty } from "@/types/user"
|
import type { UserLoyalty } from "@/types/user"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import { createCounter } from "@/server/telemetry"
|
import { createCounter } from "@/server/telemetry"
|
||||||
import { publicProcedure, router } from "@/server/trpc"
|
import { publicProcedure, router } from "@/server/trpc"
|
||||||
|
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
|
|
||||||
import { jobylonFeedSchema } from "./output"
|
import { jobylonFeedSchema } from "./output"
|
||||||
|
|
||||||
export const TWENTYFOUR_HOURS = 60 * 60 * 24
|
export const TWENTYFOUR_HOURS = 60 * 60 * 24
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { trace, type Tracer } from "@opentelemetry/api"
|
import { trace, type Tracer } from "@opentelemetry/api"
|
||||||
|
|
||||||
|
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||||
|
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
import { createCounter } from "@/server/telemetry"
|
import { createCounter } from "@/server/telemetry"
|
||||||
|
|
||||||
import { getCacheClient } from "@/services/dataCache"
|
|
||||||
|
|
||||||
import type { ServiceTokenResponse } from "@/types/tokens"
|
import type { ServiceTokenResponse } from "@/types/tokens"
|
||||||
|
|
||||||
export async function getServiceToken() {
|
export async function getServiceToken() {
|
||||||
|
|||||||
@@ -1,102 +0,0 @@
|
|||||||
import { describe, expect, it, jest } from "@jest/globals"
|
|
||||||
|
|
||||||
jest.doMock("@/env/server", () => ({
|
|
||||||
env: {
|
|
||||||
NODE_ENV: "test",
|
|
||||||
},
|
|
||||||
}))
|
|
||||||
|
|
||||||
const { env } = require("@/env/server")
|
|
||||||
const { getPrefix } = require("./getPrefix")
|
|
||||||
|
|
||||||
const mockedEnv = env as { BRANCH: string; GIT_SHA: string }
|
|
||||||
|
|
||||||
describe("getPrefix", () => {
|
|
||||||
const OLD_ENV = process.env
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
jest.resetModules()
|
|
||||||
})
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
process.env = OLD_ENV
|
|
||||||
})
|
|
||||||
|
|
||||||
it.each([
|
|
||||||
"prod",
|
|
||||||
"production",
|
|
||||||
"release",
|
|
||||||
"release-v1",
|
|
||||||
"release-v2",
|
|
||||||
"release-v2-alpha",
|
|
||||||
"release-v2.1-alpha",
|
|
||||||
"release-v2.1.2-alpha",
|
|
||||||
])(
|
|
||||||
"should return gitsha for production branches when name is '%s'",
|
|
||||||
(branchName: string) => {
|
|
||||||
mockedEnv.BRANCH = branchName
|
|
||||||
mockedEnv.GIT_SHA = "gitsha"
|
|
||||||
|
|
||||||
const result = getPrefix()
|
|
||||||
|
|
||||||
expect(result).toBe("gitsha")
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
it.each([
|
|
||||||
"fix/stuff",
|
|
||||||
"feat/my-feature",
|
|
||||||
"feature/my-feature",
|
|
||||||
"releasee",
|
|
||||||
"release-vA",
|
|
||||||
"FEAT",
|
|
||||||
])(
|
|
||||||
"should return branch name and gitsha for non-production branches when name is '%s'",
|
|
||||||
(branchName: string) => {
|
|
||||||
mockedEnv.BRANCH = branchName
|
|
||||||
mockedEnv.GIT_SHA = "gitsha"
|
|
||||||
|
|
||||||
const result = getPrefix()
|
|
||||||
|
|
||||||
expect(result).toBe(`${mockedEnv.BRANCH}:${mockedEnv.GIT_SHA}`)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
it("should throw if BRANCH and/or GIT_SHA is not set", () => {
|
|
||||||
mockedEnv.BRANCH = ""
|
|
||||||
mockedEnv.GIT_SHA = ""
|
|
||||||
|
|
||||||
expect(getPrefix).toThrow(
|
|
||||||
"Unable to getPrefix, BRANCH and GIT_SHA must be set"
|
|
||||||
)
|
|
||||||
|
|
||||||
mockedEnv.BRANCH = "hasBranch"
|
|
||||||
mockedEnv.GIT_SHA = ""
|
|
||||||
|
|
||||||
expect(getPrefix).toThrow("Unable to getPrefix, GIT_SHA must be set")
|
|
||||||
|
|
||||||
mockedEnv.BRANCH = ""
|
|
||||||
mockedEnv.GIT_SHA = "hasGitSha"
|
|
||||||
|
|
||||||
expect(getPrefix).toThrow("Unable to getPrefix, BRANCH must be set")
|
|
||||||
})
|
|
||||||
|
|
||||||
it("should return dev or local user if running locally", () => {
|
|
||||||
;(process.env.NODE_ENV as any) = "development"
|
|
||||||
|
|
||||||
process.env.USER = "test_user"
|
|
||||||
process.env.USERNAME = "test_username"
|
|
||||||
|
|
||||||
mockedEnv.BRANCH = ""
|
|
||||||
mockedEnv.GIT_SHA = ""
|
|
||||||
|
|
||||||
expect(getPrefix()).toBe("test_user")
|
|
||||||
|
|
||||||
process.env.USER = ""
|
|
||||||
|
|
||||||
expect(getPrefix()).toBe("test_username")
|
|
||||||
|
|
||||||
process.env.USERNAME = ""
|
|
||||||
expect(getPrefix()).toBe("dev")
|
|
||||||
})
|
|
||||||
})
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import { Lang } from "@/constants/languages"
|
import { Lang } from "@/constants/languages"
|
||||||
import {
|
import {
|
||||||
getCountries,
|
getCountries,
|
||||||
@@ -5,8 +7,6 @@ import {
|
|||||||
} from "@/server/routers/hotels/utils"
|
} from "@/server/routers/hotels/utils"
|
||||||
import { getServiceToken } from "@/server/tokenManager"
|
import { getServiceToken } from "@/server/tokenManager"
|
||||||
|
|
||||||
import { safeTry } from "@/utils/safeTry"
|
|
||||||
|
|
||||||
import type { WarmupFunction, WarmupResult } from "."
|
import type { WarmupFunction, WarmupResult } from "."
|
||||||
|
|
||||||
export const warmupHotelIdsByCountry =
|
export const warmupHotelIdsByCountry =
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import { notFound } from "next/navigation"
|
import { notFound } from "next/navigation"
|
||||||
|
|
||||||
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import { REDEMPTION } from "@/constants/booking"
|
import { REDEMPTION } from "@/constants/booking"
|
||||||
import { getLocations } from "@/lib/trpc/memoizedRequests"
|
import { getLocations } from "@/lib/trpc/memoizedRequests"
|
||||||
|
|
||||||
import { generateChildrenString } from "@/components/HotelReservation/utils"
|
import { generateChildrenString } from "@/components/HotelReservation/utils"
|
||||||
import { safeTry } from "@/utils/safeTry"
|
|
||||||
|
|
||||||
import type { BookingSearchType } from "@/types/components/hotelReservation/booking"
|
import type { BookingSearchType } from "@/types/components/hotelReservation/booking"
|
||||||
import type { Child } from "@/types/components/hotelReservation/selectRate/selectRate"
|
import type { Child } from "@/types/components/hotelReservation/selectRate/selectRate"
|
||||||
|
|||||||
@@ -9,7 +9,8 @@
|
|||||||
"dev:ds": "turbo run dev --filter=@scandic-hotels/design-system --output-logs new-only",
|
"dev:ds": "turbo run dev --filter=@scandic-hotels/design-system --output-logs new-only",
|
||||||
"test": "turbo run test",
|
"test": "turbo run test",
|
||||||
"postinstall": "husky",
|
"postinstall": "husky",
|
||||||
"icons:update": "node scripts/material-symbols-update.mjs"
|
"icons:update": "node scripts/material-symbols-update.mjs",
|
||||||
|
"check-types": "turbo run check-types"
|
||||||
},
|
},
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"apps/*",
|
"apps/*",
|
||||||
|
|||||||
2
packages/common/.env.test
Normal file
2
packages/common/.env.test
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
NODE_ENV="development"
|
||||||
|
BRANCH="test"
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
import { type CacheTime, type DataCache } from "@/services/dataCache/Cache"
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
type CacheOrGetOptions,
|
type CacheOrGetOptions,
|
||||||
shouldGetFromCache,
|
shouldGetFromCache,
|
||||||
@@ -9,6 +7,8 @@ import { generateCacheKey } from "./generateCacheKey"
|
|||||||
import { get } from "./get"
|
import { get } from "./get"
|
||||||
import { set } from "./set"
|
import { set } from "./set"
|
||||||
|
|
||||||
|
import type { CacheTime, DataCache } from "../Cache"
|
||||||
|
|
||||||
export const cacheOrGet: DataCache["cacheOrGet"] = async <T>(
|
export const cacheOrGet: DataCache["cacheOrGet"] = async <T>(
|
||||||
key: string | string[],
|
key: string | string[],
|
||||||
callback: (overrideTTL: (cacheTime: CacheTime) => void) => Promise<T>,
|
callback: (overrideTTL: (cacheTime: CacheTime) => void) => Promise<T>,
|
||||||
@@ -1,11 +1,10 @@
|
|||||||
import { env } from "@/env/server"
|
import { env } from "../../env/server"
|
||||||
|
|
||||||
import { cacheOrGet } from "./cacheOrGet"
|
import { cacheOrGet } from "./cacheOrGet"
|
||||||
import { deleteKey } from "./deleteKey"
|
import { deleteKey } from "./deleteKey"
|
||||||
import { get } from "./get"
|
import { get } from "./get"
|
||||||
import { set } from "./set"
|
import { set } from "./set"
|
||||||
|
|
||||||
import type { DataCache } from "@/services/dataCache/Cache"
|
import type { DataCache } from "../Cache"
|
||||||
|
|
||||||
export const API_KEY = env.REDIS_API_KEY ?? ""
|
export const API_KEY = env.REDIS_API_KEY ?? ""
|
||||||
export async function createDistributedCache(): Promise<DataCache> {
|
export async function createDistributedCache(): Promise<DataCache> {
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import * as Sentry from "@sentry/nextjs"
|
import * as Sentry from "@sentry/nextjs"
|
||||||
|
|
||||||
import { safeTry } from "@/utils/safeTry"
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import { cacheLogger } from "../logger"
|
import { cacheLogger } from "../logger"
|
||||||
import { API_KEY } from "./client"
|
import { API_KEY } from "./client"
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import { env } from "@/env/server"
|
import { env } from "../../env/server"
|
||||||
|
|
||||||
export function getCacheEndpoint(key: string) {
|
export function getCacheEndpoint(key: string) {
|
||||||
if (!env.REDIS_API_HOST) {
|
if (!env.REDIS_API_HOST) {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import { describe, expect, it } from "@jest/globals"
|
import { describe, expect, it } from "vitest"
|
||||||
|
|
||||||
import { getBranchPrefix } from "./getBranchPrefix"
|
import { getBranchPrefix } from "./getBranchPrefix"
|
||||||
|
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"
|
||||||
|
|
||||||
|
vi.mock("@/env/server", () => ({
|
||||||
|
env: {
|
||||||
|
NODE_ENV: "test",
|
||||||
|
},
|
||||||
|
}))
|
||||||
|
|
||||||
|
import { env } from "../../../env/server"
|
||||||
|
import { getPrefix } from "./getPrefix"
|
||||||
|
|
||||||
|
const mockedEnv = env as { BRANCH: string; GIT_SHA: string }
|
||||||
|
|
||||||
|
describe("getPrefix", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
vi.resetModules()
|
||||||
|
})
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
vi.unstubAllEnvs()
|
||||||
|
})
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
"prod",
|
||||||
|
"production",
|
||||||
|
"release",
|
||||||
|
"release-v1",
|
||||||
|
"release-v2",
|
||||||
|
"release-v2-alpha",
|
||||||
|
"release-v2.1-alpha",
|
||||||
|
"release-v2.1.2-alpha",
|
||||||
|
])(
|
||||||
|
"should return gitsha for production branches when name is '%s'",
|
||||||
|
(branchName: string) => {
|
||||||
|
mockedEnv.BRANCH = branchName
|
||||||
|
mockedEnv.GIT_SHA = "gitsha"
|
||||||
|
|
||||||
|
const result = getPrefix({
|
||||||
|
includeGitHashInKey: true,
|
||||||
|
includeBranchPrefix: true,
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(result).toBe("gitsha")
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
"fix/stuff",
|
||||||
|
"feat/my-feature",
|
||||||
|
"feature/my-feature",
|
||||||
|
"releasee",
|
||||||
|
"release-vA",
|
||||||
|
"FEAT",
|
||||||
|
])(
|
||||||
|
"should return branch name and gitsha for non-production branches when name is '%s'",
|
||||||
|
(branchName: string) => {
|
||||||
|
mockedEnv.BRANCH = branchName
|
||||||
|
mockedEnv.GIT_SHA = "gitsha"
|
||||||
|
|
||||||
|
const result = getPrefix({
|
||||||
|
includeGitHashInKey: true,
|
||||||
|
includeBranchPrefix: true,
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(result).toBe(`${"gitsha"}:${branchName}`)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
it("should throw if BRANCH and/or GIT_SHA is not set", () => {
|
||||||
|
mockedEnv.BRANCH = "hasBranch"
|
||||||
|
mockedEnv.GIT_SHA = ""
|
||||||
|
|
||||||
|
expect(() =>
|
||||||
|
getPrefix({
|
||||||
|
includeBranchPrefix: true,
|
||||||
|
includeGitHashInKey: true,
|
||||||
|
})
|
||||||
|
).toThrow("Unable to getPrefix, GIT_SHA must be set")
|
||||||
|
|
||||||
|
mockedEnv.BRANCH = ""
|
||||||
|
mockedEnv.GIT_SHA = "hasGitSha"
|
||||||
|
|
||||||
|
expect(() =>
|
||||||
|
getPrefix({
|
||||||
|
includeBranchPrefix: true,
|
||||||
|
includeGitHashInKey: true,
|
||||||
|
})
|
||||||
|
).toThrow("Unable to getPrefix, BRANCH must be set")
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should return dev or local user if running locally", () => {
|
||||||
|
vi.stubEnv("NODE_ENV", "development")
|
||||||
|
vi.stubEnv("USER", "test_user")
|
||||||
|
vi.stubEnv("USERNAME", "test_username")
|
||||||
|
|
||||||
|
mockedEnv.BRANCH = ""
|
||||||
|
mockedEnv.GIT_SHA = ""
|
||||||
|
|
||||||
|
expect(
|
||||||
|
getPrefix({
|
||||||
|
includeGitHashInKey: false,
|
||||||
|
includeBranchPrefix: false,
|
||||||
|
})
|
||||||
|
).toBe("test_user")
|
||||||
|
|
||||||
|
process.env.USER = ""
|
||||||
|
|
||||||
|
expect(
|
||||||
|
getPrefix({
|
||||||
|
includeGitHashInKey: false,
|
||||||
|
includeBranchPrefix: false,
|
||||||
|
})
|
||||||
|
).toBe("test_username")
|
||||||
|
|
||||||
|
process.env.USERNAME = ""
|
||||||
|
expect(
|
||||||
|
getPrefix({
|
||||||
|
includeGitHashInKey: false,
|
||||||
|
includeBranchPrefix: false,
|
||||||
|
})
|
||||||
|
).toBe("dev")
|
||||||
|
})
|
||||||
|
})
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
import { env } from "@/env/server"
|
import { env } from "../../../env/server"
|
||||||
|
|
||||||
import { getBranchPrefix } from "./getBranchPrefix"
|
import { getBranchPrefix } from "./getBranchPrefix"
|
||||||
|
|
||||||
export function getPrefix(options: {
|
export function getPrefix(options: {
|
||||||
@@ -1,23 +1,14 @@
|
|||||||
import { describe, expect, it, jest } from "@jest/globals"
|
import { describe, expect, it, vi } from "vitest"
|
||||||
|
|
||||||
jest.mock("./getPrefix", () => ({
|
vi.mock("./getPrefix", () => ({
|
||||||
getPrefix: jest.fn(() => "gitsha"),
|
getPrefix: vi.fn(() => "gitsha"),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
|
import { generateCacheKey } from "./index"
|
||||||
const indexModule: typeof import(".") = require(".")
|
|
||||||
|
|
||||||
const { generateCacheKey } = indexModule
|
|
||||||
|
|
||||||
describe("generateCacheKey", () => {
|
describe("generateCacheKey", () => {
|
||||||
const OLD_ENV = process.env
|
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
jest.resetModules()
|
vi.resetModules()
|
||||||
})
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
process.env = OLD_ENV
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("generates cachekey with prefix and key using string", () => {
|
it("generates cachekey with prefix and key using string", () => {
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import * as Sentry from "@sentry/nextjs"
|
import * as Sentry from "@sentry/nextjs"
|
||||||
|
|
||||||
import { safeTry } from "@/utils/safeTry"
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import { cacheLogger } from "../logger"
|
import { cacheLogger } from "../logger"
|
||||||
import { API_KEY } from "./client"
|
import { API_KEY } from "./client"
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import * as Sentry from "@sentry/nextjs"
|
import * as Sentry from "@sentry/nextjs"
|
||||||
|
|
||||||
import { safeTry } from "@/utils/safeTry"
|
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||||
|
|
||||||
import { type CacheTime, getCacheTimeInSeconds } from "../Cache"
|
import { type CacheTime, getCacheTimeInSeconds } from "../Cache"
|
||||||
import { API_KEY } from "./client"
|
import { API_KEY } from "./client"
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
import { type CacheTime, type DataCache } from "@/services/dataCache/Cache"
|
|
||||||
import { cacheLogger } from "@/services/dataCache/logger"
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
type CacheOrGetOptions,
|
type CacheOrGetOptions,
|
||||||
shouldGetFromCache,
|
shouldGetFromCache,
|
||||||
} from "../../cacheOrGetOptions"
|
} from "../../cacheOrGetOptions"
|
||||||
|
import { cacheLogger } from "../../logger"
|
||||||
import { get } from "./get"
|
import { get } from "./get"
|
||||||
import { set } from "./set"
|
import { set } from "./set"
|
||||||
|
|
||||||
|
import type { CacheTime, DataCache } from "../../Cache"
|
||||||
|
|
||||||
export const cacheOrGet: DataCache["cacheOrGet"] = async <T>(
|
export const cacheOrGet: DataCache["cacheOrGet"] = async <T>(
|
||||||
key: string | string[],
|
key: string | string[],
|
||||||
callback: (overrideTTL?: (cacheTime: CacheTime) => void) => Promise<T>,
|
callback: (overrideTTL?: (cacheTime: CacheTime) => void) => Promise<T>,
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
import { cacheLogger } from "@/services/dataCache/logger"
|
import { cacheLogger } from "../../logger"
|
||||||
|
|
||||||
import { cacheMap } from "./cacheMap"
|
import { cacheMap } from "./cacheMap"
|
||||||
|
|
||||||
export async function deleteKey(key: string, opts?: { fuzzy?: boolean }) {
|
export async function deleteKey(key: string, opts?: { fuzzy?: boolean }) {
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
import { cacheLogger } from "@/services/dataCache/logger"
|
import { cacheLogger } from "../../logger"
|
||||||
|
|
||||||
import { cacheMap } from "./cacheMap"
|
import { cacheMap } from "./cacheMap"
|
||||||
|
|
||||||
export async function get<T>(key: string): Promise<T | undefined> {
|
export async function get<T>(key: string): Promise<T | undefined> {
|
||||||
@@ -3,7 +3,7 @@ import { deleteKey } from "./deleteKey"
|
|||||||
import { get } from "./get"
|
import { get } from "./get"
|
||||||
import { set } from "./set"
|
import { set } from "./set"
|
||||||
|
|
||||||
import type { DataCache } from "@/services/dataCache/Cache"
|
import type { DataCache } from "../../Cache"
|
||||||
|
|
||||||
export async function createInMemoryCache(): Promise<DataCache> {
|
export async function createInMemoryCache(): Promise<DataCache> {
|
||||||
return { type: "in-memory", cacheOrGet, deleteKey, get, set }
|
return { type: "in-memory", cacheOrGet, deleteKey, get, set }
|
||||||
@@ -1,8 +1,4 @@
|
|||||||
import {
|
import { type CacheTime, getCacheTimeInSeconds } from "../../Cache"
|
||||||
type CacheTime,
|
|
||||||
getCacheTimeInSeconds,
|
|
||||||
} from "@/services/dataCache/Cache"
|
|
||||||
|
|
||||||
import { cacheMap } from "./cacheMap"
|
import { cacheMap } from "./cacheMap"
|
||||||
|
|
||||||
export async function set<T>(
|
export async function set<T>(
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
|
import { type DataCache } from "../Cache"
|
||||||
import { createInMemoryCache } from "./InMemoryCache"
|
import { createInMemoryCache } from "./InMemoryCache"
|
||||||
|
|
||||||
import type { DataCache } from "@/services/dataCache/Cache"
|
|
||||||
|
|
||||||
export function createMemoryCache(): Promise<DataCache> {
|
export function createMemoryCache(): Promise<DataCache> {
|
||||||
return createInMemoryCache()
|
return createInMemoryCache()
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
import { env } from "@/env/server"
|
import { env } from "../env/server"
|
||||||
|
import { isEdge } from "../utils/isEdge"
|
||||||
import { isEdge } from "@/utils/isEdge"
|
|
||||||
|
|
||||||
import { createMemoryCache } from "./MemoryCache/createMemoryCache"
|
import { createMemoryCache } from "./MemoryCache/createMemoryCache"
|
||||||
import { type DataCache } from "./Cache"
|
import { type DataCache } from "./Cache"
|
||||||
import { createDistributedCache } from "./DistributedCache"
|
import { createDistributedCache } from "./DistributedCache"
|
||||||
29
packages/common/env/server.ts
vendored
Normal file
29
packages/common/env/server.ts
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import { createEnv } from "@t3-oss/env-nextjs"
|
||||||
|
import { z } from "zod"
|
||||||
|
|
||||||
|
export const env = createEnv({
|
||||||
|
/**
|
||||||
|
* Due to t3-env only checking typeof window === "undefined"
|
||||||
|
* and Netlify running Deno, window is never "undefined"
|
||||||
|
* https://github.com/t3-oss/t3-env/issues/154
|
||||||
|
*/
|
||||||
|
isServer: true,
|
||||||
|
server: {
|
||||||
|
NODE_ENV: z.enum(["development", "test", "production"]),
|
||||||
|
REDIS_API_HOST: z.string().optional(),
|
||||||
|
REDIS_API_KEY: z.string().optional(),
|
||||||
|
BRANCH:
|
||||||
|
process.env.NODE_ENV !== "development"
|
||||||
|
? z.string()
|
||||||
|
: z.string().optional().default("dev"),
|
||||||
|
GIT_SHA: z.string().optional(),
|
||||||
|
},
|
||||||
|
emptyStringAsUndefined: true,
|
||||||
|
runtimeEnv: {
|
||||||
|
NODE_ENV: process.env.NODE_ENV,
|
||||||
|
REDIS_API_HOST: process.env.REDIS_API_HOST,
|
||||||
|
REDIS_API_KEY: process.env.REDIS_API_KEY,
|
||||||
|
BRANCH: process.env.BRANCH,
|
||||||
|
GIT_SHA: process.env.GIT_SHA,
|
||||||
|
},
|
||||||
|
})
|
||||||
87
packages/common/eslint.config.mjs
Normal file
87
packages/common/eslint.config.mjs
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
import { FlatCompat } from "@eslint/eslintrc"
|
||||||
|
import js from "@eslint/js"
|
||||||
|
import typescriptEslint from "@typescript-eslint/eslint-plugin"
|
||||||
|
import tsParser from "@typescript-eslint/parser"
|
||||||
|
import { defineConfig } from "eslint/config"
|
||||||
|
import simpleImportSort from "eslint-plugin-simple-import-sort"
|
||||||
|
|
||||||
|
const compat = new FlatCompat({
|
||||||
|
recommendedConfig: js.configs.recommended,
|
||||||
|
allConfig: js.configs.all,
|
||||||
|
})
|
||||||
|
|
||||||
|
export default defineConfig([
|
||||||
|
{
|
||||||
|
files: ["**/*.ts", "**/*.tsx"],
|
||||||
|
extends: compat.extends("plugin:import/typescript"),
|
||||||
|
plugins: {
|
||||||
|
"simple-import-sort": simpleImportSort,
|
||||||
|
"@typescript-eslint": typescriptEslint,
|
||||||
|
},
|
||||||
|
|
||||||
|
linterOptions: {
|
||||||
|
reportUnusedDisableDirectives: true,
|
||||||
|
},
|
||||||
|
|
||||||
|
languageOptions: {
|
||||||
|
parser: tsParser,
|
||||||
|
},
|
||||||
|
|
||||||
|
rules: {
|
||||||
|
"no-unused-vars": "off",
|
||||||
|
|
||||||
|
"simple-import-sort/imports": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
groups: [
|
||||||
|
["^\\u0000"],
|
||||||
|
["^node:"],
|
||||||
|
["^@?\\w"],
|
||||||
|
["^@scandic-hotels/(?!.*\u0000$).*$"],
|
||||||
|
[
|
||||||
|
"^@/constants/?(?!.*\u0000$).*$",
|
||||||
|
"^@/env/?(?!.*\u0000$).*$",
|
||||||
|
"^@/lib/?(?!.*\u0000$).*$",
|
||||||
|
"^@/server/?(?!.*\u0000$).*$",
|
||||||
|
"^@/stores/?(?!.*\u0000$).*$",
|
||||||
|
],
|
||||||
|
["^@/(?!(types|.*\u0000$)).*$"],
|
||||||
|
[
|
||||||
|
"^\\.\\.(?!/?$)",
|
||||||
|
"^\\.\\./?$",
|
||||||
|
"^\\./(?=.*/)(?!/?$)",
|
||||||
|
"^\\.(?!/?$)",
|
||||||
|
"^\\./?$",
|
||||||
|
],
|
||||||
|
["^(?!\\u0000).+\\.s?css$"],
|
||||||
|
["^node:.*\\u0000$", "^@?\\w.*\\u0000$"],
|
||||||
|
[
|
||||||
|
"^@scandichotels/.*\\u0000$",
|
||||||
|
"^@/types/.*",
|
||||||
|
"^@/.*\\u0000$",
|
||||||
|
"^[^.].*\\u0000$",
|
||||||
|
"^\\..*\\u0000$",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
"simple-import-sort/exports": "error",
|
||||||
|
|
||||||
|
"@typescript-eslint/consistent-type-imports": "error",
|
||||||
|
|
||||||
|
"@typescript-eslint/no-unused-vars": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
args: "all",
|
||||||
|
argsIgnorePattern: "^_",
|
||||||
|
caughtErrors: "all",
|
||||||
|
caughtErrorsIgnorePattern: "^_",
|
||||||
|
destructuredArrayIgnorePattern: "^_",
|
||||||
|
varsIgnorePattern: "^_",
|
||||||
|
ignoreRestSiblings: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
])
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { DataCache } from "@/services/dataCache"
|
import type { DataCache } from "./dataCache/Cache"
|
||||||
|
|
||||||
declare global {
|
declare global {
|
||||||
var cacheClient: Promise<DataCache> | undefined
|
var cacheClient: Promise<DataCache> | undefined
|
||||||
7
packages/common/lint-staged.config.js
Normal file
7
packages/common/lint-staged.config.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
const config = {
|
||||||
|
"*.{ts,tsx}": [() => "tsc -p tsconfig.json --noEmit", "prettier --write"],
|
||||||
|
"*.{json,md}": "prettier --write",
|
||||||
|
"*.{html,js,cjs,mjs,css}": "prettier --write",
|
||||||
|
}
|
||||||
|
|
||||||
|
export default config
|
||||||
39
packages/common/package.json
Normal file
39
packages/common/package.json
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"name": "@scandic-hotels/common",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"main": "index.ts",
|
||||||
|
"scripts": {
|
||||||
|
"test": "vitest run",
|
||||||
|
"test:watch": "vitest",
|
||||||
|
"check-types": "tsc --noEmit",
|
||||||
|
"lint": "eslint . --max-warnings 0 && tsc --noEmit"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@opentelemetry/api": "^1.9.0",
|
||||||
|
"@sentry/nextjs": "^8.41.0",
|
||||||
|
"@t3-oss/env-nextjs": "^0.13.4",
|
||||||
|
"zod": "^3.24.4"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@eslint/compat": "^1.2.9",
|
||||||
|
"@eslint/eslintrc": "^3.3.1",
|
||||||
|
"@eslint/js": "^9.26.0",
|
||||||
|
"@scandic-hotels/typescript-config": "workspace:*",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^8.32.0",
|
||||||
|
"@typescript-eslint/parser": "^8.32.0",
|
||||||
|
"dotenv": "^16.5.0",
|
||||||
|
"eslint": "^9",
|
||||||
|
"eslint-plugin-import": "^2.31.0",
|
||||||
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
||||||
|
"typescript": "5.8.3",
|
||||||
|
"vitest": "^3.2.3"
|
||||||
|
},
|
||||||
|
"prettier": {
|
||||||
|
"semi": false,
|
||||||
|
"trailingComma": "es5",
|
||||||
|
"singleQuote": false,
|
||||||
|
"printWidth": 80,
|
||||||
|
"tabWidth": 2,
|
||||||
|
"endOfLine": "lf"
|
||||||
|
}
|
||||||
|
}
|
||||||
3
packages/common/tsconfig.json
Normal file
3
packages/common/tsconfig.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"extends": "@scandic-hotels/typescript-config/base.json"
|
||||||
|
}
|
||||||
3
packages/common/vitest-setup.ts
Normal file
3
packages/common/vitest-setup.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { config } from "dotenv"
|
||||||
|
|
||||||
|
config({ path: "./.env.test" })
|
||||||
17
packages/common/vitest.config.js
Normal file
17
packages/common/vitest.config.js
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import path from "path"
|
||||||
|
import { fileURLToPath } from "url"
|
||||||
|
const __filename = fileURLToPath(import.meta.url)
|
||||||
|
const __dirname = path.dirname(__filename)
|
||||||
|
|
||||||
|
export default {
|
||||||
|
test: {
|
||||||
|
globals: true,
|
||||||
|
environment: "jsdom",
|
||||||
|
setupFiles: ["./vitest-setup.ts"],
|
||||||
|
},
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
"@": path.resolve(__dirname, "."),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
"cache": false
|
"cache": false
|
||||||
},
|
},
|
||||||
"lint": {},
|
"lint": {},
|
||||||
"test": {}
|
"test": {},
|
||||||
|
"check-types": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
548
yarn.lock
548
yarn.lock
@@ -6424,6 +6424,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-android-arm-eabi@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-android-arm-eabi@npm:4.42.0"
|
||||||
|
conditions: os=android & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-android-arm64@npm:4.34.9":
|
"@rollup/rollup-android-arm64@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-android-arm64@npm:4.34.9"
|
resolution: "@rollup/rollup-android-arm64@npm:4.34.9"
|
||||||
@@ -6438,6 +6445,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-android-arm64@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-android-arm64@npm:4.42.0"
|
||||||
|
conditions: os=android & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-darwin-arm64@npm:4.34.9":
|
"@rollup/rollup-darwin-arm64@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-darwin-arm64@npm:4.34.9"
|
resolution: "@rollup/rollup-darwin-arm64@npm:4.34.9"
|
||||||
@@ -6452,6 +6466,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-darwin-arm64@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-darwin-arm64@npm:4.42.0"
|
||||||
|
conditions: os=darwin & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-darwin-x64@npm:4.34.9":
|
"@rollup/rollup-darwin-x64@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-darwin-x64@npm:4.34.9"
|
resolution: "@rollup/rollup-darwin-x64@npm:4.34.9"
|
||||||
@@ -6466,6 +6487,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-darwin-x64@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-darwin-x64@npm:4.42.0"
|
||||||
|
conditions: os=darwin & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-freebsd-arm64@npm:4.34.9":
|
"@rollup/rollup-freebsd-arm64@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-freebsd-arm64@npm:4.34.9"
|
resolution: "@rollup/rollup-freebsd-arm64@npm:4.34.9"
|
||||||
@@ -6480,6 +6508,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-freebsd-arm64@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-freebsd-arm64@npm:4.42.0"
|
||||||
|
conditions: os=freebsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-freebsd-x64@npm:4.34.9":
|
"@rollup/rollup-freebsd-x64@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-freebsd-x64@npm:4.34.9"
|
resolution: "@rollup/rollup-freebsd-x64@npm:4.34.9"
|
||||||
@@ -6494,6 +6529,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-freebsd-x64@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-freebsd-x64@npm:4.42.0"
|
||||||
|
conditions: os=freebsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-arm-gnueabihf@npm:4.34.9":
|
"@rollup/rollup-linux-arm-gnueabihf@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.34.9"
|
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.34.9"
|
||||||
@@ -6508,6 +6550,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-arm-gnueabihf@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=arm & libc=glibc
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-arm-musleabihf@npm:4.34.9":
|
"@rollup/rollup-linux-arm-musleabihf@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.34.9"
|
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.34.9"
|
||||||
@@ -6522,6 +6571,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-arm-musleabihf@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=arm & libc=musl
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-arm64-gnu@npm:4.34.9":
|
"@rollup/rollup-linux-arm64-gnu@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.34.9"
|
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.34.9"
|
||||||
@@ -6536,6 +6592,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-arm64-gnu@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=arm64 & libc=glibc
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-arm64-musl@npm:4.34.9":
|
"@rollup/rollup-linux-arm64-musl@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.34.9"
|
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.34.9"
|
||||||
@@ -6550,6 +6613,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-arm64-musl@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=arm64 & libc=musl
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-loongarch64-gnu@npm:4.34.9":
|
"@rollup/rollup-linux-loongarch64-gnu@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.34.9"
|
resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.34.9"
|
||||||
@@ -6564,6 +6634,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-loongarch64-gnu@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=loong64 & libc=glibc
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.9":
|
"@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.9"
|
resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.9"
|
||||||
@@ -6578,6 +6655,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-powerpc64le-gnu@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=ppc64 & libc=glibc
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-riscv64-gnu@npm:4.34.9":
|
"@rollup/rollup-linux-riscv64-gnu@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.34.9"
|
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.34.9"
|
||||||
@@ -6592,6 +6676,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-riscv64-gnu@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=riscv64 & libc=glibc
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-riscv64-musl@npm:4.40.2":
|
"@rollup/rollup-linux-riscv64-musl@npm:4.40.2":
|
||||||
version: 4.40.2
|
version: 4.40.2
|
||||||
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.40.2"
|
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.40.2"
|
||||||
@@ -6599,6 +6690,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-riscv64-musl@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=riscv64 & libc=musl
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-s390x-gnu@npm:4.34.9":
|
"@rollup/rollup-linux-s390x-gnu@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.34.9"
|
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.34.9"
|
||||||
@@ -6613,6 +6711,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-s390x-gnu@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=s390x & libc=glibc
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-x64-gnu@npm:4.34.9":
|
"@rollup/rollup-linux-x64-gnu@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.34.9"
|
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.34.9"
|
||||||
@@ -6627,6 +6732,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-x64-gnu@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=x64 & libc=glibc
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-linux-x64-gnu@npm:4.9.5":
|
"@rollup/rollup-linux-x64-gnu@npm:4.9.5":
|
||||||
version: 4.9.5
|
version: 4.9.5
|
||||||
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.9.5"
|
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.9.5"
|
||||||
@@ -6648,6 +6760,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-x64-musl@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-linux-x64-musl@npm:4.42.0"
|
||||||
|
conditions: os=linux & cpu=x64 & libc=musl
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-win32-arm64-msvc@npm:4.34.9":
|
"@rollup/rollup-win32-arm64-msvc@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.34.9"
|
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.34.9"
|
||||||
@@ -6662,6 +6781,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-win32-arm64-msvc@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.42.0"
|
||||||
|
conditions: os=win32 & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-win32-ia32-msvc@npm:4.34.9":
|
"@rollup/rollup-win32-ia32-msvc@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.34.9"
|
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.34.9"
|
||||||
@@ -6676,6 +6802,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-win32-ia32-msvc@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.42.0"
|
||||||
|
conditions: os=win32 & cpu=ia32
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/rollup-win32-x64-msvc@npm:4.34.9":
|
"@rollup/rollup-win32-x64-msvc@npm:4.34.9":
|
||||||
version: 4.34.9
|
version: 4.34.9
|
||||||
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.34.9"
|
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.34.9"
|
||||||
@@ -6690,6 +6823,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@rollup/rollup-win32-x64-msvc@npm:4.42.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.42.0"
|
||||||
|
conditions: os=win32 & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rtsao/scc@npm:^1.1.0":
|
"@rtsao/scc@npm:^1.1.0":
|
||||||
version: 1.1.0
|
version: 1.1.0
|
||||||
resolution: "@rtsao/scc@npm:1.1.0"
|
resolution: "@rtsao/scc@npm:1.1.0"
|
||||||
@@ -6806,6 +6946,29 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@scandic-hotels/common@workspace:*, @scandic-hotels/common@workspace:packages/common":
|
||||||
|
version: 0.0.0-use.local
|
||||||
|
resolution: "@scandic-hotels/common@workspace:packages/common"
|
||||||
|
dependencies:
|
||||||
|
"@eslint/compat": "npm:^1.2.9"
|
||||||
|
"@eslint/eslintrc": "npm:^3.3.1"
|
||||||
|
"@eslint/js": "npm:^9.26.0"
|
||||||
|
"@opentelemetry/api": "npm:^1.9.0"
|
||||||
|
"@scandic-hotels/typescript-config": "workspace:*"
|
||||||
|
"@sentry/nextjs": "npm:^8.41.0"
|
||||||
|
"@t3-oss/env-nextjs": "npm:^0.13.4"
|
||||||
|
"@typescript-eslint/eslint-plugin": "npm:^8.32.0"
|
||||||
|
"@typescript-eslint/parser": "npm:^8.32.0"
|
||||||
|
dotenv: "npm:^16.5.0"
|
||||||
|
eslint: "npm:^9"
|
||||||
|
eslint-plugin-import: "npm:^2.31.0"
|
||||||
|
eslint-plugin-simple-import-sort: "npm:^12.1.1"
|
||||||
|
typescript: "npm:5.8.3"
|
||||||
|
vitest: "npm:^3.2.3"
|
||||||
|
zod: "npm:^3.24.4"
|
||||||
|
languageName: unknown
|
||||||
|
linkType: soft
|
||||||
|
|
||||||
"@scandic-hotels/design-system@workspace:*, @scandic-hotels/design-system@workspace:packages/design-system":
|
"@scandic-hotels/design-system@workspace:*, @scandic-hotels/design-system@workspace:packages/design-system":
|
||||||
version: 0.0.0-use.local
|
version: 0.0.0-use.local
|
||||||
resolution: "@scandic-hotels/design-system@workspace:packages/design-system"
|
resolution: "@scandic-hotels/design-system@workspace:packages/design-system"
|
||||||
@@ -6919,6 +7082,7 @@ __metadata:
|
|||||||
"@opentelemetry/sdk-trace-base": "npm:^1.29.0"
|
"@opentelemetry/sdk-trace-base": "npm:^1.29.0"
|
||||||
"@radix-ui/react-slot": "npm:^1.2.2"
|
"@radix-ui/react-slot": "npm:^1.2.2"
|
||||||
"@react-aria/ssr": "npm:^3.9.8"
|
"@react-aria/ssr": "npm:^3.9.8"
|
||||||
|
"@scandic-hotels/common": "workspace:*"
|
||||||
"@scandic-hotels/design-system": "workspace:*"
|
"@scandic-hotels/design-system": "workspace:*"
|
||||||
"@scandic-hotels/typescript-config": "workspace:*"
|
"@scandic-hotels/typescript-config": "workspace:*"
|
||||||
"@sentry/nextjs": "npm:^8.41.0"
|
"@sentry/nextjs": "npm:^8.41.0"
|
||||||
@@ -8712,6 +8876,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@types/chai@npm:^5.2.2":
|
||||||
|
version: 5.2.2
|
||||||
|
resolution: "@types/chai@npm:5.2.2"
|
||||||
|
dependencies:
|
||||||
|
"@types/deep-eql": "npm:*"
|
||||||
|
checksum: 10c0/49282bf0e8246800ebb36f17256f97bd3a8c4fb31f92ad3c0eaa7623518d7e87f1eaad4ad206960fcaf7175854bdff4cb167e4fe96811e0081b4ada83dd533ec
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@types/connect@npm:3.4.36":
|
"@types/connect@npm:3.4.36":
|
||||||
version: 3.4.36
|
version: 3.4.36
|
||||||
resolution: "@types/connect@npm:3.4.36"
|
resolution: "@types/connect@npm:3.4.36"
|
||||||
@@ -8737,6 +8910,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@types/deep-eql@npm:*":
|
||||||
|
version: 4.0.2
|
||||||
|
resolution: "@types/deep-eql@npm:4.0.2"
|
||||||
|
checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@types/doctrine@npm:^0.0.9":
|
"@types/doctrine@npm:^0.0.9":
|
||||||
version: 0.0.9
|
version: 0.0.9
|
||||||
resolution: "@types/doctrine@npm:0.0.9"
|
resolution: "@types/doctrine@npm:0.0.9"
|
||||||
@@ -9573,6 +9753,19 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@vitest/expect@npm:3.2.3":
|
||||||
|
version: 3.2.3
|
||||||
|
resolution: "@vitest/expect@npm:3.2.3"
|
||||||
|
dependencies:
|
||||||
|
"@types/chai": "npm:^5.2.2"
|
||||||
|
"@vitest/spy": "npm:3.2.3"
|
||||||
|
"@vitest/utils": "npm:3.2.3"
|
||||||
|
chai: "npm:^5.2.0"
|
||||||
|
tinyrainbow: "npm:^2.0.0"
|
||||||
|
checksum: 10c0/5eb6278be8f5294779472d1276e150a1b573274441a68c2681c447179abd22af451813fdfbe87e04f5909ca7a0926700f9b79022f227c9816e5d0fa8e0229e15
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@vitest/mocker@npm:3.1.3":
|
"@vitest/mocker@npm:3.1.3":
|
||||||
version: 3.1.3
|
version: 3.1.3
|
||||||
resolution: "@vitest/mocker@npm:3.1.3"
|
resolution: "@vitest/mocker@npm:3.1.3"
|
||||||
@@ -9592,6 +9785,25 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@vitest/mocker@npm:3.2.3":
|
||||||
|
version: 3.2.3
|
||||||
|
resolution: "@vitest/mocker@npm:3.2.3"
|
||||||
|
dependencies:
|
||||||
|
"@vitest/spy": "npm:3.2.3"
|
||||||
|
estree-walker: "npm:^3.0.3"
|
||||||
|
magic-string: "npm:^0.30.17"
|
||||||
|
peerDependencies:
|
||||||
|
msw: ^2.4.9
|
||||||
|
vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
msw:
|
||||||
|
optional: true
|
||||||
|
vite:
|
||||||
|
optional: true
|
||||||
|
checksum: 10c0/b670f229c3b1de5561de3cbbecb18f964d4888355d7f1cb8bbff4350b2cfbe477bef834cc2f66af7727ca7dc567540018885eb652f46e0be1cda4015491dc0a9
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@vitest/pretty-format@npm:2.0.5":
|
"@vitest/pretty-format@npm:2.0.5":
|
||||||
version: 2.0.5
|
version: 2.0.5
|
||||||
resolution: "@vitest/pretty-format@npm:2.0.5"
|
resolution: "@vitest/pretty-format@npm:2.0.5"
|
||||||
@@ -9619,6 +9831,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@vitest/pretty-format@npm:3.2.3, @vitest/pretty-format@npm:^3.2.3":
|
||||||
|
version: 3.2.3
|
||||||
|
resolution: "@vitest/pretty-format@npm:3.2.3"
|
||||||
|
dependencies:
|
||||||
|
tinyrainbow: "npm:^2.0.0"
|
||||||
|
checksum: 10c0/e8fa7b97822c58404bef07d19fa9a49d5b7edb6797dd355584ad7246585bbbe9c55dd1fb05d0c3939b9c15fba05c3e134e2b96ea0cb64ca79a2b9dab60087a6a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@vitest/runner@npm:3.1.3":
|
"@vitest/runner@npm:3.1.3":
|
||||||
version: 3.1.3
|
version: 3.1.3
|
||||||
resolution: "@vitest/runner@npm:3.1.3"
|
resolution: "@vitest/runner@npm:3.1.3"
|
||||||
@@ -9629,6 +9850,17 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@vitest/runner@npm:3.2.3":
|
||||||
|
version: 3.2.3
|
||||||
|
resolution: "@vitest/runner@npm:3.2.3"
|
||||||
|
dependencies:
|
||||||
|
"@vitest/utils": "npm:3.2.3"
|
||||||
|
pathe: "npm:^2.0.3"
|
||||||
|
strip-literal: "npm:^3.0.0"
|
||||||
|
checksum: 10c0/c20cb6e2ac4fdfb3d4f5136714ea65f9063562d3afaa1574dc82f53d061444bc01583f9915346768ca75f5ea0658f02fb594752e21abbca5ab50290f58732147
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@vitest/snapshot@npm:3.1.3":
|
"@vitest/snapshot@npm:3.1.3":
|
||||||
version: 3.1.3
|
version: 3.1.3
|
||||||
resolution: "@vitest/snapshot@npm:3.1.3"
|
resolution: "@vitest/snapshot@npm:3.1.3"
|
||||||
@@ -9640,6 +9872,17 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@vitest/snapshot@npm:3.2.3":
|
||||||
|
version: 3.2.3
|
||||||
|
resolution: "@vitest/snapshot@npm:3.2.3"
|
||||||
|
dependencies:
|
||||||
|
"@vitest/pretty-format": "npm:3.2.3"
|
||||||
|
magic-string: "npm:^0.30.17"
|
||||||
|
pathe: "npm:^2.0.3"
|
||||||
|
checksum: 10c0/f6dd0248afb3f3cbcbbb9fd39c2c8273c4ec92176f65e6ba9d36a0c33552d3658013e3a02944e14c7637f51d6702a5c07963b59707ca459bd1ac31f39c81160c
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@vitest/spy@npm:2.0.5":
|
"@vitest/spy@npm:2.0.5":
|
||||||
version: 2.0.5
|
version: 2.0.5
|
||||||
resolution: "@vitest/spy@npm:2.0.5"
|
resolution: "@vitest/spy@npm:2.0.5"
|
||||||
@@ -9658,6 +9901,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@vitest/spy@npm:3.2.3":
|
||||||
|
version: 3.2.3
|
||||||
|
resolution: "@vitest/spy@npm:3.2.3"
|
||||||
|
dependencies:
|
||||||
|
tinyspy: "npm:^4.0.3"
|
||||||
|
checksum: 10c0/ce77d5934ac4741513993aad9d8ff44ff03ff5cf5a177e010c7ffcd8d3060087e56df1938c1100d49de712daf952cd2c72dd83e1684d043e698bd2afe0025f5e
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@vitest/utils@npm:2.0.5":
|
"@vitest/utils@npm:2.0.5":
|
||||||
version: 2.0.5
|
version: 2.0.5
|
||||||
resolution: "@vitest/utils@npm:2.0.5"
|
resolution: "@vitest/utils@npm:2.0.5"
|
||||||
@@ -9681,6 +9933,17 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@vitest/utils@npm:3.2.3":
|
||||||
|
version: 3.2.3
|
||||||
|
resolution: "@vitest/utils@npm:3.2.3"
|
||||||
|
dependencies:
|
||||||
|
"@vitest/pretty-format": "npm:3.2.3"
|
||||||
|
loupe: "npm:^3.1.3"
|
||||||
|
tinyrainbow: "npm:^2.0.0"
|
||||||
|
checksum: 10c0/c7a785a73bc0d7c0202ced0d9912639b9deb6f05dd6c25700a13d97e13320ccec57660f11ad1f9225419ac485339fdf7af28c8d77456bcb9558e6c7d73ad538a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@vitest/utils@npm:^2.1.1":
|
"@vitest/utils@npm:^2.1.1":
|
||||||
version: 2.1.9
|
version: 2.1.9
|
||||||
resolution: "@vitest/utils@npm:2.1.9"
|
resolution: "@vitest/utils@npm:2.1.9"
|
||||||
@@ -11986,6 +12249,18 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"debug@npm:^4.4.1":
|
||||||
|
version: 4.4.1
|
||||||
|
resolution: "debug@npm:4.4.1"
|
||||||
|
dependencies:
|
||||||
|
ms: "npm:^2.1.3"
|
||||||
|
peerDependenciesMeta:
|
||||||
|
supports-color:
|
||||||
|
optional: true
|
||||||
|
checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"decimal.js@npm:10, decimal.js@npm:^10.4.2, decimal.js@npm:^10.4.3":
|
"decimal.js@npm:10, decimal.js@npm:^10.4.2, decimal.js@npm:^10.4.3":
|
||||||
version: 10.5.0
|
version: 10.5.0
|
||||||
resolution: "decimal.js@npm:10.5.0"
|
resolution: "decimal.js@npm:10.5.0"
|
||||||
@@ -13684,6 +13959,18 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"fdir@npm:^6.4.5":
|
||||||
|
version: 6.4.6
|
||||||
|
resolution: "fdir@npm:6.4.6"
|
||||||
|
peerDependencies:
|
||||||
|
picomatch: ^3 || ^4
|
||||||
|
peerDependenciesMeta:
|
||||||
|
picomatch:
|
||||||
|
optional: true
|
||||||
|
checksum: 10c0/45b559cff889934ebb8bc498351e5acba40750ada7e7d6bde197768d2fa67c149be8ae7f8ff34d03f4e1eb20f2764116e56440aaa2f6689e9a4aa7ef06acafe9
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"fetch-mock@npm:^12.5.2":
|
"fetch-mock@npm:^12.5.2":
|
||||||
version: 12.5.2
|
version: 12.5.2
|
||||||
resolution: "fetch-mock@npm:12.5.2"
|
resolution: "fetch-mock@npm:12.5.2"
|
||||||
@@ -16102,6 +16389,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"js-tokens@npm:^9.0.1":
|
||||||
|
version: 9.0.1
|
||||||
|
resolution: "js-tokens@npm:9.0.1"
|
||||||
|
checksum: 10c0/68dcab8f233dde211a6b5fd98079783cbcd04b53617c1250e3553ee16ab3e6134f5e65478e41d82f6d351a052a63d71024553933808570f04dbf828d7921e80e
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"js-yaml@npm:^3.13.1":
|
"js-yaml@npm:^3.13.1":
|
||||||
version: 3.14.1
|
version: 3.14.1
|
||||||
resolution: "js-yaml@npm:3.14.1"
|
resolution: "js-yaml@npm:3.14.1"
|
||||||
@@ -17839,6 +18133,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"nanoid@npm:^3.3.11":
|
||||||
|
version: 3.3.11
|
||||||
|
resolution: "nanoid@npm:3.3.11"
|
||||||
|
bin:
|
||||||
|
nanoid: bin/nanoid.cjs
|
||||||
|
checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"nanoid@npm:^5.1.5":
|
"nanoid@npm:^5.1.5":
|
||||||
version: 5.1.5
|
version: 5.1.5
|
||||||
resolution: "nanoid@npm:5.1.5"
|
resolution: "nanoid@npm:5.1.5"
|
||||||
@@ -19041,6 +19344,17 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"postcss@npm:^8.5.4":
|
||||||
|
version: 8.5.4
|
||||||
|
resolution: "postcss@npm:8.5.4"
|
||||||
|
dependencies:
|
||||||
|
nanoid: "npm:^3.3.11"
|
||||||
|
picocolors: "npm:^1.1.1"
|
||||||
|
source-map-js: "npm:^1.2.1"
|
||||||
|
checksum: 10c0/0feff648614a834f7cd5396ea6b05b658ca0507e10a4eaad03b56c348f6aec93f42a885fc1b30522630c6a7e49ae53b38a061e3cba526f2d9857afbe095a22bb
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"postgres-array@npm:~2.0.0":
|
"postgres-array@npm:~2.0.0":
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
resolution: "postgres-array@npm:2.0.0"
|
resolution: "postgres-array@npm:2.0.0"
|
||||||
@@ -20432,6 +20746,81 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"rollup@npm:^4.40.0":
|
||||||
|
version: 4.42.0
|
||||||
|
resolution: "rollup@npm:4.42.0"
|
||||||
|
dependencies:
|
||||||
|
"@rollup/rollup-android-arm-eabi": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-android-arm64": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-darwin-arm64": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-darwin-x64": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-freebsd-arm64": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-freebsd-x64": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-arm-gnueabihf": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-arm-musleabihf": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-arm64-gnu": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-arm64-musl": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-loongarch64-gnu": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-powerpc64le-gnu": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-riscv64-gnu": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-riscv64-musl": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-s390x-gnu": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-x64-gnu": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-linux-x64-musl": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-win32-arm64-msvc": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-win32-ia32-msvc": "npm:4.42.0"
|
||||||
|
"@rollup/rollup-win32-x64-msvc": "npm:4.42.0"
|
||||||
|
"@types/estree": "npm:1.0.7"
|
||||||
|
fsevents: "npm:~2.3.2"
|
||||||
|
dependenciesMeta:
|
||||||
|
"@rollup/rollup-android-arm-eabi":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-android-arm64":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-darwin-arm64":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-darwin-x64":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-freebsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-freebsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-arm-gnueabihf":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-arm-musleabihf":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-arm64-gnu":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-arm64-musl":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-loongarch64-gnu":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-powerpc64le-gnu":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-riscv64-gnu":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-riscv64-musl":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-s390x-gnu":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-x64-gnu":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-linux-x64-musl":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-win32-arm64-msvc":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-win32-ia32-msvc":
|
||||||
|
optional: true
|
||||||
|
"@rollup/rollup-win32-x64-msvc":
|
||||||
|
optional: true
|
||||||
|
fsevents:
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
rollup: dist/bin/rollup
|
||||||
|
checksum: 10c0/160fdb0874af5f0f619987b4e9abb3b136fc154f759762bfde4d65d864d6d06594ae7d1d8e6d4558d1b8ef329aaa6a8de543e90feead3d872db15cf61f78426c
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"router@npm:^2.2.0":
|
"router@npm:^2.2.0":
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
resolution: "router@npm:2.2.0"
|
resolution: "router@npm:2.2.0"
|
||||||
@@ -21622,6 +22011,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"strip-literal@npm:^3.0.0":
|
||||||
|
version: 3.0.0
|
||||||
|
resolution: "strip-literal@npm:3.0.0"
|
||||||
|
dependencies:
|
||||||
|
js-tokens: "npm:^9.0.1"
|
||||||
|
checksum: 10c0/d81657f84aba42d4bbaf2a677f7e7f34c1f3de5a6726db8bc1797f9c0b303ba54d4660383a74bde43df401cf37cce1dff2c842c55b077a4ceee11f9e31fba828
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"stubborn-fs@npm:^1.2.5":
|
"stubborn-fs@npm:^1.2.5":
|
||||||
version: 1.2.5
|
version: 1.2.5
|
||||||
resolution: "stubborn-fs@npm:1.2.5"
|
resolution: "stubborn-fs@npm:1.2.5"
|
||||||
@@ -21919,6 +22317,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"tinyglobby@npm:^0.2.14":
|
||||||
|
version: 0.2.14
|
||||||
|
resolution: "tinyglobby@npm:0.2.14"
|
||||||
|
dependencies:
|
||||||
|
fdir: "npm:^6.4.4"
|
||||||
|
picomatch: "npm:^4.0.2"
|
||||||
|
checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"tinypool@npm:^1.0.2":
|
"tinypool@npm:^1.0.2":
|
||||||
version: 1.0.2
|
version: 1.0.2
|
||||||
resolution: "tinypool@npm:1.0.2"
|
resolution: "tinypool@npm:1.0.2"
|
||||||
@@ -21926,6 +22334,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"tinypool@npm:^1.1.0":
|
||||||
|
version: 1.1.0
|
||||||
|
resolution: "tinypool@npm:1.1.0"
|
||||||
|
checksum: 10c0/deb6bde5e3d85d4ba043806c66f43fb5b649716312a47b52761a83668ffc71cd0ea4e24254c1b02a3702e5c27e02605f0189a1460f6284a5930a08bd0c06435c
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"tinyrainbow@npm:^1.2.0":
|
"tinyrainbow@npm:^1.2.0":
|
||||||
version: 1.2.0
|
version: 1.2.0
|
||||||
resolution: "tinyrainbow@npm:1.2.0"
|
resolution: "tinyrainbow@npm:1.2.0"
|
||||||
@@ -21947,6 +22362,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"tinyspy@npm:^4.0.3":
|
||||||
|
version: 4.0.3
|
||||||
|
resolution: "tinyspy@npm:4.0.3"
|
||||||
|
checksum: 10c0/0a92a18b5350945cc8a1da3a22c9ad9f4e2945df80aaa0c43e1b3a3cfb64d8501e607ebf0305e048e3c3d3e0e7f8eb10cea27dc17c21effb73e66c4a3be36373
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"tldts-core@npm:^6.1.78":
|
"tldts-core@npm:^6.1.78":
|
||||||
version: 6.1.78
|
version: 6.1.78
|
||||||
resolution: "tldts-core@npm:6.1.78"
|
resolution: "tldts-core@npm:6.1.78"
|
||||||
@@ -22908,6 +23330,21 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"vite-node@npm:3.2.3":
|
||||||
|
version: 3.2.3
|
||||||
|
resolution: "vite-node@npm:3.2.3"
|
||||||
|
dependencies:
|
||||||
|
cac: "npm:^6.7.14"
|
||||||
|
debug: "npm:^4.4.1"
|
||||||
|
es-module-lexer: "npm:^1.7.0"
|
||||||
|
pathe: "npm:^2.0.3"
|
||||||
|
vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0"
|
||||||
|
bin:
|
||||||
|
vite-node: vite-node.mjs
|
||||||
|
checksum: 10c0/b952b0d9e45662506ea7303ac87d08e02f1e3355777cf7d426f211292c4f87e8837aef589e552bb11404d1bc0a9bd18871ce6ba874b5f0bb171f8e010de20a11
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"vite-plugin-dts@npm:^4.5.3":
|
"vite-plugin-dts@npm:^4.5.3":
|
||||||
version: 4.5.3
|
version: 4.5.3
|
||||||
resolution: "vite-plugin-dts@npm:4.5.3"
|
resolution: "vite-plugin-dts@npm:4.5.3"
|
||||||
@@ -22996,6 +23433,61 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"vite@npm:^5.0.0 || ^6.0.0 || ^7.0.0-0":
|
||||||
|
version: 7.0.0-beta.1
|
||||||
|
resolution: "vite@npm:7.0.0-beta.1"
|
||||||
|
dependencies:
|
||||||
|
esbuild: "npm:^0.25.0"
|
||||||
|
fdir: "npm:^6.4.5"
|
||||||
|
fsevents: "npm:~2.3.3"
|
||||||
|
picomatch: "npm:^4.0.2"
|
||||||
|
postcss: "npm:^8.5.4"
|
||||||
|
rollup: "npm:^4.40.0"
|
||||||
|
tinyglobby: "npm:^0.2.14"
|
||||||
|
peerDependencies:
|
||||||
|
"@types/node": ^20.19.0 || >=22.12.0
|
||||||
|
jiti: ">=1.21.0"
|
||||||
|
less: ^4.0.0
|
||||||
|
lightningcss: ^1.21.0
|
||||||
|
sass: ^1.70.0
|
||||||
|
sass-embedded: ^1.70.0
|
||||||
|
stylus: ">=0.54.8"
|
||||||
|
sugarss: ^5.0.0
|
||||||
|
terser: ^5.16.0
|
||||||
|
tsx: ^4.8.1
|
||||||
|
yaml: ^2.4.2
|
||||||
|
dependenciesMeta:
|
||||||
|
fsevents:
|
||||||
|
optional: true
|
||||||
|
peerDependenciesMeta:
|
||||||
|
"@types/node":
|
||||||
|
optional: true
|
||||||
|
jiti:
|
||||||
|
optional: true
|
||||||
|
less:
|
||||||
|
optional: true
|
||||||
|
lightningcss:
|
||||||
|
optional: true
|
||||||
|
sass:
|
||||||
|
optional: true
|
||||||
|
sass-embedded:
|
||||||
|
optional: true
|
||||||
|
stylus:
|
||||||
|
optional: true
|
||||||
|
sugarss:
|
||||||
|
optional: true
|
||||||
|
terser:
|
||||||
|
optional: true
|
||||||
|
tsx:
|
||||||
|
optional: true
|
||||||
|
yaml:
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
vite: bin/vite.js
|
||||||
|
checksum: 10c0/0ab20103182244b310fb2bb4a9f3fb21110a61328052e73accfebf3503270bddd1d19417c2d17bd93f1108125da5ffbc52a1f05c8bf3f564907919ffc64d3d78
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"vite@npm:^6.3.5":
|
"vite@npm:^6.3.5":
|
||||||
version: 6.3.5
|
version: 6.3.5
|
||||||
resolution: "vite@npm:6.3.5"
|
resolution: "vite@npm:6.3.5"
|
||||||
@@ -23105,6 +23597,62 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"vitest@npm:^3.2.3":
|
||||||
|
version: 3.2.3
|
||||||
|
resolution: "vitest@npm:3.2.3"
|
||||||
|
dependencies:
|
||||||
|
"@types/chai": "npm:^5.2.2"
|
||||||
|
"@vitest/expect": "npm:3.2.3"
|
||||||
|
"@vitest/mocker": "npm:3.2.3"
|
||||||
|
"@vitest/pretty-format": "npm:^3.2.3"
|
||||||
|
"@vitest/runner": "npm:3.2.3"
|
||||||
|
"@vitest/snapshot": "npm:3.2.3"
|
||||||
|
"@vitest/spy": "npm:3.2.3"
|
||||||
|
"@vitest/utils": "npm:3.2.3"
|
||||||
|
chai: "npm:^5.2.0"
|
||||||
|
debug: "npm:^4.4.1"
|
||||||
|
expect-type: "npm:^1.2.1"
|
||||||
|
magic-string: "npm:^0.30.17"
|
||||||
|
pathe: "npm:^2.0.3"
|
||||||
|
picomatch: "npm:^4.0.2"
|
||||||
|
std-env: "npm:^3.9.0"
|
||||||
|
tinybench: "npm:^2.9.0"
|
||||||
|
tinyexec: "npm:^0.3.2"
|
||||||
|
tinyglobby: "npm:^0.2.14"
|
||||||
|
tinypool: "npm:^1.1.0"
|
||||||
|
tinyrainbow: "npm:^2.0.0"
|
||||||
|
vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0"
|
||||||
|
vite-node: "npm:3.2.3"
|
||||||
|
why-is-node-running: "npm:^2.3.0"
|
||||||
|
peerDependencies:
|
||||||
|
"@edge-runtime/vm": "*"
|
||||||
|
"@types/debug": ^4.1.12
|
||||||
|
"@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0
|
||||||
|
"@vitest/browser": 3.2.3
|
||||||
|
"@vitest/ui": 3.2.3
|
||||||
|
happy-dom: "*"
|
||||||
|
jsdom: "*"
|
||||||
|
peerDependenciesMeta:
|
||||||
|
"@edge-runtime/vm":
|
||||||
|
optional: true
|
||||||
|
"@types/debug":
|
||||||
|
optional: true
|
||||||
|
"@types/node":
|
||||||
|
optional: true
|
||||||
|
"@vitest/browser":
|
||||||
|
optional: true
|
||||||
|
"@vitest/ui":
|
||||||
|
optional: true
|
||||||
|
happy-dom:
|
||||||
|
optional: true
|
||||||
|
jsdom:
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
vitest: vitest.mjs
|
||||||
|
checksum: 10c0/1d853016622f32020e91cc72348d0dc642bde2ddcbd648655a9d33d420375c7cbd6f1a6f5c4398a5d4f59b8c2b120e62eba49fb37f8042e5d4c688b7e60148ef
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"vscode-uri@npm:^3.0.8":
|
"vscode-uri@npm:^3.0.8":
|
||||||
version: 3.1.0
|
version: 3.1.0
|
||||||
resolution: "vscode-uri@npm:3.1.0"
|
resolution: "vscode-uri@npm:3.1.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user