From c1272dc7a7d890798b5d4007190fdcfa940c3548 Mon Sep 17 00:00:00 2001 From: Huskydog9988 <39809509+Huskydog9988@users.noreply.github.com> Date: Sat, 22 Mar 2025 19:37:28 -0400 Subject: [PATCH] use arktype for clientside validation --- .vscode/settings.json | 35 ++++++----- package.json | 1 + pages/register.vue | 21 ++++--- server/api/v1/auth/signup/simple.post.ts | 79 ++++++++---------------- server/tsconfig.json | 5 +- tsconfig.json | 5 +- yarn.lock | 20 ++++++ 7 files changed, 87 insertions(+), 79 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 87ca8ef..e426a5e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,18 +1,21 @@ { - "spellchecker.ignoreWordsList": [ - "mTLS", - "Wireguard" - ], - "sqltools.connections": [ - { - "previewLimit": 50, - "server": "localhost", - "port": 5432, - "driver": "PostgreSQL", - "name": "drop", - "database": "drop", - "username": "drop", - "password": "drop" - } - ] + "spellchecker.ignoreWordsList": ["mTLS", "Wireguard"], + "sqltools.connections": [ + { + "previewLimit": 50, + "server": "localhost", + "port": 5432, + "driver": "PostgreSQL", + "name": "drop", + "database": "drop", + "username": "drop", + "password": "drop" + } + ], + // allow autocomplete for ArkType expressions like "string | num" + "editor.quickSuggestions": { + "strings": "on" + }, + // prioritize ArkType's "type" for autoimports + "typescript.preferences.autoImportSpecifierExcludeRegexes": ["^(node:)?os$"] } diff --git a/package.json b/package.json index c114de5..b05f39b 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@prisma/client": "^6.1.0", "@tailwindcss/vite": "^4.0.6", "argon2": "^0.41.1", + "arktype": "^2.1.10", "axios": "^1.7.7", "bcryptjs": "^2.4.3", "cookie-es": "^1.2.2", diff --git a/pages/register.vue b/pages/register.vue index 4a7b018..5574ab4 100644 --- a/pages/register.vue +++ b/pages/register.vue @@ -188,6 +188,7 @@