Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .ebextensions/npm.config

This file was deleted.

5 changes: 5 additions & 0 deletions .ebextensions/pnpm.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
container_commands:
00_install_pnpm:
command: 'curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=10.33.0 SHELL=/bin/bash bash -'
01_install_dependencies:
command: 'export PNPM_HOME="$HOME/.local/share/pnpm"; export PATH="$PNPM_HOME:$PATH"; pnpm install --frozen-lockfile'
19 changes: 13 additions & 6 deletions .github/workflows/build-upload-deploy-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,26 @@ jobs:
- name: Checkout code
uses: actions/checkout@v3

- name: Install pnpm
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
with:
version: 10.33.0
run_install: false

- name: Install Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v6
with:
node-version: "22"
cache: "pnpm"

- name: Install dependencies
run: npm ci
run: pnpm install --frozen-lockfile

- name: Verify registry signatures
run: npm audit signatures
- name: Audit dependencies
run: pnpm audit --audit-level=high

- name: Lint package.json versions
run: npm run lint:package-json
run: pnpm run lint:package-json

- name: Build App
env:
Expand All @@ -58,7 +65,7 @@ jobs:
ASSETS_FROM_S3: ${{ env.ASSETS_FROM_S3 }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
run: npm run build
run: pnpm run build

- name: Build Target
run: |
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
/coverage
/test-results/
/playwright-report/
/.playwright-mcp/
/playwright/.cache/
/storageState.json
/playwright/.auth/
Expand Down
4 changes: 4 additions & 0 deletions .npmpackagejsonlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
"rules": {
"no-caret-version-dependencies": "error",
"no-caret-version-devDependencies": "error",
"no-file-dependencies": "error",
"no-file-devDependencies": "error",
"no-git-dependencies": "error",
"no-git-devDependencies": "error",
"no-tilde-version-dependencies": "error",
"no-tilde-version-devDependencies": "error"
}
Expand Down
4 changes: 0 additions & 4 deletions .npmrc

This file was deleted.

24 changes: 13 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,14 +106,16 @@ User-facing documentation lives in [`docs/README.md`](docs/README.md).

### Install

```
npm i
```bash
corepack enable pnpm
corepack use pnpm@10.33.0
pnpm install
```

### Build

```
npm run build
```bash
pnpm run build
```

### Environment
Expand All @@ -134,7 +136,7 @@ gateway usage:

To test end-to-end:

1. Run `npm run dev`.
1. Run `pnpm dev`.
2. Paste any pepe.wtf link in chat, for example `https://pepe.wtf/asset/GOXPEPE`
or `https://pepe.wtf/artists/Easy-B`, and confirm the preview renders with
imagery and stats.
Expand All @@ -145,20 +147,20 @@ To test end-to-end:

- Locally

```
npm run dev
```bash
pnpm dev
```

- Production

```
npm run start
```bash
pnpm start
```

### RUN USING PM2

```
pm2 start npm --name=6529seize -- run start
```bash
pnpm exec pm2 start pnpm --name=6529seize -- start
```

## Directory Structure
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ export default function CommonProfileSearchItem({
const avatarAltText = `${avatarLabel} avatar`;
const secondaryText =
[profile.handle, profile.wallet, profile.display].find(
(value): value is string => value !== null && value.length > 0 && value !== title
(value): value is string =>
value !== null && value.length > 0 && value !== title
) ?? null;

const onProfileClick = () => onProfileSelect(profile);
Expand Down
18 changes: 9 additions & 9 deletions dev-setup/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ This repo includes `dev-setup/run-setup.sh` to bootstrap a fresh EC2 host for a

## What the script does

- Ensures **Node ≥ 20** (keeps 21/22 if present) and **npm ≥ 10**
- Installs **PM2**
- Ensures **Node ≥ 20** (keeps 21/22 if present)
- Installs **pnpm 10.33.0**
- Prompts you and writes **.env** **before** any build (no `.env.sample` used)
- Installs deps, **builds**, and **starts** the app with PM2 (default port **3001**)
- Installs deps, **builds**, and **starts** the app with repo-managed PM2 (default port **3001**)
- **Optionally** installs **NGINX + Certbot** and configures HTTPS for `https://<slug>staging.6529.io`
- Enables PM2 start on boot (Linux)

Expand Down Expand Up @@ -107,7 +107,7 @@ https://<slug>staging.6529.io
PM2 logs:

```bash
pm2 logs 6529seize
pnpm exec pm2 logs 6529seize
```

---
Expand All @@ -116,15 +116,15 @@ pm2 logs 6529seize

```bash
# Process status / logs
pm2 ls
pm2 logs 6529seize
pnpm exec pm2 ls
pnpm exec pm2 logs 6529seize

# Restart / stop
pm2 restart 6529seize
pm2 stop 6529seize
pnpm exec pm2 restart 6529seize
pnpm exec pm2 stop 6529seize

# Persist across reboots
pm2 save
pnpm exec pm2 save

# NGINX
sudo nginx -t && sudo systemctl reload nginx
Expand Down
10 changes: 7 additions & 3 deletions dev-setup/run-reset.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,15 @@ REPO_ROOT="$(cd "$SCRIPT_DIR/.." 2>/dev/null && pwd || true)"
REPO_ROOT="${REPO_ROOT:-$HOME/6529seize-frontend}"

color yellow "Stopping PM2 process (if exists)…"
if command -v pm2 >/dev/null 2>&1; then
if [[ -d "$REPO_ROOT" ]] && command -v pnpm >/dev/null 2>&1; then
(cd "$REPO_ROOT" && pnpm exec pm2 delete 6529seize >/dev/null 2>&1) || true
(cd "$REPO_ROOT" && pnpm exec pm2 save >/dev/null 2>&1) || true
elif command -v pm2 >/dev/null 2>&1; then
color yellow "Repo-managed PM2 cleanup unavailable; using global pm2."
pm2 delete 6529seize >/dev/null 2>&1 || true
pm2 save >/dev/null 2>&1 || true
else
color yellow "PM2 not installed; skipping."
color yellow "pnpm/repo checkout unavailable and no global pm2 found; skipping PM2 cleanup."
fi

color yellow "Freeing default app port 3001 (best-effort)…"
Expand Down Expand Up @@ -52,4 +56,4 @@ cd /tmp || cd /
color yellow "Removing repo at: $REPO_ROOT"
rm -rf "$REPO_ROOT" || true

color green "Reset complete. You can now re-clone the repo and run setup."
color green "Reset complete. You can now re-clone the repo and run setup."
Loading
Loading