docs: Gemini response added — Path A confirmed, smart build.sh implementation

This commit is contained in:
Claude
2026-04-13 02:59:52 +00:00
parent 7cf47c2f2b
commit f170dbe02c

View File

@@ -118,3 +118,51 @@ Thanks Gemini! This one's been a fun puzzle. We shipped v1.0.0 clean and the cor
— Michael + Claude (Chronicler #84 — The Meridian)
**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️
---
## Gemini's Response (April 12, 2026)
**Summary:** Path A (NODE_OPTIONS=--openssl-legacy-provider) is the winner. Pre-built bundles (Path D) would break all other Blueprint extensions. Smart version detection in build.sh is the clean implementation.
### Key Decisions
- **Path A wins** — only safe option for a commercial product where we don't control customer environments
- **Path D is dangerous** — would overwrite Pterodactyl's unified `public/assets/main.js`, breaking all other Blueprint extensions
- **`--openssl-legacy-provider` is safe on Node 24** — build-time only, no runtime impact
- **Vanilla JS badges are too brittle** — DOM structure changes would silently break them; TSX injection is the right path
### Implementation: Smart build.sh
```bash
# Step 1: Detect Node version
NODE_MAJOR_VERSION=$(node -v | grep -oE '[0-9]+' | head -1)
echo "Detected Node.js version: v$NODE_MAJOR_VERSION"
# Step 2: Fail fast on Node < 16
if [ "$NODE_MAJOR_VERSION" -lt 16 ]; then
echo "ERROR: ModpackChecker requires Node.js 16 or higher."
exit 1
fi
# Step 3: Apply OpenSSL fix for Node 17+
if [ "$NODE_MAJOR_VERSION" -ge 17 ]; then
echo "Applying OpenSSL legacy provider for Node 17+ compatibility..."
export NODE_OPTIONS=--openssl-legacy-provider
fi
```
### BuiltByBit v1.1.0 Copy (Gemini's draft)
> "v1.1.0 includes our new interactive Dashboard Badges! Note: This feature requires a standard panel asset compilation. Our smart installer will handle the heavy lifting, ensuring full compatibility with modern Node.js environments."
---
## Conclusion
Smart Path A is confirmed. Code implements Node version detection + conditional `NODE_OPTIONS` in build.sh for v1.1.0.
**Next Steps:**
1. Code implements the smart build.sh changes (post-launch, v1.1.0 milestone)
2. Test `yarn build:production` on Dev Panel with the fix applied
3. Update BuiltByBit listing copy with Gemini's suggested language
4. Ship v1.1.0 with badges once confirmed working