Skip to content

Conversation

@spbolton
Copy link
Contributor

@spbolton spbolton commented Jan 6, 2026

Description

Replace nvm/sdkman with mise for consistent Node.js, Java, and Yarn version management. Integrated lint-staged for precise file-level linting and formatting, replacing custom nx affected logic. Resolves ENOBUFS resource exhaustion issues in Git hook contexts.

Key Changes

  • Added .mise.toml configuration for automatic tool version management
  • Migrated pre-commit hook to use mise for Java/Node/Yarn execution
  • Integrated lint-staged for efficient staged-file-only processing
  • Replaced custom backup/restore logic with lint-staged's built-in git stash
  • Fixed ENOBUFS errors by unsetting problematic Git environment variables
  • Optimized Maven execution: validation for non-REST changes, compile only for REST API changes

Testing Completed

  • ✅ Maven uses correct Java version from mise (21.0.8)
  • ✅ Non-REST Java files trigger fast validation only (~5s)
  • ✅ REST API files trigger compile with OpenAPI regeneration (~2min)
  • ✅ pom.xml changes trigger Maven validation
  • ✅ Frontend files auto-formatted and auto-fixed by lint-staged
  • ✅ Only staged files processed (not entire 30-project monorepo)
  • ✅ Automatic backup/restore of unstaged changes

Changes

  • [List the main changes made]

Testing

  • [Describe testing approach]

Closes #34214

Issue: Migrate precommit hook from nvmsdkman to mise for

@spbolton spbolton force-pushed the issue-34214-migrate-pre-commit-hook-from-nvmsdkman-to-mise branch from 4201680 to 601f8ad Compare January 6, 2026 21:17
@spbolton spbolton marked this pull request as draft January 7, 2026 01:14
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.

Migrate pre-commit hook from nvm/sdkman to mise for consistent tool version management

2 participants