prism-merge 1.1.6 → 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 +47 -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 +129 -272
- 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 +703 -465
- 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 -420
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,50 @@ 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
|
+
|
|
33
77
|
## [1.1.6] - 2025-12-05
|
|
34
78
|
|
|
35
79
|
- TAG: [v1.1.6][1.1.6t]
|
|
@@ -237,7 +281,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
237
281
|
|
|
238
282
|
- Initial release
|
|
239
283
|
|
|
240
|
-
[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
|
|
241
287
|
[1.1.6]: https://github.com/kettle-rb/prism-merge/compare/v1.1.5...v1.1.6
|
|
242
288
|
[1.1.6t]: https://github.com/kettle-rb/prism-merge/releases/tag/v1.1.6
|
|
243
289
|
[1.1.5]: https://github.com/kettle-rb/prism-merge/compare/v1.1.4...v1.1.5
|