Skip to content

Merge pull request #4 from hbmartin/separate-entry-points #8

Merge pull request #4 from hbmartin/separate-entry-points

Merge pull request #4 from hbmartin/separate-entry-points #8

Workflow file for this run

name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
lint-and-test:
name: Lint, Type Check, and Test
runs-on: ubuntu-latest
steps:
- name: Checkout repository
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: Run TypeScript compiler check
run: npm run typecheck
- name: Run ESLint
run: npm run lint
- name: Check code formatting with Prettier
run: npx prettier --check "src/**/*.{ts,tsx,js,jsx,json,css,md}"
- name: Run tests
run: npm test -- --run 2>/dev/null
- name: Build library
run: npm run build
- name: Check bundle size
run: |
echo "Checking bundle sizes..."
ls -lah dist/
find dist -name "*.js" -o -name "*.cjs" | xargs -I {} sh -c 'echo "{}: $(du -h {} | cut -f1)"'
- name: Validate package.json
run: |
npx publint
npx are-the-types-wrong --pack .
continue-on-error: true
code-quality:
name: Code Quality Checks
runs-on: ubuntu-latest
steps:
- name: Checkout repository
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 for unused dependencies
run: npx depcheck --ignores="@types/*"
continue-on-error: true
- name: Check for security vulnerabilities
run: npm audit --audit-level=moderate
continue-on-error: true
- name: License compatibility check
run: npx license-checker --production --summary
continue-on-error: true