diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 33be1afa..2b39e9dd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -23,7 +23,7 @@ jobs: - name: Setup PNPM uses: pnpm/action-setup@v4 with: - version: 10 + version: 10.33.4 - name: Setup Node.js uses: actions/setup-node@v4 @@ -47,7 +47,7 @@ jobs: - name: Setup PNPM uses: pnpm/action-setup@v4 with: - version: 10 + version: 10.33.4 - name: Setup Node.js uses: actions/setup-node@v4 @@ -71,7 +71,7 @@ jobs: - name: Setup PNPM uses: pnpm/action-setup@v4 with: - version: 10 + version: 10.33.4 - name: Setup Node.js uses: actions/setup-node@v4 @@ -99,7 +99,7 @@ jobs: - name: Setup PNPM uses: pnpm/action-setup@v4 with: - version: 10 + version: 10.33.4 - name: Setup Node.js uses: actions/setup-node@v4 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ca6860d9..f674cf50 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -77,7 +77,7 @@ To contribute code, you'll need to set up your development environment. **Prerequisites:** - **Node.js:** Version 24. You can use a version manager like [fnm](https://github.com/Schniz/fnm) or [nvm](https://github.com/nvm-sh/nvm) to manage Node.js versions. -- **pnpm:** We use `pnpm` for package management. Install it using Homebrew: `brew install pnpm`, or follow the official [pnpm installation guide](https://pnpm.io/installation) for other systems. +- **pnpm:** We use `pnpm` for package management, pinned via the `packageManager` field in `package.json`. Install pnpm via Homebrew (`brew install pnpm`) or the official [pnpm installation guide](https://pnpm.io/installation); pnpm will automatically use the pinned version when run inside this repo. **Steps:** diff --git a/Dockerfile b/Dockerfile index af8c34a4..fcf2be7e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ ENV NODE_ENV="production" ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN mkdir $PNPM_HOME && \ - wget -qO- "https://github.com/pnpm/pnpm/releases/download/v10.18.1/pnpm-linuxstatic-arm64" > "$PNPM_HOME/pnpm" && \ + wget -qO- "https://github.com/pnpm/pnpm/releases/download/v10.33.4/pnpm-linuxstatic-arm64" > "$PNPM_HOME/pnpm" && \ chmod +x $PNPM_HOME/pnpm && \ ln -s $PNPM_HOME/pnpm /usr/local/bin/pnpm diff --git a/package.json b/package.json index d907b94a..ea0ee41a 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "1.14.1", "private": true, "type": "module", + "packageManager": "pnpm@10.33.4", "scripts": { "dev": "vite dev", "build": "vite build", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f7d38e62..e13e3ee8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -76,7 +76,7 @@ importers: version: 6.9.1 '@testing-library/svelte': specifier: ^5.2.9 - version: 5.2.9(svelte@5.55.2)(vite@7.3.2(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3))(vitest@3.1.4(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3)) + version: 5.2.9(svelte@5.55.2)(vite@7.3.2(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3))(vitest@3.1.4(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3)) '@testing-library/user-event': specifier: ^14.6.1 version: 14.6.1(@testing-library/dom@10.4.1) @@ -85,7 +85,7 @@ importers: version: 24.10.1 '@vitest/coverage-v8': specifier: 3.1.4 - version: 3.1.4(vitest@3.1.4(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3)) + version: 3.1.4(vitest@3.1.4(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3)) date-fns: specifier: ^4.1.0 version: 4.1.0 @@ -169,7 +169,7 @@ importers: version: 7.3.2(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3) vitest: specifier: ^3.1.4 - version: 3.1.4(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3) + version: 3.1.4(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3) packages: @@ -976,9 +976,9 @@ packages: engines: {node: '>=6'} hasBin: true - '@hono/node-server@1.19.13': - resolution: {integrity: sha512-TsQLe4i2gvoTtrHje625ngThGBySOgSK3Xo2XRYOdqGN1teR8+I7vchQC46uLJi8OF62YTYA3AhSpumtkhsaKQ==} - engines: {node: '>=18.14.1'} + '@hono/node-server@2.0.2': + resolution: {integrity: sha512-tXlTi1h/4V7sDe7i97IVP+9re9ZU7wXZZggnR5ucCRclf1+AX6YhGStrR5w8bLj+3Mlyl0pKfBh9gqTqqnGKfQ==} + engines: {node: '>=20'} peerDependencies: hono: '>=4.12.14' @@ -2066,18 +2066,12 @@ packages: '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@24.10.1': resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} @@ -2740,8 +2734,8 @@ packages: fast-xml-builder@1.1.4: resolution: {integrity: sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==} - fast-xml-parser@5.5.10: - resolution: {integrity: sha512-go2J2xODMc32hT+4Xr/bBGXMaIoiCwrwp2mMtAvKyvEFW6S/v5Gn2pBmE4nvbwNjGhpcAiOwEv7R6/GZ6XRa9w==} + fast-xml-parser@5.5.8: + resolution: {integrity: sha512-Z7Fh2nVQSb2d+poDViM063ix2ZGt9jmY1nWhPfHBOK2Hgnb/OW3P4Et3P/81SEej0J7QbWtJqxO05h8QYfK7LQ==} hasBin: true fdir@6.4.6: @@ -4232,7 +4226,7 @@ packages: optional: true xlsx@https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz: - resolution: {tarball: https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz} + resolution: {integrity: sha512-oLDq3jw7AcLqKWH2AhCpVTZl8mf6X2YReP+Neh0SJUzV/BdZYjth94tG5toiMB1PPrYtxOCfaoUCkvtuH+3AJA==, tarball: https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz} version: 0.20.3 engines: {node: '>=0.8'} hasBin: true @@ -4771,7 +4765,7 @@ snapshots: '@aws-sdk/xml-builder@3.972.17': dependencies: '@smithy/types': 4.14.0 - fast-xml-parser: 5.5.10 + fast-xml-parser: 5.5.8 tslib: 2.8.1 '@aws/lambda-invoke-store@0.2.4': {} @@ -5143,7 +5137,7 @@ snapshots: protobufjs: 7.5.6 yargs: 17.7.2 - '@hono/node-server@1.19.13(hono@4.12.14)': + '@hono/node-server@2.0.2(hono@4.12.14)': dependencies: hono: 4.12.14 @@ -5337,7 +5331,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.14) + '@hono/node-server': 2.0.2(hono@4.12.14) '@prisma/get-platform': 7.2.0 '@prisma/query-plan-executor': 7.2.0 '@prisma/streams-local': 0.1.2 @@ -6159,13 +6153,13 @@ snapshots: picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/svelte@5.2.9(svelte@5.55.2)(vite@7.3.2(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3))(vitest@3.1.4(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3))': + '@testing-library/svelte@5.2.9(svelte@5.55.2)(vite@7.3.2(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3))(vitest@3.1.4(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3))': dependencies: '@testing-library/dom': 10.4.1 svelte: 5.55.2 optionalDependencies: vite: 7.3.2(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3) - vitest: 3.1.4(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3) + vitest: 3.1.4(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3) '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': dependencies: @@ -6175,18 +6169,10 @@ snapshots: '@types/cookie@0.6.0': {} - '@types/debug@4.1.12': - dependencies: - '@types/ms': 2.1.0 - optional: true - '@types/estree@1.0.8': {} '@types/json-schema@7.0.15': {} - '@types/ms@2.1.0': - optional: true - '@types/node@24.10.1': dependencies: undici-types: 7.16.0 @@ -6328,7 +6314,7 @@ snapshots: '@valkey/valkey-glide-linux-x64-gnu': 2.0.1 '@valkey/valkey-glide-linux-x64-musl': 2.0.1 - '@vitest/coverage-v8@3.1.4(vitest@3.1.4(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3))': + '@vitest/coverage-v8@3.1.4(vitest@3.1.4(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -6342,7 +6328,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.1.4(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3) + vitest: 3.1.4(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3) transitivePeerDependencies: - supports-color @@ -6922,7 +6908,7 @@ snapshots: dependencies: path-expression-matcher: 1.4.0 - fast-xml-parser@5.5.10: + fast-xml-parser@5.5.8: dependencies: fast-xml-builder: 1.1.4 path-expression-matcher: 1.4.0 @@ -8240,7 +8226,7 @@ snapshots: optionalDependencies: vite: 7.3.2(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3) - vitest@3.1.4(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3): + vitest@3.1.4(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.3.0(postcss@8.5.8))(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3): dependencies: '@vitest/expect': 3.1.4 '@vitest/mocker': 3.1.4(vite@6.4.2(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3)) @@ -8264,7 +8250,6 @@ snapshots: vite-node: 3.1.4(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.20.5)(yaml@2.8.3) why-is-node-running: 2.3.0 optionalDependencies: - '@types/debug': 4.1.12 '@types/node': 24.10.1 jsdom: 27.3.0(postcss@8.5.8) transitivePeerDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 21786c22..e555ea72 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,11 +1,11 @@ -onlyBuiltDependencies: - - '@prisma/client' - - '@prisma/engines' - - '@tailwindcss/oxide' - - esbuild - - prisma - - protobufjs - - sharp +allowBuilds: + '@prisma/client': true + '@prisma/engines': true + '@tailwindcss/oxide': true + esbuild: true + prisma: true + protobufjs: true + sharp: true patchedDependencies: vite-imagetools: patches/vite-imagetools.patch