From 022b30eb78424b0bb2526ed85496160c9193c6da Mon Sep 17 00:00:00 2001 From: zowks <67444066+zowks@users.noreply.github.com> Date: Thu, 17 Sep 2026 12:22:00 +0000 Subject: [PATCH 1/4] build(pnpm): using `pnpm/setup@v2` and updated pnpm to version `12.4.2` --- .github/actions/setup/action.yaml | 15 --- .github/workflows/backend-ci.yaml | 5 +- .github/workflows/frontend-ci.yaml | 22 +++- package.json | 11 +- packages/frontend/package.json | 1 - pnpm-lock.yaml | 165 +++++++++++++++++++++++++++-- pnpm-workspace.yaml | 17 +-- 7 files changed, 199 insertions(+), 37 deletions(-) delete mode 100644 .github/actions/setup/action.yaml diff --git a/.github/actions/setup/action.yaml b/.github/actions/setup/action.yaml deleted file mode 100644 index 245656f..0000000 --- a/.github/actions/setup/action.yaml +++ /dev/null @@ -1,15 +0,0 @@ -name: Setup Node.js & pnpm -description: Setup Node.js & pnpm - -runs: - using: composite - steps: - - name: Setup Node.js - uses: actions/setup-node@v6 - with: - node-version: 24 - - - name: Setup pnpm - uses: pnpm/action-setup@v4 - with: - cache: true diff --git a/.github/workflows/backend-ci.yaml b/.github/workflows/backend-ci.yaml index 4e5049b..e0929f8 100644 --- a/.github/workflows/backend-ci.yaml +++ b/.github/workflows/backend-ci.yaml @@ -27,7 +27,10 @@ jobs: uses: actions/checkout@v4 - name: Setup Node.js & pnpm - uses: ./.github/actions/setup + uses: pnpm/setup@v2 + with: + cache: true + install: false - name: Install dependencies run: pnpm install --filter=@hallmaster/backend... --frozen-lockfile diff --git a/.github/workflows/frontend-ci.yaml b/.github/workflows/frontend-ci.yaml index 4f844a0..50ba8c3 100644 --- a/.github/workflows/frontend-ci.yaml +++ b/.github/workflows/frontend-ci.yaml @@ -16,7 +16,10 @@ jobs: uses: actions/checkout@v6 - name: Setup Node.js & pnpm - uses: ./.github/actions/setup + uses: pnpm/setup@v2 + with: + cache: true + install: false - name: Install dependencies run: pnpm --filter @hallmaster/frontend... install --frozen-lockfile --prefer-offline @@ -33,7 +36,10 @@ jobs: uses: actions/checkout@v6 - name: Setup Node.js & pnpm - uses: ./.github/actions/setup + uses: pnpm/setup@v2 + with: + cache: true + install: false - name: Install dependencies run: pnpm --filter @hallmaster/frontend... install --frozen-lockfile --prefer-offline @@ -50,7 +56,10 @@ jobs: uses: actions/checkout@v6 - name: Setup Node.js & pnpm - uses: ./.github/actions/setup + uses: pnpm/setup@v2 + with: + cache: true + install: false - name: Install dependencies run: pnpm --filter @hallmaster/frontend... install --frozen-lockfile --prefer-offline @@ -68,14 +77,17 @@ jobs: uses: actions/checkout@v6 - name: Setup Node.js & pnpm - uses: ./.github/actions/setup + uses: pnpm/setup@v2 + with: + cache: true + install: false - name: Install dependencies run: pnpm --filter @hallmaster/frontend... install --frozen-lockfile --prefer-offline - name: Build run: pnpm --filter @hallmaster/frontend run build - + build-and-push: name: Build and Push Images runs-on: ubuntu-latest diff --git a/package.json b/package.json index a80debb..96b7b59 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,16 @@ "keywords": [], "author": "", "license": "ISC", - "packageManager": "pnpm@10.28.2", + "devEngines": { + "runtime": { + "name": "node", + "version": "24" + }, + "packageManager": { + "name": "pnpm", + "version": "12.4.2" + } + }, "devDependencies": { "@changesets/cli": "^2.29.8", "@commitlint/cli": "^20.4.2", diff --git a/packages/frontend/package.json b/packages/frontend/package.json index de8a80e..2c4e201 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -26,7 +26,6 @@ "@tailwindcss/vite": "^4.3.1", "@types/d3-shape": "^3.1.8", "@types/node": "^22.19.11", - "compiler@^5.0.0": "link:svelte/compiler@^5.0.0", "d3-shape": "^3.2.0", "es-toolkit": "^1.49.0", "eventsource-parser": "^3.0.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1dd2366..f093dc9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,3 +1,161 @@ +--- +lockfileVersion: '9.0' + +importers: + + .: + configDependencies: {} + packageManagerDependencies: + pnpm: + specifier: 12.4.2 + version: 12.4.2 + +packages: + + '@pnpm/exe.android-arm64@12.4.2': + resolution: {integrity: sha512-E255MbcQ0V1577M2BV0ajWuP7KmTPYA0jqZnk3rK6Lq3kTvZWulMMb7iqRmnLsQbyWTkMEB2CfyM70loVDA8xg==} + cpu: [arm64] + os: [android] + + '@pnpm/exe.android-x64@12.4.2': + resolution: {integrity: sha512-J1pSeCUwuKxMG70ZzpWn8JzElxiEa8NN/3N0SlZRtU2xbztChaJCKF3HaBNIj9yPfeofWzJo/lwNvDDjraQuZw==} + cpu: [x64] + os: [android] + + '@pnpm/exe.darwin-arm64@12.4.2': + resolution: {integrity: sha512-A0WDo8iErfZBXgrLseQxw8i8Y9ctUpOEl/Uu+cubnTzpD8tT9ykIB548L8YTM2WD4OS+ZOHSxy8aGZcvKq8PaQ==} + cpu: [arm64] + os: [darwin] + + '@pnpm/exe.darwin-x64@12.4.2': + resolution: {integrity: sha512-MSgJdovBWHcb5DEOvfPH9yNi/T5O1Xa4ess+E1ESGo/5yuty7S4JoiIjami+fsNXfnoQMlwsMUqYU4zAvBcNCw==} + cpu: [x64] + os: [darwin] + + '@pnpm/exe.freebsd-x64@12.4.2': + resolution: {integrity: sha512-h2YumlQSNvgbRPv+RXwABohX65f9bOBZn+jMIt7bFDISZPCzQ+Nvpt6Awbp4ip5PwQgYxbu5iREJ1fHE39Fm8A==} + cpu: [x64] + os: [freebsd] + + '@pnpm/exe.linux-arm64-musl@12.4.2': + resolution: {integrity: sha512-LwSEtSEDTv6S51YLs3YvSkPyun/QmfMic1UGICUkPWFu6ByP43RdMlkKvmVkfGhAYCpnxO057vrmyJqtfZrPCA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-arm64@12.4.2': + resolution: {integrity: sha512-2dSiDXyhx+RTHsewxex8f/jVjqQXWJ2oow4kCVHEWdZKeBpgMxvZ6fHkTAUBJXgqhbKIDHvuNlZBP7gJfUWL5A==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-ppc64@12.4.2': + resolution: {integrity: sha512-8Itc+jQk+MTz04LS9D1RcH+VctAWmzM4l1cJQ+Sx7pAJNo7EKHdRMbC0Tok1jyQ7eEHNJZD5EleYneZqWfZM+g==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-riscv64@12.4.2': + resolution: {integrity: sha512-hleOeqhTVpH+z9RVMGnxvU4ZnrkBUClWjCbHD9u6kwyqhGSpevoU1wTGish+CBRhmIgMAy9pAfFpqhbAKOKNfw==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-s390x@12.4.2': + resolution: {integrity: sha512-LAsQRRdP9aToENR6dtcIJ9l+e1zMYOX0tQcLGpRyLPVBQcYRLlvAPcmDshsiIHQjp05SDa9FI0czX1ZQ1a7a/A==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-x64-musl@12.4.2': + resolution: {integrity: sha512-kzfzH2/0BWdTABK14Yj5a1xsdkTEQUp2eXEPNakaD9jKL025lq3hyaKHIz/gIZaPDMe/1bFFK/En4ztFlbBJxw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-x64@12.4.2': + resolution: {integrity: sha512-/pbt0UVTa8NMDhzOWLQRfZ6G9ROKXlJPZtx845BqyWfc7hCrWXhTLBd70yO2y8+E+IWN3oHM1s/JsIQNGk1yvg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.win32-arm64@12.4.2': + resolution: {integrity: sha512-PsW19e4dAUNpZ0cS9flaxFuAmpt2dKlH/Vvi8TZ4qyJjjQzue/CEsWm+6wKVP4CJ7IT8RdL4qh+soOPWIgF2Zw==} + cpu: [arm64] + os: [win32] + + '@pnpm/exe.win32-x64@12.4.2': + resolution: {integrity: sha512-+xGoeE0g55ztWvl8i5QqdmNfW3nIrTVcoQrNshEOwxthm9Ag48oXton3uxOA3/SANyz5AXexEjj2KO20NnOrEw==} + cpu: [x64] + os: [win32] + + pnpm@12.4.2: + resolution: {integrity: sha512-CK3GYTGAJ1x8ntraOdzwjJxhrU5+rzMKTzRh8QKw+QdCNFTRF/mOctR/7wYWBwZE17/8lzpqV/UJCm18NosHyQ==} + engines: {node: '>=18.*'} + hasBin: true + +snapshots: + + '@pnpm/exe.android-arm64@12.4.2': + optional: true + + '@pnpm/exe.android-x64@12.4.2': + optional: true + + '@pnpm/exe.darwin-arm64@12.4.2': + optional: true + + '@pnpm/exe.darwin-x64@12.4.2': + optional: true + + '@pnpm/exe.freebsd-x64@12.4.2': + optional: true + + '@pnpm/exe.linux-arm64-musl@12.4.2': + optional: true + + '@pnpm/exe.linux-arm64@12.4.2': + optional: true + + '@pnpm/exe.linux-ppc64@12.4.2': + optional: true + + '@pnpm/exe.linux-riscv64@12.4.2': + optional: true + + '@pnpm/exe.linux-s390x@12.4.2': + optional: true + + '@pnpm/exe.linux-x64-musl@12.4.2': + optional: true + + '@pnpm/exe.linux-x64@12.4.2': + optional: true + + '@pnpm/exe.win32-arm64@12.4.2': + optional: true + + '@pnpm/exe.win32-x64@12.4.2': + optional: true + + pnpm@12.4.2: + optionalDependencies: + '@pnpm/exe.android-arm64': 12.4.2 + '@pnpm/exe.android-x64': 12.4.2 + '@pnpm/exe.darwin-arm64': 12.4.2 + '@pnpm/exe.darwin-x64': 12.4.2 + '@pnpm/exe.freebsd-x64': 12.4.2 + '@pnpm/exe.linux-arm64': 12.4.2 + '@pnpm/exe.linux-arm64-musl': 12.4.2 + '@pnpm/exe.linux-ppc64': 12.4.2 + '@pnpm/exe.linux-riscv64': 12.4.2 + '@pnpm/exe.linux-s390x': 12.4.2 + '@pnpm/exe.linux-x64': 12.4.2 + '@pnpm/exe.linux-x64-musl': 12.4.2 + '@pnpm/exe.win32-arm64': 12.4.2 + '@pnpm/exe.win32-x64': 12.4.2 + +--- lockfileVersion: '9.0' settings: @@ -5,9 +163,7 @@ settings: excludeLinksFromLockfile: false patchedDependencies: - virtua: - hash: 2c0d482dc06ad381cab34a6d5581eefb4327fc24a8dd80dad7562bd8922f879c - path: patches/virtua.patch + virtua: 2c0d482dc06ad381cab34a6d5581eefb4327fc24a8dd80dad7562bd8922f879c importers: @@ -230,9 +386,6 @@ importers: '@types/node': specifier: ^22.19.11 version: 22.19.11 - compiler@^5.0.0: - specifier: link:svelte/compiler@^5.0.0 - version: link:svelte/compiler@^5.0.0 d3-shape: specifier: ^3.2.0 version: 3.2.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 10565f2..5aa3abe 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,14 +1,15 @@ packages: - packages/* -onlyBuiltDependencies: - - '@nestjs/core' - - '@prisma/engines' - - '@scarf/scarf' - - '@swc/core' - - argon2 - - prisma - - esbuild +allowBuilds: + '@nestjs/core': true + '@prisma/engines': true + '@scarf/scarf': true + '@swc/core': true + argon2: true + esbuild: true + prisma: true + unrs-resolver: false # virtua patch is frontend-only; unused when deploying the backend subset allowUnusedPatches: true From f56eacbd0da88d473b9f91554e1423f74aecf3bb Mon Sep 17 00:00:00 2001 From: zowks <67444066+zowks@users.noreply.github.com> Date: Thu, 17 Sep 2026 12:32:47 +0000 Subject: [PATCH 2/4] build: testing parallel steps --- .github/workflows/backend-ci.yaml | 13 ++++---- .github/workflows/frontend-ci.yaml | 53 ++++++------------------------ 2 files changed, 17 insertions(+), 49 deletions(-) diff --git a/.github/workflows/backend-ci.yaml b/.github/workflows/backend-ci.yaml index e0929f8..750b546 100644 --- a/.github/workflows/backend-ci.yaml +++ b/.github/workflows/backend-ci.yaml @@ -38,14 +38,15 @@ jobs: - name: Generate Prisma types run: pnpm --filter=@hallmaster/backend prisma:generate - - name: Run lint - run: pnpm --filter=@hallmaster/backend lint + - parallel: + - name: Run lint + run: pnpm --filter=@hallmaster/backend lint - - name: Run format check - run: pnpm --filter=@hallmaster/backend format + - name: Run format check + run: pnpm --filter=@hallmaster/backend format - - name: Test the build process - run: pnpm --filter=@hallmaster/backend build + - name: Test the build process + run: pnpm --filter=@hallmaster/backend build - name: Run the tests run: pnpm --filter=@hallmaster/backend test:cov diff --git a/.github/workflows/frontend-ci.yaml b/.github/workflows/frontend-ci.yaml index 50ba8c3..f35d3d9 100644 --- a/.github/workflows/frontend-ci.yaml +++ b/.github/workflows/frontend-ci.yaml @@ -7,8 +7,8 @@ on: pull_request: jobs: - check: - name: Check + check-lint-format: + name: check, lint and format runs-on: ubuntu-latest steps: @@ -24,53 +24,20 @@ jobs: - name: Install dependencies run: pnpm --filter @hallmaster/frontend... install --frozen-lockfile --prefer-offline - - name: Check - run: pnpm --filter @hallmaster/frontend run check --fail-on-warnings + - parallel: + - name: Check + run: pnpm --filter @hallmaster/frontend run check --fail-on-warnings - lint: - name: Lint - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v6 - - - name: Setup Node.js & pnpm - uses: pnpm/setup@v2 - with: - cache: true - install: false - - - name: Install dependencies - run: pnpm --filter @hallmaster/frontend... install --frozen-lockfile --prefer-offline - - - name: Lint - run: pnpm --filter @hallmaster/frontend run lint --format github - - format: - name: Format check - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v6 - - - name: Setup Node.js & pnpm - uses: pnpm/setup@v2 - with: - cache: true - install: false - - - name: Install dependencies - run: pnpm --filter @hallmaster/frontend... install --frozen-lockfile --prefer-offline + - name: Lint + run: pnpm --filter @hallmaster/frontend run lint --format github - - name: Format check - run: pnpm --filter @hallmaster/frontend run format:check + - name: Format check + run: pnpm --filter @hallmaster/frontend run format:check build: name: Build runs-on: ubuntu-latest - needs: [check, lint, format] + needs: [check-lint-format] steps: - name: Checkout From ff4662cab70ca4275ca541bd01e5c14431e57186 Mon Sep 17 00:00:00 2001 From: zowks <67444066+zowks@users.noreply.github.com> Date: Thu, 17 Sep 2026 12:39:46 +0000 Subject: [PATCH 3/4] build: upgrade `actions/checkout` to version 7 --- .github/workflows/backend-ci.yaml | 4 ++-- .github/workflows/frontend-ci.yaml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/backend-ci.yaml b/.github/workflows/backend-ci.yaml index 750b546..0ea6005 100644 --- a/.github/workflows/backend-ci.yaml +++ b/.github/workflows/backend-ci.yaml @@ -24,7 +24,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Setup Node.js & pnpm uses: pnpm/setup@v2 @@ -63,7 +63,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6.0.2 + uses: actions/checkout@v7 - name: Install trusted certificat run: | diff --git a/.github/workflows/frontend-ci.yaml b/.github/workflows/frontend-ci.yaml index f35d3d9..99ff976 100644 --- a/.github/workflows/frontend-ci.yaml +++ b/.github/workflows/frontend-ci.yaml @@ -13,7 +13,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Setup Node.js & pnpm uses: pnpm/setup@v2 @@ -41,7 +41,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Setup Node.js & pnpm uses: pnpm/setup@v2 @@ -67,7 +67,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6.0.2 + uses: actions/checkout@v7 - name: Install trusted certificat run: | From a4a28028025e0f2e577f8c8332eebadb89155490 Mon Sep 17 00:00:00 2001 From: zowks <67444066+zowks@users.noreply.github.com> Date: Thu, 17 Sep 2026 13:04:21 +0000 Subject: [PATCH 4/4] build(pnpm): set version range to 12 --- package.json | 2 +- pnpm-lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 96b7b59..9ddc65e 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ }, "packageManager": { "name": "pnpm", - "version": "12.4.2" + "version": "12" } }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f093dc9..fdf2a6d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ importers: configDependencies: {} packageManagerDependencies: pnpm: - specifier: 12.4.2 + specifier: '12' version: 12.4.2 packages: