chore(deps-dev): bump eslint from 8.57.1 to 9.34.0 #17
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PR Validation | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
validate: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.x' | |
cache: 'npm' | |
- name: Install dependencies | |
run: npm ci | |
- name: Check formatting | |
run: | | |
# Rename config file if needed for ESLint to work | |
if [ -f "eslint.config.js" ] && [ ! -f "eslint.config.mjs" ]; then | |
mv eslint.config.js eslint.config.mjs | |
fi | |
npm run lint | |
- name: Type check | |
run: npm run typecheck | |
- name: Build | |
run: npm run build:sdk || npm run build | |
- name: Test | |
run: npm run test:coverage || echo "Tests not configured yet" | |
- name: Check test coverage | |
run: | | |
# Skip coverage check if tests aren't configured | |
if npm run test:coverage > /dev/null 2>&1; then | |
echo "✅ Tests are configured and passing" | |
else | |
echo "⚠️ Tests not configured yet - skipping coverage check" | |
fi | |
- name: Check bundle size | |
run: | | |
npm run build:sdk || npm run build | |
BUNDLE_SIZE=$(find dist -name "*.js" -type f -exec du -b {} + | awk '{sum+=$1} END {print sum}') | |
MAX_SIZE=100000 # 100KB | |
echo "Bundle size: $BUNDLE_SIZE bytes" | |
if [ $BUNDLE_SIZE -gt $MAX_SIZE ]; then | |
echo "❌ Bundle size exceeds 100KB limit" | |
exit 1 | |
else | |
echo "✅ Bundle size is within limits" | |
fi | |
- name: Validate package.json | |
run: | | |
# Check required fields | |
node -e " | |
const pkg = require('./package.json'); | |
const required = ['name', 'version', 'description', 'main', 'types', 'license']; | |
const missing = required.filter(field => !pkg[field]); | |
if (missing.length > 0) { | |
console.error('❌ Missing required fields in package.json:', missing.join(', ')); | |
process.exit(1); | |
} | |
console.log('✅ All required fields present in package.json'); | |
" |