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
60 changes: 60 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Lint & Typecheck workflow for monorepo (2025 best practices)
name: Lint & Typecheck

on:
pull_request:
branches: [main, develop]

permissions:
contents: read

jobs:
lint:
name: ESLint
runs-on: ubuntu-latest
steps:
- # actions/[email protected]
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- # actions/[email protected]
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version-file: '.nvmrc'
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm ci --workspaces --include-workspace-root
- run: npm run db:generate
- run: npm run lint

format:
name: Prettier Check
runs-on: ubuntu-latest
steps:
- # actions/[email protected]
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- # actions/[email protected]
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version-file: '.nvmrc'
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm ci --workspaces --include-workspace-root
- run: npm run format:check

typecheck:
name: TS Typecheck
runs-on: ubuntu-latest
steps:
- # actions/[email protected]
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- # actions/[email protected]
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version-file: '.nvmrc'
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm ci --workspaces --include-workspace-root
- run: npm run db:generate

- run: npm run build

- run: npm run typecheck
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,6 @@ DOCKERFILE
coverage/
*.tsbuildinfo
.eslintcache

# WordPress is handled separately
apps/wordpress/