diff --git a/Dockerfile b/Dockerfile index c3ee72a05..2eb8010a5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,7 @@ RUN turbo prune --scope=${SCOPE} --docker ################################################################### # Stage 2: Install dependencies # -# Add lockfile and package.json's of isolated subworkspace # +# Add lockfile and package.json's of isolated subworkspace # ################################################################### FROM base AS builder diff --git a/apps/console/README.md b/apps/console/README.md index 16bcc687d..1bee9232f 100644 --- a/apps/console/README.md +++ b/apps/console/README.md @@ -6,14 +6,24 @@ Everything you need to build a Svelte project, powered by [`create-svelte`](http ### First Step -1. download latest `traefik.me` certs for _svelte_ dev server. +We will be using [mkcert](https://github.com/FiloSottile/mkcert) to generate certs for local domain: `console.traefik.me` - > NOTE: they will expire every 60 days +```shell +cd apps/console/config/certs +mkcert -key-file traefik.me.key -cert-file traefik.me.crt console.traefik.me +``` + +> [!WARNING] +> This method is deprecated. use **mkcert** + +d~~ownload latest `traefik.me` certs for _svelte_ dev server.~~ - ```shell - curl traefik.me/fullchain.pem -o apps/console/config/certs/traefik.me.crt - curl traefik.me/privkey.pem -o apps/console/config/certs/traefik.me.key - ``` +> ~~NOTE: they will expire every 60 days~~ + +```shell +curl traefik.me/fullchain.pem -o apps/console/config/certs/traefik.me.crt +curl traefik.me/privkey.pem -o apps/console/config/certs/traefik.me.key +``` ### Backend diff --git a/apps/console/package.json b/apps/console/package.json index 1d8618117..20ed58b39 100644 --- a/apps/console/package.json +++ b/apps/console/package.json @@ -34,14 +34,14 @@ "test:unit:ui": "dotenv-run -f .env -f .secrets -v -- vitest --ui" }, "devDependencies": { - "@ai-sdk/azure": "1.3.0", - "@ai-sdk/openai": "1.3.0", + "@ai-sdk/azure": "1.3.6", + "@ai-sdk/openai": "1.3.6", "@ai-sdk/svelte": "1.1.24", - "@aibrow/dom-types": "1.3.8", + "@aibrow/dom-types": "1.3.9", "@apollo/utils.sortast": "3.0.0", "@floating-ui/dom": "1.6.13", "@fontsource-variable/inter": "5.2.5", - "@inlang/cli": "3.0.7", + "@inlang/cli": "3.0.10", "@inlang/paraglide-sveltekit": "0.14.0", "@nhost/nhost-js": "3.2.6", "@skeletonlabs/skeleton": "2.11.0", @@ -51,11 +51,11 @@ "@spectacular/typescript-config": "workspace:*", "@spectacular/utils": "workspace:*", "@svelte-plugins/datepicker": "1.0.11", - "@sveltejs/adapter-auto": "4.0.0", + "@sveltejs/adapter-auto": "6.0.0", "@sveltejs/adapter-node": "5.2.12", "@sveltejs/adapter-vercel": "5.6.3", "@sveltejs/enhanced-img": "0.3.10", - "@sveltejs/kit": "2.20.2", + "@sveltejs/kit": "2.20.3", "@sveltejs/vite-plugin-svelte": "3.1.2", "@tailwindcss/container-queries": "0.1.1", "@tailwindcss/forms": "0.5.10", @@ -65,17 +65,17 @@ "@types/d3-scale": "4.0.9", "@types/dom-chromium-ai": "0.0.6", "@types/js-cookie": "3.0.6", - "@types/node": "22.13.11", + "@types/node": "22.14.0", "@unovis/svelte": "1.5.1", "@unovis/ts": "1.5.1", "@vercel/analytics": "1.5.0", "@vercel/flags": "3.1.1", "@vercel/speed-insights": "1.2.0", - "@vercel/toolbar": "0.1.35", + "@vercel/toolbar": "0.1.36", "@vincjo/datatables": "2.5.0", - "@vitest/coverage-v8": "3.0.9", - "@xyflow/svelte": "0.1.31", - "ai": "4.2.0", + "@vitest/coverage-v8": "3.1.1", + "@xyflow/svelte": "0.1.34", + "ai": "4.2.11", "autoprefixer": "10.4.21", "chrome-ai": "1.11.1", "clsx": "2.1.1", @@ -86,14 +86,14 @@ "graphql": "16.10.0", "graphql-ws": "6.0.4", "houdini": "1.5.4", - "houdini-svelte": "2.1.8", + "houdini-svelte": "2.1.12", "js-cookie": "3.0.5", "jsdom": "26.0.0", - "lucide-svelte": "0.483.0", + "lucide-svelte": "0.487.0", "neverthrow": "8.2.0", "node-forge": "1.3.1", "ollama-ai-provider": "1.2.0", - "openai": "4.89.0", + "openai": "4.91.1", "openai-zod-to-json-schema": "1.0.3", "paneforge": "0.0.6", "postcss": "8.5.3", @@ -117,12 +117,12 @@ "tailwindcss-animate": "1.0.7", "tslib": "2.8.1", "typescript": "5.8.2", - "vite": "5.4.14", - "vitest": "3.0.9", + "vite": "5.4.17", + "vitest": "3.1.1", "zod": "3.24.2" }, "optionalDependencies": { "@playwright/test": "1.51.1", - "@vitest/ui": "3.0.9" + "@vitest/ui": "3.1.1" } } diff --git a/apps/console/src/routes/(auth)/signup/+page.svelte b/apps/console/src/routes/(auth)/signup/+page.svelte index 6e98044c3..50889a0fe 100644 --- a/apps/console/src/routes/(auth)/signup/+page.svelte +++ b/apps/console/src/routes/(auth)/signup/+page.svelte @@ -4,11 +4,10 @@ import { page } from '$app/stores'; import * as m from '$i18n/messages'; import { handleMessage } from '$lib/components/layout/toast-manager'; import { i18n } from '$lib/i18n'; -import { updateUserDetailsKeys as keys, signUpSchema } from '$lib/schema/user'; +import { signUpSchema, updateUserDetailsKeys as keys } from '$lib/schema/user'; import { getLoadingState } from '$lib/stores/loading'; import { getNhostClient } from '$lib/stores/nhost'; import { turnstilePassed, turnstileResponse } from '$lib/stores/stores'; -import { getAuthenticationResult, signUpEmailPasswordPromise } from '@nhost/nhost-js'; import { getToastStore } from '@skeletonlabs/skeleton'; import { DebugShell } from '$lib/ui/components'; import { Alerts } from '$lib/ui/components/form'; @@ -49,36 +48,22 @@ const form = superForm(defaults(zod(signUpSchema)), { if (!form.valid) return; const { firstName, lastName, email, password, locale, redirectTo } = form.data; - - // FIXME: remove this block after nhost.auth.signUp support headers - const { session, error } = getAuthenticationResult( - await signUpEmailPasswordPromise( - // biome-ignore lint/style/noNonNullAssertion: - nhost.auth.client.interpreter!, + const { session, error } = await nhost.auth.signUp( + { email, - password as string, - { + password, + options: { displayName: `${firstName} ${lastName}`, locale, }, - { - headers: { - 'x-cf-turnstile-response': $turnstileResponse, - }, + }, + { + headers: { + 'x-cf-turnstile-response': $turnstileResponse, }, - ), + }, ); - // log.debug('TODO: use turnstileResponse:', $turnstileResponse); - // const { session, error } = await nhost.auth.signUp({ - // email, - // password, - // options: { - // displayName: `${firstName} ${lastName}`, - // locale, - // }, - // }); - if (error) { log.error(error); // FIXME: workaround for `missing x-cf-turnstile-response` @@ -140,18 +125,18 @@ $formData.redirectTo = $page.url.searchParams.get('redirectTo') ?? $formData.red Datablocks | Signup - + - +
{m.auth_forms_first_name_label()}{m.auth_forms_first_name_label()} - +
{m.auth_forms_last_name_label()}{m.auth_forms_last_name_label()} - +
{m.auth_forms_email_label()}{m.auth_forms_email_label()} - +
{m.auth_forms_password_label()}{m.auth_forms_password_label()} - +
{m.auth_forms_confirm_password_label()}{m.auth_forms_confirm_password_label()} - +
- Locale + Locale