diff --git a/.npmrc b/.npmrc index 367cd29..7b9c1e6 100644 --- a/.npmrc +++ b/.npmrc @@ -3,3 +3,5 @@ strict-peer-dependencies=false auto-install-peers=true prefer-frozen-lockfile=true enable-pre-post-scripts=true +engine-strict=true +confirmModulesPurge=false \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..978b4e8 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +26 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 5506c35..3b6f680 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,9 @@ -FROM node:24-alpine AS base +FROM node:26-alpine AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" -RUN corepack enable + +RUN npm install -g pnpm@latest + # Runtime-only native deps (OpenSSL for Prisma engine, CA certs for TLS) RUN apk add --no-cache openssl ca-certificates diff --git a/package.json b/package.json index 024e612..1bc0a19 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "prettier --write --ignore-unknown" ] }, - "packageManager": "pnpm@10.33.2", + "packageManager": "pnpm@11.1.3", "dependencies": { "@aws-sdk/client-s3": "^3.1048.0", "@fastify/awilix": "^8.2.0", @@ -93,7 +93,7 @@ }, "pnpm": { "overrides": { - "hono": "4.12.12", + "hono": "4.12.18", "@hono/node-server": "1.19.13", "fast-xml-parser": "^5.5.7", "lodash": "4.17.23", @@ -103,7 +103,11 @@ "brace-expansion": "^5.0.5", "fast-jwt": "6.2.4", "fast-uri": ">=3.1.2", - "vite": "8.0.8" + "vite": "8.0.8", + "ws": ">=8.20.1" } + }, + "engines": { + "node": ">25" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 210532d..32a096e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,19 +4,6 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - hono: 4.12.12 - '@hono/node-server': 1.19.13 - fast-xml-parser: ^5.5.7 - lodash: 4.17.23 - effect: 3.20.0 - picomatch: ^4.0.4 - yaml: ^2.8.3 - brace-expansion: ^5.0.5 - fast-jwt: 6.2.4 - fast-uri: '>=3.1.2' - vite: 8.0.8 - importers: .: @@ -187,6 +174,7 @@ packages: '@aws-sdk/core@3.974.11': resolution: {integrity: sha512-QpnINq5FZH6EOaDEkmHdT7eUunbvD27pDNQypaWjFyYz7Zl1q3UCMQErBZxpmfGfI7MvI2TlK8KTkgNpv8b1ug==} engines: {node: '>=20.0.0'} + deprecated: Deprecated due to an error deserialization bug in JSON 1.0 protocol services, see https://github.com/aws/aws-sdk-js-v3/pull/8031. Newer version available. '@aws-sdk/crc64-nvme@3.972.8': resolution: {integrity: sha512-fVfUCL/Xh2zINYMPZvj+iBn6XWouQf0DAnjaWCI9MkmqXzL2Iy5FoQB8O7syFe6gN6AH1ecDDU58T51Ou0kFkA==} @@ -592,11 +580,11 @@ packages: '@fastify/websocket@11.2.0': resolution: {integrity: sha512-3HrDPbAG1CzUCqnslgJxppvzaAZffieOVbLp1DAy1huCSynUWPifSvfdEDUR8HlJLp3sp1A36uOM2tJogADS8w==} - '@hono/node-server@1.19.13': - resolution: {integrity: sha512-TsQLe4i2gvoTtrHje625ngThGBySOgSK3Xo2XRYOdqGN1teR8+I7vchQC46uLJi8OF62YTYA3AhSpumtkhsaKQ==} + '@hono/node-server@1.19.11': + resolution: {integrity: sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==} engines: {node: '>=18.14.1'} peerDependencies: - hono: 4.12.12 + hono: ^4 '@humanfs/core@0.19.2': resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} @@ -1051,7 +1039,7 @@ packages: resolution: {integrity: sha512-R9HTZBhW6yCSGbGQnDnH3QHfJxokKN4KB+Yvk9Q1le7eQNYwiCyKxmLmurSpFy6BzJanSLuEUDrD+j97Q+ZLPg==} peerDependencies: msw: ^2.4.9 - vite: 8.0.8 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true @@ -1487,8 +1475,8 @@ packages: fast-xml-builder@1.2.0: resolution: {integrity: sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q==} - fast-xml-parser@5.8.0: - resolution: {integrity: sha512-6bIM7fsJxeo3uXv7OncQYsBAMPJ7V16Slahl/6M98C/i2q+vB1+4a0MtrvYwDFEUrwDSbAmeLDRXsOBwrL7yAg==} + fast-xml-parser@5.7.3: + resolution: {integrity: sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==} hasBin: true fastfall@1.5.1: @@ -1514,7 +1502,7 @@ packages: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} peerDependencies: - picomatch: ^4.0.4 + picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: optional: true @@ -2076,6 +2064,10 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + picomatch@4.0.4: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} @@ -2517,7 +2509,7 @@ packages: sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 - yaml: ^2.8.3 + yaml: ^2.4.2 peerDependenciesMeta: '@types/node': optional: true @@ -2560,7 +2552,7 @@ packages: '@vitest/ui': 4.1.4 happy-dom: '*' jsdom: '*' - vite: 8.0.8 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -2914,7 +2906,7 @@ snapshots: dependencies: '@nodable/entities': 2.1.0 '@smithy/types': 4.14.2 - fast-xml-parser: 5.8.0 + fast-xml-parser: 5.7.3 tslib: 2.8.1 '@aws/lambda-invoke-store@0.2.4': {} @@ -3200,7 +3192,7 @@ snapshots: - bufferutil - utf-8-validate - '@hono/node-server@1.19.13(hono@4.12.12)': + '@hono/node-server@1.19.11(hono@4.12.12)': dependencies: hono: 4.12.12 @@ -3298,7 +3290,7 @@ snapshots: '@electric-sql/pglite': 0.4.1 '@electric-sql/pglite-socket': 0.1.1(@electric-sql/pglite@0.4.1) '@electric-sql/pglite-tools': 0.3.1(@electric-sql/pglite@0.4.1) - '@hono/node-server': 1.19.13(hono@4.12.12) + '@hono/node-server': 1.19.11(hono@4.12.12) '@prisma/get-platform': 7.2.0 '@prisma/query-plan-executor': 7.2.0 '@prisma/streams-local': 0.1.2 @@ -3735,7 +3727,7 @@ snapshots: anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 4.0.4 + picomatch: 2.3.2 argon2@0.44.0: dependencies: @@ -4142,13 +4134,12 @@ snapshots: path-expression-matcher: 1.5.0 xml-naming: 0.1.0 - fast-xml-parser@5.8.0: + fast-xml-parser@5.7.3: dependencies: '@nodable/entities': 2.1.0 fast-xml-builder: 1.2.0 path-expression-matcher: 1.5.0 strnum: 2.3.0 - xml-naming: 0.1.0 fastfall@1.5.1: dependencies: @@ -4550,7 +4541,7 @@ snapshots: micromatch@4.0.8: dependencies: braces: 3.0.3 - picomatch: 4.0.4 + picomatch: 2.3.2 mime-db@1.52.0: {} @@ -4697,6 +4688,8 @@ snapshots: picocolors@1.1.1: {} + picomatch@2.3.2: {} + picomatch@4.0.4: {} pino-abstract-transport@3.0.0: @@ -4835,7 +4828,7 @@ snapshots: readdirp@3.6.0: dependencies: - picomatch: 4.0.4 + picomatch: 2.3.2 readdirp@5.0.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 99f13a8..212f2ee 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,8 @@ +allowBuilds: + '@prisma/engines': true + argon2: true + esbuild: true + prisma: true ignoredBuiltDependencies: - '@prisma/engines' - argon2