prism-merge 1.1.5 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +63 -1
- data/README.md +447 -77
- data/lib/prism/merge/comment/block.rb +73 -0
- data/lib/prism/merge/comment/line.rb +102 -0
- data/lib/prism/merge/comment/parser.rb +103 -0
- data/lib/prism/merge/comment.rb +21 -0
- data/lib/prism/merge/debug_logger.rb +23 -42
- data/lib/prism/merge/file_analysis.rb +138 -254
- data/lib/prism/merge/freeze_node.rb +26 -48
- data/lib/prism/merge/merge_result.rb +51 -36
- data/lib/prism/merge/method_match_refiner.rb +194 -0
- data/lib/prism/merge/smart_merger.rb +712 -463
- data/lib/prism/merge/version.rb +1 -1
- data/lib/prism/merge.rb +25 -23
- data/sig/prism/merge.rbs +4 -4
- data.tar.gz.sig +0 -0
- metadata +64 -15
- metadata.gz.sig +0 -0
- data/lib/prism/merge/conflict_resolver.rb +0 -486
- data/lib/prism/merge/file_aligner.rb +0 -382
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1425ee625e5f45061e5faa4d942371f94498082aa00660a4e8b42d50c49b1368
|
|
4
|
+
data.tar.gz: 45b4f7343c85a8b87b95929c4a17da4db132cb69dfdcfdf3a4078e2ea88f1838
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 45baf957dc196b7f81084a98ae8c52a3d9121e40d8b39355320825cf02b033b2381ae30ce54b439519808fc3dc859ba653e29b2042770497cbef5b53dd796a7c
|
|
7
|
+
data.tar.gz: cb6bab2681c92c7900265fbc5fe136dc712bfe1d20cade3aa3145962f7966c4db66aa5d3f34b19887aa707ad362429edae8e7bdb5d371de46acd6ee3221f39c6
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,64 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [2.0.0] - 2026-02-19
|
|
34
|
+
|
|
35
|
+
- TAG: [v2.0.0][2.0.0t]
|
|
36
|
+
- COVERAGE: 97.26% -- 780/802 lines in 12 files
|
|
37
|
+
- BRANCH COVERAGE: 82.07% -- 412/502 branches in 12 files
|
|
38
|
+
- 93.59% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Many new features inherited from `ast-merge`, and updated behaviors.
|
|
43
|
+
- **FileAnalysis**: Added `#errors` method for compatibility with SmartMergerBase
|
|
44
|
+
- Returns `@parse_result.errors` for consistency with other FileAnalysis classes
|
|
45
|
+
- Enables SmartMergerBase to properly create parse errors when `valid?` is false
|
|
46
|
+
- AGENTS.md
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
|
|
50
|
+
- appraisal2 v3.0.6
|
|
51
|
+
- kettle-test v1.0.10
|
|
52
|
+
- stone_checksums v1.0.3
|
|
53
|
+
- ast-merge v4.0.6
|
|
54
|
+
- tree_haver v5.0.5
|
|
55
|
+
- tree_stump v0.2.0
|
|
56
|
+
- fork no longer required, updates all applied upstream
|
|
57
|
+
- **SmartMerger**: Added `**options` for forward compatibility
|
|
58
|
+
- Now passes `node_typing` explicitly to `SmartMergerBase` instead of storing locally
|
|
59
|
+
- Accepts additional options that may be added to base class in future
|
|
60
|
+
- **FileAnalysis**: Added `**options` for forward compatibility
|
|
61
|
+
- Accepts additional options that may be added in future
|
|
62
|
+
- Consistent with other `*-merge` gems' FileAnalysis classes
|
|
63
|
+
- **MergeResult**: Added `**options` for forward compatibility
|
|
64
|
+
- **ParseError**: Updated constructor to accept base class signature
|
|
65
|
+
- Now accepts optional `message`, `errors:`, `content:`, and `parse_result:` keywords
|
|
66
|
+
- Compatible with `Ast::Merge::ParseError` signature while preserving `parse_result` attribute
|
|
67
|
+
- Enables SmartMergerBase to create parse errors without Prism-specific knowledge
|
|
68
|
+
- Updated documentation on hostile takeover of RubyGems
|
|
69
|
+
- https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo
|
|
70
|
+
- **BREAKING**: Error classes now inherit from `Ast::Merge` base classes:
|
|
71
|
+
- `Prism::Merge::Error` now inherits from `Ast::Merge::Error` (was `StandardError`)
|
|
72
|
+
- `Prism::Merge::ParseError` now inherits from `Ast::Merge::ParseError` (was `Prism::Merge::Error`)
|
|
73
|
+
- `ParseError#errors` attribute added (array of error objects from `parse_result.errors`)
|
|
74
|
+
- Code using `e.parse_result.errors` should now use `e.errors` directly
|
|
75
|
+
- `parse_result` attribute is still available for Prism-specific access
|
|
76
|
+
|
|
77
|
+
## [1.1.6] - 2025-12-05
|
|
78
|
+
|
|
79
|
+
- TAG: [v1.1.6][1.1.6t]
|
|
80
|
+
- COVERAGE: 98.31% -- 929/945 lines in 9 files
|
|
81
|
+
- BRANCH COVERAGE: 87.08% -- 391/449 branches in 9 files
|
|
82
|
+
- 100.00% documented
|
|
83
|
+
|
|
84
|
+
### Fixed
|
|
85
|
+
|
|
86
|
+
- **Fixed duplicate content when freeze blocks precede nodes with leading comments**: When a freeze block appeared before a node that had leading comments attached from earlier in the file, the merge would output duplicate content. Fixed by:
|
|
87
|
+
- Filtering out comments inside freeze blocks from being attached as leading comments to subsequent nodes
|
|
88
|
+
- Not including leading comments in anchor ranges when other nodes exist between the comments and the node
|
|
89
|
+
- Extending `extract_node_body` to include content after the last statement up to the closing line, ensuring freeze blocks at the end of block bodies are preserved
|
|
90
|
+
|
|
33
91
|
## [1.1.5] - 2025-12-04
|
|
34
92
|
|
|
35
93
|
- TAG: [v1.1.5][1.1.5t]
|
|
@@ -223,7 +281,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
223
281
|
|
|
224
282
|
- Initial release
|
|
225
283
|
|
|
226
|
-
[Unreleased]: https://github.com/kettle-rb/prism-merge/compare/
|
|
284
|
+
[Unreleased]: https://github.com/kettle-rb/prism-merge/compare/v2.0.0...HEAD
|
|
285
|
+
[2.0.0]: https://github.com/kettle-rb/prism-merge/compare/v1.1.6...v2.0.0
|
|
286
|
+
[2.0.0t]: https://github.com/kettle-rb/prism-merge/releases/tag/v2.0.0
|
|
287
|
+
[1.1.6]: https://github.com/kettle-rb/prism-merge/compare/v1.1.5...v1.1.6
|
|
288
|
+
[1.1.6t]: https://github.com/kettle-rb/prism-merge/releases/tag/v1.1.6
|
|
227
289
|
[1.1.5]: https://github.com/kettle-rb/prism-merge/compare/v1.1.4...v1.1.5
|
|
228
290
|
[1.1.5t]: https://github.com/kettle-rb/prism-merge/releases/tag/v1.1.5
|
|
229
291
|
[1.1.4]: https://github.com/kettle-rb/prism-merge/compare/v1.1.3...v1.1.4
|