Skip to content
Open
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
46 changes: 23 additions & 23 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
# Copy this file to .env.local for local development:
# cp .env.example .env.local
#
# Both variables below are validated at build time (next.config.ts) — an
# unset or invalid value fails `next build`/`next dev`/`next start`
# immediately rather than silently falling back (#26). The values below are
# exactly what local dev needs, so the quickstart in README.md works with
# zero edits.

# Base URL of the mergefi-backend API. Falls back to the value below if
# unset, so this line is optional — kept explicit for discoverability.
NEXT_PUBLIC_API_URL=http://localhost:4000/api

# Must be exactly "TESTNET" or "PUBLIC" (case-sensitive) — no other value
# is accepted, and there is no default. This selects the Freighter network
# passphrase used to sign transactions (see src/lib/wallet.ts); the wrong
# value here signs with the wrong network's passphrase.
NEXT_PUBLIC_STELLAR_NETWORK=TESTNET

# Base URL used by src/app/sitemap.ts to generate absolute URLs in the
# sitemap. Falls back to "https://mergefi.app" if unset — set this when
# deploying to a domain other than mergefi.app (staging, forks, etc.).
NEXT_PUBLIC_SITE_URL=https://mergefi.app
# Copy this file to .env.local for local development:
# cp .env.example .env.local
#
# Both variables below are validated at build time (next.config.ts) — an
# unset or invalid value fails `next build`/`next dev`/`next start`
# immediately rather than silently falling back (#26). The values below are
# exactly what local dev needs, so the quickstart in README.md works with
# zero edits.
# Base URL of the mergefi-backend API. Falls back to the value below if
# unset, so this line is optional — kept explicit for discoverability.
NEXT_PUBLIC_API_URL=http://localhost:4000/api
# Must be exactly "TESTNET" or "PUBLIC" (case-sensitive) — no other value
# is accepted, and there is no default. This selects the Freighter network
# passphrase used to sign transactions (see src/lib/wallet.ts); the wrong
# value here signs with the wrong network's passphrase.
NEXT_PUBLIC_STELLAR_NETWORK=TESTNET
# Base URL used by src/app/sitemap.ts to generate absolute URLs in the
# sitemap. Falls back to "https://mergefi.app" if unset — set this when
# deploying to a domain other than mergefi.app (staging, forks, etc.).
NEXT_PUBLIC_SITE_URL=https://mergefi.app
96 changes: 48 additions & 48 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,48 +1,48 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
build-and-lint:
runs-on: ubuntu-latest
# next.config.ts validates NEXT_PUBLIC_STELLAR_NETWORK on every Next.js
# command (build, dev, start) — not just `build` — so `verify:headers`'s
# own `next start` needs this too, not only the `build` step. Set once
# at the job level rather than repeating it per-step, so a future step
# that also invokes `next` doesn't quietly reintroduce this gap.
# verify:env intentionally strips this back out before each of its own
# test builds (see scripts/verify-env-validation.mjs), so it isn't
# affected by the default set here.
env:
NEXT_PUBLIC_STELLAR_NETWORK: TESTNET
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm

- name: Cache Next.js build
uses: actions/cache@v4
with:
path: .next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('package-lock.json') }}-${{ hashFiles('src/**') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('package-lock.json') }}-

- run: npm ci
- run: npm run lint
- run: npm test
- run: npm run verify:env
- run: npm run build
- run: npm run verify:headers
- run: npm audit --audit-level=high
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build-and-lint:
runs-on: ubuntu-latest
# next.config.ts validates NEXT_PUBLIC_STELLAR_NETWORK on every Next.js
# command (build, dev, start) — not just `build` — so `verify:headers`'s
# own `next start` needs this too, not only the `build` step. Set once
# at the job level rather than repeating it per-step, so a future step
# that also invokes `next` doesn't quietly reintroduce this gap.
# verify:env intentionally strips this back out before each of its own
# test builds (see scripts/verify-env-validation.mjs), so it isn't
# affected by the default set here.
env:
NEXT_PUBLIC_STELLAR_NETWORK: TESTNET
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Cache Next.js build
uses: actions/cache@v4
with:
path: .next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('package-lock.json') }}-${{ hashFiles('src/**') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('package-lock.json') }}-
- run: npm ci
- run: npm run lint
- run: npm test
- run: npm run verify:env
- run: npm run build
- run: npm run verify:headers
- run: npm audit --audit-level=high
87 changes: 45 additions & 42 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,42 +1,45 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*
!.env.example

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
!.env.example

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
branch_structure.json
temp_auto_push.bat
temp_interactive_push.bat
config.bat
Loading
You are viewing a condensed version of this merge commit. You can view the full changes here.