Claude Code Plugins

Community-maintained marketplace

Feedback
0
0

Use when adding Jest testing configuration to Nx projects, running `nx g @nx/jest:configuration`, setting up testing infrastructure, or troubleshooting tests that fail after running the Jest generator. Ensures proper TypeScript moduleResolution (nodenext), testing enhancement libraries (jest-dom, user-event, MSW), and monorepo pattern adherence. Triggers: "add tests", "setup Jest", "configure testing", "Jest not working", "moduleResolution error", "tests failing after generator

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md


name: nx-monorepo-generator description: Use when adding Jest testing configuration to Nx projects, running nx g @nx/jest:configuration, setting up testing infrastructure, or troubleshooting tests that fail after running the Jest generator. Ensures proper TypeScript moduleResolution (nodenext), testing enhancement libraries (jest-dom, user-event, MSW), and monorepo pattern adherence. Triggers: "add tests", "setup Jest", "configure testing", "Jest not working", "moduleResolution error", "tests failing after generator"

Nx Monorepo Generator - Jest Configuration Workflow

The Nx Jest generator produces defaults that conflict with this workspace's standards. This skill ensures all mandatory post-generation fixes are applied.

Phase 1: Determine Project Type

Identify the project type before generating:

Type Examples Testing Needs
UI web apps, mobile Full stack: jest-dom, user-event, MSW
Node server, APIs jest-dom + conditional MSW
Logic schemas, utils Basic Jest only

How to identify:

  • Check project.json executors (React/Next.js = UI, Node = server)
  • Schema/utility libraries = Logic
  • When uncertain, ask the user

Phase 2: Generate Configuration

pnpm exec nx g @nx/jest:configuration <project-name>

Creates: jest.config.ts, tsconfig.spec.json, updates project.json

Warning: Generated config has incorrect defaults - proceed to Phase 3.

Phase 3: Post-Generation Fixes

Execute ALL applicable steps. See references/post-gen-checklist.md for full details.

Step UI Node Logic Script
Install testing libs scripts/install-testing-libs.sh
Create jest.setup.ts Manual
Update jest.config.ts Manual
Fix moduleResolution scripts/fix-tsconfig-spec.sh
Verify Jest types scripts/validate-jest-config.sh
Clean production config scripts/validate-jest-config.sh

Critical Fix: TypeScript moduleResolution

In tsconfig.spec.json, change:

  • "module": "commonjs""module": "nodenext"
  • "moduleResolution": "node10""moduleResolution": "nodenext"

Why: Workspace uses customConditions requiring modern module resolution.

Phase 4: Validation

# Automated validation
scripts/validate-jest-config.sh <project-path>

# Run tests
pnpm exec nx run <project-name>:test

Success indicators:

  • ✅ Tests run without TypeScript errors
  • ✅ No module resolution warnings
  • ✅ Coverage reports generate correctly

References

  • references/post-gen-checklist.md - Step-by-step checklist with code examples
  • references/jest-config-patterns.md - Configuration structure and rationale
  • references/testing-standards.md - user-event, MSW, jest-dom patterns

Scripts

  • scripts/validate-jest-config.sh <path> - Validate configuration against standards
  • scripts/install-testing-libs.sh <type> <path> - Install testing packages by project type
  • scripts/fix-tsconfig-spec.sh <path> - Auto-fix moduleResolution settings

Key Principle

Generated code rarely matches monorepo patterns. Post-generation fixes are MANDATORY. This skill ensures consistency and prevents pattern drift that causes mysterious failures.