Skip to content

refactor(conformance): ♻️ refactor modules and add command option routing#82

Open
JimmyPaolini wants to merge 18 commits into
mainfrom
refactor/conformance-nestjs-command
Open

refactor(conformance): ♻️ refactor modules and add command option routing#82
JimmyPaolini wants to merge 18 commits into
mainfrom
refactor/conformance-nestjs-command

Conversation

@JimmyPaolini

@JimmyPaolini JimmyPaolini commented Jun 29, 2026

Copy link
Copy Markdown
Owner

🌰 Summary

Refactored the tools/conformance tool from a static Nx generator plugin into a canonical NestJS command application using nest-commander. All generator templates are now dedicated command modules following the nestjs-command-module pattern, with a separate validator command module for conformance checking. The application includes interactive command selection via CLI prompts. Conformance validation is now properly wired into lint-staged and GitHub Actions CI/CD.

📝 Details

  • Generator Modules: Migrated 9 Nx generators as individual command modules (jupyter-notebook-application, nestjs-command-application, nestjs-command-module, nestjs-dataloader-module, nestjs-graphql-application, nestjs-graphql-module, nestjs-service-file, nestjs-service-module, react-component)
  • Validator Module: Created dedicated validator command module following nestjs-command-module template with Python validators organized in modules/validator/python/ subdirectory
  • Logger Service: Added canonical logger module matching nestjs-service-module and nestjs-command-application templates
  • Command Routing: Implemented @Option decorator in main conformance-generator command with CLI prompt for interactive command selection via DiscoveryService
  • Conformance Validation Integration: Wired conformance:validate command into lint-staged for pre-commit checks and GitHub Actions validate-conventions workflow for CI/CD validation
  • Dependency Fix: Moved @types/mdast to devDependencies in lexico-ingestion (TypeScript-only, not runtime)
  • Code Organization: Removed unused generator module wrapper, cleaned up dead code (repl.ts)

🧪 Testing

All validation targets pass:

# Run conformance validation (now used in lint-staged and CI)
nx run conformance:validate

# Run conformance tests  
nx run conformance:test

# Run all generators to verify they work
nx run conformance:start -- --command=nestjs-command-application
nx run conformance:start -- --command=validator

To test conformance validation locally when generator templates or instances change:

# Lint-staged will automatically run this on commit
pnpm exec nx run conformance:validate

# GitHub Actions runs this in validate-conventions.yml workflow

🔗 Related

Resolves the planning task to refactor conformance into a nestjs-command-application with all generators as command modules, validator as a separate command module, and proper integration of conformance validation throughout the development and CI/CD pipeline.

@JimmyPaolini JimmyPaolini self-assigned this Jun 29, 2026
@github-actions

Copy link
Copy Markdown

📦 Bundle Size Report

326.29 kB total (+0.00 kB, +0.0% vs base)

Bundle PR Size Base Size Diff Limit
Client JS 119.80 kB 119.80 kB +0.00 kB 175.78 kB
Client CSS 14.96 kB 14.96 kB +0.00 kB 19.53 kB
Library bundle 191.53 kB 191.53 kB +0.00 kB 24.41 kB
📊 Guidelines
  • ✅ Size decreased or unchanged
  • ⚠️ Increased < 5%
  • 📈 Increased ≥ 5%
  • ❌ Exceeds limit

Updated automatically when you push new commits.

JimmyPaolini and others added 17 commits June 29, 2026 11:24
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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