From ba0794ef31c694175dcb7bc464eff5c74444b45c Mon Sep 17 00:00:00 2001 From: nams1570 Date: Fri, 9 Jan 2026 16:42:22 -0800 Subject: [PATCH 01/11] bump: Update oauth4webapi to latest for sdk --- packages/js/package.json | 2 +- packages/react/package.json | 2 +- packages/stack/package.json | 2 +- packages/template/package-template.json | 2 +- packages/template/package.json | 2 +- pnpm-lock.yaml | 480 ++++++++++++++++++++---- 6 files changed, 409 insertions(+), 81 deletions(-) diff --git a/packages/js/package.json b/packages/js/package.json index a859cb602d..3615fee714 100644 --- a/packages/js/package.json +++ b/packages/js/package.json @@ -58,7 +58,7 @@ "cookie": "^0.6.0", "jose": "^5.2.2", "js-cookie": "^3.0.5", - "oauth4webapi": "^2.10.3", + "oauth4webapi": "^3.8.3", "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", "rimraf": "^5.0.5", diff --git a/packages/react/package.json b/packages/react/package.json index b40e3bdf5d..b4633f231b 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -71,7 +71,7 @@ "jose": "^5.2.2", "js-cookie": "^3.0.5", "lucide-react": "^0.378.0", - "oauth4webapi": "^2.10.3", + "oauth4webapi": "^3.8.3", "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", "react-easy-crop": "^5.4.1", diff --git a/packages/stack/package.json b/packages/stack/package.json index 22d5219612..cb219cba40 100644 --- a/packages/stack/package.json +++ b/packages/stack/package.json @@ -72,7 +72,7 @@ "jose": "^5.2.2", "js-cookie": "^3.0.5", "lucide-react": "^0.378.0", - "oauth4webapi": "^2.10.3", + "oauth4webapi": "^3.8.3", "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", "react-easy-crop": "^5.4.1", diff --git a/packages/template/package-template.json b/packages/template/package-template.json index a4f1f9abb5..4b07dd845f 100644 --- a/packages/template/package-template.json +++ b/packages/template/package-template.json @@ -106,7 +106,7 @@ "js-cookie": "^3.0.5", "//": "NEXT_LINE_PLATFORM react-like", "lucide-react": "^0.378.0", - "oauth4webapi": "^2.10.3", + "oauth4webapi": "^3.8.3", "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", "//": "NEXT_LINE_PLATFORM react-like", diff --git a/packages/template/package.json b/packages/template/package.json index 4e9a240132..0bbaac2669 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -77,7 +77,7 @@ "jose": "^5.2.2", "js-cookie": "^3.0.5", "lucide-react": "^0.378.0", - "oauth4webapi": "^2.10.3", + "oauth4webapi": "^3.8.3", "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", "react-easy-crop": "^5.4.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ab49314a0c..22044384a8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -197,7 +197,7 @@ importers: version: 1.10.4(@opentelemetry/api-logs@0.53.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0)) '@vercel/sandbox': specifier: ^1.1.2 - version: 1.1.2 + version: 1.1.9 ai: specifier: ^4.3.17 version: 4.3.17(react@19.2.3)(zod@3.25.76) @@ -215,7 +215,7 @@ importers: version: 7.4.1 freestyle-sandboxes: specifier: ^0.1.5 - version: 0.1.5 + version: 0.1.6 jose: specifier: ^5.2.2 version: 5.4.0 @@ -1104,7 +1104,7 @@ importers: version: 5.3.3 vite: specifier: ^6.1.0 - version: 6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.19.3)(yaml@2.8.0) + version: 6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0) examples/lovable-react-18-example: dependencies: @@ -1251,7 +1251,7 @@ importers: version: 2.6.0 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.18(tsx@4.19.3)(yaml@2.8.0)) + version: 1.0.7(tailwindcss@3.4.18(tsx@4.21.0)(yaml@2.8.0)) vaul: specifier: ^0.9.9 version: 0.9.9(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1264,7 +1264,7 @@ importers: version: 9.39.1 '@tailwindcss/typography': specifier: ^0.5.16 - version: 0.5.19(tailwindcss@3.4.18(tsx@4.19.3)(yaml@2.8.0)) + version: 0.5.19(tailwindcss@3.4.18(tsx@4.21.0)(yaml@2.8.0)) '@types/node': specifier: ^22.16.5 version: 22.19.0 @@ -1294,13 +1294,13 @@ importers: version: 15.15.0 lovable-tagger: specifier: ^1.1.11 - version: 1.1.11(tsx@4.19.3)(vite@5.4.21(@types/node@22.19.0)(lightningcss@1.30.1)(terser@5.44.0))(yaml@2.8.0) + version: 1.1.11(tsx@4.21.0)(vite@5.4.21(@types/node@22.19.0)(lightningcss@1.30.1)(terser@5.44.0))(yaml@2.8.0) postcss: specifier: ^8.5.6 version: 8.5.6 tailwindcss: specifier: ^3.4.17 - version: 3.4.18(tsx@4.19.3)(yaml@2.8.0) + version: 3.4.18(tsx@4.21.0)(yaml@2.8.0) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -1368,7 +1368,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.19.3)(yaml@2.8.0)) + version: 4.3.4(vite@6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0)) globals: specifier: ^15.14.0 version: 15.15.0 @@ -1377,7 +1377,7 @@ importers: version: 5.3.3 vite: specifier: ^6.1.0 - version: 6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.19.3)(yaml@2.8.0) + version: 6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0) examples/supabase: dependencies: @@ -1386,10 +1386,10 @@ importers: version: link:../../packages/stack '@supabase/ssr': specifier: latest - version: 0.8.0(@supabase/supabase-js@2.89.0) + version: 0.8.0(@supabase/supabase-js@2.90.0) '@supabase/supabase-js': specifier: latest - version: 2.89.0 + version: 2.90.0 jose: specifier: ^5.2.2 version: 5.6.3 @@ -1445,7 +1445,7 @@ importers: version: 6.0.1 tsup: specifier: ^8.4.0 - version: 8.4.0(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.5.6)(tsx@4.19.3)(typescript@5.3.3)(yaml@2.8.0) + version: 8.4.0(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.3.3)(yaml@2.8.0) typescript: specifier: 5.3.3 version: 5.3.3 @@ -1480,8 +1480,8 @@ importers: specifier: ^3.0.5 version: 3.0.5 oauth4webapi: - specifier: ^2.10.3 - version: 2.10.4 + specifier: ^3.8.3 + version: 3.8.3 qrcode: specifier: ^1.5.4 version: 1.5.4 @@ -1595,8 +1595,8 @@ importers: specifier: ^0.378.0 version: 0.378.0(react@19.2.1) oauth4webapi: - specifier: ^2.10.3 - version: 2.10.4 + specifier: ^3.8.3 + version: 3.8.3 qrcode: specifier: ^1.5.4 version: 1.5.4 @@ -1728,8 +1728,8 @@ importers: specifier: ^0.378.0 version: 0.378.0(react@19.2.1) oauth4webapi: - specifier: ^2.10.3 - version: 2.10.4 + specifier: ^3.8.3 + version: 3.8.3 qrcode: specifier: ^1.5.4 version: 1.5.4 @@ -2116,8 +2116,8 @@ importers: specifier: ^0.378.0 version: 0.378.0(react@19.2.1) oauth4webapi: - specifier: ^2.10.3 - version: 2.10.4 + specifier: ^3.8.3 + version: 3.8.3 qrcode: specifier: ^1.5.4 version: 1.5.4 @@ -3132,6 +3132,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.27.1': + resolution: {integrity: sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.20.2': resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} @@ -3174,6 +3180,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.27.1': + resolution: {integrity: sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.20.2': resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} @@ -3216,6 +3228,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.27.1': + resolution: {integrity: sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.20.2': resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} @@ -3258,6 +3276,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.27.1': + resolution: {integrity: sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.20.2': resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} @@ -3300,6 +3324,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.27.1': + resolution: {integrity: sha512-veg7fL8eMSCVKL7IW4pxb54QERtedFDfY/ASrumK/SbFsXnRazxY4YykN/THYqFnFwJ0aVjiUrVG2PwcdAEqQQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.20.2': resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} @@ -3342,6 +3372,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.27.1': + resolution: {integrity: sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.20.2': resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} @@ -3384,6 +3420,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.27.1': + resolution: {integrity: sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.20.2': resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} @@ -3426,6 +3468,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.27.1': + resolution: {integrity: sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.20.2': resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} @@ -3468,6 +3516,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.27.1': + resolution: {integrity: sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.20.2': resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} @@ -3510,6 +3564,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.27.1': + resolution: {integrity: sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.20.2': resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} @@ -3552,6 +3612,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.27.1': + resolution: {integrity: sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.20.2': resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} @@ -3594,6 +3660,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.27.1': + resolution: {integrity: sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.20.2': resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} @@ -3636,6 +3708,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.27.1': + resolution: {integrity: sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.20.2': resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} @@ -3678,6 +3756,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.27.1': + resolution: {integrity: sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.20.2': resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} @@ -3720,6 +3804,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.27.1': + resolution: {integrity: sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.20.2': resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} @@ -3762,6 +3852,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.27.1': + resolution: {integrity: sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.20.2': resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} @@ -3804,6 +3900,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.27.1': + resolution: {integrity: sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.24.2': resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} engines: {node: '>=18'} @@ -3828,6 +3930,12 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.27.1': + resolution: {integrity: sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.20.2': resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} @@ -3870,6 +3978,12 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.27.1': + resolution: {integrity: sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.23.1': resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} engines: {node: '>=18'} @@ -3900,6 +4014,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.27.1': + resolution: {integrity: sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.20.2': resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} @@ -3942,12 +4062,24 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.27.1': + resolution: {integrity: sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openharmony-arm64@0.25.11': resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] + '@esbuild/openharmony-arm64@0.27.1': + resolution: {integrity: sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.20.2': resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} @@ -3990,6 +4122,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.27.1': + resolution: {integrity: sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.20.2': resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} @@ -4032,6 +4170,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.27.1': + resolution: {integrity: sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.20.2': resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} @@ -4074,6 +4218,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.27.1': + resolution: {integrity: sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.20.2': resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} @@ -4116,6 +4266,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.27.1': + resolution: {integrity: sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.1': resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -8159,20 +8315,20 @@ packages: resolution: {integrity: sha512-SXuhqhuR5FXaYgKTXzZJeqtVA6JKb9IZWaGeEUxHHiOcFy2p51wccO72bYpXwoK4D5pzQOIYLTuAc7etxyMmwg==} engines: {node: '>=12.16'} - '@supabase/auth-js@2.89.0': - resolution: {integrity: sha512-wiWZdz8WMad8LQdJMWYDZ2SJtZP5MwMqzQq3ehtW2ngiI3UTgbKiFrvMUUS3KADiVlk4LiGfODB2mrYx7w2f8w==} + '@supabase/auth-js@2.90.0': + resolution: {integrity: sha512-J5Jgr1XE86NpK0LX8yLdjv3NzzsUnGky72QIGR1AcdVXHQIhwjb3JFEjNutODNKyOrknx00lyClOvqooHFHIiw==} engines: {node: '>=20.0.0'} - '@supabase/functions-js@2.89.0': - resolution: {integrity: sha512-XEueaC5gMe5NufNYfBh9kPwJlP5M2f+Ogr8rvhmRDAZNHgY6mI35RCkYDijd92pMcNM7g8pUUJov93UGUnqfyw==} + '@supabase/functions-js@2.90.0': + resolution: {integrity: sha512-YEk4AVtdaUzjxhil2GemOjq0VQVQfg8LmPyooJt80lNscQHfDyCGmHeQ6pDI48dkICTE87V7KVrlXaVGCZa1Rw==} engines: {node: '>=20.0.0'} - '@supabase/postgrest-js@2.89.0': - resolution: {integrity: sha512-/b0fKrxV9i7RNOEXMno/I1862RsYhuUo+Q6m6z3ar1f4ulTMXnDfv0y4YYxK2POcgrOXQOgKYQx1eArybyNvtg==} + '@supabase/postgrest-js@2.90.0': + resolution: {integrity: sha512-XCgrXuGtBPgxQWKfS8tZ4/deK5+cgUW+XLl4zq4v7JRUfCHlc3ZewZid5hjcpAIDYwGWq9ihrfPUNDAfl5jDdg==} engines: {node: '>=20.0.0'} - '@supabase/realtime-js@2.89.0': - resolution: {integrity: sha512-aMOvfDb2a52u6PX6jrrjvACHXGV3zsOlWRzZsTIOAJa0hOVvRp01AwC1+nLTGUzxzezejrYeCX+KnnM1xHdl+w==} + '@supabase/realtime-js@2.90.0': + resolution: {integrity: sha512-Hncs2Obk2Wd4Mcj51XDtLqOuiDT6onSmpHkwjsaLDZylgLi4uN81W4LYhj+rdPm3A9nQIRB4/5SZ3Hab2Adlsg==} engines: {node: '>=20.0.0'} '@supabase/ssr@0.8.0': @@ -8180,12 +8336,12 @@ packages: peerDependencies: '@supabase/supabase-js': ^2.76.1 - '@supabase/storage-js@2.89.0': - resolution: {integrity: sha512-6zKcXofk/M/4Eato7iqpRh+B+vnxeiTumCIP+Tz26xEqIiywzD9JxHq+udRrDuv6hXE+pmetvJd8n5wcf4MFRQ==} + '@supabase/storage-js@2.90.0': + resolution: {integrity: sha512-50XiDACfHXhibm20J94TEdOYMLXm4fZCHTdAAs9xBDJTBA4RXVN52Bx1MVW34pu3S72rAgObQxVyAFaZ+7+7Tg==} engines: {node: '>=20.0.0'} - '@supabase/supabase-js@2.89.0': - resolution: {integrity: sha512-KlaRwSfFA0fD73PYVMHj5/iXFtQGCcX7PSx0FdQwYEEw9b2wqM7GxadY+5YwcmuEhalmjFB/YvqaoNVF+sWUlg==} + '@supabase/supabase-js@2.90.0': + resolution: {integrity: sha512-foWQl5x1+LuqT7qdnAoCDcKHTNBSaED+eSEOEmmpqXiQuCfJU2K0lDkfGm7PUBx/BDaw3tFObzuJyZtHDbrehA==} engines: {node: '>=20.0.0'} '@swc/core-darwin-arm64@1.3.101': @@ -8971,8 +9127,8 @@ packages: '@opentelemetry/sdk-metrics': ^1.19.0 '@opentelemetry/sdk-trace-base': ^1.19.0 - '@vercel/sandbox@1.1.2': - resolution: {integrity: sha512-+YG9Xseqqf2+Da5qjHWAORizxIVHZba/1790hkDbCtRGniz/NaqUYsy4dN5OQEeYqEOwCcI3gqu0XOwLU0E/zg==} + '@vercel/sandbox@1.1.9': + resolution: {integrity: sha512-DbCYoA8GVMRshFtXNpSPX+7xqgCoUgk0Zm+F0B22UgvtvmAvxpxtPp9t8pfW56AUez3UXhvdJNIaO16A9G6AkQ==} '@vercel/speed-insights@1.0.12': resolution: {integrity: sha512-ZGQ+a7bcfWJD2VYEp2R1LHvRAMyyaFBYytZXsfnbOMkeOvzGNVxUL7aVUvisIrTZjXTSsxG45DKX7yiw6nq2Jw==} @@ -9141,6 +9297,10 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + ai@4.3.17: resolution: {integrity: sha512-uWqIQ94Nb1GTYtYElGHegJMOzv3r2mCKNFlKrqkft9xrfvIahTI5OdcnD5U9612RFGuUNGmSDTO1/YRNFXobaQ==} engines: {node: '>=18'} @@ -10735,6 +10895,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.27.1: + resolution: {integrity: sha512-yY35KZckJJuVVPXpvjgxiCuVEJT67F6zDeVTv4rizyPrfGBUpZQsvmxnN+C371c2esD/hNMjj4tpBhuueLN7aA==} + engines: {node: '>=18'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -11296,8 +11461,8 @@ packages: frame-ticker@1.0.3: resolution: {integrity: sha512-E0X2u2JIvbEMrqEg5+4BpTqaD22OwojJI63K7MdKHdncjtAhGRbCR8nJCr2vwEt9NWBPCPcu70X9smPviEBy8Q==} - freestyle-sandboxes@0.1.5: - resolution: {integrity: sha512-wk6Oe8oR3xaiU701PAl70Zed+AnbEVVmyIOuOjwxPdCDA5P+2s0l5dpr+X5XpW0bFlJxbTd1p+VJRxKVP/u4uA==} + freestyle-sandboxes@0.1.6: + resolution: {integrity: sha512-zfyJy+DgmheFjCAPYMklo7rpzvuxNP46rB0a9WfNBEmitYGE23nlbjyTy8qdrmVuCVCoMIDQQzzJRkyuh0Szqg==} fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} @@ -11780,6 +11945,10 @@ packages: resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} @@ -13167,6 +13336,7 @@ packages: next@16.1.1: resolution: {integrity: sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w==} engines: {node: '>=20.9.0'} + deprecated: This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/security-update-2025-12-11 for more details. hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 @@ -13279,6 +13449,9 @@ packages: oauth4webapi@2.10.4: resolution: {integrity: sha512-DSoj8QoChzOCQlJkRmYxAJCIpnXFW32R0Uq7avyghIeB6iJq0XAblOD7pcq3mx4WEBDwMuKr0Y1qveCBleG2Xw==} + oauth4webapi@3.8.3: + resolution: {integrity: sha512-pQ5BsX3QRTgnt5HxgHwgunIRaDXBdkT23tf8dfzmtTIL2LTpdmxgbpbBm0VgFWAIDlezQvQCTgnVIUmHupXHxw==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -13383,6 +13556,10 @@ packages: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} + os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -15356,6 +15533,11 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + engines: {node: '>=18.0.0'} + hasBin: true + turbo-darwin-64@2.2.3: resolution: {integrity: sha512-Rcm10CuMKQGcdIBS3R/9PMeuYnv6beYIHqfZFeKWVYEWH69sauj4INs83zKMTUiZJ3/hWGZ4jet9AOwhsssLyg==} cpu: [x64] @@ -15489,8 +15671,8 @@ packages: resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} engines: {node: '>=18.17'} - undici@7.18.0: - resolution: {integrity: sha512-CfPufgPFHCYu0W4h1NiKW9+tNJ39o3kWm7Cm29ET1enSJx+AERfz7A2wAr26aY0SZbYzZlTBQtcHy15o60VZfQ==} + undici@7.18.2: + resolution: {integrity: sha512-y+8YjDFzWdQlSE9N5nzKMT3g4a5UBX1HKowfdXh0uvAnTaqqwqB92Jt4UXBAeKekDs5IaDKyJFR4X1gYVCgXcw==} engines: {node: '>=20.18.1'} unified@11.0.5: @@ -15924,7 +16106,6 @@ packages: whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} - deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation whatwg-fetch@3.6.20: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} @@ -16036,6 +16217,14 @@ packages: utf-8-validate: optional: true + xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + + xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + xml-js@1.6.11: resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} hasBin: true @@ -17995,6 +18184,9 @@ snapshots: '@esbuild/aix-ppc64@0.25.4': optional: true + '@esbuild/aix-ppc64@0.27.1': + optional: true + '@esbuild/android-arm64@0.20.2': optional: true @@ -18016,6 +18208,9 @@ snapshots: '@esbuild/android-arm64@0.25.4': optional: true + '@esbuild/android-arm64@0.27.1': + optional: true + '@esbuild/android-arm@0.20.2': optional: true @@ -18037,6 +18232,9 @@ snapshots: '@esbuild/android-arm@0.25.4': optional: true + '@esbuild/android-arm@0.27.1': + optional: true + '@esbuild/android-x64@0.20.2': optional: true @@ -18058,6 +18256,9 @@ snapshots: '@esbuild/android-x64@0.25.4': optional: true + '@esbuild/android-x64@0.27.1': + optional: true + '@esbuild/darwin-arm64@0.20.2': optional: true @@ -18079,6 +18280,9 @@ snapshots: '@esbuild/darwin-arm64@0.25.4': optional: true + '@esbuild/darwin-arm64@0.27.1': + optional: true + '@esbuild/darwin-x64@0.20.2': optional: true @@ -18100,6 +18304,9 @@ snapshots: '@esbuild/darwin-x64@0.25.4': optional: true + '@esbuild/darwin-x64@0.27.1': + optional: true + '@esbuild/freebsd-arm64@0.20.2': optional: true @@ -18121,6 +18328,9 @@ snapshots: '@esbuild/freebsd-arm64@0.25.4': optional: true + '@esbuild/freebsd-arm64@0.27.1': + optional: true + '@esbuild/freebsd-x64@0.20.2': optional: true @@ -18142,6 +18352,9 @@ snapshots: '@esbuild/freebsd-x64@0.25.4': optional: true + '@esbuild/freebsd-x64@0.27.1': + optional: true + '@esbuild/linux-arm64@0.20.2': optional: true @@ -18163,6 +18376,9 @@ snapshots: '@esbuild/linux-arm64@0.25.4': optional: true + '@esbuild/linux-arm64@0.27.1': + optional: true + '@esbuild/linux-arm@0.20.2': optional: true @@ -18184,6 +18400,9 @@ snapshots: '@esbuild/linux-arm@0.25.4': optional: true + '@esbuild/linux-arm@0.27.1': + optional: true + '@esbuild/linux-ia32@0.20.2': optional: true @@ -18205,6 +18424,9 @@ snapshots: '@esbuild/linux-ia32@0.25.4': optional: true + '@esbuild/linux-ia32@0.27.1': + optional: true + '@esbuild/linux-loong64@0.20.2': optional: true @@ -18226,6 +18448,9 @@ snapshots: '@esbuild/linux-loong64@0.25.4': optional: true + '@esbuild/linux-loong64@0.27.1': + optional: true + '@esbuild/linux-mips64el@0.20.2': optional: true @@ -18247,6 +18472,9 @@ snapshots: '@esbuild/linux-mips64el@0.25.4': optional: true + '@esbuild/linux-mips64el@0.27.1': + optional: true + '@esbuild/linux-ppc64@0.20.2': optional: true @@ -18268,6 +18496,9 @@ snapshots: '@esbuild/linux-ppc64@0.25.4': optional: true + '@esbuild/linux-ppc64@0.27.1': + optional: true + '@esbuild/linux-riscv64@0.20.2': optional: true @@ -18289,6 +18520,9 @@ snapshots: '@esbuild/linux-riscv64@0.25.4': optional: true + '@esbuild/linux-riscv64@0.27.1': + optional: true + '@esbuild/linux-s390x@0.20.2': optional: true @@ -18310,6 +18544,9 @@ snapshots: '@esbuild/linux-s390x@0.25.4': optional: true + '@esbuild/linux-s390x@0.27.1': + optional: true + '@esbuild/linux-x64@0.20.2': optional: true @@ -18331,6 +18568,9 @@ snapshots: '@esbuild/linux-x64@0.25.4': optional: true + '@esbuild/linux-x64@0.27.1': + optional: true + '@esbuild/netbsd-arm64@0.24.2': optional: true @@ -18343,6 +18583,9 @@ snapshots: '@esbuild/netbsd-arm64@0.25.4': optional: true + '@esbuild/netbsd-arm64@0.27.1': + optional: true + '@esbuild/netbsd-x64@0.20.2': optional: true @@ -18364,6 +18607,9 @@ snapshots: '@esbuild/netbsd-x64@0.25.4': optional: true + '@esbuild/netbsd-x64@0.27.1': + optional: true + '@esbuild/openbsd-arm64@0.23.1': optional: true @@ -18379,6 +18625,9 @@ snapshots: '@esbuild/openbsd-arm64@0.25.4': optional: true + '@esbuild/openbsd-arm64@0.27.1': + optional: true + '@esbuild/openbsd-x64@0.20.2': optional: true @@ -18400,9 +18649,15 @@ snapshots: '@esbuild/openbsd-x64@0.25.4': optional: true + '@esbuild/openbsd-x64@0.27.1': + optional: true + '@esbuild/openharmony-arm64@0.25.11': optional: true + '@esbuild/openharmony-arm64@0.27.1': + optional: true + '@esbuild/sunos-x64@0.20.2': optional: true @@ -18424,6 +18679,9 @@ snapshots: '@esbuild/sunos-x64@0.25.4': optional: true + '@esbuild/sunos-x64@0.27.1': + optional: true + '@esbuild/win32-arm64@0.20.2': optional: true @@ -18445,6 +18703,9 @@ snapshots: '@esbuild/win32-arm64@0.25.4': optional: true + '@esbuild/win32-arm64@0.27.1': + optional: true + '@esbuild/win32-ia32@0.20.2': optional: true @@ -18466,6 +18727,9 @@ snapshots: '@esbuild/win32-ia32@0.25.4': optional: true + '@esbuild/win32-ia32@0.27.1': + optional: true + '@esbuild/win32-x64@0.20.2': optional: true @@ -18487,6 +18751,9 @@ snapshots: '@esbuild/win32-x64@0.25.4': optional: true + '@esbuild/win32-x64@0.27.1': + optional: true + '@eslint-community/eslint-utils@4.4.1(eslint@8.30.0)': dependencies: eslint: 8.30.0 @@ -24070,19 +24337,19 @@ snapshots: '@stripe/stripe-js@7.7.0': {} - '@supabase/auth-js@2.89.0': + '@supabase/auth-js@2.90.0': dependencies: tslib: 2.8.1 - '@supabase/functions-js@2.89.0': + '@supabase/functions-js@2.90.0': dependencies: tslib: 2.8.1 - '@supabase/postgrest-js@2.89.0': + '@supabase/postgrest-js@2.90.0': dependencies: tslib: 2.8.1 - '@supabase/realtime-js@2.89.0': + '@supabase/realtime-js@2.90.0': dependencies: '@types/phoenix': 1.6.6 '@types/ws': 8.18.1 @@ -24092,23 +24359,23 @@ snapshots: - bufferutil - utf-8-validate - '@supabase/ssr@0.8.0(@supabase/supabase-js@2.89.0)': + '@supabase/ssr@0.8.0(@supabase/supabase-js@2.90.0)': dependencies: - '@supabase/supabase-js': 2.89.0 + '@supabase/supabase-js': 2.90.0 cookie: 1.0.2 - '@supabase/storage-js@2.89.0': + '@supabase/storage-js@2.90.0': dependencies: iceberg-js: 0.8.1 tslib: 2.8.1 - '@supabase/supabase-js@2.89.0': + '@supabase/supabase-js@2.90.0': dependencies: - '@supabase/auth-js': 2.89.0 - '@supabase/functions-js': 2.89.0 - '@supabase/postgrest-js': 2.89.0 - '@supabase/realtime-js': 2.89.0 - '@supabase/storage-js': 2.89.0 + '@supabase/auth-js': 2.90.0 + '@supabase/functions-js': 2.90.0 + '@supabase/postgrest-js': 2.90.0 + '@supabase/realtime-js': 2.90.0 + '@supabase/storage-js': 2.90.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -24253,10 +24520,10 @@ snapshots: postcss: 8.5.3 tailwindcss: 4.1.9 - '@tailwindcss/typography@0.5.19(tailwindcss@3.4.18(tsx@4.19.3)(yaml@2.8.0))': + '@tailwindcss/typography@0.5.19(tailwindcss@3.4.18(tsx@4.21.0)(yaml@2.8.0))': dependencies: postcss-selector-parser: 6.0.10 - tailwindcss: 3.4.18(tsx@4.19.3)(yaml@2.8.0) + tailwindcss: 3.4.18(tsx@4.21.0)(yaml@2.8.0) '@tanstack/query-core@5.90.7': {} @@ -25082,14 +25349,16 @@ snapshots: '@opentelemetry/sdk-metrics': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.26.0(@opentelemetry/api@1.9.0) - '@vercel/sandbox@1.1.2': + '@vercel/sandbox@1.1.9': dependencies: '@vercel/oidc': 3.1.0 async-retry: 1.3.3 jsonlines: 0.1.1 ms: 2.1.3 + picocolors: 1.1.1 tar-stream: 3.1.7 - undici: 7.18.0 + undici: 7.18.2 + xdg-app-paths: 5.1.0 zod: 3.24.4 '@vercel/speed-insights@1.0.12(next@16.1.1(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)': @@ -25119,14 +25388,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.3.4(vite@6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.19.3)(yaml@2.8.0))': + '@vitejs/plugin-react@4.3.4(vite@6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))': dependencies: '@babel/core': 7.28.5 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.5) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.19.3)(yaml@2.8.0) + vite: 6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -25314,6 +25583,8 @@ snapshots: transitivePeerDependencies: - supports-color + agent-base@7.1.4: {} + ai@4.3.17(react@18.3.1)(zod@3.25.76): dependencies: '@ai-sdk/provider': 1.1.3 @@ -27241,6 +27512,36 @@ snapshots: '@esbuild/win32-ia32': 0.25.4 '@esbuild/win32-x64': 0.25.4 + esbuild@0.27.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.1 + '@esbuild/android-arm': 0.27.1 + '@esbuild/android-arm64': 0.27.1 + '@esbuild/android-x64': 0.27.1 + '@esbuild/darwin-arm64': 0.27.1 + '@esbuild/darwin-x64': 0.27.1 + '@esbuild/freebsd-arm64': 0.27.1 + '@esbuild/freebsd-x64': 0.27.1 + '@esbuild/linux-arm': 0.27.1 + '@esbuild/linux-arm64': 0.27.1 + '@esbuild/linux-ia32': 0.27.1 + '@esbuild/linux-loong64': 0.27.1 + '@esbuild/linux-mips64el': 0.27.1 + '@esbuild/linux-ppc64': 0.27.1 + '@esbuild/linux-riscv64': 0.27.1 + '@esbuild/linux-s390x': 0.27.1 + '@esbuild/linux-x64': 0.27.1 + '@esbuild/netbsd-arm64': 0.27.1 + '@esbuild/netbsd-x64': 0.27.1 + '@esbuild/openbsd-arm64': 0.27.1 + '@esbuild/openbsd-x64': 0.27.1 + '@esbuild/openharmony-arm64': 0.27.1 + '@esbuild/sunos-x64': 0.27.1 + '@esbuild/win32-arm64': 0.27.1 + '@esbuild/win32-ia32': 0.27.1 + '@esbuild/win32-x64': 0.27.1 + optional: true + escalade@3.1.2: {} escalade@3.2.0: {} @@ -27346,7 +27647,7 @@ snapshots: eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.30.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.30.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.30.0)(typescript@5.3.3))(eslint@8.30.0))(eslint@8.30.0))(eslint@8.30.0) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.30.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.30.0) fast-glob: 3.3.2 - get-tsconfig: 4.7.5 + get-tsconfig: 4.8.1 is-core-module: 2.15.1 is-glob: 4.0.3 transitivePeerDependencies: @@ -28162,7 +28463,7 @@ snapshots: dependencies: simplesignal: 2.1.7 - freestyle-sandboxes@0.1.5: {} + freestyle-sandboxes@0.1.6: {} fresh@0.5.2: {} @@ -28430,7 +28731,7 @@ snapshots: gaxios@6.7.1(encoding@0.1.13): dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.5 + https-proxy-agent: 7.0.6 is-stream: 2.0.1 node-fetch: 2.7.0(encoding@0.1.13) uuid: 9.0.1 @@ -28894,6 +29195,13 @@ snapshots: transitivePeerDependencies: - supports-color + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + human-id@1.0.2: {} human-signals@2.1.0: {} @@ -29645,14 +29953,14 @@ snapshots: dependencies: get-func-name: 2.0.2 - lovable-tagger@1.1.11(tsx@4.19.3)(vite@5.4.21(@types/node@22.19.0)(lightningcss@1.30.1)(terser@5.44.0))(yaml@2.8.0): + lovable-tagger@1.1.11(tsx@4.21.0)(vite@5.4.21(@types/node@22.19.0)(lightningcss@1.30.1)(terser@5.44.0))(yaml@2.8.0): dependencies: '@babel/parser': 7.28.5 '@babel/types': 7.28.5 esbuild: 0.25.11 estree-walker: 3.0.3 magic-string: 0.30.17 - tailwindcss: 3.4.18(tsx@4.19.3)(yaml@2.8.0) + tailwindcss: 3.4.18(tsx@4.21.0)(yaml@2.8.0) vite: 5.4.21(@types/node@22.19.0)(lightningcss@1.30.1)(terser@5.44.0) transitivePeerDependencies: - tsx @@ -30746,6 +31054,8 @@ snapshots: oauth4webapi@2.10.4: {} + oauth4webapi@3.8.3: {} + object-assign@4.1.1: {} object-hash@2.2.0: {} @@ -30890,6 +31200,8 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 + os-paths@4.4.0: {} + os-tmpdir@1.0.2: {} outdent@0.5.0: {} @@ -31192,13 +31504,13 @@ snapshots: optionalDependencies: postcss: 8.5.3 - postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6)(tsx@4.19.3)(yaml@2.8.0): + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6)(tsx@4.21.0)(yaml@2.8.0): dependencies: lilconfig: 3.1.2 optionalDependencies: jiti: 1.21.7 postcss: 8.5.6 - tsx: 4.19.3 + tsx: 4.21.0 yaml: 2.8.0 postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.47)(tsx@4.16.2)(yaml@2.8.0): @@ -31237,13 +31549,13 @@ snapshots: tsx: 4.19.3 yaml: 2.6.0 - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.6)(tsx@4.19.3)(yaml@2.8.0): + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.6)(tsx@4.21.0)(yaml@2.8.0): dependencies: lilconfig: 3.1.2 optionalDependencies: jiti: 2.4.2 postcss: 8.5.6 - tsx: 4.19.3 + tsx: 4.21.0 yaml: 2.8.0 postcss-nested@6.0.1(postcss@8.5.3): @@ -33037,9 +33349,9 @@ snapshots: dependencies: tailwindcss: 3.4.14 - tailwindcss-animate@1.0.7(tailwindcss@3.4.18(tsx@4.19.3)(yaml@2.8.0)): + tailwindcss-animate@1.0.7(tailwindcss@3.4.18(tsx@4.21.0)(yaml@2.8.0)): dependencies: - tailwindcss: 3.4.18(tsx@4.19.3)(yaml@2.8.0) + tailwindcss: 3.4.18(tsx@4.21.0)(yaml@2.8.0) tailwindcss-animate@1.0.7(tailwindcss@3.4.4): dependencies: @@ -33072,7 +33384,7 @@ snapshots: transitivePeerDependencies: - ts-node - tailwindcss@3.4.18(tsx@4.19.3)(yaml@2.8.0): + tailwindcss@3.4.18(tsx@4.21.0)(yaml@2.8.0): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -33091,7 +33403,7 @@ snapshots: postcss: 8.5.6 postcss-import: 15.1.0(postcss@8.5.6) postcss-js: 4.0.1(postcss@8.5.6) - postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6)(tsx@4.19.3)(yaml@2.8.0) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6)(tsx@4.21.0)(yaml@2.8.0) postcss-nested: 6.2.0(postcss@8.5.6) postcss-selector-parser: 6.1.2 resolve: 1.22.11 @@ -33497,7 +33809,7 @@ snapshots: - tsx - yaml - tsup@8.4.0(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.5.6)(tsx@4.19.3)(typescript@5.3.3)(yaml@2.8.0): + tsup@8.4.0(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.3.3)(yaml@2.8.0): dependencies: bundle-require: 5.1.0(esbuild@0.25.3) cac: 6.7.14 @@ -33507,7 +33819,7 @@ snapshots: esbuild: 0.25.3 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.6)(tsx@4.19.3)(yaml@2.8.0) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.6)(tsx@4.21.0)(yaml@2.8.0) resolve-from: 5.0.0 rollup: 4.34.8 source-map: 0.8.0-beta.0 @@ -33553,6 +33865,14 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tsx@4.21.0: + dependencies: + esbuild: 0.27.1 + get-tsconfig: 4.8.1 + optionalDependencies: + fsevents: 2.3.3 + optional: true + turbo-darwin-64@2.2.3: optional: true @@ -33682,7 +34002,7 @@ snapshots: undici@6.19.8: {} - undici@7.18.0: {} + undici@7.18.2: {} unified@11.0.5: dependencies: @@ -34050,7 +34370,7 @@ snapshots: tsx: 4.19.3 yaml: 2.6.0 - vite@6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.19.3)(yaml@2.8.0): + vite@6.1.0(@types/node@24.9.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0): dependencies: esbuild: 0.24.2 postcss: 8.5.3 @@ -34061,7 +34381,7 @@ snapshots: jiti: 2.4.2 lightningcss: 1.30.1 terser: 5.44.0 - tsx: 4.19.3 + tsx: 4.21.0 yaml: 2.8.0 vitest@1.6.0(@types/node@20.17.6)(jsdom@24.1.3)(lightningcss@1.30.1)(terser@5.44.0): @@ -34316,6 +34636,14 @@ snapshots: ws@8.18.3: {} + xdg-app-paths@5.1.0: + dependencies: + xdg-portable: 7.3.0 + + xdg-portable@7.3.0: + dependencies: + os-paths: 4.4.0 + xml-js@1.6.11: dependencies: sax: 1.4.1 From fbb04d11104cc09ebcae0240f1132873072ed642 Mon Sep 17 00:00:00 2001 From: nams1570 Date: Fri, 9 Jan 2026 18:30:01 -0800 Subject: [PATCH 02/11] bump: update stack-shared dependency Several breaking changes here. isOAuth2Error has been removed. Now process funcs return ResponseBodyErrors. And validateAuth func returns AuthorizationResponseErrors. From their docs, looks like our error info will appear in the .cause of the ResponseBodyError. We also perform a try-catch pattern to keep the new code in line with how the old code checked for errors, and to be more explicit. The package now reject requests to non-HTTPS endpoints by default, but we add a carve out for tests. --- packages/stack-shared/package.json | 2 +- .../src/interface/client-interface.ts | 77 ++++++++++++++----- pnpm-lock.yaml | 9 +-- 3 files changed, 62 insertions(+), 26 deletions(-) diff --git a/packages/stack-shared/package.json b/packages/stack-shared/package.json index 8051093589..93f50cb7a3 100644 --- a/packages/stack-shared/package.json +++ b/packages/stack-shared/package.json @@ -65,7 +65,7 @@ "esbuild-wasm": "^0.20.2", "ip-regex": "^5.0.0", "jose": "^5.2.2", - "oauth4webapi": "^2.10.3", + "oauth4webapi": "^3.8.3", "semver": "^7.6.3", "uuid": "^9.0.1" }, diff --git a/packages/stack-shared/src/interface/client-interface.ts b/packages/stack-shared/src/interface/client-interface.ts index ce25ad15c9..ff346449c6 100644 --- a/packages/stack-shared/src/interface/client-interface.ts +++ b/packages/stack-shared/src/interface/client-interface.ts @@ -5,6 +5,7 @@ import { KnownError, KnownErrors } from '../known-errors'; import { inlineProductSchema } from '../schema-fields'; import { AccessToken, InternalSession, RefreshToken } from '../sessions'; import { generateSecureRandomString } from '../utils/crypto'; +import { getNodeEnvironment } from '../utils/env'; import { StackAssertionError, throwErr } from '../utils/errors'; import { globalVar } from '../utils/globals'; import { HTTP_METHODS, HttpMethod } from '../utils/http'; @@ -153,10 +154,11 @@ export class StackClientInterface { throw new Error("Admin session token is currently not supported for fetching new access token. Did you try to log in on a StackApp initiated with the admin session?"); } + const tokenEndpoint = this.getApiUrl() + '/auth/oauth/token'; const as = { issuer: this.options.getBaseUrl(), algorithm: 'oauth2', - token_endpoint: this.getApiUrl() + '/auth/oauth/token', + token_endpoint: tokenEndpoint, }; const client: oauth.Client = { client_id: this.projectId, @@ -164,11 +166,16 @@ export class StackClientInterface { token_endpoint_auth_method: 'client_secret_post', }; + const clientAuthentication = oauth.ClientSecretPost(this.options.publishableClientKey); + const allowInsecure = getNodeEnvironment() === 'test' && tokenEndpoint.startsWith('http://'); + const response = await this._networkRetryException(async () => { const rawResponse = await oauth.refreshTokenGrantRequest( as, client, + clientAuthentication, refreshToken.token, + allowInsecure ? { [oauth.allowInsecureRequests]: true } : undefined, ); const response = await this._processResponse(rawResponse); @@ -190,10 +197,18 @@ export class StackClientInterface { }); if (!response) return null; - const result = await oauth.processRefreshTokenResponse(as, client, response); - if (oauth.isOAuth2Error(result)) { - // TODO Handle OAuth 2.0 response body error - throw new StackAssertionError("OAuth error", { result }); + let result: oauth.TokenEndpointResponse; + try { + result = await oauth.processRefreshTokenResponse(as, client, response); + } catch (e){ + if (e instanceof oauth.ResponseBodyError) { + throw new StackAssertionError("ResponseBodyError when processing refresh token response", { + cause: e.cause, + code: e.code, + error: e.error, + }); + } + throw new StackAssertionError("Unexpected error when processing refresh token response", { cause: e }); } if (!result.access_token) { @@ -201,6 +216,7 @@ export class StackClientInterface { } return AccessToken.createIfValid(result.access_token) ?? throwErr("Access token in fetchNewAccessToken is invalid, looks like the backend is returning an invalid token!", { result }); + } public async sendClientRequest( @@ -1015,37 +1031,62 @@ export class StackClientInterface { // TODO fix throw new Error("Admin session token is currently not supported for OAuth"); } + const tokenEndpoint = this.getApiUrl() + '/auth/oauth/token'; const as = { issuer: this.options.getBaseUrl(), algorithm: 'oauth2', - token_endpoint: this.getApiUrl() + '/auth/oauth/token', + token_endpoint: tokenEndpoint, }; const client: oauth.Client = { client_id: this.projectId, client_secret: this.options.publishableClientKey, - token_endpoint_auth_method: 'client_secret_post', }; - const params = await this._networkRetryException( - async () => oauth.validateAuthResponse(as, client, options.oauthParams, options.state), - ); - if (oauth.isOAuth2Error(params)) { - throw new StackAssertionError("Error validating outer OAuth response", { params }); // Handle OAuth 2.0 redirect error + const clientAuthentication = oauth.ClientSecretPost(this.options.publishableClientKey); + // Allow insecure HTTP requests only in test environment (for localhost testing) + const allowInsecure = getNodeEnvironment() === 'test' && tokenEndpoint.startsWith('http://'); + + let params: URLSearchParams; + try { + params = await this._networkRetryException( + async () => oauth.validateAuthResponse(as, client, options.oauthParams, options.state), + ); + } catch (e) { + if (e instanceof oauth.AuthorizationResponseError) { + throw new StackAssertionError("Authorization response error when validating outer OAuth response", { + //cause is a URLSearchParams object for this error, so we need to serialize it better + cause: Object.fromEntries(e.cause), + code: e.code, + error: e.error, + }); + } + throw new StackAssertionError("Unexpected error when validating outer OAuth response", { cause: e }); } const response = await oauth.authorizationCodeGrantRequest( as, client, + clientAuthentication, params, options.redirectUri, options.codeVerifier, + allowInsecure ? { [oauth.allowInsecureRequests]: true } : undefined, ); - const result = await oauth.processAuthorizationCodeOAuth2Response(as, client, response); - if (oauth.isOAuth2Error(result)) { - if ("code" in result && result.code === "MULTI_FACTOR_AUTHENTICATION_REQUIRED") { - throw new KnownErrors.MultiFactorAuthenticationRequired((result as any).details.attempt_code); + let result; + try { + result = await oauth.processAuthorizationCodeResponse(as, client, response); + } catch (e) { + if (e instanceof oauth.ResponseBodyError) { + if ((e.cause as any).code === "MULTI_FACTOR_AUTHENTICATION_REQUIRED") { + throw new KnownErrors.MultiFactorAuthenticationRequired((e.cause as any).details.attempt_code); + } + // TODO Handle OAuth 2.0 response body error + throw new StackAssertionError("Outer OAuth error during authorization code response", { + cause: e.cause, + code: e.code, + error: e.error, + }); } - // TODO Handle OAuth 2.0 response body error - throw new StackAssertionError("Outer OAuth error during authorization code response", { result }); + throw new StackAssertionError("Unexpected error when processing authorization code response", { cause: e }); } return { newUser: result.is_new_user as boolean, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 22044384a8..f5b884501a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1874,8 +1874,8 @@ importers: specifier: ^5.2.2 version: 5.4.0 oauth4webapi: - specifier: ^2.10.3 - version: 2.10.4 + specifier: ^3.8.3 + version: 3.8.3 semver: specifier: ^7.6.3 version: 7.6.3 @@ -13446,9 +13446,6 @@ packages: engines: {node: ^14.16.0 || >=16.10.0} hasBin: true - oauth4webapi@2.10.4: - resolution: {integrity: sha512-DSoj8QoChzOCQlJkRmYxAJCIpnXFW32R0Uq7avyghIeB6iJq0XAblOD7pcq3mx4WEBDwMuKr0Y1qveCBleG2Xw==} - oauth4webapi@3.8.3: resolution: {integrity: sha512-pQ5BsX3QRTgnt5HxgHwgunIRaDXBdkT23tf8dfzmtTIL2LTpdmxgbpbBm0VgFWAIDlezQvQCTgnVIUmHupXHxw==} @@ -31052,8 +31049,6 @@ snapshots: pkg-types: 2.3.0 tinyexec: 1.0.1 - oauth4webapi@2.10.4: {} - oauth4webapi@3.8.3: {} object-assign@4.1.1: {} From deb10305394adf5195468f89496b3e6c542e272f Mon Sep 17 00:00:00 2001 From: nams1570 Date: Sun, 11 Jan 2026 17:11:51 -0800 Subject: [PATCH 03/11] bump: Update color to latest version Minor breaking change with switching to ColorInstance for typing. --- packages/js/package.json | 4 +- packages/react/package.json | 6 +- packages/stack/package.json | 6 +- packages/template/package-template.json | 4 +- packages/template/package.json | 6 +- .../template/src/components/oauth-button.tsx | 4 +- pnpm-lock.yaml | 68 ++++++++++++++----- 7 files changed, 67 insertions(+), 31 deletions(-) diff --git a/packages/js/package.json b/packages/js/package.json index 3615fee714..cb0fdf77b8 100644 --- a/packages/js/package.json +++ b/packages/js/package.json @@ -51,10 +51,10 @@ ], "dependencies": { "@hookform/resolvers": "^3.3.4", - "@simplewebauthn/browser": "^11.0.0", + "@simplewebauthn/browser": "^13.2.2", "@stackframe/stack-shared": "workspace:*", "@tanstack/react-table": "^8.20.5", - "color": "^4.2.3", + "color": "^5.0.3", "cookie": "^0.6.0", "jose": "^5.2.2", "js-cookie": "^3.0.5", diff --git a/packages/react/package.json b/packages/react/package.json index b4633f231b..6136ed0ebb 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -61,12 +61,12 @@ "@hookform/resolvers": "^3.3.4", "@stripe/react-stripe-js": "^3.8.1", "@stripe/stripe-js": "^7.7.0", - "@simplewebauthn/browser": "^11.0.0", + "@simplewebauthn/browser": "^13.2.2", "@stackframe/stack-shared": "workspace:*", "@stackframe/stack-ui": "workspace:*", "@tanstack/react-table": "^8.20.5", "browser-image-compression": "^2.0.2", - "color": "^4.2.3", + "color": "^5.0.3", "cookie": "^0.6.0", "jose": "^5.2.2", "js-cookie": "^3.0.5", @@ -111,4 +111,4 @@ "tsup": "^8.0.2", "convex": "^1.27.0" } -} \ No newline at end of file +} diff --git a/packages/stack/package.json b/packages/stack/package.json index cb219cba40..2a7c1681c9 100644 --- a/packages/stack/package.json +++ b/packages/stack/package.json @@ -61,13 +61,13 @@ "@hookform/resolvers": "^3.3.4", "@stripe/react-stripe-js": "^3.8.1", "@stripe/stripe-js": "^7.7.0", - "@simplewebauthn/browser": "^11.0.0", + "@simplewebauthn/browser": "^13.2.2", "@stackframe/stack-sc": "workspace:*", "@stackframe/stack-shared": "workspace:*", "@stackframe/stack-ui": "workspace:*", "@tanstack/react-table": "^8.20.5", "browser-image-compression": "^2.0.2", - "color": "^4.2.3", + "color": "^5.0.3", "cookie": "^0.6.0", "jose": "^5.2.2", "js-cookie": "^3.0.5", @@ -119,4 +119,4 @@ "tsup": "^8.0.2", "convex": "^1.27.0" } -} \ No newline at end of file +} diff --git a/packages/template/package-template.json b/packages/template/package-template.json index 4b07dd845f..2058e5036e 100644 --- a/packages/template/package-template.json +++ b/packages/template/package-template.json @@ -91,7 +91,7 @@ "@stripe/react-stripe-js": "^3.8.1", "//": "NEXT_LINE_PLATFORM react-like", "@stripe/stripe-js": "^7.7.0", - "@simplewebauthn/browser": "^11.0.0", + "@simplewebauthn/browser": "^13.2.2", "//": "NEXT_LINE_PLATFORM next", "@stackframe/stack-sc": "workspace:*", "@stackframe/stack-shared": "workspace:*", @@ -100,7 +100,7 @@ "@tanstack/react-table": "^8.20.5", "//": "NEXT_LINE_PLATFORM react-like", "browser-image-compression": "^2.0.2", - "color": "^4.2.3", + "color": "^5.0.3", "cookie": "^0.6.0", "jose": "^5.2.2", "js-cookie": "^3.0.5", diff --git a/packages/template/package.json b/packages/template/package.json index 0bbaac2669..feb445dce7 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -66,13 +66,13 @@ "@hookform/resolvers": "^3.3.4", "@stripe/react-stripe-js": "^3.8.1", "@stripe/stripe-js": "^7.7.0", - "@simplewebauthn/browser": "^11.0.0", + "@simplewebauthn/browser": "^13.2.2", "@stackframe/stack-sc": "workspace:*", "@stackframe/stack-shared": "workspace:*", "@stackframe/stack-ui": "workspace:*", "@tanstack/react-table": "^8.20.5", "browser-image-compression": "^2.0.2", - "color": "^4.2.3", + "color": "^5.0.3", "cookie": "^0.6.0", "jose": "^5.2.2", "js-cookie": "^3.0.5", @@ -124,4 +124,4 @@ "tsup": "^8.0.2", "convex": "^1.27.0" } -} \ No newline at end of file +} diff --git a/packages/template/src/components/oauth-button.tsx b/packages/template/src/components/oauth-button.tsx index f7a964385b..5e0eea5f92 100644 --- a/packages/template/src/components/oauth-button.tsx +++ b/packages/template/src/components/oauth-button.tsx @@ -1,7 +1,7 @@ 'use client'; import { BrandIcons, Button, SimpleTooltip } from '@stackframe/stack-ui'; -import Color from 'color'; +import Color, { ColorInstance } from 'color'; import { useEffect, useId, useState } from 'react'; import { useStackApp } from '..'; import { useTranslation } from '../lib/translations'; @@ -9,7 +9,7 @@ import { useInIframe } from './use-in-iframe'; const iconSize = 22; -const changeColor = (c: Color, value: number) => { +const changeColor = (c: ColorInstance, value: number) => { if (c.isLight()) { value = -value; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f5b884501a..47adf34747 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1459,8 +1459,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 '@simplewebauthn/browser': - specifier: ^11.0.0 - version: 11.0.0 + specifier: ^13.2.2 + version: 13.2.2 '@stackframe/stack-shared': specifier: workspace:* version: link:../stack-shared @@ -1468,8 +1468,8 @@ importers: specifier: ^8.20.5 version: 8.20.5(react-dom@19.2.3(react@19.2.1))(react@19.2.1) color: - specifier: ^4.2.3 - version: 4.2.3 + specifier: ^5.0.3 + version: 5.0.3 cookie: specifier: ^0.6.0 version: 0.6.0 @@ -1556,8 +1556,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 '@simplewebauthn/browser': - specifier: ^11.0.0 - version: 11.0.0 + specifier: ^13.2.2 + version: 13.2.2 '@stackframe/stack-shared': specifier: workspace:* version: link:../stack-shared @@ -1580,8 +1580,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 color: - specifier: ^4.2.3 - version: 4.2.3 + specifier: ^5.0.3 + version: 5.0.3 cookie: specifier: ^0.6.0 version: 0.6.0 @@ -1683,8 +1683,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 '@simplewebauthn/browser': - specifier: ^11.0.0 - version: 11.0.0 + specifier: ^13.2.2 + version: 13.2.2 '@stackframe/stack-sc': specifier: workspace:* version: link:../stack-sc @@ -1713,8 +1713,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 color: - specifier: ^4.2.3 - version: 4.2.3 + specifier: ^5.0.3 + version: 5.0.3 cookie: specifier: ^0.6.0 version: 0.6.0 @@ -2071,8 +2071,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 '@simplewebauthn/browser': - specifier: ^11.0.0 - version: 11.0.0 + specifier: ^13.2.2 + version: 13.2.2 '@stackframe/stack-sc': specifier: workspace:* version: link:../stack-sc @@ -2101,8 +2101,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 color: - specifier: ^4.2.3 - version: 4.2.3 + specifier: ^5.0.3 + version: 5.0.3 cookie: specifier: ^0.6.0 version: 0.6.0 @@ -8061,6 +8061,9 @@ packages: '@simplewebauthn/browser@11.0.0': resolution: {integrity: sha512-KEGCStrl08QC2I561BzxqGiwoknblP6O1YW7jApdXLPtIqZ+vgJYAv8ssLCdm1wD8HGAHd49CJLkUF8X70x/pg==} + '@simplewebauthn/browser@13.2.2': + resolution: {integrity: sha512-FNW1oLQpTJyqG5kkDg5ZsotvWgmBaC6jCHR7Ej0qUNep36Wl9tj2eZu7J5rP+uhXgHaLk+QQ3lqcw2vS5MX1IA==} + '@simplewebauthn/server@11.0.0': resolution: {integrity: sha512-zu8dxKcPiRUNSN2kmrnNOzNbRI8VaR/rL4ENCHUfC6PEE7SAAdIql9g5GBOd/wOVZolIsaZz3ccFxuGoVP0iaw==} engines: {node: '>=20.0.0'} @@ -9998,15 +10001,27 @@ packages: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} + color-convert@3.1.3: + resolution: {integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==} + engines: {node: '>=14.6'} + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@2.1.0: + resolution: {integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==} + engines: {node: '>=12.20'} + color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + color-string@2.1.4: + resolution: {integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==} + engines: {node: '>=18'} + color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true @@ -10015,6 +10030,10 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + color@5.0.3: + resolution: {integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==} + engines: {node: '>=18'} + colors@1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} @@ -23950,6 +23969,8 @@ snapshots: dependencies: '@simplewebauthn/types': 11.0.0 + '@simplewebauthn/browser@13.2.2': {} + '@simplewebauthn/server@11.0.0(encoding@0.1.13)': dependencies: '@hexagon/base64': 1.1.28 @@ -26442,15 +26463,25 @@ snapshots: dependencies: color-name: 1.1.4 + color-convert@3.1.3: + dependencies: + color-name: 2.1.0 + color-name@1.1.3: {} color-name@1.1.4: {} + color-name@2.1.0: {} + color-string@1.9.1: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 + color-string@2.1.4: + dependencies: + color-name: 2.1.0 + color-support@1.1.3: {} color@4.2.3: @@ -26458,6 +26489,11 @@ snapshots: color-convert: 2.0.1 color-string: 1.9.1 + color@5.0.3: + dependencies: + color-convert: 3.1.3 + color-string: 2.1.4 + colors@1.4.0: {} combined-stream@1.0.8: From f6d3ce61c3e009c54695c8af3399855032293c7c Mon Sep 17 00:00:00 2001 From: nams1570 Date: Sun, 11 Jan 2026 18:45:34 -0800 Subject: [PATCH 04/11] chore: bump cookie to the latest version Types for cookie.parse changed to return Record instead of Record. Also, cookie enforces types more strictly I used the exported type directly. parse is now an alias for parseCookie maintained just for backwards compatibility. I changed it to parseCookie to future proof it. --- packages/js/package.json | 2 +- packages/react/package.json | 2 +- packages/stack/package.json | 2 +- packages/template/package-template.json | 2 +- packages/template/package.json | 2 +- .../apps/implementations/client-app-impl.ts | 16 +++++----- pnpm-lock.yaml | 30 +++++++++---------- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/packages/js/package.json b/packages/js/package.json index cb0fdf77b8..b9172dad1f 100644 --- a/packages/js/package.json +++ b/packages/js/package.json @@ -55,7 +55,7 @@ "@stackframe/stack-shared": "workspace:*", "@tanstack/react-table": "^8.20.5", "color": "^5.0.3", - "cookie": "^0.6.0", + "cookie": "^1.1.1", "jose": "^5.2.2", "js-cookie": "^3.0.5", "oauth4webapi": "^3.8.3", diff --git a/packages/react/package.json b/packages/react/package.json index 6136ed0ebb..bcb84e9685 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -67,7 +67,7 @@ "@tanstack/react-table": "^8.20.5", "browser-image-compression": "^2.0.2", "color": "^5.0.3", - "cookie": "^0.6.0", + "cookie": "^1.1.1", "jose": "^5.2.2", "js-cookie": "^3.0.5", "lucide-react": "^0.378.0", diff --git a/packages/stack/package.json b/packages/stack/package.json index 2a7c1681c9..5cf5aecfee 100644 --- a/packages/stack/package.json +++ b/packages/stack/package.json @@ -68,7 +68,7 @@ "@tanstack/react-table": "^8.20.5", "browser-image-compression": "^2.0.2", "color": "^5.0.3", - "cookie": "^0.6.0", + "cookie": "^1.1.1", "jose": "^5.2.2", "js-cookie": "^3.0.5", "lucide-react": "^0.378.0", diff --git a/packages/template/package-template.json b/packages/template/package-template.json index 2058e5036e..d06c5fdea6 100644 --- a/packages/template/package-template.json +++ b/packages/template/package-template.json @@ -101,7 +101,7 @@ "//": "NEXT_LINE_PLATFORM react-like", "browser-image-compression": "^2.0.2", "color": "^5.0.3", - "cookie": "^0.6.0", + "cookie": "^1.1.1", "jose": "^5.2.2", "js-cookie": "^3.0.5", "//": "NEXT_LINE_PLATFORM react-like", diff --git a/packages/template/package.json b/packages/template/package.json index feb445dce7..23a784f0a3 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -73,7 +73,7 @@ "@tanstack/react-table": "^8.20.5", "browser-image-compression": "^2.0.2", "color": "^5.0.3", - "cookie": "^0.6.0", + "cookie": "^1.1.1", "jose": "^5.2.2", "js-cookie": "^3.0.5", "lucide-react": "^0.378.0", diff --git a/packages/template/src/lib/stack-app/apps/implementations/client-app-impl.ts b/packages/template/src/lib/stack-app/apps/implementations/client-app-impl.ts index 78c748db4a..48037347f5 100644 --- a/packages/template/src/lib/stack-app/apps/implementations/client-app-impl.ts +++ b/packages/template/src/lib/stack-app/apps/implementations/client-app-impl.ts @@ -467,7 +467,7 @@ export class _StackClientAppImplIncomplete): { refreshToken: string | null, updatedAt: number | null } { + private _extractRefreshTokenFromCookieMap(cookies: cookie.Cookies): { refreshToken: string | null, updatedAt: number | null } { const { legacyNames, structuredPrefixes } = this._getRefreshTokenCookieNamePatterns(); for (const name of legacyNames) { const value = cookies[name]; @@ -519,7 +519,7 @@ export class _StackClientAppImplIncomplete): TokenObject { + protected _getTokensFromCookies(cookies: cookie.Cookies): TokenObject { const { refreshToken } = this._extractRefreshTokenFromCookieMap(cookies); const accessTokenCookie = cookies[this._accessTokenCookieName] ?? null; let accessToken: string | null = null; @@ -553,11 +553,11 @@ export class _StackClientAppImplIncomplete { + private _getAllBrowserCookies(): cookie.Cookies { if (!isBrowserLike()) { throw new StackAssertionError("Cannot get browser cookies on the server!"); } - return cookie.parse(document.cookie || ""); + return cookie.parseCookie(document.cookie || ""); } private _getRefreshTokenCookieNamePatterns(): { legacyNames: string[], structuredPrefixes: string[] } { return { @@ -568,7 +568,7 @@ export class _StackClientAppImplIncomplete): Set { + private _collectRefreshTokenCookieNames(cookies: cookie.Cookies): Set { const { legacyNames, structuredPrefixes } = this._getRefreshTokenCookieNamePatterns(); const names = new Set(); for (const name of legacyNames) { @@ -584,7 +584,7 @@ export class _StackClientAppImplIncomplete, + existingCookies: cookie.Cookies, refreshToken: string | null, accessToken: string | null, defaultCookieName: string, @@ -789,7 +789,7 @@ export class _StackClientAppImplIncomplete(this._getTokensFromCookies(parsed)); this._requestTokenStores.set(tokenStoreInit, res); return res; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 47adf34747..46470aaee3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1471,8 +1471,8 @@ importers: specifier: ^5.0.3 version: 5.0.3 cookie: - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.1.1 + version: 1.1.1 jose: specifier: ^5.2.2 version: 5.6.3 @@ -1583,8 +1583,8 @@ importers: specifier: ^5.0.3 version: 5.0.3 cookie: - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.1.1 + version: 1.1.1 jose: specifier: ^5.2.2 version: 5.6.3 @@ -1716,8 +1716,8 @@ importers: specifier: ^5.0.3 version: 5.0.3 cookie: - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.1.1 + version: 1.1.1 jose: specifier: ^5.2.2 version: 5.6.3 @@ -2104,8 +2104,8 @@ importers: specifier: ^5.0.3 version: 5.0.3 cookie: - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.1.1 + version: 1.1.1 jose: specifier: ^5.2.2 version: 5.6.3 @@ -10170,10 +10170,6 @@ packages: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} - cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - cookie@0.7.1: resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} engines: {node: '>= 0.6'} @@ -10182,6 +10178,10 @@ packages: resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} engines: {node: '>=18'} + cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} + cookies@0.9.1: resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} engines: {node: '>= 0.8'} @@ -26607,12 +26607,12 @@ snapshots: cookie-signature@1.2.2: {} - cookie@0.6.0: {} - cookie@0.7.1: {} cookie@1.0.2: {} + cookie@1.1.1: {} + cookies@0.9.1: dependencies: depd: 2.0.0 @@ -32138,7 +32138,7 @@ snapshots: react-router@7.2.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: '@types/cookie': 0.6.0 - cookie: 1.0.2 + cookie: 1.1.1 react: 19.2.1 set-cookie-parser: 2.7.1 turbo-stream: 2.4.0 From 67bd261062cf044c20acc9e93dcebf40b6e62ed3 Mon Sep 17 00:00:00 2001 From: nams1570 Date: Mon, 12 Jan 2026 09:33:19 -0800 Subject: [PATCH 05/11] chore: bump jose and rimraf jose changes: importJWK now returns a cryptoKey object. We have a use of it in jwt.tsx. Rimraf has no major changes from v5 to v6, so it should be a clean update --- packages/js/package.json | 4 +- packages/react/package.json | 4 +- packages/stack-shared/package.json | 2 +- packages/stack/package.json | 4 +- packages/template/package-template.json | 4 +- packages/template/package.json | 4 +- pnpm-lock.yaml | 83 +++++++++++++++++++------ 7 files changed, 76 insertions(+), 29 deletions(-) diff --git a/packages/js/package.json b/packages/js/package.json index b9172dad1f..39f006630d 100644 --- a/packages/js/package.json +++ b/packages/js/package.json @@ -56,12 +56,12 @@ "@tanstack/react-table": "^8.20.5", "color": "^5.0.3", "cookie": "^1.1.1", - "jose": "^5.2.2", + "jose": "^6.1.3", "js-cookie": "^3.0.5", "oauth4webapi": "^3.8.3", "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", - "rimraf": "^5.0.5", + "rimraf": "^6.1.2", "tsx": "^4.7.2", "yup": "^1.4.0" }, diff --git a/packages/react/package.json b/packages/react/package.json index bcb84e9685..1a092664ae 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -68,7 +68,7 @@ "browser-image-compression": "^2.0.2", "color": "^5.0.3", "cookie": "^1.1.1", - "jose": "^5.2.2", + "jose": "^6.1.3", "js-cookie": "^3.0.5", "lucide-react": "^0.378.0", "oauth4webapi": "^3.8.3", @@ -76,7 +76,7 @@ "qrcode": "^1.5.4", "react-easy-crop": "^5.4.1", "react-hook-form": "^7.51.4", - "rimraf": "^5.0.5", + "rimraf": "^6.1.2", "tailwindcss-animate": "^1.0.7", "tsx": "^4.7.2", "yup": "^1.4.0" diff --git a/packages/stack-shared/package.json b/packages/stack-shared/package.json index 93f50cb7a3..bee1287bec 100644 --- a/packages/stack-shared/package.json +++ b/packages/stack-shared/package.json @@ -64,7 +64,7 @@ "elliptic": "^6.5.7", "esbuild-wasm": "^0.20.2", "ip-regex": "^5.0.0", - "jose": "^5.2.2", + "jose": "^6.1.3", "oauth4webapi": "^3.8.3", "semver": "^7.6.3", "uuid": "^9.0.1" diff --git a/packages/stack/package.json b/packages/stack/package.json index 5cf5aecfee..4019f372de 100644 --- a/packages/stack/package.json +++ b/packages/stack/package.json @@ -69,7 +69,7 @@ "browser-image-compression": "^2.0.2", "color": "^5.0.3", "cookie": "^1.1.1", - "jose": "^5.2.2", + "jose": "^6.1.3", "js-cookie": "^3.0.5", "lucide-react": "^0.378.0", "oauth4webapi": "^3.8.3", @@ -77,7 +77,7 @@ "qrcode": "^1.5.4", "react-easy-crop": "^5.4.1", "react-hook-form": "^7.51.4", - "rimraf": "^5.0.5", + "rimraf": "^6.1.2", "tailwindcss-animate": "^1.0.7", "tsx": "^4.7.2", "yup": "^1.4.0" diff --git a/packages/template/package-template.json b/packages/template/package-template.json index d06c5fdea6..da9b4d4368 100644 --- a/packages/template/package-template.json +++ b/packages/template/package-template.json @@ -102,7 +102,7 @@ "browser-image-compression": "^2.0.2", "color": "^5.0.3", "cookie": "^1.1.1", - "jose": "^5.2.2", + "jose": "^6.1.3", "js-cookie": "^3.0.5", "//": "NEXT_LINE_PLATFORM react-like", "lucide-react": "^0.378.0", @@ -113,7 +113,7 @@ "react-easy-crop": "^5.4.1", "//": "NEXT_LINE_PLATFORM react-like", "react-hook-form": "^7.51.4", - "rimraf": "^5.0.5", + "rimraf": "^6.1.2", "//": "NEXT_LINE_PLATFORM react-like", "tailwindcss-animate": "^1.0.7", "tsx": "^4.7.2", diff --git a/packages/template/package.json b/packages/template/package.json index 23a784f0a3..0e531f2e8b 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -74,7 +74,7 @@ "browser-image-compression": "^2.0.2", "color": "^5.0.3", "cookie": "^1.1.1", - "jose": "^5.2.2", + "jose": "^6.1.3", "js-cookie": "^3.0.5", "lucide-react": "^0.378.0", "oauth4webapi": "^3.8.3", @@ -82,7 +82,7 @@ "qrcode": "^1.5.4", "react-easy-crop": "^5.4.1", "react-hook-form": "^7.51.4", - "rimraf": "^5.0.5", + "rimraf": "^6.1.2", "tailwindcss-animate": "^1.0.7", "tsx": "^4.7.2", "yup": "^1.4.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 46470aaee3..ff292ace94 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1474,8 +1474,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 jose: - specifier: ^5.2.2 - version: 5.6.3 + specifier: ^6.1.3 + version: 6.1.3 js-cookie: specifier: ^3.0.5 version: 3.0.5 @@ -1486,8 +1486,8 @@ importers: specifier: ^1.5.4 version: 1.5.4 rimraf: - specifier: ^5.0.5 - version: 5.0.10 + specifier: ^6.1.2 + version: 6.1.2 tsx: specifier: ^4.7.2 version: 4.16.2 @@ -1586,8 +1586,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 jose: - specifier: ^5.2.2 - version: 5.6.3 + specifier: ^6.1.3 + version: 6.1.3 js-cookie: specifier: ^3.0.5 version: 3.0.5 @@ -1607,8 +1607,8 @@ importers: specifier: ^7.51.4 version: 7.53.1(react@19.2.1) rimraf: - specifier: ^5.0.5 - version: 5.0.10 + specifier: ^6.1.2 + version: 6.1.2 tailwindcss-animate: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.14) @@ -1719,8 +1719,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 jose: - specifier: ^5.2.2 - version: 5.6.3 + specifier: ^6.1.3 + version: 6.1.3 js-cookie: specifier: ^3.0.5 version: 3.0.5 @@ -1740,8 +1740,8 @@ importers: specifier: ^7.51.4 version: 7.53.1(react@19.2.1) rimraf: - specifier: ^5.0.5 - version: 5.0.7 + specifier: ^6.1.2 + version: 6.1.2 tailwindcss-animate: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.14) @@ -1871,8 +1871,8 @@ importers: specifier: ^5.0.0 version: 5.0.0 jose: - specifier: ^5.2.2 - version: 5.4.0 + specifier: ^6.1.3 + version: 6.1.3 oauth4webapi: specifier: ^3.8.3 version: 3.8.3 @@ -2107,8 +2107,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 jose: - specifier: ^5.2.2 - version: 5.6.3 + specifier: ^6.1.3 + version: 6.1.3 js-cookie: specifier: ^3.0.5 version: 3.0.5 @@ -2128,8 +2128,8 @@ importers: specifier: ^7.51.4 version: 7.53.1(react@19.2.1) rimraf: - specifier: ^5.0.5 - version: 5.0.10 + specifier: ^6.1.2 + version: 6.1.2 tailwindcss-animate: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.14) @@ -4708,6 +4708,14 @@ packages: resolution: {integrity: sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==} engines: {node: '>=18'} + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -11739,6 +11747,10 @@ packages: engines: {node: 20 || >=22} hasBin: true + glob@13.0.0: + resolution: {integrity: sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==} + engines: {node: 20 || >=22} + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -12409,6 +12421,9 @@ packages: jose@6.1.0: resolution: {integrity: sha512-TTQJyoEoKcC1lscpVDCSsVgYzUDg/0Bt3WE//WiTPK6uOCQC2KZS4MpugbMWt/zyjkopgZoXhZuCi00gLudfUA==} + jose@6.1.3: + resolution: {integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==} + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -13111,6 +13126,10 @@ packages: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -14655,6 +14674,11 @@ packages: engines: {node: 20 || >=22} hasBin: true + rimraf@6.1.2: + resolution: {integrity: sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==} + engines: {node: 20 || >=22} + hasBin: true + robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} @@ -19176,6 +19200,12 @@ snapshots: '@inquirer/figures@1.0.3': {} + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -28911,6 +28941,12 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 2.0.0 + glob@13.0.0: + dependencies: + minimatch: 10.1.1 + minipass: 7.1.2 + path-scurry: 2.0.0 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -29657,6 +29693,8 @@ snapshots: jose@6.1.0: {} + jose@6.1.3: {} + joycon@3.1.1: {} js-beautify@1.15.4: @@ -30601,6 +30639,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@10.1.1: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -32559,6 +32601,11 @@ snapshots: glob: 11.0.1 package-json-from-dist: 1.0.1 + rimraf@6.1.2: + dependencies: + glob: 13.0.0 + package-json-from-dist: 1.0.1 + robust-predicates@3.0.2: {} rollup@4.18.0: From c3702b3e578c07edf04c17ee470aa7988068beba Mon Sep 17 00:00:00 2001 From: nams1570 Date: Mon, 12 Jan 2026 09:56:03 -0800 Subject: [PATCH 06/11] chore: bump react-hook-form and hookform/resolvers hookform/resolvers requires v7.55.0+ of react-hook-form. We jump two major versions with resolvers. --- packages/js/package.json | 2 +- packages/react/package.json | 4 ++-- packages/stack/package.json | 4 ++-- packages/template/package-template.json | 4 ++-- packages/template/package.json | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/js/package.json b/packages/js/package.json index 39f006630d..2ae4b09c1d 100644 --- a/packages/js/package.json +++ b/packages/js/package.json @@ -50,7 +50,7 @@ "LICENSE" ], "dependencies": { - "@hookform/resolvers": "^3.3.4", + "@hookform/resolvers": "^5.2.2", "@simplewebauthn/browser": "^13.2.2", "@stackframe/stack-shared": "workspace:*", "@tanstack/react-table": "^8.20.5", diff --git a/packages/react/package.json b/packages/react/package.json index 1a092664ae..078030ed50 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -58,7 +58,7 @@ "LICENSE" ], "dependencies": { - "@hookform/resolvers": "^3.3.4", + "@hookform/resolvers": "^5.2.2", "@stripe/react-stripe-js": "^3.8.1", "@stripe/stripe-js": "^7.7.0", "@simplewebauthn/browser": "^13.2.2", @@ -75,7 +75,7 @@ "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", "react-easy-crop": "^5.4.1", - "react-hook-form": "^7.51.4", + "react-hook-form": "^7.70.0", "rimraf": "^6.1.2", "tailwindcss-animate": "^1.0.7", "tsx": "^4.7.2", diff --git a/packages/stack/package.json b/packages/stack/package.json index 4019f372de..405471d9ce 100644 --- a/packages/stack/package.json +++ b/packages/stack/package.json @@ -58,7 +58,7 @@ "LICENSE" ], "dependencies": { - "@hookform/resolvers": "^3.3.4", + "@hookform/resolvers": "^5.2.2", "@stripe/react-stripe-js": "^3.8.1", "@stripe/stripe-js": "^7.7.0", "@simplewebauthn/browser": "^13.2.2", @@ -76,7 +76,7 @@ "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", "react-easy-crop": "^5.4.1", - "react-hook-form": "^7.51.4", + "react-hook-form": "^7.70.0", "rimraf": "^6.1.2", "tailwindcss-animate": "^1.0.7", "tsx": "^4.7.2", diff --git a/packages/template/package-template.json b/packages/template/package-template.json index da9b4d4368..c048c97a81 100644 --- a/packages/template/package-template.json +++ b/packages/template/package-template.json @@ -86,7 +86,7 @@ "LICENSE" ], "dependencies": { - "@hookform/resolvers": "^3.3.4", + "@hookform/resolvers": "^5.2.2", "//": "NEXT_LINE_PLATFORM react-like", "@stripe/react-stripe-js": "^3.8.1", "//": "NEXT_LINE_PLATFORM react-like", @@ -112,7 +112,7 @@ "//": "NEXT_LINE_PLATFORM react-like", "react-easy-crop": "^5.4.1", "//": "NEXT_LINE_PLATFORM react-like", - "react-hook-form": "^7.51.4", + "react-hook-form": "^7.70.0", "rimraf": "^6.1.2", "//": "NEXT_LINE_PLATFORM react-like", "tailwindcss-animate": "^1.0.7", diff --git a/packages/template/package.json b/packages/template/package.json index 0e531f2e8b..b01a95f15d 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -63,7 +63,7 @@ "LICENSE" ], "dependencies": { - "@hookform/resolvers": "^3.3.4", + "@hookform/resolvers": "^5.2.2", "@stripe/react-stripe-js": "^3.8.1", "@stripe/stripe-js": "^7.7.0", "@simplewebauthn/browser": "^13.2.2", @@ -81,7 +81,7 @@ "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", "react-easy-crop": "^5.4.1", - "react-hook-form": "^7.51.4", + "react-hook-form": "^7.70.0", "rimraf": "^6.1.2", "tailwindcss-animate": "^1.0.7", "tsx": "^4.7.2", From ea960631fba7b8028529e7fa8b0fbbd704e2e370 Mon Sep 17 00:00:00 2001 From: nams1570 Date: Mon, 12 Jan 2026 10:28:40 -0800 Subject: [PATCH 07/11] chore: minor bumps to packages We had to update yup across the codebase due to an incompatibility issue. --- apps/backend/package.json | 2 +- apps/dashboard/package.json | 2 +- packages/js/package.json | 6 +- packages/react/package.json | 8 +- packages/stack-shared/package.json | 2 +- packages/stack-ui/package.json | 2 +- packages/stack/package.json | 8 +- packages/template/package-template.json | 8 +- packages/template/package.json | 8 +- pnpm-lock.yaml | 210 +++++++++++++----------- 10 files changed, 137 insertions(+), 119 deletions(-) diff --git a/apps/backend/package.json b/apps/backend/package.json index 8db0da945f..8e89ce1468 100644 --- a/apps/backend/package.json +++ b/apps/backend/package.json @@ -102,7 +102,7 @@ "svix": "^1.25.0", "vite": "^6.1.0", "yaml": "^2.4.5", - "yup": "^1.4.0", + "yup": "^1.7.1", "zod": "^3.23.8" }, "devDependencies": { diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index 2bc9a1bd47..54c982e8b4 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -99,7 +99,7 @@ "tailwindcss-animate": "^1.0.7", "three": "^0.169.0", "use-debounce": "^10.0.5", - "yup": "^1.4.0" + "yup": "^1.7.1" }, "devDependencies": { "@types/canvas-confetti": "^1.6.4", diff --git a/packages/js/package.json b/packages/js/package.json index 2ae4b09c1d..d7ece9a3f7 100644 --- a/packages/js/package.json +++ b/packages/js/package.json @@ -53,7 +53,7 @@ "@hookform/resolvers": "^5.2.2", "@simplewebauthn/browser": "^13.2.2", "@stackframe/stack-shared": "workspace:*", - "@tanstack/react-table": "^8.20.5", + "@tanstack/react-table": "^8.21.3", "color": "^5.0.3", "cookie": "^1.1.1", "jose": "^6.1.3", @@ -62,8 +62,8 @@ "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", "rimraf": "^6.1.2", - "tsx": "^4.7.2", - "yup": "^1.4.0" + "tsx": "^4.21.0", + "yup": "^1.7.1" }, "devDependencies": { "@quetzallabs/i18n": "^0.1.19", diff --git a/packages/react/package.json b/packages/react/package.json index 078030ed50..b64eef9508 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -64,7 +64,7 @@ "@simplewebauthn/browser": "^13.2.2", "@stackframe/stack-shared": "workspace:*", "@stackframe/stack-ui": "workspace:*", - "@tanstack/react-table": "^8.20.5", + "@tanstack/react-table": "^8.21.3", "browser-image-compression": "^2.0.2", "color": "^5.0.3", "cookie": "^1.1.1", @@ -74,12 +74,12 @@ "oauth4webapi": "^3.8.3", "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", - "react-easy-crop": "^5.4.1", + "react-easy-crop": "^5.5.6", "react-hook-form": "^7.70.0", "rimraf": "^6.1.2", "tailwindcss-animate": "^1.0.7", - "tsx": "^4.7.2", - "yup": "^1.4.0" + "tsx": "^4.21.0", + "yup": "^1.7.1" }, "peerDependencies": { "@types/react": ">=18.3.0", diff --git a/packages/stack-shared/package.json b/packages/stack-shared/package.json index bee1287bec..7a2227b0c5 100644 --- a/packages/stack-shared/package.json +++ b/packages/stack-shared/package.json @@ -37,7 +37,7 @@ "@types/react-dom": ">=19.0.0", "react": ">=19.0.0", "react-dom": ">=19.0.0", - "yup": "^1.4.0" + "yup": "^1.7.1" }, "peerDependenciesMeta": { "react": { diff --git a/packages/stack-ui/package.json b/packages/stack-ui/package.json index e51603d97a..6b6b341e48 100644 --- a/packages/stack-ui/package.json +++ b/packages/stack-ui/package.json @@ -29,7 +29,7 @@ "@types/react-dom": ">=19.0.0", "react": ">=19.0.0", "react-dom": ">=19.0.0", - "yup": "^1.4.0" + "yup": "^1.7.1" }, "peerDependenciesMeta": { "@types/react": { diff --git a/packages/stack/package.json b/packages/stack/package.json index 405471d9ce..b835e1ad52 100644 --- a/packages/stack/package.json +++ b/packages/stack/package.json @@ -65,7 +65,7 @@ "@stackframe/stack-sc": "workspace:*", "@stackframe/stack-shared": "workspace:*", "@stackframe/stack-ui": "workspace:*", - "@tanstack/react-table": "^8.20.5", + "@tanstack/react-table": "^8.21.3", "browser-image-compression": "^2.0.2", "color": "^5.0.3", "cookie": "^1.1.1", @@ -75,12 +75,12 @@ "oauth4webapi": "^3.8.3", "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", - "react-easy-crop": "^5.4.1", + "react-easy-crop": "^5.5.6", "react-hook-form": "^7.70.0", "rimraf": "^6.1.2", "tailwindcss-animate": "^1.0.7", - "tsx": "^4.7.2", - "yup": "^1.4.0" + "tsx": "^4.21.0", + "yup": "^1.7.1" }, "peerDependencies": { "@types/react": ">=18.3.0", diff --git a/packages/template/package-template.json b/packages/template/package-template.json index c048c97a81..14a83f7fb5 100644 --- a/packages/template/package-template.json +++ b/packages/template/package-template.json @@ -97,7 +97,7 @@ "@stackframe/stack-shared": "workspace:*", "//": "NEXT_LINE_PLATFORM react-like", "@stackframe/stack-ui": "workspace:*", - "@tanstack/react-table": "^8.20.5", + "@tanstack/react-table": "^8.21.3", "//": "NEXT_LINE_PLATFORM react-like", "browser-image-compression": "^2.0.2", "color": "^5.0.3", @@ -110,14 +110,14 @@ "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", "//": "NEXT_LINE_PLATFORM react-like", - "react-easy-crop": "^5.4.1", + "react-easy-crop": "^5.5.6", "//": "NEXT_LINE_PLATFORM react-like", "react-hook-form": "^7.70.0", "rimraf": "^6.1.2", "//": "NEXT_LINE_PLATFORM react-like", "tailwindcss-animate": "^1.0.7", - "tsx": "^4.7.2", - "yup": "^1.4.0" + "tsx": "^4.21.0", + "yup": "^1.7.1" }, "//": "IF_PLATFORM react-like", "peerDependencies": { diff --git a/packages/template/package.json b/packages/template/package.json index b01a95f15d..4f349b8ac6 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -70,7 +70,7 @@ "@stackframe/stack-sc": "workspace:*", "@stackframe/stack-shared": "workspace:*", "@stackframe/stack-ui": "workspace:*", - "@tanstack/react-table": "^8.20.5", + "@tanstack/react-table": "^8.21.3", "browser-image-compression": "^2.0.2", "color": "^5.0.3", "cookie": "^1.1.1", @@ -80,12 +80,12 @@ "oauth4webapi": "^3.8.3", "@oslojs/otp": "^1.1.0", "qrcode": "^1.5.4", - "react-easy-crop": "^5.4.1", + "react-easy-crop": "^5.5.6", "react-hook-form": "^7.70.0", "rimraf": "^6.1.2", "tailwindcss-animate": "^1.0.7", - "tsx": "^4.7.2", - "yup": "^1.4.0" + "tsx": "^4.21.0", + "yup": "^1.7.1" }, "peerDependencies": { "@types/react": ">=18.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff292ace94..814c8217fd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -271,8 +271,8 @@ importers: specifier: ^2.4.5 version: 2.4.5 yup: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.7.1 + version: 1.7.1 zod: specifier: ^3.23.8 version: 3.25.76 @@ -578,8 +578,8 @@ importers: specifier: ^10.0.5 version: 10.0.5(react@19.2.3) yup: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.7.1 + version: 1.7.1 devDependencies: '@types/canvas-confetti': specifier: ^1.6.4 @@ -1453,8 +1453,8 @@ importers: packages/js: dependencies: '@hookform/resolvers': - specifier: ^3.3.4 - version: 3.6.0(react-hook-form@7.65.0(react@19.2.1)) + specifier: ^5.2.2 + version: 5.2.2(react-hook-form@7.70.0(react@19.2.1)) '@oslojs/otp': specifier: ^1.1.0 version: 1.1.0 @@ -1465,8 +1465,8 @@ importers: specifier: workspace:* version: link:../stack-shared '@tanstack/react-table': - specifier: ^8.20.5 - version: 8.20.5(react-dom@19.2.3(react@19.2.1))(react@19.2.1) + specifier: ^8.21.3 + version: 8.21.3(react-dom@19.2.3(react@19.2.1))(react@19.2.1) color: specifier: ^5.0.3 version: 5.0.3 @@ -1489,11 +1489,11 @@ importers: specifier: ^6.1.2 version: 6.1.2 tsx: - specifier: ^4.7.2 - version: 4.16.2 + specifier: ^4.21.0 + version: 4.21.0 yup: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.7.1 + version: 1.7.1 devDependencies: '@quetzallabs/i18n': specifier: ^0.1.19 @@ -1545,13 +1545,13 @@ importers: version: 3.4.14 tsup: specifier: ^8.0.2 - version: 8.3.5(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.47)(tsx@4.16.2)(typescript@5.8.3)(yaml@2.8.0) + version: 8.3.5(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.47)(tsx@4.21.0)(typescript@5.8.3)(yaml@2.8.0) packages/react: dependencies: '@hookform/resolvers': - specifier: ^3.3.4 - version: 3.6.0(react-hook-form@7.53.1(react@19.2.1)) + specifier: ^5.2.2 + version: 5.2.2(react-hook-form@7.70.0(react@19.2.1)) '@oslojs/otp': specifier: ^1.1.0 version: 1.1.0 @@ -1571,8 +1571,8 @@ importers: specifier: ^7.7.0 version: 7.7.0 '@tanstack/react-table': - specifier: ^8.20.5 - version: 8.20.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + specifier: ^8.21.3 + version: 8.21.3(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@types/react': specifier: ^18.2.0 version: 18.3.12 @@ -1601,11 +1601,11 @@ importers: specifier: ^1.5.4 version: 1.5.4 react-easy-crop: - specifier: ^5.4.1 - version: 5.4.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + specifier: ^5.5.6 + version: 5.5.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) react-hook-form: - specifier: ^7.51.4 - version: 7.53.1(react@19.2.1) + specifier: ^7.70.0 + version: 7.70.0(react@19.2.1) rimraf: specifier: ^6.1.2 version: 6.1.2 @@ -1613,11 +1613,11 @@ importers: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.14) tsx: - specifier: ^4.7.2 - version: 4.19.2 + specifier: ^4.21.0 + version: 4.21.0 yup: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.7.1 + version: 1.7.1 devDependencies: '@quetzallabs/i18n': specifier: ^0.1.19 @@ -1672,13 +1672,13 @@ importers: version: 3.4.14 tsup: specifier: ^8.0.2 - version: 8.4.0(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.5.2)(tsx@4.19.2)(typescript@5.8.3)(yaml@2.8.0) + version: 8.4.0(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.5.2)(tsx@4.21.0)(typescript@5.8.3)(yaml@2.8.0) packages/stack: dependencies: '@hookform/resolvers': - specifier: ^3.3.4 - version: 3.6.0(react-hook-form@7.53.1(react@19.2.1)) + specifier: ^5.2.2 + version: 5.2.2(react-hook-form@7.70.0(react@19.2.1)) '@oslojs/otp': specifier: ^1.1.0 version: 1.1.0 @@ -1701,8 +1701,8 @@ importers: specifier: ^7.7.0 version: 7.7.0 '@tanstack/react-table': - specifier: ^8.20.5 - version: 8.20.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + specifier: ^8.21.3 + version: 8.21.3(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@types/react': specifier: ^18.2.0 version: 18.3.12 @@ -1734,11 +1734,11 @@ importers: specifier: ^1.5.4 version: 1.5.4 react-easy-crop: - specifier: ^5.4.1 - version: 5.4.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + specifier: ^5.5.6 + version: 5.5.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) react-hook-form: - specifier: ^7.51.4 - version: 7.53.1(react@19.2.1) + specifier: ^7.70.0 + version: 7.70.0(react@19.2.1) rimraf: specifier: ^6.1.2 version: 6.1.2 @@ -1746,11 +1746,11 @@ importers: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.14) tsx: - specifier: ^4.7.2 - version: 4.15.5 + specifier: ^4.21.0 + version: 4.21.0 yup: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.7.1 + version: 1.7.1 devDependencies: '@quetzallabs/i18n': specifier: ^0.1.19 @@ -1883,8 +1883,8 @@ importers: specifier: ^9.0.1 version: 9.0.1 yup: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.7.1 + version: 1.7.1 devDependencies: '@sentry/nextjs': specifier: ^10.11.0 @@ -2043,8 +2043,8 @@ importers: specifier: ^2.5.4 version: 2.5.4 yup: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.7.1 + version: 1.7.1 devDependencies: '@types/react': specifier: ^18.2.0 @@ -2065,8 +2065,8 @@ importers: packages/template: dependencies: '@hookform/resolvers': - specifier: ^3.3.4 - version: 3.6.0(react-hook-form@7.53.1(react@19.2.1)) + specifier: ^5.2.2 + version: 5.2.2(react-hook-form@7.70.0(react@19.2.1)) '@oslojs/otp': specifier: ^1.1.0 version: 1.1.0 @@ -2089,8 +2089,8 @@ importers: specifier: ^7.7.0 version: 7.7.0 '@tanstack/react-table': - specifier: ^8.20.5 - version: 8.20.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + specifier: ^8.21.3 + version: 8.21.3(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@types/react': specifier: ^18.2.0 version: 18.3.12 @@ -2122,11 +2122,11 @@ importers: specifier: ^1.5.4 version: 1.5.4 react-easy-crop: - specifier: ^5.4.1 - version: 5.4.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + specifier: ^5.5.6 + version: 5.5.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) react-hook-form: - specifier: ^7.51.4 - version: 7.53.1(react@19.2.1) + specifier: ^7.70.0 + version: 7.70.0(react@19.2.1) rimraf: specifier: ^6.1.2 version: 6.1.2 @@ -2134,11 +2134,11 @@ importers: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.14) tsx: - specifier: ^4.7.2 - version: 4.16.2 + specifier: ^4.21.0 + version: 4.21.0 yup: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.7.1 + version: 1.7.1 devDependencies: '@quetzallabs/i18n': specifier: ^0.1.19 @@ -2196,7 +2196,7 @@ importers: version: 3.4.14 tsup: specifier: ^8.0.2 - version: 8.3.5(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.47)(tsx@4.16.2)(typescript@5.8.3)(yaml@2.8.0) + version: 8.3.5(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.47)(tsx@4.21.0)(typescript@5.8.3)(yaml@2.8.0) packages: @@ -4412,6 +4412,11 @@ packages: peerDependencies: react-hook-form: ^7.0.0 + '@hookform/resolvers@5.2.2': + resolution: {integrity: sha512-A/IxlMLShx3KjV/HeTcTfaMxdwy690+L/ZADoeaTltLx+CVuzkeVIPuybK3jrRfw7YZnmdKsVVHAlEPIAEUNlA==} + peerDependencies: + react-hook-form: ^7.55.0 + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -8305,6 +8310,9 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + '@standard-schema/utils@0.3.0': + resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} + '@stripe/connect-js@3.3.27': resolution: {integrity: sha512-QyPE6CRvS8LO7G3qFpM6qHq5So9UZCjn6PlYU1rKDtybv05B+g14+KLxnAZgi0ngaoNMVweP3slHSzA/eh78ow==} @@ -8556,10 +8564,21 @@ packages: react: '>=16.8' react-dom: '>=16.8' + '@tanstack/react-table@8.21.3': + resolution: {integrity: sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww==} + engines: {node: '>=12'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + '@tanstack/table-core@8.20.5': resolution: {integrity: sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg==} engines: {node: '>=12'} + '@tanstack/table-core@8.21.3': + resolution: {integrity: sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==} + engines: {node: '>=12'} + '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} @@ -14231,8 +14250,8 @@ packages: peerDependencies: react: ^19.2.3 - react-easy-crop@5.4.1: - resolution: {integrity: sha512-Djtsi7bWO75vkKYkVxNRrJWY69pXLahIAkUN0mmt9cXNnaq2tpG59ctSY6P7ipJgBc7COJDRMRuwb2lYwtACNQ==} + react-easy-crop@5.5.6: + resolution: {integrity: sha512-Jw3/ozs8uXj3NpL511Suc4AHY+mLRO23rUgipXvNYKqezcFSYHxe4QXibBymkOoY6oOtLVMPO2HNPRHYvMPyTw==} peerDependencies: react: '>=16.4.0' react-dom: '>=16.4.0' @@ -14255,6 +14274,12 @@ packages: peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 + react-hook-form@7.70.0: + resolution: {integrity: sha512-COOMajS4FI3Wuwrs3GPpi/Jeef/5W1DRR84Yl5/ShlT3dKVFUfoGiEZ/QE6Uw8P4T2/CLJdcTVYKvWBMQTEpvw==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 || ^19 + react-icons@5.2.1: resolution: {integrity: sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw==} peerDependencies: @@ -15563,11 +15588,6 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - tsx@4.19.2: - resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} - engines: {node: '>=18.0.0'} - hasBin: true - tsx@4.19.3: resolution: {integrity: sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==} engines: {node: '>=18.0.0'} @@ -16356,8 +16376,8 @@ packages: resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} - yup@1.4.0: - resolution: {integrity: sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==} + yup@1.7.1: + resolution: {integrity: sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==} zeptomatch@2.0.2: resolution: {integrity: sha512-H33jtSKf8Ijtb5BW6wua3G5DhnFjbFML36eFu+VdOoVY4HD9e7ggjqdM6639B+L87rjnR6Y+XeRzBXZdy52B/g==} @@ -18985,17 +19005,14 @@ snapshots: dependencies: react-hook-form: 7.65.0(react@18.3.1) - '@hookform/resolvers@3.6.0(react-hook-form@7.53.1(react@19.2.1))': - dependencies: - react-hook-form: 7.53.1(react@19.2.1) - '@hookform/resolvers@3.6.0(react-hook-form@7.53.1(react@19.2.3))': dependencies: react-hook-form: 7.53.1(react@19.2.3) - '@hookform/resolvers@3.6.0(react-hook-form@7.65.0(react@19.2.1))': + '@hookform/resolvers@5.2.2(react-hook-form@7.70.0(react@19.2.1))': dependencies: - react-hook-form: 7.65.0(react@19.2.1) + '@standard-schema/utils': 0.3.0 + react-hook-form: 7.70.0(react@19.2.1) '@humanfs/core@0.19.1': {} @@ -24361,6 +24378,8 @@ snapshots: '@standard-schema/spec@1.0.0': {} + '@standard-schema/utils@0.3.0': {} + '@stripe/connect-js@3.3.27': {} '@stripe/react-connect-js@3.3.24(@stripe/connect-js@3.3.27)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': @@ -24586,20 +24605,28 @@ snapshots: react: 19.2.1 react-dom: 19.2.1(react@19.2.1) - '@tanstack/react-table@8.20.5(react-dom@19.2.3(react@19.2.1))(react@19.2.1)': - dependencies: - '@tanstack/table-core': 8.20.5 - react: 19.2.1 - react-dom: 19.2.3(react@19.2.1) - '@tanstack/react-table@8.20.5(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@tanstack/table-core': 8.20.5 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) + '@tanstack/react-table@8.21.3(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': + dependencies: + '@tanstack/table-core': 8.21.3 + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + + '@tanstack/react-table@8.21.3(react-dom@19.2.3(react@19.2.1))(react@19.2.1)': + dependencies: + '@tanstack/table-core': 8.21.3 + react: 19.2.1 + react-dom: 19.2.3(react@19.2.1) + '@tanstack/table-core@8.20.5': {} + '@tanstack/table-core@8.21.3': {} + '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.26.2 @@ -27603,7 +27630,6 @@ snapshots: '@esbuild/win32-arm64': 0.27.1 '@esbuild/win32-ia32': 0.27.1 '@esbuild/win32-x64': 0.27.1 - optional: true escalade@3.1.2: {} @@ -31586,22 +31612,22 @@ snapshots: tsx: 4.21.0 yaml: 2.8.0 - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.47)(tsx@4.16.2)(yaml@2.8.0): + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.47)(tsx@4.21.0)(yaml@2.8.0): dependencies: lilconfig: 3.1.2 optionalDependencies: jiti: 2.4.2 postcss: 8.4.47 - tsx: 4.16.2 + tsx: 4.21.0 yaml: 2.8.0 - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.2)(tsx@4.19.2)(yaml@2.8.0): + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.2)(tsx@4.21.0)(yaml@2.8.0): dependencies: lilconfig: 3.1.2 optionalDependencies: jiti: 2.4.2 postcss: 8.5.2 - tsx: 4.19.2 + tsx: 4.21.0 yaml: 2.8.0 postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.6)(tsx@4.15.5)(yaml@2.4.5): @@ -31976,7 +32002,7 @@ snapshots: react: 19.2.3 scheduler: 0.27.0 - react-easy-crop@5.4.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1): + react-easy-crop@5.5.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: normalize-wheel: 1.0.1 react: 19.2.1 @@ -32002,7 +32028,7 @@ snapshots: dependencies: react: 18.3.1 - react-hook-form@7.65.0(react@19.2.1): + react-hook-form@7.70.0(react@19.2.1): dependencies: react: 19.2.1 @@ -33775,7 +33801,7 @@ snapshots: - supports-color - ts-node - tsup@8.3.5(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.47)(tsx@4.16.2)(typescript@5.8.3)(yaml@2.8.0): + tsup@8.3.5(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.47)(tsx@4.21.0)(typescript@5.8.3)(yaml@2.8.0): dependencies: bundle-require: 5.0.0(esbuild@0.24.2) cac: 6.7.14 @@ -33785,7 +33811,7 @@ snapshots: esbuild: 0.24.2 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.47)(tsx@4.16.2)(yaml@2.8.0) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.47)(tsx@4.21.0)(yaml@2.8.0) resolve-from: 5.0.0 rollup: 4.24.4 source-map: 0.8.0-beta.0 @@ -33859,7 +33885,7 @@ snapshots: - tsx - yaml - tsup@8.4.0(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.5.2)(tsx@4.19.2)(typescript@5.8.3)(yaml@2.8.0): + tsup@8.4.0(@swc/core@1.3.101(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.5.2)(tsx@4.21.0)(typescript@5.8.3)(yaml@2.8.0): dependencies: bundle-require: 5.1.0(esbuild@0.25.3) cac: 6.7.14 @@ -33869,7 +33895,7 @@ snapshots: esbuild: 0.25.3 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.2)(tsx@4.19.2)(yaml@2.8.0) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.2)(tsx@4.21.0)(yaml@2.8.0) resolve-from: 5.0.0 rollup: 4.34.8 source-map: 0.8.0-beta.0 @@ -33929,13 +33955,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - tsx@4.19.2: - dependencies: - esbuild: 0.23.1 - get-tsconfig: 4.8.1 - optionalDependencies: - fsevents: 2.3.3 - tsx@4.19.3: dependencies: esbuild: 0.25.3 @@ -33949,7 +33968,6 @@ snapshots: get-tsconfig: 4.8.1 optionalDependencies: fsevents: 2.3.3 - optional: true turbo-darwin-64@2.2.3: optional: true @@ -34811,7 +34829,7 @@ snapshots: yocto-queue@1.1.1: {} - yup@1.4.0: + yup@1.7.1: dependencies: property-expr: 2.0.6 tiny-case: 1.0.3 From 7d4e4f7af371934d688d80f8f1f583e22344de16 Mon Sep 17 00:00:00 2001 From: nams1570 Date: Mon, 12 Jan 2026 10:37:44 -0800 Subject: [PATCH 08/11] chore: bump jose versions outside sdk Because 5->6 changes return types of importJwk along with a few other significant changes, we want to avoid future incompatibility issues across the monorepo by bumping the versions everywhere. --- apps/backend/package.json | 2 +- apps/dashboard/package.json | 2 +- docs/package.json | 2 +- pnpm-lock.yaml | 22 ++++++---------------- 4 files changed, 9 insertions(+), 19 deletions(-) diff --git a/apps/backend/package.json b/apps/backend/package.json index 8e89ce1468..a2207cf9b6 100644 --- a/apps/backend/package.json +++ b/apps/backend/package.json @@ -84,7 +84,7 @@ "dotenv": "^16.4.5", "dotenv-cli": "^7.3.0", "freestyle-sandboxes": "^0.1.5", - "jose": "^5.2.2", + "jose": "^6.1.3", "json-diff": "^1.0.6", "next": "16.1.1", "nodemailer": "^6.9.10", diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index 54c982e8b4..774b69943f 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -77,7 +77,7 @@ "export-to-csv": "^1.4.0", "geist": "^1", "input-otp": "^1.4.1", - "jose": "^5.2.2", + "jose": "^6.1.3", "lodash": "^4.17.21", "next": "16.1.1", "next-themes": "^0.2.1", diff --git a/docs/package.json b/docs/package.json index 0860cf5453..608a2f35dd 100644 --- a/docs/package.json +++ b/docs/package.json @@ -41,7 +41,7 @@ "fumadocs-openapi": "^8.1.12", "fumadocs-typescript": "^4.0.5", "fumadocs-ui": "15.3.3", - "jose": "^6.1.0", + "jose": "^6.1.3", "js-yaml": "^4.1.0", "lucide-react": "^0.511.0", "mermaid": "^11.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 814c8217fd..6dae0525ad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -217,8 +217,8 @@ importers: specifier: ^0.1.5 version: 0.1.6 jose: - specifier: ^5.2.2 - version: 5.4.0 + specifier: ^6.1.3 + version: 6.1.3 json-diff: specifier: ^1.0.6 version: 1.0.6 @@ -512,8 +512,8 @@ importers: specifier: ^1.4.1 version: 1.4.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) jose: - specifier: ^5.2.2 - version: 5.6.3 + specifier: ^6.1.3 + version: 6.1.3 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -755,8 +755,8 @@ importers: specifier: 15.3.3 version: 15.3.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.4.9(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@4.1.9) jose: - specifier: ^6.1.0 - version: 6.1.0 + specifier: ^6.1.3 + version: 6.1.3 js-yaml: specifier: ^4.1.0 version: 4.1.0 @@ -12431,15 +12431,9 @@ packages: jose@4.15.5: resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} - jose@5.4.0: - resolution: {integrity: sha512-6rpxTHPAQyWMb9A35BroFl1Sp0ST3DpPcm5EVIxZxdH+e0Hv9fwhyB3XLKFUcHNpdSDnETmBfuPPTTlYz5+USw==} - jose@5.6.3: resolution: {integrity: sha512-1Jh//hEEwMhNYPDDLwXHa2ePWgWiFNNUadVmguAAw2IJ6sj9mNxV5tGXJNqlMkJAybF6Lgw1mISDxTePP/187g==} - jose@6.1.0: - resolution: {integrity: sha512-TTQJyoEoKcC1lscpVDCSsVgYzUDg/0Bt3WE//WiTPK6uOCQC2KZS4MpugbMWt/zyjkopgZoXhZuCi00gLudfUA==} - jose@6.1.3: resolution: {integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==} @@ -29713,12 +29707,8 @@ snapshots: jose@4.15.5: {} - jose@5.4.0: {} - jose@5.6.3: {} - jose@6.1.0: {} - jose@6.1.3: {} joycon@3.1.1: {} From bfa159925fbdec3943a5257058f98e2f675a4fbf Mon Sep 17 00:00:00 2001 From: nams1570 Date: Mon, 12 Jan 2026 12:11:27 -0800 Subject: [PATCH 09/11] fix: Unwrap validateAuthResponse There's no need to do a network retry for a synchronous func like validateAuthResponse. --- packages/stack-shared/src/interface/client-interface.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/stack-shared/src/interface/client-interface.ts b/packages/stack-shared/src/interface/client-interface.ts index ff346449c6..34d0c40374 100644 --- a/packages/stack-shared/src/interface/client-interface.ts +++ b/packages/stack-shared/src/interface/client-interface.ts @@ -1047,9 +1047,7 @@ export class StackClientInterface { let params: URLSearchParams; try { - params = await this._networkRetryException( - async () => oauth.validateAuthResponse(as, client, options.oauthParams, options.state), - ); + params = oauth.validateAuthResponse(as, client, options.oauthParams, options.state); } catch (e) { if (e instanceof oauth.AuthorizationResponseError) { throw new StackAssertionError("Authorization response error when validating outer OAuth response", { From 2a13aad906e5636cda404abafed58fe95df172c1 Mon Sep 17 00:00:00 2001 From: nams1570 Date: Mon, 12 Jan 2026 13:43:55 -0800 Subject: [PATCH 10/11] refactor: remove redundant argument token_endpoint_auth_method with the recent bump to oauth4webapi is now optional. At worst it can conflict with the client authentication. --- packages/stack-shared/src/interface/client-interface.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/stack-shared/src/interface/client-interface.ts b/packages/stack-shared/src/interface/client-interface.ts index 34d0c40374..d2a16342ea 100644 --- a/packages/stack-shared/src/interface/client-interface.ts +++ b/packages/stack-shared/src/interface/client-interface.ts @@ -163,7 +163,6 @@ export class StackClientInterface { const client: oauth.Client = { client_id: this.projectId, client_secret: this.options.publishableClientKey, - token_endpoint_auth_method: 'client_secret_post', }; const clientAuthentication = oauth.ClientSecretPost(this.options.publishableClientKey); From c861fa228d41e289b0b7bf99d7c5b763bbde10ac Mon Sep 17 00:00:00 2001 From: nams1570 Date: Fri, 16 Jan 2026 14:25:58 -0800 Subject: [PATCH 11/11] chore: bump freestyle to 0.1.6 freestyle mock server now supports new endpoint. v0.1.6 of freestyle switched the endpoint to v2/execute. Also, they flattened the config in runs.create --- apps/backend/package.json | 2 +- apps/backend/src/lib/js-execution.tsx | 4 +--- docker/dependencies/freestyle-mock/Dockerfile | 3 ++- packages/react/package.json | 2 +- packages/stack/package.json | 2 +- packages/template/package.json | 2 +- pnpm-lock.yaml | 8 ++++++-- 7 files changed, 13 insertions(+), 10 deletions(-) diff --git a/apps/backend/package.json b/apps/backend/package.json index a2207cf9b6..85692a053e 100644 --- a/apps/backend/package.json +++ b/apps/backend/package.json @@ -83,7 +83,7 @@ "chokidar-cli": "^3.0.0", "dotenv": "^16.4.5", "dotenv-cli": "^7.3.0", - "freestyle-sandboxes": "^0.1.5", + "freestyle-sandboxes": "^0.1.6", "jose": "^6.1.3", "json-diff": "^1.0.6", "next": "16.1.1", diff --git a/apps/backend/src/lib/js-execution.tsx b/apps/backend/src/lib/js-execution.tsx index 39257fdec9..30dc0bf770 100644 --- a/apps/backend/src/lib/js-execution.tsx +++ b/apps/backend/src/lib/js-execution.tsx @@ -38,9 +38,7 @@ function createFreestyleEngine(): JsEngine { const response = await freestyle.serverless.runs.create({ code, - config: { - nodeModules: options.nodeModules ?? {}, - }, + nodeModules: options.nodeModules ?? {}, }); if (response.result === undefined) { diff --git a/docker/dependencies/freestyle-mock/Dockerfile b/docker/dependencies/freestyle-mock/Dockerfile index 9acb5df872..5ed7f178ff 100644 --- a/docker/dependencies/freestyle-mock/Dockerfile +++ b/docker/dependencies/freestyle-mock/Dockerfile @@ -39,7 +39,8 @@ serve({ port: 8080, async fetch(req) { const url = new URL(req.url); - if (!(req.method === "POST" && url.pathname === "/execute/v1/script")) { + const isValidEndpoint = req.method === "POST" && (url.pathname === "/execute/v1/script" || url.pathname === "/execute/v2/script"); + if (!isValidEndpoint) { return new Response("Not found", { status: 404 }); } diff --git a/packages/react/package.json b/packages/react/package.json index b64eef9508..42165e5b8d 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -111,4 +111,4 @@ "tsup": "^8.0.2", "convex": "^1.27.0" } -} +} \ No newline at end of file diff --git a/packages/stack/package.json b/packages/stack/package.json index b835e1ad52..8c407b9526 100644 --- a/packages/stack/package.json +++ b/packages/stack/package.json @@ -119,4 +119,4 @@ "tsup": "^8.0.2", "convex": "^1.27.0" } -} +} \ No newline at end of file diff --git a/packages/template/package.json b/packages/template/package.json index 4f349b8ac6..889b1c7a2d 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -124,4 +124,4 @@ "tsup": "^8.0.2", "convex": "^1.27.0" } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6dae0525ad..b533bc9fb3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -214,7 +214,7 @@ importers: specifier: ^7.3.0 version: 7.4.1 freestyle-sandboxes: - specifier: ^0.1.5 + specifier: ^0.1.6 version: 0.1.6 jose: specifier: ^6.1.3 @@ -26528,6 +26528,7 @@ snapshots: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 + optional: true color-string@2.1.4: dependencies: @@ -26539,6 +26540,7 @@ snapshots: dependencies: color-convert: 2.0.1 color-string: 1.9.1 + optional: true color@5.0.3: dependencies: @@ -29484,7 +29486,8 @@ snapshots: is-arrayish@0.2.1: {} - is-arrayish@0.3.2: {} + is-arrayish@0.3.2: + optional: true is-async-function@2.0.0: dependencies: @@ -33073,6 +33076,7 @@ snapshots: simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 + optional: true simplesignal@2.1.7: {}