diff --git a/packages/booking-flow/env/server.ts b/packages/booking-flow/env/server.ts new file mode 100644 index 000000000..a4f0982d8 --- /dev/null +++ b/packages/booking-flow/env/server.ts @@ -0,0 +1,18 @@ +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: typeof window === "undefined" || "Deno" in window, + server: { + FOO: z.string().optional(), + }, + emptyStringAsUndefined: true, + runtimeEnv: { + FOO: process.env.FOO, + }, +}) diff --git a/packages/booking-flow/lib/index.tsx b/packages/booking-flow/lib/index.tsx index 6f29fe4e2..81e53ff6c 100644 --- a/packages/booking-flow/lib/index.tsx +++ b/packages/booking-flow/lib/index.tsx @@ -1,9 +1,13 @@ import { Typography } from "@scandic-hotels/design-system/Typography" +import { env } from "../env/server" + +const tempEnv = env.FOO + export function Temp() { return ( -

Tjena

+

Tjena {tempEnv}

) } diff --git a/packages/booking-flow/package.json b/packages/booking-flow/package.json index 9777654af..690153618 100644 --- a/packages/booking-flow/package.json +++ b/packages/booking-flow/package.json @@ -25,6 +25,7 @@ "@eslint/eslintrc": "^3.3.1", "@eslint/js": "^9.26.0", "@scandic-hotels/typescript-config": "workspace:*", + "@t3-oss/env-nextjs": "^0.13.4", "@types/lodash-es": "^4", "@types/react": "19.1.0", "@typescript-eslint/eslint-plugin": "^8.32.0", @@ -34,6 +35,7 @@ "eslint-plugin-import": "^2.31.0", "eslint-plugin-simple-import-sort": "^12.1.1", "typescript": "5.8.3", - "vitest": "^3.2.4" + "vitest": "^3.2.4", + "zod": "^3.24.4" } } diff --git a/yarn.lock b/yarn.lock index 28924f2f4..20585d3c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6776,6 +6776,7 @@ __metadata: "@eslint/js": "npm:^9.26.0" "@scandic-hotels/common": "workspace:*" "@scandic-hotels/typescript-config": "workspace:*" + "@t3-oss/env-nextjs": "npm:^0.13.4" "@types/lodash-es": "npm:^4" "@types/react": "npm:19.1.0" "@typescript-eslint/eslint-plugin": "npm:^8.32.0" @@ -6786,6 +6787,7 @@ __metadata: eslint-plugin-simple-import-sort: "npm:^12.1.1" typescript: "npm:5.8.3" vitest: "npm:^3.2.4" + zod: "npm:^3.24.4" peerDependencies: next: ^15 react: ^19