fix: code quality and safety improvements #5820
ci.yml
on: pull_request
Type check
48s
Lint
53s
Build
1m 11s
Dependency audit
34s
Environment security check
5s
Test coverage
2m 7s
CI passed
3s
Annotations
20 errors and 1 warning
|
Type check
Process completed with exit code 2.
|
|
Type check:
src/lib/streak.ts#L65
The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
|
|
Type check:
src/lib/streak.ts#L65
The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
|
|
Type check:
src/lib/date-utils.ts#L252
The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
|
|
Type check:
src/lib/date-utils.ts#L252
The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
|
|
Type check:
src/app/api/metrics/repo-health/route.ts#L153
Expected 1 arguments, but got 2.
|
|
Type check:
src/app/api/metrics/languages/route.ts#L59
Expected 1 arguments, but got 2.
|
|
Type check:
src/app/api/local-coding/sync/route.ts#L281
Expected 1 arguments, but got 2.
|
|
Build
Process completed with exit code 1.
|
|
CI passed
Process completed with exit code 1.
|
|
test/anthropic-service.test.ts > generateWeeklySummary — src/lib/anthropic.ts > returns null when the text block contains only whitespace:
src/lib/anthropic.ts#L66
TypeError: () => ({ messages: { create: messagesCreate } }) is not a constructor
❯ getClient src/lib/anthropic.ts:66:15
❯ generateWeeklySummary src/lib/anthropic.ts:134:18
❯ test/anthropic-service.test.ts:232:26
|
|
test/anthropic-service.test.ts > generateWeeklySummary — src/lib/anthropic.ts > returns null when the API response has no text block:
src/lib/anthropic.ts#L66
TypeError: () => ({ messages: { create: messagesCreate } }) is not a constructor
❯ getClient src/lib/anthropic.ts:66:15
❯ generateWeeklySummary src/lib/anthropic.ts:134:18
❯ test/anthropic-service.test.ts:219:26
|
|
test/anthropic-service.test.ts > generateWeeklySummary — src/lib/anthropic.ts > uses 'none' for topRepo when the value is null:
src/lib/anthropic.ts#L66
TypeError: () => ({ messages: { create: messagesCreate } }) is not a constructor
❯ getClient src/lib/anthropic.ts:66:15
❯ generateWeeklySummary src/lib/anthropic.ts:134:18
❯ test/anthropic-service.test.ts:202:11
|
|
test/anthropic-service.test.ts > generateWeeklySummary — src/lib/anthropic.ts > preserves special characters in topRepo (no HTML encoding):
src/lib/anthropic.ts#L66
TypeError: () => ({ messages: { create: messagesCreate } }) is not a constructor
❯ getClient src/lib/anthropic.ts:66:15
❯ generateWeeklySummary src/lib/anthropic.ts:134:18
❯ test/anthropic-service.test.ts:188:11
|
|
test/anthropic-service.test.ts > generateWeeklySummary — src/lib/anthropic.ts > includes all key metrics in the JSON payload:
src/lib/anthropic.ts#L66
TypeError: () => ({ messages: { create: messagesCreate } }) is not a constructor
❯ getClient src/lib/anthropic.ts:66:15
❯ generateWeeklySummary src/lib/anthropic.ts:134:18
❯ test/anthropic-service.test.ts:167:11
|
|
test/anthropic-service.test.ts > generateWeeklySummary — src/lib/anthropic.ts > encodes metrics as structured JSON — user message is valid JSON:
src/lib/anthropic.ts#L66
TypeError: () => ({ messages: { create: messagesCreate } }) is not a constructor
❯ getClient src/lib/anthropic.ts:66:15
❯ generateWeeklySummary src/lib/anthropic.ts:134:18
❯ test/anthropic-service.test.ts:153:11
|
|
test/anthropic-service.test.ts > generateWeeklySummary — src/lib/anthropic.ts > sends max_tokens ≤ 200 (enough for 2–3 sentences, not an essay):
src/lib/anthropic.ts#L66
TypeError: () => ({ messages: { create: messagesCreate } }) is not a constructor
❯ getClient src/lib/anthropic.ts:66:15
❯ generateWeeklySummary src/lib/anthropic.ts:134:18
❯ test/anthropic-service.test.ts:137:11
|
|
test/anthropic-service.test.ts > generateWeeklySummary — src/lib/anthropic.ts > calls the SDK with the correct model:
src/lib/anthropic.ts#L66
TypeError: () => ({ messages: { create: messagesCreate } }) is not a constructor
❯ getClient src/lib/anthropic.ts:66:15
❯ generateWeeklySummary src/lib/anthropic.ts:134:18
❯ test/anthropic-service.test.ts:124:11
|
|
test/anthropic-service.test.ts > generateWeeklySummary — src/lib/anthropic.ts > returns the trimmed summary string on a successful API call:
src/lib/anthropic.ts#L66
TypeError: () => ({ messages: { create: messagesCreate } }) is not a constructor
❯ getClient src/lib/anthropic.ts:66:15
❯ generateWeeklySummary src/lib/anthropic.ts:134:18
❯ test/anthropic-service.test.ts:112:26
|
|
test/GoalTracker.test.ts > GoalTracker - useGoalTracker Hook > handles sync failures gracefully:
test/GoalTracker.test.ts#L146
AssertionError: expected 'Sync failed. Please try again.' to be 'Failed to sync goals. Please try agai…' // Object.is equality
Expected: "Failed to sync goals. Please try again."
Received: "Sync failed. Please try again."
❯ test/GoalTracker.test.ts:146:38
|
|
Coverage report unavailable
Vitest did not produce a coverage summary. This warning does not fail CI.
|