Skip to content

Commit c15a0c5

Browse files
authored
main (#113)
* main * ci: run yarn through corepack
1 parent 01c4754 commit c15a0c5

9 files changed

Lines changed: 11256 additions & 7660 deletions

File tree

.env.example

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
NEXT_PUBLIC_TW_CLIENT_ID=
2-
NEXT_PUBLIC_TW_SECRET_KEY=
32
NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY=
4-
NEXT_PUBLIC_M3U_SOURCE_URL=
3+
NEXT_PUBLIC_M3U_SOURCE_URL=

.github/workflows/ci.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,24 +28,26 @@ jobs:
2828

2929
steps:
3030
- name: Checkout Repository
31-
uses: actions/checkout@v3
31+
uses: actions/checkout@v4
3232

33-
- name: Setup Node.js 22
34-
uses: actions/setup-node@v3
33+
- name: Setup Node.js 24
34+
uses: actions/setup-node@v4
3535
with:
36-
node-version: 22
36+
node-version: 24
37+
38+
- name: Enable Corepack
39+
run: corepack enable
3740

3841
- name: Install dependencies
39-
run: yarn install
42+
run: corepack yarn install --immutable
4043

4144
- name: Inject ENV variables
4245
run: |
4346
echo "NEXT_PUBLIC_TW_CLIENT_ID=${{ secrets.NEXT_PUBLIC_TW_CLIENT_ID }}" >> $GITHUB_ENV
44-
echo "NEXT_PUBLIC_TW_SECRET_KEY=${{ secrets.NEXT_PUBLIC_TW_SECRET_KEY }}" >> $GITHUB_ENV
4547
echo "NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY=${{ secrets.NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY }}" >> $GITHUB_ENV
4648
4749
- name: Lint project
48-
run: yarn lint
50+
run: corepack yarn lint
4951

5052
- name: Build project
51-
run: yarn build
53+
run: corepack yarn build

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
24

.yarnrc.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
nodeLinker: node-modules
2+
3+
enableGlobalCache: true
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# EVERGREEN Completion Log — pabrikroti-master main
2+
3+
## Summary
4+
5+
- Repo: `pabrikroti-master`
6+
- Base branch: `origin/main`
7+
- Working branch: `stacks-evergreen-main-20260530-220652`
8+
- Class: Class A — App Repo
9+
- Runtime target: Node.js 24.x
10+
- Package manager: Yarn Modern 4.12.0
11+
- Live URL: `https://pabrikroti.endhonesa.com/`
12+
13+
## Branch Scope
14+
15+
This run is only for the `main` branch cycle. The `preview` branch must be handled in a separate branch and separate Evergreen run after this branch is inspected and merged as requested.
16+
17+
## Baseline
18+
19+
- Starting point: `origin/main` at release `2.7.0`.
20+
- Existing package manager file: Yarn v1 `yarn.lock`.
21+
- Existing runtime metadata targeted Node `>=22.14.0` and Yarn `>=1.22.0`.
22+
- Existing CI used `actions/setup-node@v3` with Node 22.
23+
- Live production URL returned HTTP 200.
24+
- `.env.local` was present locally and used for build validation; it was not committed.
25+
26+
## Monthly / Quarterly Changes
27+
28+
- Added `.nvmrc` with Node 24.
29+
- Added `.yarnrc.yml` with `nodeLinker: node-modules` for Next.js/Web3 compatibility.
30+
- Added `packageManager: yarn@4.12.0`.
31+
- Updated `engines` to Node 24.x and Yarn 4.x.
32+
- Regenerated `yarn.lock` with Yarn 4.12.0.
33+
- Updated CI to Node 24, `actions/setup-node@v4`, Corepack, and `yarn install --immutable`.
34+
- Updated runtime dependencies:
35+
- `next` to 16.2.6.
36+
- `react` and `react-dom` to 19.2.6.
37+
- `thirdweb` to 5.120.0.
38+
- `@vercel/analytics` to 2.0.1.
39+
- `framer-motion` to 12.40.0.
40+
- `hls.js` to 1.6.16.
41+
- `react-icons` to 5.6.0.
42+
- `@noble/curves` and `@noble/hashes` to 2.2.0.
43+
- Updated dev dependencies:
44+
- Next ESLint packages to 16.2.6.
45+
- Tailwind CSS and `@tailwindcss/postcss` to 4.3.0.
46+
- `postcss` to 8.5.15.
47+
- `@types/node` to 24.12.4.
48+
- React type packages to current React 19 types.
49+
- `prettier` to 3.8.3.
50+
- Removed `NEXT_PUBLIC_TW_SECRET_KEY` from `.env.example` and CI public env injection because secret keys must not be exposed through `NEXT_PUBLIC_*`.
51+
- Updated README commands and added Evergreen maintenance notes for the `main` cycle.
52+
53+
## Deferred Items
54+
55+
- `@types/node@25` is intentionally deferred because the repo targets Node.js 24.x.
56+
- `eslint@10` is deferred until the current Next/TypeScript/Web3 lint stack is confirmed compatible.
57+
- `typescript@6` is deferred until the current Next/Web3 dependency stack is confirmed compatible.
58+
- Yarn peer warnings remain from transitive Web3/Solana/WalletConnect packages; no direct app code change is indicated by those warnings.
59+
60+
## Validation
61+
62+
- `corepack yarn install` completed with peer warnings only.
63+
- `corepack yarn lint` passed.
64+
- `corepack yarn build` passed using `.env.local`.
65+
- `corepack yarn npm audit --severity moderate --recursive` reported zero moderate-or-higher audit findings after the update.
66+
- Production URL check: `https://pabrikroti.endhonesa.com/` returned HTTP 200 during the read-only preflight.
67+
68+
## Notes
69+
70+
- No feature behavior was intentionally changed.
71+
- This branch is ready for manual inspection before commit/merge handling requested by Prof. NOTA.
72+
73+
## Deployment Follow-up — 2026-05-31
74+
75+
- Vercel deployment failed because Vercel invoked Yarn Classic 1.22.19 while `package.json` requires Yarn Modern 4.12.0.
76+
- Added `vercel.json` so Vercel install/build commands call Yarn through Corepack.
77+
- Updated GitHub Actions to avoid invoking Yarn before Corepack is active and to run install/lint/build through `corepack yarn`.

README.md

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ Link #2: [preroti.endhonesa.com](https://preroti.endhonesa.com/) [![status](http
3939
## 🚀 Quick Start
4040

4141
```bash
42-
yarn && yarn dev
42+
nvm use
43+
corepack yarn install
44+
corepack yarn dev
4345
```
4446

4547
> If you find this useful, consider starring ⭐ the repository! Please!
@@ -130,49 +132,83 @@ PABRIKROTI operates as a **decentralized digital production space**, where each
130132
### 📦 Install dependencies
131133

132134
```bash
133-
yarn
135+
nvm use
136+
corepack yarn install
134137
```
135138

136139
### 🔍 Check outdated dependencies
137140

138141
```bash
139-
yarn outdated
142+
corepack yarn npm outdated --recursive
140143
```
141144

142145
### ⬆️ Upgrade dependencies interactively
143146

144147
```bash
145-
yarn upgrade-interactive --latest
148+
corepack yarn up --interactive
146149
```
147150

148151
### 🧹 Cleaning and re-install dependencies
149152

150153
```bash
151-
yarn rm -rf node_modules yarn.lock && yarn install
154+
rm -rf node_modules .next
155+
corepack yarn install
152156
```
153157

154158
### ▶️ Run development server
155159

156160
```bash
157-
yarn dev
161+
corepack yarn dev
158162
```
159163

160164
### 🧪 Lint and check all the code quality
161165

162166
```bash
163-
yarn run lint
167+
corepack yarn lint
164168
```
165169

166170
### 🏗️ Build for production
167171

168172
```bash
169-
yarn build
173+
corepack yarn build
170174
```
171175

172176
### 🔍 Preview the production
173177

174178
```bash
175-
yarn start
179+
corepack yarn start
180+
```
181+
182+
---
183+
184+
## 🌱 EVERGREEN Maintenance
185+
186+
This branch was maintained under the Prof. NOTA EVERGREEN Standard as the **main** branch cycle for a Class A app repo.
187+
188+
- Runtime target: **Node.js 24.x** (`.nvmrc`, `package.json#engines`)
189+
- Package manager: **Yarn Modern 4.12.0** (`packageManager: yarn@4.12.0`)
190+
- Install mode: `nodeLinker: node-modules` in `.yarnrc.yml` for Next.js/Web3 compatibility
191+
- Lockfile: `yarn.lock`
192+
- Build command: `corepack yarn build`
193+
- Lint command: `corepack yarn lint`
194+
195+
Current Evergreen notes:
196+
197+
- Monthly and quarterly dependency updates were applied on top of `main`.
198+
- Next.js is aligned to `16.2.6`; React is aligned to `19.2.6`; Thirdweb is aligned to `5.120.0`.
199+
- GitHub Actions now uses Node.js 24 and `yarn install --immutable`.
200+
- `NEXT_PUBLIC_TW_SECRET_KEY` was removed from example/CI public env handling because a secret key must not be exposed through `NEXT_PUBLIC_*`.
201+
- `@types/node@25` is intentionally deferred because this repo targets Node.js 24.x.
202+
- `eslint@10` and `typescript@6` remain deferred until the Next/TypeScript/Web3 lint stack proves compatible.
203+
204+
Recommended Evergreen checks:
205+
206+
```bash
207+
nvm use
208+
corepack yarn install --immutable
209+
corepack yarn npm audit --severity moderate --recursive
210+
corepack yarn lint
211+
corepack yarn build
176212
```
177213

178214
---
@@ -200,7 +236,7 @@ If you believe in the mission of PABRIKROTI and want to help improve it, follow
200236
Before submitting your PR, make sure to run:
201237

202238
```bash
203-
yarn lint
239+
corepack yarn lint
204240
```
205241

206242
To keep our code clean and consistent.

package.json

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -31,33 +31,34 @@
3131
"format": "prettier --write ."
3232
},
3333
"dependencies": {
34-
"@noble/curves": "^2.0.1",
35-
"@noble/hashes": "2.0.1",
36-
"@vercel/analytics": "^1.5.0",
37-
"framer-motion": "^12.23.24",
38-
"hls.js": "^1.6.14",
39-
"next": "16.0.1",
40-
"qrcode.react": "^4.2.0",
41-
"react": "^19.2.0",
42-
"react-dom": "^19.2.0",
43-
"react-icons": "^5.5.0",
44-
"thirdweb": "^5.111.10"
34+
"@noble/curves": "2.2.0",
35+
"@noble/hashes": "2.2.0",
36+
"@vercel/analytics": "2.0.1",
37+
"framer-motion": "12.40.0",
38+
"hls.js": "1.6.16",
39+
"next": "16.2.6",
40+
"qrcode.react": "4.2.0",
41+
"react": "19.2.6",
42+
"react-dom": "19.2.6",
43+
"react-icons": "5.6.0",
44+
"thirdweb": "5.120.0"
4545
},
4646
"devDependencies": {
47-
"@next/eslint-plugin-next": "^16.0.1",
48-
"@tailwindcss/postcss": "^4.1.17",
49-
"@types/node": "^24.10.0",
50-
"@types/react": "^19.2.2",
51-
"@types/react-dom": "^19.2.2",
52-
"eslint": "^9.39.1",
53-
"eslint-config-next": "16.0.1",
54-
"postcss": "^8.5.6",
55-
"prettier": "^3.6.2",
56-
"tailwindcss": "^4.1.17",
57-
"typescript": "^5.9.3"
47+
"@next/eslint-plugin-next": "16.2.6",
48+
"@tailwindcss/postcss": "4.3.0",
49+
"@types/node": "24.12.4",
50+
"@types/react": "19.2.15",
51+
"@types/react-dom": "19.2.3",
52+
"eslint": "9.39.4",
53+
"eslint-config-next": "16.2.6",
54+
"postcss": "8.5.15",
55+
"prettier": "3.8.3",
56+
"tailwindcss": "4.3.0",
57+
"typescript": "5.9.3"
5858
},
5959
"engines": {
60-
"node": ">=22.14.0",
61-
"yarn": ">=1.22.0"
62-
}
60+
"node": "24.x",
61+
"yarn": "4.x"
62+
},
63+
"packageManager": "yarn@4.12.0"
6364
}

vercel.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"installCommand": "corepack yarn install --immutable",
3+
"buildCommand": "corepack yarn build"
4+
}

0 commit comments

Comments
 (0)