bash-merge 2.0.3 → 2.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ca7ede63c1590df94f22fdbffb07c06f1313ae2e09aab64b6b9d1d6174de9077
4
- data.tar.gz: 885fb700fab46e68b0c614fa936518c0674cb7c3d50ca4466b943ec84dcd25f9
3
+ metadata.gz: 143070616b47ff572ec71a20ce9e8be2549fbdaac8e00fb703de16598b143770
4
+ data.tar.gz: e11406b8fc7e8adf42b5f473c22fa5761e46ed13a300715b3012765753e1b472
5
5
  SHA512:
6
- metadata.gz: d6d6b14002558067c7234de6e46a027ad47224289f4bc7b93ac64d40e335e4a786d82bda7f78be56381d8fa7ba6b4e2bd9623309ae5a1895247bb4e8151b6a02
7
- data.tar.gz: 06a3659679935d65f0f389ed492e92b4f1446c2ebd0d527d6d4a5a3f9c3477757396de637067e0ff4b268c2606ba5c55ea5ea9a9b9ead4d35a6791ba777819b0
6
+ metadata.gz: fb3bd78f3e13caddb7eee63fd32fa62d180ee99ede3d2a138ceb125e23df5ceb3e93dc2393413efc3fb5d3c38faa7136aca9584357ef1e85f435f315d99574ba
7
+ data.tar.gz: a1c7c1cf94ae0c103993356d525418384a6d2f13d5c878800487cd1839a3ce3e52206e9abb2b6b3ff8ba603dbe50af6c6eca75decc0e8b1ce3b06519ba1448e6
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,34 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.0.5] - 2026-02-01
34
+
35
+ - TAG: [v2.0.5][2.0.5t]
36
+ - COVERAGE: 96.10% -- 518/539 lines in 11 files
37
+ - BRANCH COVERAGE: 74.72% -- 133/178 branches in 11 files
38
+ - 96.33% documented
39
+
40
+ ### Added
41
+
42
+ - ConflictResolver now applies per-node-type preferences via `node_typing`.
43
+
44
+ ### Changed
45
+
46
+ - tree_haver v5.0.3
47
+ - ast-merge v4.0.5
48
+
49
+ ## [2.0.4] - 2026-01-20
50
+
51
+ - TAG: [v2.0.4][2.0.4t]
52
+ - COVERAGE: 100.00% -- 25/25 lines in 1 files
53
+ - BRANCH COVERAGE: 100.00% -- 4/4 branches in 1 files
54
+ - 96.33% documented
55
+
56
+ ### Changed
57
+
58
+ - Upgrade to [ast-merge v4.0.3](https://github.com/kettle-rb/ast-merge/releases/tag/v4.0.3)
59
+ - Upgrade to [tree_haver v5.0.2](https://github.com/kettle-rb/tree_haver/releases/tag/v5.0.2)
60
+
33
61
  ## [2.0.3] - 2026-01-11
34
62
 
35
63
  - TAG: [v2.0.3][2.0.3t]
@@ -137,7 +165,11 @@ Please file a bug if you notice a violation of semantic versioning.
137
165
 
138
166
  ### Security
139
167
 
140
- [Unreleased]: https://github.com/kettle-rb/bash-merge/compare/v2.0.3...HEAD
168
+ [Unreleased]: https://github.com/kettle-rb/bash-merge/compare/v2.0.5...HEAD
169
+ [2.0.5]: https://github.com/kettle-rb/bash-merge/compare/v2.0.4...v2.0.5
170
+ [2.0.5t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.5
171
+ [2.0.4]: https://github.com/kettle-rb/bash-merge/compare/v2.0.3...v2.0.4
172
+ [2.0.4t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.4
141
173
  [2.0.3]: https://github.com/kettle-rb/bash-merge/compare/v2.0.2...v2.0.3
142
174
  [2.0.3t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.3
143
175
  [2.0.2]: https://github.com/kettle-rb/bash-merge/compare/v2.0.1...v2.0.2
data/README.md CHANGED
@@ -104,38 +104,38 @@ File.write("merged.sh", result.to_bash)
104
104
 
105
105
  The `*-merge` gem family provides intelligent, AST-based merging for various file formats. At the foundation is [tree_haver][tree_haver], which provides a unified cross-Ruby parsing API that works seamlessly across MRI, JRuby, and TruffleRuby.
106
106
 
107
- | Gem | Version | CI | | Language<br>/ Format | Parser Backend(s) | Description |
108
- |------------------------------------------|----------------------------------------------------------------|--------------------------------------------------------------|----------|-------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|-------------|
109
- | [tree_haver][tree_haver] | [![Version][tree_haver-gem-i]][tree_haver-gem] | [![Version][tree_haver-ci-i]][tree_haver-ci] | Multi | MRI C, Rust, FFI, Java, Prism, Psych, Commonmarker, Markly, Citrus, Parslet | **Foundation**: Cross-Ruby adapter for parsing libraries (like Faraday for HTTP) |
110
- | [ast-merge][ast-merge] | [![Version][ast-merge-gem-i]][ast-merge-gem] | [![Version][ast-merge-ci-i]][ast-merge-ci] | Text | internal | **Infrastructure**: Shared base classes and merge logic for all `*-merge` gems |
111
- | [bash-merge][bash-merge] | [![Version][bash-merge-gem-i]][bash-merge-gem] | [![Version][bash-merge-ci-i]][bash-merge-ci] | Bash | [tree-sitter-bash][ts-bash] (via tree_haver) | Smart merge for Bash scripts |
112
- | [commonmarker-merge][commonmarker-merge] | [![Version][commonmarker-merge-gem-i]][commonmarker-merge-gem] | [![Version][commonmarker-merge-ci-i]][commonmarker-merge-ci] | Markdown | [Commonmarker][commonmarker] (via tree_haver) | Smart merge for Markdown (CommonMark via comrak Rust) |
113
- | [dotenv-merge][dotenv-merge] | [![Version][dotenv-merge-gem-i]][dotenv-merge-gem] | [![Version][dotenv-merge-ci-i]][dotenv-merge-ci] | Dotenv | internal | Smart merge for `.env` files |
114
- | [json-merge][json-merge] | [![Version][json-merge-gem-i]][json-merge-gem] | [![Version][json-merge-ci-i]][json-merge-ci] | JSON | [tree-sitter-json][ts-json] (via tree_haver) | Smart merge for JSON files |
115
- | [jsonc-merge][jsonc-merge] | [![Version][jsonc-merge-gem-i]][jsonc-merge-gem] | [![Version][jsonc-merge-ci-i]][jsonc-merge-ci] | JSONC | [tree-sitter-jsonc][ts-jsonc] (via tree_haver) | ⚠️ Proof of concept; Smart merge for JSON with Comments |
116
- | [markdown-merge][markdown-merge] | [![Version][markdown-merge-gem-i]][markdown-merge-gem] | [![Version][markdown-merge-ci-i]][markdown-merge-ci] | Markdown | [Commonmarker][commonmarker] / [Markly][markly] (via tree_haver) | **Foundation**: Shared base for Markdown mergers with inner code block merging |
117
- | [markly-merge][markly-merge] | [![Version][markly-merge-gem-i]][markly-merge-gem] | [![Version][markly-merge-ci-i]][markly-merge-ci] | Markdown | [Markly][markly] (via tree_haver) | Smart merge for Markdown (CommonMark via cmark-gfm C) |
118
- | [prism-merge][prism-merge] | [![Version][prism-merge-gem-i]][prism-merge-gem] | [![Version][prism-merge-ci-i]][prism-merge-ci] | Ruby | [Prism][prism] (`prism` std lib gem) | Smart merge for Ruby source files |
119
- | [psych-merge][psych-merge] | [![Version][psych-merge-gem-i]][psych-merge-gem] | [![Version][psych-merge-ci-i]][psych-merge-ci] | YAML | [Psych][psych] (`psych` std lib gem) | Smart merge for YAML files |
120
- | [rbs-merge][rbs-merge] | [![Version][rbs-merge-gem-i]][rbs-merge-gem] | [![Version][rbs-merge-ci-i]][rbs-merge-ci] | RBS | [tree-sitter-bash][ts-rbs] (via tree_haver), [RBS][rbs] (`rbs` std lib gem) | Smart merge for Ruby type signatures |
121
- | [toml-merge][toml-merge] | [![Version][toml-merge-gem-i]][toml-merge-gem] | [![Version][toml-merge-ci-i]][toml-merge-ci] | TOML | [Parslet + toml][toml], [Citrus + toml-rb][toml-rb], [tree-sitter-toml][ts-toml] (all via tree_haver) | Smart merge for TOML files |
107
+ | Gem | Version / CI | Language<br>/ Format | Parser Backend(s) | Description |
108
+ |------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------:|----------------------|-------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
109
+ | [tree_haver][tree_haver] | [![Version][tree_haver-gem-i]][tree_haver-gem] <br/> [![CI][tree_haver-ci-i]][tree_haver-ci] | Multi | Supported Backends: MRI C, Rust, FFI, Java, Prism, Psych, Commonmarker, Markly, Citrus, Parslet | **Foundation**: Cross-Ruby adapter for parsing libraries (like Faraday for HTTP) |
110
+ | [ast-merge][ast-merge] | [![Version][ast-merge-gem-i]][ast-merge-gem] <br/> [![CI][ast-merge-ci-i]][ast-merge-ci] | Text | internal | **Infrastructure**: Shared base classes and merge logic for all `*-merge` gems |
111
+ | [bash-merge][bash-merge] | [![Version][bash-merge-gem-i]][bash-merge-gem] <br/> [![CI][bash-merge-ci-i]][bash-merge-ci] | Bash | [tree-sitter-bash][ts-bash] (via tree_haver) | Smart merge for Bash scripts |
112
+ | [commonmarker-merge][commonmarker-merge] | [![Version][commonmarker-merge-gem-i]][commonmarker-merge-gem] <br/> [![CI][commonmarker-merge-ci-i]][commonmarker-merge-ci] | Markdown | [Commonmarker][commonmarker] (via tree_haver) | Smart merge for Markdown (CommonMark via comrak Rust) |
113
+ | [dotenv-merge][dotenv-merge] | [![Version][dotenv-merge-gem-i]][dotenv-merge-gem] <br/> [![CI][dotenv-merge-ci-i]][dotenv-merge-ci] | Dotenv | internal | Smart merge for `.env` files |
114
+ | [json-merge][json-merge] | [![Version][json-merge-gem-i]][json-merge-gem] <br/> [![CI][json-merge-ci-i]][json-merge-ci] | JSON | [tree-sitter-json][ts-json] (via tree_haver) | Smart merge for JSON files |
115
+ | [jsonc-merge][jsonc-merge] | [![Version][jsonc-merge-gem-i]][jsonc-merge-gem] <br/> [![CI][jsonc-merge-ci-i]][jsonc-merge-ci] | JSONC | [tree-sitter-jsonc][ts-jsonc] (via tree_haver) | ⚠️ Proof of concept; Smart merge for JSON with Comments |
116
+ | [markdown-merge][markdown-merge] | [![Version][markdown-merge-gem-i]][markdown-merge-gem] <br/> [![CI][markdown-merge-ci-i]][markdown-merge-ci] | Markdown | [Commonmarker][commonmarker] / [Markly][markly] (via tree_haver), [Parslet][parslet] | **Foundation**: Shared base for Markdown mergers with inner code block merging |
117
+ | [markly-merge][markly-merge] | [![Version][markly-merge-gem-i]][markly-merge-gem] <br/> [![CI][markly-merge-ci-i]][markly-merge-ci] | Markdown | [Markly][markly] (via tree_haver) | Smart merge for Markdown (CommonMark via cmark-gfm C) |
118
+ | [prism-merge][prism-merge] | [![Version][prism-merge-gem-i]][prism-merge-gem] <br/> [![CI][prism-merge-ci-i]][prism-merge-ci] | Ruby | [Prism][prism] (`prism` std lib gem) | Smart merge for Ruby source files |
119
+ | [psych-merge][psych-merge] | [![Version][psych-merge-gem-i]][psych-merge-gem] <br/> [![CI][psych-merge-ci-i]][psych-merge-ci] | YAML | [Psych][psych] (`psych` std lib gem) | Smart merge for YAML files |
120
+ | [rbs-merge][rbs-merge] | [![Version][rbs-merge-gem-i]][rbs-merge-gem] <br/> [![CI][rbs-merge-ci-i]][rbs-merge-ci] | RBS | [tree-sitter-bash][ts-rbs] (via tree_haver), [RBS][rbs] (`rbs` std lib gem) | Smart merge for Ruby type signatures |
121
+ | [toml-merge][toml-merge] | [![Version][toml-merge-gem-i]][toml-merge-gem] <br/> [![CI][toml-merge-ci-i]][toml-merge-ci] | TOML | [Parslet + toml][toml], [Citrus + toml-rb][toml-rb], [tree-sitter-toml][ts-toml] (all via tree_haver) | Smart merge for TOML files |
122
122
 
123
123
  #### Backend Platform Compatibility
124
124
 
125
125
  tree_haver supports multiple parsing backends, but not all backends work on all Ruby platforms:
126
126
 
127
- | Platform 👉️<br> TreeHaver Backend 👇️ | MRI | JRuby | TruffleRuby | Notes |
128
- |------------------------------------------------|:---:|:-----:|:-----------:|-----------------------------------------------------|
129
- | **MRI** ([ruby_tree_sitter][ruby_tree_sitter]) | ✅ | ❌ | ❌ | C extension, MRI only |
130
- | **Rust** ([tree_stump][tree_stump]) | ✅ | ❌ | ❌ | Rust extension via magnus/rb-sys, MRI only |
131
- | **FFI** | ✅ | ✅ | ❌ | TruffleRuby's FFI doesn't support `STRUCT_BY_VALUE` |
132
- | **Java** ([jtreesitter][jtreesitter]) | ❌ | ✅ | ❌ | JRuby only, requires grammar JARs |
133
- | **Prism** | ✅ | ✅ | ✅ | Ruby parsing, stdlib in Ruby 3.4+ |
134
- | **Psych** | ✅ | ✅ | ✅ | YAML parsing, stdlib |
135
- | **Citrus** | ✅ | ✅ | ✅ | Pure Ruby PEG parser, no native dependencies |
136
- | **Parslet** | ✅ | ✅ | ✅ | Pure Ruby PEG parser, no native dependencies |
137
- | **Commonmarker** | ✅ | ❌ | ❓ | Rust extension for Markdown |
138
- | **Markly** | ✅ | ❌ | ❓ | C extension for Markdown |
127
+ | Platform 👉️<br> TreeHaver Backend 👇️ | MRI | JRuby | TruffleRuby | Notes |
128
+ |-------------------------------------------------|:---:|:-----:|:-----------:|----------------------------------------------------------------------------|
129
+ | **MRI** ([ruby_tree_sitter][ruby_tree_sitter]) | ✅ | ❌ | ❌ | C extension, MRI only |
130
+ | **Rust** ([tree_stump][tree_stump]) | ✅ | ❌ | ❌ | Rust extension via magnus/rb-sys, MRI only |
131
+ | **FFI** ([ffi][ffi]) | ✅ | ✅ | ❌ | TruffleRuby's FFI doesn't support `STRUCT_BY_VALUE` |
132
+ | **Java** ([jtreesitter][jtreesitter]) | ❌ | ✅ | ❌ | JRuby only, requires grammar JARs |
133
+ | **Prism** ([prism][prism]) | ✅ | ✅ | ✅ | Ruby parsing, stdlib in Ruby 3.4+ |
134
+ | **Psych** ([psych][psych]) | ✅ | ✅ | ✅ | YAML parsing, stdlib |
135
+ | **Citrus** ([citrus][citrus]) | ✅ | ✅ | ✅ | Pure Ruby PEG parser, no native dependencies |
136
+ | **Parslet** ([parslet][parslet]) | ✅ | ✅ | ✅ | Pure Ruby PEG parser, no native dependencies |
137
+ | **Commonmarker** ([commonmarker][commonmarker]) | ✅ | ❌ | ❓ | Rust extension for Markdown (via [commonmarker-merge][commonmarker-merge]) |
138
+ | **Markly** ([markly][markly]) | ✅ | ❌ | ❓ | C extension for Markdown (via [markly-merge][markly-merge]) |
139
139
 
140
140
  **Legend**: ✅ = Works, ❌ = Does not work, ❓ = Untested
141
141
 
@@ -229,6 +229,7 @@ tree_haver supports multiple parsing backends, but not all backends work on all
229
229
  [kettle-jem-ci]: https://github.com/kettle-rb/kettle-jem/actions/workflows/current.yml
230
230
  [prism]: https://github.com/ruby/prism
231
231
  [psych]: https://github.com/ruby/psych
232
+ [ffi]: https://github.com/ffi/ffi
232
233
  [ts-json]: https://github.com/tree-sitter/tree-sitter-json
233
234
  [ts-jsonc]: https://gitlab.com/WhyNotHugo/tree-sitter-jsonc
234
235
  [ts-bash]: https://github.com/tree-sitter/tree-sitter-bash
@@ -243,6 +244,8 @@ tree_haver supports multiple parsing backends, but not all backends work on all
243
244
  [ruby_tree_sitter]: https://github.com/Faveod/ruby-tree-sitter
244
245
  [tree_stump]: https://github.com/joker1007/tree_stump
245
246
  [jtreesitter]: https://central.sonatype.com/artifact/io.github.tree-sitter/jtreesitter
247
+ [citrus]: https://github.com/mjackson/citrus
248
+ [parslet]: https://github.com/kschiess/parslet
246
249
 
247
250
  ## 💡 Info you can shake a stick at
248
251
 
@@ -657,9 +660,7 @@ Support us with a monthly donation and help us continue our activities. \[[Becom
657
660
  NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
658
661
 
659
662
  <!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
660
-
661
663
  No backers yet. Be the first!
662
-
663
664
  <!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
664
665
 
665
666
  ### Open Collective for Organizations
@@ -669,9 +670,7 @@ Become a sponsor and get your logo on our README on GitHub with a link to your s
669
670
  NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
670
671
 
671
672
  <!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
672
-
673
673
  No sponsors yet. Be the first!
674
-
675
674
  <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
676
675
 
677
676
  [kettle-readme-backers]: https://github.com/kettle-rb/bash-merge/blob/main/exe/kettle-readme-backers
@@ -977,7 +976,7 @@ Thanks for RTFM. ☺️
977
976
  [📌gitmoji]: https://gitmoji.dev
978
977
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
979
978
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
980
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.521-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
979
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.539-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
981
980
  [🔐security]: SECURITY.md
982
981
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
983
982
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -13,14 +13,16 @@ module Bash
13
13
  #
14
14
  # @param template_analysis [FileAnalysis] Analyzed template file
15
15
  # @param dest_analysis [FileAnalysis] Analyzed destination file
16
- # @param preference [Symbol] Which version to prefer when
16
+ # @param preference [Symbol, Hash] Which version to prefer when
17
17
  # nodes have matching signatures:
18
18
  # - :destination (default) - Keep destination version (customizations)
19
19
  # - :template - Use template version (updates)
20
20
  # @param add_template_only_nodes [Boolean] Whether to add nodes only in template
21
21
  # @param match_refiner [#call, nil] Optional match refiner for fuzzy matching
22
22
  # @param options [Hash] Additional options for forward compatibility
23
- def initialize(template_analysis, dest_analysis, preference: :destination, add_template_only_nodes: false, match_refiner: nil, **options)
23
+ # @param node_typing [Hash{Symbol,String => #call}, nil] Node typing configuration
24
+ # for per-node-type preferences
25
+ def initialize(template_analysis, dest_analysis, preference: :destination, add_template_only_nodes: false, match_refiner: nil, node_typing: nil, **options)
24
26
  super(
25
27
  strategy: :batch,
26
28
  preference: preference,
@@ -30,6 +32,7 @@ module Bash
30
32
  match_refiner: match_refiner,
31
33
  **options
32
34
  )
35
+ @node_typing = node_typing
33
36
  @emitter = Emitter.new
34
37
  end
35
38
 
@@ -98,11 +101,7 @@ module Bash
98
101
  template_node = template_info[:node]
99
102
 
100
103
  # Decide which to emit based on preference
101
- if @preference == :destination
102
- emit_node(dest_node, @dest_analysis)
103
- else
104
- emit_node(template_node, @template_analysis)
105
- end
104
+ emit_preferred_node(template_node, dest_node)
106
105
 
107
106
  processed_dest_sigs << dest_sig
108
107
  processed_template_sigs << dest_sig
@@ -131,6 +130,40 @@ module Bash
131
130
  end
132
131
  end
133
132
 
133
+ def emit_preferred_node(template_node, dest_node)
134
+ if preference_for_pair(template_node, dest_node) == :destination
135
+ emit_node(dest_node, @dest_analysis)
136
+ else
137
+ emit_node(template_node, @template_analysis)
138
+ end
139
+ end
140
+
141
+ def preference_for_pair(template_node, dest_node)
142
+ return @preference unless @preference.is_a?(Hash)
143
+
144
+ typed_template = apply_node_typing(template_node)
145
+ typed_dest = apply_node_typing(dest_node)
146
+
147
+ if Ast::Merge::NodeTyping.typed_node?(typed_template)
148
+ merge_type = Ast::Merge::NodeTyping.merge_type_for(typed_template)
149
+ return @preference.fetch(merge_type) { default_preference } if merge_type
150
+ end
151
+
152
+ if Ast::Merge::NodeTyping.typed_node?(typed_dest)
153
+ merge_type = Ast::Merge::NodeTyping.merge_type_for(typed_dest)
154
+ return @preference.fetch(merge_type) { default_preference } if merge_type
155
+ end
156
+
157
+ default_preference
158
+ end
159
+
160
+ def apply_node_typing(node)
161
+ return node unless @node_typing
162
+ return node unless node
163
+
164
+ Ast::Merge::NodeTyping.process(node, @node_typing)
165
+ end
166
+
134
167
  # Emit a single node to the emitter
135
168
  # @param node [NodeWrapper] Node to emit
136
169
  # @param analysis [FileAnalysis] Analysis for accessing source
@@ -176,6 +176,7 @@ module Bash
176
176
  @dest_analysis,
177
177
  preference: @preference,
178
178
  add_template_only_nodes: @add_template_only_nodes,
179
+ node_typing: @node_typing,
179
180
  )
180
181
  end
181
182
 
@@ -5,7 +5,7 @@ module Bash
5
5
  # Version information for Bash::Merge
6
6
  module Version
7
7
  # Current version of the bash-merge gem
8
- VERSION = "2.0.3"
8
+ VERSION = "2.0.5"
9
9
  end
10
10
  VERSION = Version::VERSION # traditional location
11
11
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bash-merge
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -46,7 +46,7 @@ dependencies:
46
46
  version: '5.0'
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 5.0.1
49
+ version: 5.0.3
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
@@ -56,7 +56,7 @@ dependencies:
56
56
  version: '5.0'
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 5.0.1
59
+ version: 5.0.3
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: ast-merge
62
62
  requirement: !ruby/object:Gem::Requirement
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: '4.0'
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 4.0.2
69
+ version: 4.0.5
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '4.0'
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 4.0.2
79
+ version: 4.0.5
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: version_gem
82
82
  requirement: !ruby/object:Gem::Requirement
@@ -315,10 +315,10 @@ licenses:
315
315
  - MIT
316
316
  metadata:
317
317
  homepage_uri: https://bash-merge.galtzo.com/
318
- source_code_uri: https://github.com/kettle-rb/bash-merge/tree/v2.0.3
319
- changelog_uri: https://github.com/kettle-rb/bash-merge/blob/v2.0.3/CHANGELOG.md
318
+ source_code_uri: https://github.com/kettle-rb/bash-merge/tree/v2.0.5
319
+ changelog_uri: https://github.com/kettle-rb/bash-merge/blob/v2.0.5/CHANGELOG.md
320
320
  bug_tracker_uri: https://github.com/kettle-rb/bash-merge/issues
321
- documentation_uri: https://www.rubydoc.info/gems/bash-merge/2.0.3
321
+ documentation_uri: https://www.rubydoc.info/gems/bash-merge/2.0.5
322
322
  funding_uri: https://github.com/sponsors/pboling
323
323
  wiki_uri: https://github.com/kettle-rb/bash-merge/wiki
324
324
  news_uri: https://www.railsbling.com/tags/bash-merge
@@ -347,7 +347,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
347
347
  - !ruby/object:Gem::Version
348
348
  version: '0'
349
349
  requirements: []
350
- rubygems_version: 4.0.3
350
+ rubygems_version: 4.0.5
351
351
  specification_version: 4
352
352
  summary: "☯️ Intelligent Bash script merging using tree-sitter AST analysis"
353
353
  test_files: []
metadata.gz.sig CHANGED
Binary file