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
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ updates:
update-types:
- "minor"
- "patch"
major-updates:
update-types:
- "major"
patterns:
- "@stellar/freighter-api"
- "@stellar/stellar-sdk"
- "next"
- "react"
- "react-dom"

- package-ecosystem: "github-actions"
directory: "/"
Expand All @@ -19,3 +28,6 @@ updates:
update-types:
- "minor"
- "patch"
major-updates:
update-types:
- "major"
43 changes: 43 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Update CHANGELOG

on:
workflow_dispatch:
inputs:
version:
description: 'Release version (e.g., 0.2.0)'
required: true
type: string

permissions:
contents: write
pull-requests: write

jobs:
changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'

- run: npm ci

- name: Generate changelog
run: npm run changelog

- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
commit-message: 'docs: update CHANGELOG for ${{ inputs.version }}'
title: 'docs: update CHANGELOG for ${{ inputs.version }}'
body: |
Automated CHANGELOG update for release **v${{ inputs.version }}**.

Please review the generated entries and merge when ready to proceed with the release.
branch: changelog/v${{ inputs.version }}
delete-branch: true
10 changes: 9 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
cache: 'npm'
- name: Check dependencies for supply-chain security (Issue #311)
run: node scripts/check-dependencies.mjs
Expand All @@ -45,6 +45,14 @@ jobs:
with:
name: coverage-report
path: coverage/
- run: npx playwright install --with-deps
- run: npm run test:e2e
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
- run: npm run build
- run: node scripts/check-bundle-size.mjs
- name: Build with bundle analysis
Expand Down
15 changes: 15 additions & 0 deletions .husky/post-checkout
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/sh
# Validate Node version matches .nvmrc

REQUIRED_NODE_VERSION=$(cat .nvmrc)
CURRENT_NODE_VERSION=$(node --version | sed 's/^v//')

if [ "$CURRENT_NODE_VERSION" != "$REQUIRED_NODE_VERSION" ]; then
echo "⚠️ Node version mismatch!"
echo " Required: v$REQUIRED_NODE_VERSION (from .nvmrc)"
echo " Current: v$CURRENT_NODE_VERSION"
echo ""
echo " Please switch to Node v$REQUIRED_NODE_VERSION using your version manager"
echo " (nvm use, fnm use, volta, asdf, etc.)"
exit 1
fi
20 changes: 19 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,27 @@ registrations. Part of the multi-repo Vortex stack β€” see also

### Prerequisites

- Node.js 20+
- Node.js 20 (specified in `.nvmrc`)
- A running [`vortex-backend`](https://github.com/stellar-vortex-protocol/vortex-backend) relay (set its URL in `.env.local`)

#### Node Version Setup

This project enforces Node.js version 20. The `.nvmrc` file specifies the required version, and husky hooks will validate it on checkout.

If you use a Node version manager (nvm, fnm, volta, asdf, etc.), install the correct version:

```bash
# For nvm
nvm install && nvm use

# For fnm
fnm use

# For other managers, see their documentation
```

Then proceed with setup:

```bash
npm install
cp .env.example .env.local
Expand Down
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
"name": "vortex-frontend",
"version": "0.1.0",
"private": true,
"engines": {
"node": "20"
},
"scripts": {
"dev": "next dev",
"build": "node scripts/check-env-vars.mjs && next build",
Expand Down
6 changes: 5 additions & 1 deletion playwright.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ export default defineConfig({
baseURL: "http://localhost:3000",
trace: "on-first-retry",
},
projects: [{ name: "chromium", use: { ...devices["Desktop Chrome"] } }],
projects: [
{ name: "chromium", use: { ...devices["Desktop Chrome"] } },
{ name: "firefox", use: { ...devices["Desktop Firefox"] } },
{ name: "webkit", use: { ...devices["Desktop Safari"] } },
],
webServer: {
command: "npm run dev",
url: "http://localhost:3000",
Expand Down
Loading