Barazo default frontend barazo.forum
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore(web): add packageManager field, remove explicit pnpm version from CI (#153)

Add packageManager to package.json so pnpm/action-setup auto-detects
the version. Remove redundant version: 10 from all CI workflow steps.
Aligns with barazo-api's approach.

authored by

Guido X Jansen and committed by
GitHub
6e93b14f e6c5b9a5

+127 -50
-2
.github/actions/setup/action.yml
··· 5 5 using: composite 6 6 steps: 7 7 - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4 8 - with: 9 - version: 10 10 8 11 9 - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 12 10 with:
+126 -48
.github/workflows/ci.yml
··· 5 5 branches: [main, develop] 6 6 pull_request: 7 7 branches: [main, develop] 8 - paths: 9 - - 'src/**' 10 - - 'e2e/**' 11 - - 'public/**' 12 - - 'package.json' 13 - - 'pnpm-lock.yaml' 14 - - 'tsconfig.json' 15 - - 'vitest.config.ts' 16 - - 'next.config.ts' 17 - - 'tailwind.config.*' 18 - - 'playwright.config.ts' 19 - - 'lighthouserc.json' 20 - - '.github/workflows/ci.yml' 21 - - '.github/actions/**' 22 8 23 9 concurrency: 24 10 group: ${{ github.workflow }}-${{ github.ref }} ··· 31 17 lint: 32 18 name: Lint 33 19 runs-on: ubuntu-latest 34 - timeout-minutes: 10 35 20 steps: 36 - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 37 - - uses: ./.github/actions/setup 21 + - name: Checkout 22 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 23 + 24 + - name: Install pnpm 25 + uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4 26 + 27 + - name: Setup Node.js 28 + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 29 + with: 30 + node-version: '24' 31 + cache: 'pnpm' 32 + 33 + - name: Clone and build barazo-lexicons 34 + run: | 35 + git clone --depth 1 https://github.com/barazo-forum/barazo-lexicons.git ../barazo-lexicons 36 + cd ../barazo-lexicons && pnpm install --ignore-scripts && pnpm run build 37 + 38 + - name: Install dependencies 39 + run: pnpm install --frozen-lockfile 40 + 38 41 - name: Run ESLint 39 42 run: pnpm lint 43 + 40 44 - name: Check formatting 41 45 run: pnpm format:check 42 46 43 47 typecheck: 44 48 name: Type Check 45 49 runs-on: ubuntu-latest 46 - timeout-minutes: 10 47 50 steps: 48 - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 49 - - uses: ./.github/actions/setup 51 + - name: Checkout 52 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 53 + 54 + - name: Install pnpm 55 + uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4 56 + 57 + - name: Setup Node.js 58 + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 59 + with: 60 + node-version: '24' 61 + cache: 'pnpm' 62 + 63 + - name: Clone and build barazo-lexicons 64 + run: | 65 + git clone --depth 1 https://github.com/barazo-forum/barazo-lexicons.git ../barazo-lexicons 66 + cd ../barazo-lexicons && pnpm install --ignore-scripts && pnpm run build 67 + 68 + - name: Install dependencies 69 + run: pnpm install --frozen-lockfile 70 + 50 71 - name: Run TypeScript 51 72 run: pnpm typecheck 52 73 53 74 test: 54 75 name: Test 55 76 runs-on: ubuntu-latest 56 - timeout-minutes: 15 57 77 steps: 58 - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 59 - - uses: ./.github/actions/setup 78 + - name: Checkout 79 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 80 + 81 + - name: Install pnpm 82 + uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4 83 + 84 + - name: Setup Node.js 85 + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 86 + with: 87 + node-version: '24' 88 + cache: 'pnpm' 89 + 90 + - name: Clone and build barazo-lexicons 91 + run: | 92 + git clone --depth 1 https://github.com/barazo-forum/barazo-lexicons.git ../barazo-lexicons 93 + cd ../barazo-lexicons && pnpm install --ignore-scripts && pnpm run build 94 + 95 + - name: Install dependencies 96 + run: pnpm install --frozen-lockfile 97 + 60 98 - name: Run tests 61 99 run: pnpm test 62 100 63 101 build: 64 102 name: Build 65 103 runs-on: ubuntu-latest 66 - timeout-minutes: 20 67 104 needs: [lint, typecheck, test] 68 105 steps: 69 - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 70 - - uses: ./.github/actions/setup 106 + - name: Checkout 107 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 71 108 72 - - name: Cache Next.js build 73 - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 109 + - name: Install pnpm 110 + uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4 111 + 112 + - name: Setup Node.js 113 + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 74 114 with: 75 - path: .next/cache 76 - key: nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('src/**', 'public/**', 'next.config.ts') }} 77 - restore-keys: | 78 - nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}- 79 - nextjs-${{ runner.os }}- 115 + node-version: '24' 116 + cache: 'pnpm' 117 + 118 + - name: Clone and build barazo-lexicons 119 + run: | 120 + git clone --depth 1 https://github.com/barazo-forum/barazo-lexicons.git ../barazo-lexicons 121 + cd ../barazo-lexicons && pnpm install --ignore-scripts && pnpm run build 122 + 123 + - name: Install dependencies 124 + run: pnpm install --frozen-lockfile 80 125 81 126 - name: Build application 82 127 run: pnpm build 128 + 129 + - name: Upload build artifacts 130 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 131 + with: 132 + name: build 133 + path: | 134 + .next/standalone/ 135 + .next/static/ 136 + retention-days: 7 83 137 84 138 accessibility: 85 139 name: Accessibility Audit 86 140 runs-on: ubuntu-latest 87 - timeout-minutes: 30 88 141 needs: build 89 142 steps: 90 - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 91 - - uses: ./.github/actions/setup 143 + - name: Checkout 144 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 145 + 146 + - name: Install pnpm 147 + uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4 148 + 149 + - name: Setup Node.js 150 + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 151 + with: 152 + node-version: '24' 153 + cache: 'pnpm' 154 + 155 + - name: Clone and build barazo-lexicons 156 + run: | 157 + git clone --depth 1 https://github.com/barazo-forum/barazo-lexicons.git ../barazo-lexicons 158 + cd ../barazo-lexicons && pnpm install --ignore-scripts && pnpm run build 159 + 160 + - name: Install dependencies 161 + run: pnpm install --frozen-lockfile 92 162 93 163 - name: Install Playwright browsers 94 164 run: pnpm exec playwright install --with-deps chromium 95 - 96 - - name: Cache Next.js build 97 - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 98 - with: 99 - path: .next/cache 100 - key: nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('src/**', 'public/**', 'next.config.ts') }} 101 - restore-keys: | 102 - nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}- 103 - nextjs-${{ runner.os }}- 104 165 105 166 - name: Build application 106 167 run: pnpm build ··· 153 214 security: 154 215 name: Security Scan 155 216 runs-on: ubuntu-latest 156 - timeout-minutes: 10 157 217 steps: 158 - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 159 - - uses: ./.github/actions/setup 218 + - name: Checkout 219 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 220 + 221 + - name: Install pnpm 222 + uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4 223 + 224 + - name: Setup Node.js 225 + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 226 + with: 227 + node-version: '24' 228 + cache: 'pnpm' 229 + 230 + - name: Clone and build barazo-lexicons 231 + run: | 232 + git clone --depth 1 https://github.com/barazo-forum/barazo-lexicons.git ../barazo-lexicons 233 + cd ../barazo-lexicons && pnpm install --ignore-scripts && pnpm run build 234 + 235 + - name: Install dependencies 236 + run: pnpm install --frozen-lockfile 237 + 160 238 - name: Security audit with retry 161 239 run: | 162 240 for attempt in 1 2 3; do
+1
package.json
··· 2 2 "name": "@barazo-forum/web", 3 3 "version": "0.1.0", 4 4 "private": true, 5 + "packageManager": "pnpm@10.29.2", 5 6 "description": "Default frontend for Barazo forums", 6 7 "repository": { 7 8 "type": "git",