bash-merge 1.0.2 → 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 +14 -1
- data/README.md +23 -21
- data/lib/bash/merge/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +8 -8
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fe623f331b7f75cf956604e4fbe0f8c8cf60955bc82ba6a8546a9b7a75a5e9fd
|
|
4
|
+
data.tar.gz: c392e8e939cf15870303f445e4e37c3036b663469c24a037a984b7c1dc5ee9ab
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f5e2f494e97dfb16d578380f06a75add04aedee4f2cc2934f59889334aef3065ce5be95568feb7a01ad29b9471874f6ac1a76e7c372b6dc29e09a2fcbef7b45a
|
|
7
|
+
data.tar.gz: 6092c5a5c70bcf81682dbabec13fd5f1d601b994c41606b6d6d78877dc9d4cd8ac82000e4ac09e283047b0c8834aba6b8a7c8845264da80df8917741933d3510
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,17 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [2.0.0] - 2026-01-06
|
|
34
|
+
|
|
35
|
+
- TAG: [v2.0.0][2.0.0t]
|
|
36
|
+
- COVERAGE: 100.00% -- 109/109 lines in 2 files
|
|
37
|
+
- BRANCH COVERAGE: 100.00% -- 28/28 branches in 2 files
|
|
38
|
+
- 96.46% documented
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- ast-merge v3.0.0 compatibility (breaking changes)
|
|
43
|
+
|
|
33
44
|
## [1.0.2] - 2026-01-02
|
|
34
45
|
|
|
35
46
|
- TAG: [v1.0.2][1.0.2t]
|
|
@@ -74,7 +85,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
74
85
|
|
|
75
86
|
### Security
|
|
76
87
|
|
|
77
|
-
[Unreleased]: https://github.com/kettle-rb/bash-merge/compare/
|
|
88
|
+
[Unreleased]: https://github.com/kettle-rb/bash-merge/compare/v2.0.0...HEAD
|
|
89
|
+
[2.0.0]: https://github.com/kettle-rb/bash-merge/compare/v1.0.2...v2.0.0
|
|
90
|
+
[2.0.0t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.0
|
|
78
91
|
[1.0.2]: https://github.com/kettle-rb/bash-merge/compare/v1.0.1...v1.0.2
|
|
79
92
|
[1.0.2t]: https://github.com/kettle-rb/bash-merge/releases/tag/v1.0.2
|
|
80
93
|
[1.0.1]: https://github.com/kettle-rb/bash-merge/compare/v1.0.0...v1.0.1
|
data/README.md
CHANGED
|
@@ -98,26 +98,25 @@ result = merger.merge
|
|
|
98
98
|
File.write("merged.sh", result.to_bash)
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
|
|
102
101
|
### The `*-merge` Gem Family
|
|
103
102
|
|
|
104
103
|
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.
|
|
105
104
|
|
|
106
|
-
| Gem | Format
|
|
107
|
-
|
|
108
|
-
| [tree_haver][tree_haver] | Multi
|
|
109
|
-
| [ast-merge][ast-merge] | Text
|
|
110
|
-
| [
|
|
111
|
-
| [
|
|
112
|
-
| [
|
|
113
|
-
| [
|
|
114
|
-
| [
|
|
115
|
-
| [
|
|
116
|
-
| [
|
|
117
|
-
| [
|
|
118
|
-
| [
|
|
119
|
-
| [
|
|
120
|
-
| [
|
|
105
|
+
| Gem | Language<br>/ Format | Parser Backend(s) | Description |
|
|
106
|
+
|------------------------------------------|----------------------|-----------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
|
|
107
|
+
| [tree_haver][tree_haver] | Multi | MRI C, Rust, FFI, Java, Prism, Psych, Commonmarker, Markly, Citrus | **Foundation**: Cross-Ruby adapter for parsing libraries (like Faraday for HTTP) |
|
|
108
|
+
| [ast-merge][ast-merge] | Text | internal | **Infrastructure**: Shared base classes and merge logic for all `*-merge` gems |
|
|
109
|
+
| [bash-merge][bash-merge] | Bash | [tree-sitter-bash][ts-bash] (via tree_haver) | Smart merge for Bash scripts |
|
|
110
|
+
| [commonmarker-merge][commonmarker-merge] | Markdown | [Commonmarker][commonmarker] (via tree_haver) | Smart merge for Markdown (CommonMark via comrak Rust) |
|
|
111
|
+
| [dotenv-merge][dotenv-merge] | Dotenv | internal | Smart merge for `.env` files |
|
|
112
|
+
| [json-merge][json-merge] | JSON | [tree-sitter-json][ts-json] (via tree_haver) | Smart merge for JSON files |
|
|
113
|
+
| [jsonc-merge][jsonc-merge] | JSONC | [tree-sitter-jsonc][ts-jsonc] (via tree_haver) | ⚠️ Proof of concept; Smart merge for JSON with Comments |
|
|
114
|
+
| [markdown-merge][markdown-merge] | Markdown | [Commonmarker][commonmarker] / [Markly][markly] (via tree_haver) | **Foundation**: Shared base for Markdown mergers with inner code block merging |
|
|
115
|
+
| [markly-merge][markly-merge] | Markdown | [Markly][markly] (via tree_haver) | Smart merge for Markdown (CommonMark via cmark-gfm C) |
|
|
116
|
+
| [prism-merge][prism-merge] | Ruby | [Prism][prism] (`prism` std lib gem) | Smart merge for Ruby source files |
|
|
117
|
+
| [psych-merge][psych-merge] | YAML | [Psych][psych] (`psych` std lib gem) | Smart merge for YAML files |
|
|
118
|
+
| [rbs-merge][rbs-merge] | RBS | [tree-sitter-bash][ts-rbs] (via tree_haver), [RBS][rbs] (`rbs` std lib gem) | Smart merge for Ruby type signatures |
|
|
119
|
+
| [toml-merge][toml-merge] | TOML | [Citrus + toml-rb][toml-rb] (default, via tree_haver), [tree-sitter-toml][ts-toml] (via tree_haver) | Smart merge for TOML files |
|
|
121
120
|
|
|
122
121
|
**Example implementations** for the gem templating use case:
|
|
123
122
|
|
|
@@ -206,12 +205,16 @@ The maintainers of this and thousands of other packages are working with Tidelif
|
|
|
206
205
|
[](https://tidelift.com/subscription/pkg/rubygems-bash-merge?utm_source=rubygems-bash-merge&utm_medium=referral&utm_campaign=readme)
|
|
207
206
|
|
|
208
207
|
- 💡Subscribe for support guarantees covering *all* your FLOSS dependencies
|
|
208
|
+
|
|
209
209
|
- 💡Tidelift is part of [Sonar](https://blog.tidelift.com/tidelift-joins-sonar)
|
|
210
|
+
|
|
210
211
|
- 💡Tidelift pays maintainers to maintain the software you depend on\!<br/>📊`@`Pointy Haired Boss: An [enterprise support](https://tidelift.com/subscription/pkg/rubygems-bash-merge?utm_source=rubygems-bash-merge&utm_medium=referral&utm_campaign=readme) subscription is "[never gonna let you down](https://www.youtube.com/watch?v=dQw4w9WgXcQ)", and *supports* open source maintainers
|
|
211
|
-
Alternatively:
|
|
212
|
+
Alternatively:
|
|
212
213
|
|
|
213
214
|
- [](https://discord.gg/3qme4XHNKN)
|
|
215
|
+
|
|
214
216
|
- [](https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share)
|
|
217
|
+
|
|
215
218
|
- [](https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github)
|
|
216
219
|
</details>
|
|
217
220
|
|
|
@@ -357,8 +360,7 @@ export TREE_SITTER_BASH_PATH="/path/to/libtree-sitter-bash.so"
|
|
|
357
360
|
If the gem can't find the parser, check for versioned files and either:
|
|
358
361
|
- Set `TREE_SITTER_BASH_PATH` to the full versioned path, or
|
|
359
362
|
- Create a symlink: `sudo ln -s /usr/lib64/libtree-sitter-bash.so.14 /usr/lib64/libtree-sitter-bash.so`
|
|
360
|
-
Add this to your shell profile (`.bashrc`, `.zshrc`, etc.) for persistence.
|
|
361
|
-
|
|
363
|
+
Add this to your shell profile (`.bashrc`, `.zshrc`, etc.) for persistence.
|
|
362
364
|
### 💎 Ruby Interface Gems
|
|
363
365
|
|
|
364
366
|
In addition to the tree-sitter parser library, you need a Ruby gem that provides
|
|
@@ -560,7 +562,7 @@ Support us with a monthly donation and help us continue our activities. \[[Becom
|
|
|
560
562
|
NOTE: [kettle-readme-backers](https://github.com/kettle-rb/bash-merge/blob/main/exe/kettle-readme-backers) updates this list every day, automatically.
|
|
561
563
|
|
|
562
564
|
<!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
|
|
563
|
-
No backers yet. Be the first
|
|
565
|
+
No backers yet. Be the first!
|
|
564
566
|
<!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
|
|
565
567
|
|
|
566
568
|
### Open Collective for Organizations
|
|
@@ -570,7 +572,7 @@ Become a sponsor and get your logo on our README on GitHub with a link to your s
|
|
|
570
572
|
NOTE: [kettle-readme-backers](https://github.com/kettle-rb/bash-merge/blob/main/exe/kettle-readme-backers) updates this list every day, automatically.
|
|
571
573
|
|
|
572
574
|
<!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
|
|
573
|
-
No sponsors yet. Be the first
|
|
575
|
+
No sponsors yet. Be the first!
|
|
574
576
|
<!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
|
|
575
577
|
|
|
576
578
|
[kettle-readme-backers]: https://github.com/kettle-rb/bash-merge/blob/main/exe/kettle-readme-backers
|
data/lib/bash/merge/version.rb
CHANGED
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:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -63,20 +63,20 @@ dependencies:
|
|
|
63
63
|
requirements:
|
|
64
64
|
- - "~>"
|
|
65
65
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: '
|
|
66
|
+
version: '3.0'
|
|
67
67
|
- - ">="
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version:
|
|
69
|
+
version: 3.0.0
|
|
70
70
|
type: :runtime
|
|
71
71
|
prerelease: false
|
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
73
|
requirements:
|
|
74
74
|
- - "~>"
|
|
75
75
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: '
|
|
76
|
+
version: '3.0'
|
|
77
77
|
- - ">="
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version:
|
|
79
|
+
version: 3.0.0
|
|
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/
|
|
319
|
-
changelog_uri: https://github.com/kettle-rb/bash-merge/blob/
|
|
318
|
+
source_code_uri: https://github.com/kettle-rb/bash-merge/tree/v2.0.0
|
|
319
|
+
changelog_uri: https://github.com/kettle-rb/bash-merge/blob/v2.0.0/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/
|
|
321
|
+
documentation_uri: https://www.rubydoc.info/gems/bash-merge/2.0.0
|
|
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
|
metadata.gz.sig
CHANGED
|
Binary file
|