prism-merge v2.0.1
2.0.1 - 2026-02-22
- TAG: v2.0.1
- COVERAGE: 98.80% -- 820/830 lines in 12 files
- BRANCH COVERAGE: 85.55% -- 450/526 branches in 12 files
- 93.51% documented
Added
SmartMerger#emit_dest_prefix_linespreserves magic comments (e.g.,# frozen_string_literal: true)
and blank lines that appear before the first AST node in the destination fileSmartMerger#emit_dest_gap_linespreserves blank lines between consecutive top-level blocks
in the destination, preventing them from being silently stripped during merge
Changed
SmartMerger#merge_with_debugnow usesmerge_result(returnsMergeResultobject)
instead ofmerge(returnsString), sostatisticsanddecision_summaryare accessibleSmartMerger#build_resultnow passestemplate_analysisanddest_analysisto
MergeResult.newfor consistency withSmartMergerBaseAPI
Removed
- Removed redundant
attr_reader :node_typingfromSmartMerger— already provided
bySmartMergerBase
Fixed
- Inter-node blank line stripping: blank lines between top-level blocks (e.g., between
appraiseblocks in Appraisals, betweengemcalls in Gemfiles) are now preserved
from the destination source during merge - Prefix line stripping: magic comments and blank lines before the first AST statement
(e.g.,# frozen_string_literal: truein Appraisal.root.gemfile) are now preserved
Many paths lead to being a sponsor or a backer of this project. Are you on such a path?