- bump all minor/patch versions via pnpm update (vue 3.5, vite 7.3,
tailwindcss 4.3, @playwright/test 1.60, eslint 9.39.4, etc.)
- add vue-eslint-parser ^10.4.0 to satisfy eslint-plugin-vue 10.9 peer dep
(lint regressed without it: .vue parse errors)
- remove stale package-lock.json; pnpm-lock.yaml is canonical
Held back major bumps: eslint 10, vite 8, vue-router 5, @eslint/js 10.
Verified: pnpm run lint clean, pnpm run build succeeds.
* feat(scoring): add tests bonus and fix average calculations
- [x] Add CommitsWithTests metric to track commits with test file changes
- [x] Add TestsBonus to score breakdown (15 points per commit with tests)
- [x] Fix AvgTimeToMerge calculation to use count of PRs with valid data
- [x] Fix AvgReviewTime calculation to use count of reviews with valid data
- [x] Fix AvgPRSize calculation to only include merged PRs
- [x] Add trackActivityDay helper to deduplicate activity tracking code
- [x] Track activity days for PR creation, reviews, and issue comments
- [x] Separate issue close tracking from issue open tracking
- [x] Update early bird window from 5am-9am to 6am-9am
- [x] Add time-based multipliers to velocity timeline scoring
- [x] Update GraphQL query to fetch OPEN, MERGED, CLOSED PRs
- [x] Fix PR filtering logic to handle all PR states correctly
- [x] Improve watch handlers in Vue components to prevent double-loading
- [x] Fix formatDuration to handle zero and negative values
- [x] Update scoring documentation to include Tests component
* refactor: use standard library and consolidate constants
- [x] Replace custom contains function with slices.Contains
- [x] Remove duplicate contains function implementations
- [x] Extract magic numbers to named constants in formatters
- [x] Create constants composable for app-wide values
- [x] Add ESLint configuration with browser globals
- [x] Add lint npm scripts to package.json
- [x] Reorder Vue template attributes for consistency
- [x] Remove unused variable in AchievementProgress
- [x] Add pnpm lock file