Wires the previously-inert @vitest/coverage-v8 into the test builder with measured thresholds, adds a GitHub Actions workflow (format, test, build), and fixes assorted gaps a cloning team would hit: no LICENSE, no engines/ .nvmrc, an unusable prettier install, a committed local-only settings file, a dead 0-byte stylesheet, and a broken Karma-era VS Code test/debug config. Also drops @angular/forms, which nothing in src/ imports. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
40 lines
810 B
YAML
40 lines
810 B
YAML
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
verify:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
|
|
- uses: actions/setup-node@v5
|
|
with:
|
|
node-version-file: .nvmrc
|
|
cache: npm
|
|
|
|
- run: npm ci
|
|
|
|
- name: Format
|
|
run: npm run format:check
|
|
|
|
# `ng test` type-checks tsconfig.spec.json and `ng build` type-checks
|
|
# tsconfig.app.json *including templates* (strictTemplates), so every .ts
|
|
# file is already type-checked by the steps below. A separate
|
|
# `tsc --noEmit` step would be redundant.
|
|
- name: Test
|
|
run: npm run test:coverage
|
|
|
|
- name: Build
|
|
run: npm run build
|