prism-merge v1.1.0 released!
1.1.0 - 2025-12-04
- TAG: v1.1.0
- COVERAGE: 95.65% โ 770/805 lines in 9 files
- BRANCH COVERAGE: 81.13% โ 245/302 branches in 9 files
- 100.00% documented
Added
- Recursive merge support for class and module bodies - nested structures are now merged intelligently
- Conditional signature matching for
if/unlessblocks based on condition expression - Freeze block validation for partial/incomplete nodes and freeze blocks inside non-class/module contexts
- Freeze blocks now match by position/order when both files have multiple freeze blocks
add_template_only_nodesoption now properly respected in recursive merges and boundary processingDebugLogger, controlled byENV["PRISM_MERGE_DEBUG"]set to true or false- more specs
Changed
- Migrated to Prism v1.6.0 native comment attachment (removed custom comment association logic)
- Simplified FileAnalysis implementation using Prismโs built-in features
- Improved node lookup to handle anchors with leading comments (e.g., magic comments)
Fixed
- Template-only nodes are now correctly excluded in all contexts when
add_template_only_nodes: false - Freeze blocks inside methods now properly raise InvalidStructureError (only class/module-level freeze blocks allowed)
- Freeze block matching now works correctly with multiple consecutive freeze blocks (matches by index/order)
- Duplicate freeze blocks from template no longer appear when destination has matching freeze blocks
- Magic comments at file top no longer prevent node lookup in recursive merges
Many paths lead to being a sponsor or a backer of this project. Are you on such a path?