Skip to content

Comments

chore: modernize repository for new maintainers#186

Merged
DrBlury merged 1 commit intomasterfrom
feature/cleanup-and-prepare-for-maintainers
Dec 9, 2025
Merged

chore: modernize repository for new maintainers#186
DrBlury merged 1 commit intomasterfrom
feature/cleanup-and-prepare-for-maintainers

Conversation

@DrBlury
Copy link
Collaborator

@DrBlury DrBlury commented Dec 9, 2025

Summary

Comprehensive modernization of the codebase to prepare for new maintainers, including updated dependencies, strict TypeScript, CI/CD, expanded test coverage, and improved developer experience.

Changes

Dependencies & Build

  • Update TypeScript to 5.7.2 with strict mode enabled
  • Update ESLint to 9.x with flat config format
  • Update Mocha to 11.0.1 with c8 for coverage reporting
  • Update Prettier to 3.4.2 with best practices config
  • Update all other dependencies to latest versions

CI/CD

  • Add GitHub Actions workflow for CI (Node 18.x, 20.x, 22.x)
  • Add Codecov integration for coverage reporting
  • Add markdownlint check to CI pipeline
  • Add format check to CI pipeline

Code Quality

  • Enable TypeScript strict mode and fix all 45+ type errors
  • Remove all explicit 'any' types with proper type definitions
  • Fix runtime bugs:
    • Regex lastIndex state bug in rename functionality
    • Deprecated substr() usage
    • Unsafe non-null assertions

Testing

  • Expand test suite from 5 to 85 tests
  • Add proto3Primitive.test.ts (15 tests)
  • Add proto3Import.test.ts (22 tests)
  • Add proto3RenumberLogicExtended.test.ts (43 tests)
  • Achieve ~95% coverage on tested modules

Developer Experience

  • Add Husky pre-commit hooks with lint-staged
  • Add markdownlint configuration and fix all markdown files
  • Add CONTRIBUTING.md with development guidelines
  • Update CHANGELOG.md with 0.5.7 section
  • Add badges to README (CI status, coverage, marketplace)

Documentation

  • Update README with proper markdown formatting
  • Add contribution guidelines
  • Document all major changes in CHANGELOG

## Summary
Comprehensive modernization of the codebase to prepare for new maintainers,
including updated dependencies, strict TypeScript, CI/CD, expanded test coverage,
and improved developer experience.

## Changes

### Dependencies & Build
- Update TypeScript to 5.7.2 with strict mode enabled
- Update ESLint to 9.x with flat config format
- Update Mocha to 11.0.1 with c8 for coverage reporting
- Update Prettier to 3.4.2 with best practices config
- Update all other dependencies to latest versions

### CI/CD
- Add GitHub Actions workflow for CI (Node 18.x, 20.x, 22.x)
- Add Codecov integration for coverage reporting
- Add markdownlint check to CI pipeline
- Add format check to CI pipeline

### Code Quality
- Enable TypeScript strict mode and fix all 45+ type errors
- Remove all explicit 'any' types with proper type definitions
- Fix runtime bugs:
  - Regex lastIndex state bug in rename functionality
  - Deprecated substr() usage
  - Unsafe non-null assertions

### Testing
- Expand test suite from 5 to 85 tests
- Add proto3Primitive.test.ts (15 tests)
- Add proto3Import.test.ts (22 tests)
- Add proto3RenumberLogicExtended.test.ts (43 tests)
- Achieve ~95% coverage on tested modules

### Developer Experience
- Add Husky pre-commit hooks with lint-staged
- Add markdownlint configuration and fix all markdown files
- Add CONTRIBUTING.md with development guidelines
- Update CHANGELOG.md with 0.5.7 section
- Add badges to README (CI status, coverage, marketplace)

### Documentation
- Update README with proper markdown formatting
- Add contribution guidelines
- Document all major changes in CHANGELOG
@DrBlury DrBlury merged commit c126aa6 into master Dec 9, 2025
3 checks passed
@DrBlury DrBlury deleted the feature/cleanup-and-prepare-for-maintainers branch December 9, 2025 09:42
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