Skip to content

chore: dependencies and coverage - #9

Merged
jamesacres merged 15 commits into
mainfrom
chore/dependencies
Aug 2, 2026
Merged

chore: dependencies and coverage#9
jamesacres merged 15 commits into
mainfrom
chore/dependencies

Conversation

@jamesacres

Copy link
Copy Markdown
Owner

No description provided.

@claude

claude Bot commented Aug 2, 2026

Copy link
Copy Markdown

Code review

Reviewed dependency bumps (NestJS 10→11, ESLint flat config, Jest 30, TS 5.9, AWS SDK v3), the new CI workflow/husky hooks/coverage thresholds, and the hand-written logic changes (MCP client capabilities, Lambda handler for Node 24, CDK runtime bump, new enum values). No CLAUDE.md violations or significant bugs found in most of the diff. Two issues below survived independent verification.

1. CLAUDE.md / AGENTS.md — inaccurate "do not commit" rule

adminUsers, codes or the RevenueCat key.
- Do not commit generated/vendored output: `dist/`, `coverage/`, `wasm/`,
`sudoku-seeds/` and `src/lib/qqwing/` are build artifacts / vendored code.
- Co-locate a `*.spec.ts` with every new source file; unit coverage thresholds

The new agent instructions state:

Do not commit generated/vendored output: dist/, coverage/, wasm/, sudoku-seeds/ and src/lib/qqwing/ are build artifacts / vendored code.

wasm/, sudoku-seeds/, and src/lib/qqwing/ are actually tracked in git and not in .gitignore (only dist/ and coverage/ are). src/lib/qqwing/index.ts is imported directly by production code in src/sudoku/sudoku.service.ts. Since these files are auto-loaded standing instructions for future agents, this could lead an agent to delete or gitignore files the build/runtime depends on. The same text is duplicated in AGENTS.md:

adminUsers, codes or the RevenueCat key.
- Do not commit generated/vendored output: `dist/`, `coverage/`, `wasm/`,
`sudoku-seeds/` and `src/lib/qqwing/` are build artifacts / vendored code.
- Co-locate a `*.spec.ts` with every new source file; unit coverage thresholds

2. scripts/local-dynamodb-setup.tsdotenv used but not a declared dependency

*/
import 'dotenv/config';

import 'dotenv/config';

dotenv is not in root package.json's dependencies or devDependencies — it only resolves today because it's hoisted as a transitive dependency of @nestjs/config (pinned to an exact 17.4.1 there). Under a strict-hoisting installer, or if that transitive pin changes, npm run dynamodb:setup would fail with MODULE_NOT_FOUND. deploy/package.json declares dotenv explicitly as a direct dependency, suggesting this root omission is an oversight — the fix is a one-line addition to root devDependencies.


🤖 Generated with Claude Code

jamesacres and others added 5 commits August 2, 2026 11:59
npm ci failed in CI (Linux) because @emnapi/core@1.11.3 and
@emnapi/runtime@1.11.3 — optional peer deps of @napi-rs/wasm-runtime —
were missing from the lock files. They were generated on macOS, where
npm did not materialise these Linux-relevant entries. Regenerated both
package-lock.json files in a node:24 Linux container so npm ci passes on
both platforms.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RjaNPPmg3GwWBPGz6uFd6e
The deploy CDK test bundles the API Lambda from Code.fromAsset('../dist')
(deploy/lib/api-stack.ts:234), but the deploy job never built the root
app, so ../dist was missing and the test threw CannotFindAsset. This was
masked until now because npm ci failed earlier in the job. Install root
deps and run build:nest before the deploy build/test steps.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RjaNPPmg3GwWBPGz6uFd6e
@emnapi/core, @emnapi/runtime and @emnapi/wasi-threads are optional peer
deps of @napi-rs/wasm-runtime that npm only materialises into the lock on
Linux. A plain 'npm install' on macOS would strip the Linux-relevant
top-level entries back out, breaking 'npm ci' in CI again. Declaring them
as exact devDependencies in both packages makes 'npm install' keep them
in package-lock.json on every platform.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RjaNPPmg3GwWBPGz6uFd6e
@jamesacres
jamesacres merged commit d6bae2c into main Aug 2, 2026
3 checks passed
@jamesacres
jamesacres deleted the chore/dependencies branch August 2, 2026 12:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant