1 Commits
Author SHA1 Message Date
remco 439b9886b0 chore(deps): update All dependencies
CI / check (pull_request) Failing after 9s
CI / deploy (pull_request) Skipped
CI / release (pull_request) Skipped
2026-08-11 09:00:38 +00:00
12 changed files with 173 additions and 163 deletions

No files matched your search

+1
View File
@@ -1,3 +1,4 @@
import "dotenv/config";
import { defineConfig } from "drizzle-kit";
// Schema source of truth for the query builder: src/db/schema.ts
+14 -10
View File
@@ -1,17 +1,21 @@
module.exports = {
apps: [
{
name: "epicnextcms",
script: "node_modules/next/dist/bin/next",
args: "start",
instances: "max",
name: "next",
script: ".next/standalone/server.js",
exec_mode: "cluster",
node_args: "--v8-pool-size=4",
max_memory_restart: "1G",
instances: 0,
max_memory_restart: "512M",
env: {
NODE_ENV: "production",
PORT: 3000
}
}
]
PORT: 3002,
RCON_PORT: 3003,
NEXT_PHASE: "phase-production-server",
},
merge_logs: true,
error_file: ".pm2/errors.log",
out_file: ".pm2/out.log",
log_date_format: "YYYY-MM-DD HH:mm:ss",
},
],
};
+1
View File
@@ -53,6 +53,7 @@ const nextConfig: NextConfig = {
},
// Enable React Compiler for automatic memoization
reactCompiler: true,
// Compress responses with gzip/brotli
compress: true,
+8 -6
View File
@@ -7,7 +7,7 @@
},
"packageManager": "[email protected]",
"scripts": {
"dev": "next dev --turbo",
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "biome check .",
@@ -15,7 +15,7 @@
"format": "biome format --write .",
"knip": "knip --include files,dependencies,devDependencies,unlisted,binaries",
"jobs:worker": "tsx scripts/jobs-worker.ts",
"test": "DATABASE_URL=mysql://root:root@localhost:3306/test vitest run",
"test": "vitest",
"typecheck": "tsc --noEmit",
"db:generate": "drizzle-kit generate",
"db:migrate": "tsx scripts/apply-migrations.ts",
@@ -37,16 +37,16 @@
"clsx": "2.1.1",
"cmdk": "1.1.1",
"croner": "10.0.1",
"dompurify": "^3.4.13",
"dompurify": "3.4.13",
"drizzle-orm": "0.45.2",
"hash-wasm": "4.12.0",
"ioredis": "6.0.0",
"jpeg-js": "^0.4.4",
"jsonc-parser": "^3.3.1",
"jpeg-js": "0.4.4",
"json5": "2.2.3",
"jszip": "3.10.1",
"lenis": "1.3.26",
"lucide-react": "1.31.0",
"lzma": "^2.3.2",
"lzma": "2.3.2",
"motion": "12.43.0",
"music-metadata": "11.14.0",
"mysql2": "3.23.3",
@@ -63,6 +63,7 @@
"sharp": "0.35.3",
"sonner": "2.0.8",
"tailwind-merge": "3.6.0",
"tailwindcss-animate": "1.0.7",
"zod": "4.4.3"
},
"devDependencies": {
@@ -74,6 +75,7 @@
"@types/react": "19.2.18",
"@types/react-dom": "19.2.4",
"@vitest/coverage-v8": "4.1.10",
"dotenv": "^17.4.2",
"drizzle-kit": "^0.31.10",
"husky": "^9.1.7",
"knip": "6.32.1",
+141 -125
View File
@@ -56,7 +56,7 @@ importers:
specifier: 10.0.1
version: 10.0.1
dompurify:
specifier: ^3.4.13
specifier: 3.4.13
version: 3.4.13
drizzle-orm:
specifier: 0.45.2
@@ -68,11 +68,11 @@ importers:
specifier: 6.0.0
version: 6.0.0([email protected])
jpeg-js:
specifier: ^0.4.4
specifier: 0.4.4
version: 0.4.4
jsonc-parser:
specifier: ^3.3.1
version: 3.3.1
json5:
specifier: 2.2.3
version: 2.2.3
jszip:
specifier: 3.10.1
version: 3.10.1
@@ -83,7 +83,7 @@ importers:
specifier: 1.31.0
version: 1.31.0([email protected])
lzma:
specifier: ^2.3.2
specifier: 2.3.2
version: 2.3.2
motion:
specifier: 12.43.0
@@ -96,13 +96,13 @@ importers:
version: 3.23.3(@types/[email protected])
next:
specifier: 16.3.0
version: 16.3.0(@types/[email protected])([email protected]([email protected]))([email protected])
version: 16.3.0(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])
next-auth:
specifier: 5.0.0-beta.32
version: 5.0.0-beta.32([email protected](@types/[email protected])([email protected]([email protected]))([email protected]))([email protected])
version: 5.0.0-beta.32([email protected](@types/[email protected])([email protected])([email protected]([email protected]))([email protected]))([email protected])
next-intl:
specifier: 4.13.6
version: 4.13.6([email protected](@types/[email protected])([email protected]([email protected]))([email protected]))([email protected])([email protected])
version: 4.13.6([email protected](@types/[email protected])([email protected])([email protected]([email protected]))([email protected]))([email protected])([email protected])
otplib:
specifier: 13.4.1
version: 13.4.1
@@ -133,6 +133,9 @@ importers:
tailwind-merge:
specifier: 3.6.0
version: 3.6.0
tailwindcss-animate:
specifier: 1.0.7
version: 1.0.7([email protected])
zod:
specifier: 4.4.3
version: 4.4.3
@@ -161,6 +164,9 @@ importers:
'@vitest/coverage-v8':
specifier: 4.1.10
version: 4.1.10([email protected])
dotenv:
specifier: ^17.4.2
version: 17.4.2
drizzle-kit:
specifier: ^0.31.10
version: 0.31.10
@@ -178,7 +184,7 @@ importers:
version: 13.1.3
postcss:
specifier: ^8.5.25
version: 8.5.26
version: 8.5.25
tailwindcss:
specifier: ^4.3.3
version: 4.3.3
@@ -284,13 +290,6 @@ packages:
cpu: [x64]
os: [darwin]
'@biomejs/[email protected]':
resolution: {integrity: sha512-VcJNbstduTHx83NGAdhp78/JOcP45BZHXL7yNsfI1uGzdUgegAz2s+mSoT7wK6PBNzLoqG0zDOXaz/RQYVtSiw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@biomejs/[email protected]':
resolution: {integrity: sha512-XmFiA0WPYFC+uiUDC8WRFzAIH9bo7vwQLav38Uoq4ETC+T/+uBi0TsYGJECkugY3r8USl3jc+Ae2/irAF6F2lQ==}
engines: {node: '>=14.21.3'}
@@ -883,8 +882,8 @@ packages:
cpu: [x64]
os: [win32]
'@noble/hashes@2.3.0':
resolution: {integrity: sha512-oN+QwyX7VSHotibwubG3kpzbwKrfnyR6OOO+3Nk/53ADL7FmgHHz4TgrbaYKvvOw09u6QTx0oiH1cNCIOuN0CQ==}
'@noble/hashes@2.2.0':
resolution: {integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==}
engines: {node: '>= 20.19.0'}
'@otplib/[email protected]':
@@ -1035,9 +1034,6 @@ packages:
'@oxc-project/[email protected]':
resolution: {integrity: sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ==}
'@oxc-project/[email protected]':
resolution: {integrity: sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==}
'@oxc-resolver/[email protected]':
resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==}
cpu: [arm]
@@ -1394,92 +1390,92 @@ packages:
'@types/react':
optional: true
'@rolldown/[email protected].3':
resolution: {integrity: sha512-zrJtHDcaZJ1Fp7xf4hNl+7seH9Cn/N5TwLYkhgXREtBwAd/jaqW3uqeHxpDugJLVICWg4eW44kOQEGJ1r6jCGw==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-l7x215OGvo1s52JWmR8U/DAVzEDWBCIbTm28aeJV/WDTSHgcKXaZTuBT0hJMs5NggilfJTW3clZVvd24yfKJxA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-ieIiibVCp0tX7TLu2cafoNPv8wJyYi01ekXpbf8q2j7F4rGAhhXb/eQh7ge9DRBY78GwmRQtvjZDux7EDbA8kA==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-9u9Xv6c1AJZT0FfwH5vrMG5Jjcwhc1MlyrPu0XfTqkzsmqfks2M6W/o5XwAJgVVN/jHpqqngC1WevHKKTIUtIA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-Zh9tCon19eDXJoihx0rqKhMUlMYqzwj3aPsSuHmI4RWZh62dWUL+DJN4C5YQya5TcQBJU/Fe8+rY0jhXTQITqA==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-9W1mbGZAfW3oqd85bhBkmpyHCCzL1TeG/zFFP3vg7b0rlly8cxOcre5nXwz+LHazCwac2MNWgPdPCHndABjpWQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-nGbJWewA1wrXXZiQhjAT5rhibGfns5ZNkDVqxsO6zJ3f3YvpoDNNmGMSbbhLuXKjNScaBJVOAboztAWVespQMg==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-0p1lhiCSCyaerFwtrdZQUx7NqGk6LQnaRKWX7tFQqwQgvX0rjM15cIkm3pax1UpEakK14C4mOxx/jSqCBdBRqQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-QNniJr5Kml0kDEB98jiDOJjXNroxIIi0IXIbdYzY26Xt1pVbeP62+KnoIZLwirOymX/0jDk/2gI/bNUv7A7OIw==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-e+cOJXrJ2L3zx6YzqPg+f6Wbk3V1cKB8bOhbaYdVYN3DdquzNdRAmrbETz1qnt5yp/c7JNlNjmITiA2cVneQ7w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-TkqEAcmmvH3I/q4114NB4RVt6241Dao48pF45uLcFGrwAaIn0iITgTAKP/dLjbN0R4buJjGb91+UHSoFmpgIWw==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-JsSMsj6sNat/MuhG5fnBD7QgbtpHKVe30x5/bAVirDHdhoQRXJkF6xc0Jqk8O4fiCUQAzMOoH9wZi3m60c8wtg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-NHqjnxpsndf4MPymxteFAWHHfkTL8HjWh1KB7z23ofZ6QO2euONuxDXjat69dKZRALnGypg8k8SsK8vZJoXv1Q==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-B5G/zJdHaoJn9vD50eGHWkiWfmq8Uhi3IiLPJTzmZTrAalk1bztUikSXo0qga18ibE0IXboyeMUnhPjhAJ45wQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-6tbrbwfz5GB9DQ4Jwo6hy9v+vR31xZlvzZ6n5Xut6Hhx5PvrA9q/HsK8KMaYQp063iqZGXwNvZtYNLD7EM/x0w==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-6mC/awzKka8W6EoekjegpfGkjz8jXWDX63pqu/HYVpyKtZfu65Jsh4QAH3Kej3CAv/c1oGX7psTmFEbr0mDxLA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-oyuXxXmoZHjXC917IAPFAAv4wWAa0cM9afk8nx1+9/jNNOX1uPf8yDA6p7G0RypOfw/X0PQt5IfoquY1um+zSg==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-412MX9fJLdA1IK28EZnc8jYv2HRTleOZgfLQumJ5zy7OeJLZlg/CETwFaXjNmGVxG51cFHpKLqb5LKvBC+HsHA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-TytMwF2KVGqP2tgd0I1OY0PAv78dZRAYcF5ssDzjM34SUXCED3uXvSd5+lHoC0bTD6eEdFz7LdQNCO1y0oVk9w==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-Q/+HI/ToJafZ1iCqGgVQXUEkIjufHCTF0gBQ2a5o3cg7GJ2h0qyq3nvvSmU+bGda2/7ygXpTY4TM6gO9OhQ0ZA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [glibc]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-/E9m3qstrJFVPoULV25mVQblSNExY2+kBsYe4sy0Tn0yOOgJ8wZbZt3KnRbF/XeU2Gl1STKUQnDNTqhIE5MD4A==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-ZKp/w41n6wCvxzxQHtQSbuphfX3Y4cCvbjkKHusrLx4lh+JWLTU7StSltO/DKARISzbj368d+qUaCjI8K2wzXw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-Kr0OcsoQI816i6HOl3vFHpd1K0eZyh76zgfj4c1nTyaTsd5r2Mj1lwM4R90y/qaCfmTn9eHy0SKwi98eitRxug==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-pxE6xD4KS3eAROkKK5yrhB9/3+vhlhVGMvlQLbdpzrBGDbKrnzx3RLwPaHvasLo6jgaiBLn7e04Df9C4tYhjmA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-hOtMwTqnME+/gJcH/PCZ0wn0zPUjiWOgkHpxbSJpfGKMezHltx1S7/k1SitzVa7Ww2cqrDDaFbZEhcJZO8o+Jw==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-4MqEue5re+xIZzAWsB8sj0P1kqZySWqIuN4t6QaIO/YA6SFwySOLruvWQFzfmqk8LBK2P30KCSJwf6mJCZZ5/A==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
'@rolldown/[email protected].3':
resolution: {integrity: sha512-ekcqMMkI2PlhYnfzQnB/cEdYUVVJViWvoUyLrbzgDoi3Snfc1mVBwdnc306ufA5ejy8JSPjT2RlW1nQSjW7efg==}
'@rolldown/[email protected].2':
resolution: {integrity: sha512-NweNxxD0Nf9t8v7kodun45Ijp3EIwYY+uydPP6qBEYvfBqhIjN6dZMzlQja3tqX/aLs3F3Uz+AxDpKgRhpOZQg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
@@ -1490,8 +1486,8 @@ packages:
'@schummar/[email protected]':
resolution: {integrity: sha512-bXHSaW5jRTmke9Vd0h5P7BtWZG9Znqb8gSDxZnxaGSJnGwPLDPfS+3g0BKzeWqzgZPsIVZkM7m2tbo18cm5HBw==}
'@scure/base@2.3.0':
resolution: {integrity: sha512-NsG6Y03tY6R5BUis4FdVtHVkur0U6FOzskgs9ZXNl78CUc9fkZ78HmENUle1nSOkCasDmbubmWD9qwB7mm4PZA==}
'@scure/base@2.2.0':
resolution: {integrity: sha512-b8XEupJibegiXV+tDUseI8oLQc8ei3d/4Jkb2RpbHh3MfE054ov3uIz2dhFkB3FI8iwYkEh0gGCApkrYggkPNg==}
'@stablelib/[email protected]':
resolution: {integrity: sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==}
@@ -1928,16 +1924,19 @@ packages:
resolution: {integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==}
engines: {node: '>= 6.0.0'}
basel[email protected]:
resolution: {integrity: sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ==}
babel[email protected]:
resolution: {integrity: sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==}
[email protected]:
resolution: {integrity: sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA==}
engines: {node: '>=6.0.0'}
hasBin: true
[email protected]:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
[email protected]9:
resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==}
[email protected]6:
resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==}
[email protected]:
resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
@@ -2021,6 +2020,10 @@ packages:
[email protected]:
resolution: {integrity: sha512-2vmYIoqjze2d+kakP8S/nS5shfsl587kzwEjcGlTdiksUVgFHnFCsLYDVj/JNqJVOQZGSYBTmuycv0PodwmnMQ==}
[email protected]:
resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==}
engines: {node: '>=12'}
[email protected]:
resolution: {integrity: sha512-7OZcmQUrdGI+DUNNsKBn1aW8qSoKuTH7d0mYgSP8bAzdFzKoovxEFnoGQp2dVs82EOJeYycqRtciopszwUf8bw==}
hasBin: true
@@ -2300,8 +2303,10 @@ packages:
[email protected]:
resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==}
json[email protected]:
resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
json[email protected]:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
[email protected]:
resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
@@ -2559,8 +2564,8 @@ packages:
resolution: {integrity: sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==}
engines: {node: '>=8.0.0'}
[email protected]8:
resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==}
[email protected]7:
resolution: {integrity: sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
@@ -2686,8 +2691,8 @@ packages:
resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
engines: {node: '>=4'}
[email protected]6:
resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==}
[email protected]5:
resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==}
engines: {node: ^10 || ^12 || >=14}
[email protected]:
@@ -2784,8 +2789,8 @@ packages:
[email protected]:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
[email protected].3:
resolution: {integrity: sha512-rn9wpmxplLf7NLNyCk9FyWh3FM43DbY8jOzCdEPzH7uflhTftRbCEpqi6Ly2osgoU8OwObtmavMbWLaWy4LX7A==}
[email protected].2:
resolution: {integrity: sha512-opwpo1tQBAcpSUJDt94B7hhLNGOKjCdE//XXjeLrnx9b83bjnw45tXdg1b09yEw/VLFBJGZpwRULMmOZo7ol+A==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
@@ -2915,6 +2920,11 @@ packages:
[email protected]:
resolution: {integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==}
[email protected]:
resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
peerDependencies:
tailwindcss: '>=3.0.0 || insiders'
[email protected]:
resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==}
@@ -2966,8 +2976,8 @@ packages:
resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==}
engines: {node: '>=18'}
[email protected].10:
resolution: {integrity: sha512-b7zoBQvpWp0vuN5q2vK2RRBR2SvuruQAs50DApdDveBSn3eSYd84IaHodFqQIMlvY9K2VnyBUEXgwOBuGU9GBg==}
[email protected].5:
resolution: {integrity: sha512-EE9xv9cr93DSppe086Rnbq0jwG7MBCEe22JZ4UQ8Bn9RyUwDSoUpBmzdb5+7PzocdqBEb/K73FGPaQUMmLxTQQ==}
engines: {node: '>=14'}
[email protected]:
@@ -3187,7 +3197,6 @@ snapshots:
'@biomejs/cli-darwin-arm64': 2.5.8
'@biomejs/cli-darwin-x64': 2.5.8
'@biomejs/cli-linux-arm64': 2.5.8
'@biomejs/cli-linux-arm64-musl': 2.5.8
'@biomejs/cli-linux-x64': 2.5.8
'@biomejs/cli-linux-x64-musl': 2.5.8
'@biomejs/cli-win32-arm64': 2.5.8
@@ -3199,9 +3208,6 @@ snapshots:
'@biomejs/[email protected]':
optional: true
'@biomejs/[email protected]':
optional: true
'@biomejs/[email protected]':
optional: true
@@ -3561,7 +3567,7 @@ snapshots:
'@next/[email protected]':
optional: true
'@noble/hashes@2.3.0': {}
'@noble/hashes@2.2.0': {}
'@otplib/[email protected]': {}
@@ -3573,11 +3579,11 @@ snapshots:
'@otplib/[email protected]':
dependencies:
'@otplib/core': 13.4.1
'@scure/base': 2.3.0
'@scure/base': 2.2.0
'@otplib/[email protected]':
dependencies:
'@noble/hashes': 2.3.0
'@noble/hashes': 2.2.0
'@otplib/core': 13.4.1
'@otplib/[email protected]':
@@ -3656,8 +3662,6 @@ snapshots:
'@oxc-project/[email protected]': {}
'@oxc-project/[email protected]': {}
'@oxc-resolver/[email protected]':
optional: true
@@ -3918,53 +3922,53 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.18
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected].3':
'@rolldown/[email protected].2':
optional: true
'@rolldown/[email protected]': {}
'@schummar/[email protected]': {}
'@scure/base@2.3.0': {}
'@scure/base@2.2.0': {}
'@stablelib/[email protected]': {}
@@ -4107,7 +4111,7 @@ snapshots:
'@alloc/quick-lru': 5.2.0
'@tailwindcss/node': 4.3.3
'@tailwindcss/oxide': 4.3.3
postcss: 8.5.26
postcss: 8.5.25
tailwindcss: 4.3.3
'@tailwindcss/[email protected]([email protected])':
@@ -4298,11 +4302,16 @@ snapshots:
[email protected]: {}
basel[email protected]: {}
babel[email protected]:
dependencies:
'@babel/types': 7.29.8
optional: true
[email protected]: {}
[email protected]: {}
[email protected]9: {}
[email protected]6: {}
[email protected]: {}
@@ -4364,6 +4373,8 @@ snapshots:
optionalDependencies:
'@types/trusted-types': 2.0.7
[email protected]: {}
[email protected]:
dependencies:
'@drizzle-team/brocli': 0.10.2
@@ -4555,7 +4566,7 @@ snapshots:
[email protected]: {}
json[email protected]: {}
json[email protected]: {}
[email protected]:
dependencies:
@@ -4576,7 +4587,7 @@ snapshots:
smol-toml: 1.7.1
strip-json-comments: 5.0.3
tinyglobby: 0.2.17
unbash: 4.0.10
unbash: 4.0.5
yaml: 2.9.0
zod: 4.4.3
@@ -4772,26 +4783,26 @@ snapshots:
dependencies:
lru.min: 1.1.4
[email protected]8: {}
[email protected]7: {}
[email protected]: {}
[email protected]([email protected](@types/[email protected])([email protected]([email protected]))([email protected]))([email protected]):
[email protected]([email protected](@types/[email protected])([email protected])([email protected]([email protected]))([email protected]))([email protected]):
dependencies:
'@auth/core': 0.41.3
next: 16.3.0(@types/[email protected])([email protected]([email protected]))([email protected])
next: 16.3.0(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])
react: 19.2.8
[email protected]: {}
[email protected]([email protected](@types/[email protected])([email protected]([email protected]))([email protected]))([email protected])([email protected]):
[email protected]([email protected](@types/[email protected])([email protected])([email protected]([email protected]))([email protected]))([email protected])([email protected]):
dependencies:
'@formatjs/intl-localematcher': 0.8.13
'@parcel/watcher': 2.6.0
'@swc/core': 1.15.47
icu-minify: 4.13.6
negotiator: 1.0.0
next: 16.3.0(@types/[email protected])([email protected]([email protected]))([email protected])
next: 16.3.0(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])
next-intl-swc-plugin-extractor: 4.13.6
po-parser: 2.1.1
react: 19.2.8
@@ -4801,13 +4812,13 @@ snapshots:
transitivePeerDependencies:
- '@swc/helpers'
[email protected](@types/[email protected])([email protected]([email protected]))([email protected]):
[email protected](@types/[email protected])([email protected])([email protected]([email protected]))([email protected]):
dependencies:
'@next/env': 16.3.0
'@swc/helpers': 0.5.15
baseline-browser-mapping: 2.11.13
caniuse-lite: 1.0.30001809
postcss: 8.5.26
baseline-browser-mapping: 2.11.12
caniuse-lite: 1.0.30001806
postcss: 8.5.25
react: 19.2.8
react-dom: 19.2.8([email protected])
styled-jsx: 5.1.6([email protected])
@@ -4820,6 +4831,7 @@ snapshots:
'@next/swc-linux-x64-musl': 16.3.0
'@next/swc-win32-arm64-msvc': 16.3.0
'@next/swc-win32-x64-msvc': 16.3.0
babel-plugin-react-compiler: 1.0.0
sharp: 0.35.3(@types/[email protected])
transitivePeerDependencies:
- '@babel/core'
@@ -4949,9 +4961,9 @@ snapshots:
cssesc: 3.0.0
util-deprecate: 1.0.2
[email protected]6:
[email protected]5:
dependencies:
nanoid: 3.3.18
nanoid: 3.3.17
picocolors: 1.1.1
source-map-js: 1.2.1
@@ -5035,25 +5047,25 @@ snapshots:
[email protected]: {}
[email protected].3:
[email protected].2:
dependencies:
'@oxc-project/types': 0.143.0
'@oxc-project/types': 0.142.0
'@rolldown/pluginutils': 1.0.1
optionalDependencies:
'@rolldown/binding-android-arm64': 1.2.3
'@rolldown/binding-darwin-arm64': 1.2.3
'@rolldown/binding-darwin-x64': 1.2.3
'@rolldown/binding-freebsd-x64': 1.2.3
'@rolldown/binding-linux-arm-gnueabihf': 1.2.3
'@rolldown/binding-linux-arm64-gnu': 1.2.3
'@rolldown/binding-linux-arm64-musl': 1.2.3
'@rolldown/binding-linux-ppc64-gnu': 1.2.3
'@rolldown/binding-linux-s390x-gnu': 1.2.3
'@rolldown/binding-linux-x64-gnu': 1.2.3
'@rolldown/binding-linux-x64-musl': 1.2.3
'@rolldown/binding-openharmony-arm64': 1.2.3
'@rolldown/binding-win32-arm64-msvc': 1.2.3
'@rolldown/binding-win32-x64-msvc': 1.2.3
'@rolldown/binding-android-arm64': 1.2.2
'@rolldown/binding-darwin-arm64': 1.2.2
'@rolldown/binding-darwin-x64': 1.2.2
'@rolldown/binding-freebsd-x64': 1.2.2
'@rolldown/binding-linux-arm-gnueabihf': 1.2.2
'@rolldown/binding-linux-arm64-gnu': 1.2.2
'@rolldown/binding-linux-arm64-musl': 1.2.2
'@rolldown/binding-linux-ppc64-gnu': 1.2.2
'@rolldown/binding-linux-s390x-gnu': 1.2.2
'@rolldown/binding-linux-x64-gnu': 1.2.2
'@rolldown/binding-linux-x64-musl': 1.2.2
'@rolldown/binding-openharmony-arm64': 1.2.2
'@rolldown/binding-win32-arm64-msvc': 1.2.2
'@rolldown/binding-win32-x64-msvc': 1.2.2
[email protected]: {}
@@ -5172,6 +5184,10 @@ snapshots:
[email protected]: {}
[email protected]([email protected]):
dependencies:
tailwindcss: 4.3.3
[email protected]: {}
[email protected]: {}
@@ -5232,7 +5248,7 @@ snapshots:
[email protected]: {}
[email protected].10: {}
[email protected].5: {}
[email protected]: {}
@@ -5269,8 +5285,8 @@ snapshots:
dependencies:
lightningcss: 1.33.0
picomatch: 4.0.5
postcss: 8.5.26
rolldown: 1.2.3
postcss: 8.5.25
rolldown: 1.2.2
tinyglobby: 0.2.17
optionalDependencies:
'@types/node': 26.2.0
Binary file not shown.
+1
View File
@@ -1,3 +1,4 @@
import "dotenv/config";
import { readdirSync, readFileSync } from "node:fs";
import { dirname, resolve } from "node:path";
import { fileURLToPath } from "node:url";
+1
View File
@@ -8,6 +8,7 @@
* Usage:
* npx tsx scripts/migrate-aes-cbc-to-gcm.ts
*/
import "dotenv/config";
import {
createCipheriv,
createDecipheriv,
+3 -3
View File
@@ -2,7 +2,7 @@
import fs from "node:fs/promises";
import path from "node:path";
import * as JSONC from "jsonc-parser";
import JSON5 from "json5";
import { z } from "zod";
import {
CLIENT_TRANSLATION_FILES,
@@ -97,7 +97,7 @@ export const saveClientTranslations = adminAction(
// intact. Falls back to a full re-serialization (which DOES drop comments)
// only when an edited key cannot be located via the patch contract.
const original: Record<string, string> = {};
const parsed = JSONC.parse(raw);
const parsed = JSON5.parse(raw);
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
for (const [k, v] of Object.entries(parsed)) {
original[k] = v == null ? "" : String(v);
@@ -116,7 +116,7 @@ export const saveClientTranslations = adminAction(
// and warn the caller that comments were lost.
await fs.writeFile(
absPath,
JSON.stringify(ctx.data.data, null, 4),
JSON5.stringify(ctx.data.data, null, 4),
"utf-8",
);
return actionOk({ commentsLost: true, unpatchedKeys });
+2 -2
View File
@@ -1,6 +1,6 @@
import fs from "node:fs/promises";
import path from "node:path";
import * as JSONC from "jsonc-parser";
import JSON5 from "json5";
import {
CLIENT_TRANSLATION_FILES,
getClientTranslationFile,
@@ -29,7 +29,7 @@ export default async function ClientTranslationsPage({
path.join(/*turbopackIgnore: true*/ process.cwd(), file.relPath),
"utf-8",
);
const parsed = file.format === "json5" ? JSONC.parse(raw) : JSON.parse(raw);
const parsed = file.format === "json5" ? JSON5.parse(raw) : JSON.parse(raw);
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
// Nitro localization files are flat: { "key.with.dots": "value" }.
// Coerce values to strings so the editor can render them in <input>.
+1
View File
@@ -1,6 +1,7 @@
@import "tailwindcss";
@plugin "@tailwindcss/forms";
@plugin "@tailwindcss/typography";
@plugin "tailwindcss-animate";
@custom-variant dark (&:where(.dark, .dark *));
@theme {
-17
View File
@@ -1,17 +0,0 @@
import { describe, expect, it } from "vitest";
import { importClothingSet } from "@/lib/services/clothing-set-import";
import { __clearFigureOfficialCache } from "@/lib/services/figure-official";
describe("real import", () => {
it.skip("imports set 5044 (needs new lib shirt_M_drsports)", async () => {
__clearFigureOfficialCache();
const progress: string[] = [];
const r = await importClothingSet({
setType: "ch",
setId: 5044,
onProgress: (s) => progress.push(s),
});
expect(r.ok, JSON.stringify(r)).toBe(true);
expect(progress).toContain("importing library shirt_M_drsports");
}, 120000);
});