smorg-rb 7.1.1 → 7.1.3

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: c450da4a626c5f983cd9b487e0e42714ad674003f3b779e99716ce9237268df9
4
- data.tar.gz: e21ef620c696b6cd36b4fd8bd0c7619cb788992f1a3685ca3e01e8c578633412
3
+ metadata.gz: e7aa889fb625e2e139a19101b23291fd91f8bfec64fdfb11f8c4635265a400aa
4
+ data.tar.gz: c5fbedc4b98a1e50822e67516e61e6172a8f28111e3b516d0388e3e417e85163
5
5
  SHA512:
6
- metadata.gz: befc7f7bd499c36ebfeaa1b04aea6fe1672db736a2a40081b759ccdedc364427c22088112e5d0849b395da1f21cf406e6c73f0aaa2d4a4730fcecdc1ed7169dc
7
- data.tar.gz: 8f3c51cd057fef2dadb1553c29b7eff34587afcd105bcdde4c78332baff7ac6b9c90f8ecb5b2313b48a7fd5943696130e4560eae497dc66dd15beba0766c5b14
6
+ metadata.gz: cf8b2baf7de0ce383932a0278d6e7f1cf44d7ca08cc15715c713f06792ab1ff90e12b0d7d30b4265d00b02ba3a1d90930a64d6a0dfa7b5e353612dd4824bf47c
7
+ data.tar.gz: 9de42f40bab39d40d17d6ee3c1d6a2e899621cb2503ce478e87e859a5ac25c233d146fd17af0029c6c18292f2481fe69d305eae8ad775d7fbd053227ba9ed08c
checksums.yaml.gz.sig CHANGED
Binary file
data/README.md CHANGED
@@ -45,7 +45,7 @@ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-ta
45
45
 
46
46
  ### Compatibility
47
47
 
48
- Compatible with MRI Ruby 4.0.0+, and concordant releases of JRuby, and TruffleRuby.
48
+ Compatible with MRI Ruby 4.0.0+, JRuby, and TruffleRuby.
49
49
  CI workflows and Appraisals are generated for MRI Ruby 4.0.0+.
50
50
  This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
51
51
  may be higher than the gem's runtime compatibility floor when legacy Rubies are
@@ -108,20 +108,12 @@ See [SECURITY.md][🔐security].
108
108
  ## 🤝 Contributing
109
109
 
110
110
  If you need some ideas of where to help, you could work on adding more code coverage,
111
- or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
112
- or use the gem and think about how it could be better.
111
+ check [issues][🤝gh-issues] or [PRs][🤝gh-pulls], or use the gem and think about how it could be better.
113
112
 
114
113
  We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
115
114
 
116
115
  See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
117
116
 
118
- ### Code Coverage
119
-
120
- <details markdown="1">
121
- <summary>Coverage service badges</summary>
122
-
123
- </details>
124
-
125
117
  ## 📌 Versioning
126
118
 
127
119
  This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
@@ -5,7 +5,7 @@ module Smorg
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = '7.1.1'
8
+ VERSION = '7.1.3'
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location
data/lib/smorg/rb.rb CHANGED
@@ -1,17 +1,25 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'English'
4
+ require 'bash/merge'
4
5
  require 'go-merge'
6
+ require 'html/merge'
5
7
  require 'ast/merge'
6
8
  require 'ast-merge-git'
7
9
  require 'diff/lcs'
8
10
  require 'diff/lcs/hunk'
11
+ require 'dotenv/merge'
9
12
  require 'json'
10
13
  require 'json-merge'
11
14
  require 'kettle/jem'
12
15
  require 'kettle/jem/tasks/install_task'
13
- require 'markly/merge'
16
+ require 'markdown/merge'
14
17
  require 'plain-merge'
18
+ require 'rbs/merge'
19
+ require 'ruby/merge'
20
+ require 'toml/merge'
21
+ require 'typescript/merge'
22
+ require 'yaml/merge'
15
23
  require_relative 'rb/version'
16
24
 
17
25
  module Smorg
@@ -438,7 +446,8 @@ module Smorg
438
446
  path_name: path_name,
439
447
  ok: ok,
440
448
  exit_code: exit_code,
441
- fallbacks: fallbacks,
449
+ fallbacks: result.fetch(:fallbacks, []) + fallbacks,
450
+ conflicts: result.fetch(:conflicts, []),
442
451
  change_classifications: result.fetch(:change_classifications, []),
443
452
  owned_regions: result.fetch(:owned_regions, []),
444
453
  render_report: result[:render_report],
@@ -447,6 +456,8 @@ module Smorg
447
456
  secondary_formatting_metrics: result[:secondary_formatting_metrics],
448
457
  default_driver_evaluation: result[:default_driver_evaluation],
449
458
  profile: result[:profile],
459
+ provider: result[:provider],
460
+ verification: result[:verification],
450
461
  diagnostics: result.fetch(:diagnostics, [])
451
462
  }
452
463
  File.write(report_path, "#{JSON.pretty_generate(Ast::Merge.json_ready(report))}\n")
@@ -632,12 +643,27 @@ module Smorg
632
643
  end
633
644
 
634
645
  [
646
+ '*.bash merge=smorg-rb diff=smorg-rb smorg.language=bash',
635
647
  '*.go merge=smorg-rb diff=smorg-rb smorg.language=go',
648
+ '*.htm merge=smorg-rb diff=smorg-rb smorg.language=html',
649
+ '*.html merge=smorg-rb diff=smorg-rb smorg.language=html',
650
+ '*.env merge=smorg-rb diff=smorg-rb smorg.language=dotenv',
651
+ '.env merge=smorg-rb diff=smorg-rb smorg.language=dotenv',
652
+ '.env.* merge=smorg-rb diff=smorg-rb smorg.language=dotenv',
636
653
  '*.json merge=smorg-rb diff=smorg-rb smorg.language=json',
637
654
  '*.jsonc merge=smorg-rb diff=smorg-rb smorg.language=jsonc',
638
655
  '*.json5 merge=smorg-rb diff=smorg-rb smorg.language=json5',
639
656
  '*.md merge=smorg-rb diff=smorg-rb smorg.language=markdown',
640
- '*.markdown merge=smorg-rb diff=smorg-rb smorg.language=markdown'
657
+ '*.markdown merge=smorg-rb diff=smorg-rb smorg.language=markdown',
658
+ '*.rb merge=smorg-rb diff=smorg-rb smorg.language=ruby',
659
+ '*.rbs merge=smorg-rb diff=smorg-rb smorg.language=rbs',
660
+ '*.rs merge=smorg-rb diff=smorg-rb smorg.language=rust',
661
+ '*.sh merge=smorg-rb diff=smorg-rb smorg.language=bash',
662
+ '*.toml merge=smorg-rb diff=smorg-rb smorg.language=toml',
663
+ '*.ts merge=smorg-rb diff=smorg-rb smorg.language=typescript',
664
+ '*.tsx merge=smorg-rb diff=smorg-rb smorg.language=tsx',
665
+ '*.yml merge=smorg-rb diff=smorg-rb smorg.language=yaml',
666
+ '*.yaml merge=smorg-rb diff=smorg-rb smorg.language=yaml'
641
667
  ].each { |line| stdout.puts(line) }
642
668
  EXIT_SUCCESS
643
669
  end
@@ -645,151 +671,215 @@ module Smorg
645
671
  def merge_by_path(path_name, language, conflict_marker_size, fallback_policy, ancestor_source, current_source,
646
672
  other_source)
647
673
  case normalize_language(language, path_name)
674
+ when 'bash'
675
+ merge3_result(
676
+ Ast::Merge::Git.merge3(
677
+ base_source: ancestor_source,
678
+ ours_source: current_source,
679
+ theirs_source: other_source,
680
+ path_name: path_name,
681
+ provider_id: 'ruby.bash',
682
+ family: 'bash',
683
+ dialect: 'bash',
684
+ backend: 'kreuzberg-language-pack',
685
+ profile_id: 'source_preserving',
686
+ fallback_policy: fallback_policy,
687
+ conflict_marker_size: conflict_marker_size
688
+ )
689
+ )
648
690
  when 'go'
649
- Go::Merge.merge_go(other_source, current_source, 'go')
650
- when 'json'
651
691
  merge3_result(
652
692
  Ast::Merge::Git.merge3(
653
693
  base_source: ancestor_source,
654
694
  ours_source: current_source,
655
695
  theirs_source: other_source,
656
696
  path_name: path_name,
657
- language: 'json',
658
- dialect: 'json',
659
- profile_id: 'json.keyed-object',
697
+ provider_id: 'ruby.go',
698
+ family: 'go',
699
+ dialect: 'go',
700
+ backend: 'kreuzberg-language-pack',
701
+ profile_id: 'source_preserving',
660
702
  fallback_policy: fallback_policy,
661
- conflict_marker_size: conflict_marker_size,
662
- render_policy: 'canonical'
703
+ conflict_marker_size: conflict_marker_size
704
+ )
705
+ )
706
+ when 'html'
707
+ merge3_result(
708
+ Ast::Merge::Git.merge3(
709
+ base_source: ancestor_source,
710
+ ours_source: current_source,
711
+ theirs_source: other_source,
712
+ path_name: path_name,
713
+ provider_id: 'ruby.html',
714
+ family: 'html',
715
+ dialect: 'html',
716
+ backend: 'kreuzberg-language-pack',
717
+ profile_id: 'source_preserving',
718
+ fallback_policy: fallback_policy,
719
+ conflict_marker_size: conflict_marker_size
720
+ )
721
+ )
722
+ when 'dotenv'
723
+ merge3_result(
724
+ Ast::Merge::Git.merge3(
725
+ base_source: ancestor_source,
726
+ ours_source: current_source,
727
+ theirs_source: other_source,
728
+ path_name: path_name,
729
+ family: 'dotenv',
730
+ dialect: 'dotenv',
731
+ backend: 'dotenv-line',
732
+ profile_id: 'source_preserving',
733
+ fallback_policy: fallback_policy,
734
+ conflict_marker_size: conflict_marker_size
735
+ )
736
+ )
737
+ when 'json', 'jsonc', 'json5'
738
+ merge3_result(
739
+ Ast::Merge::Git.merge3(
740
+ base_source: ancestor_source,
741
+ ours_source: current_source,
742
+ theirs_source: other_source,
743
+ path_name: path_name,
744
+ family: 'json',
745
+ dialect: normalize_language(language, path_name),
746
+ profile_id: 'source_preserving',
747
+ fallback_policy: fallback_policy,
748
+ conflict_marker_size: conflict_marker_size
663
749
  )
664
750
  )
665
- when 'jsonc'
666
- Json::Merge.merge_json(other_source, current_source, 'jsonc')
667
- when 'json5'
668
- Json::Merge.merge_json(other_source, current_source, 'json5')
669
751
  when 'markdown'
670
- merge_markdown(ancestor_source, current_source, other_source)
752
+ merge3_result(
753
+ Ast::Merge::Git.merge3(
754
+ base_source: ancestor_source,
755
+ ours_source: current_source,
756
+ theirs_source: other_source,
757
+ path_name: path_name,
758
+ provider_id: 'ruby.markdown',
759
+ family: 'markdown',
760
+ dialect: 'markdown',
761
+ backend: 'kreuzberg-language-pack',
762
+ profile_id: 'source_preserving',
763
+ fallback_policy: fallback_policy,
764
+ conflict_marker_size: conflict_marker_size
765
+ )
766
+ )
767
+ when 'ruby'
768
+ merge3_result(
769
+ Ast::Merge::Git.merge3(
770
+ base_source: ancestor_source,
771
+ ours_source: current_source,
772
+ theirs_source: other_source,
773
+ path_name: path_name,
774
+ provider_id: 'ruby.ruby',
775
+ family: 'ruby',
776
+ dialect: 'ruby',
777
+ backend: 'prism',
778
+ profile_id: 'source_preserving',
779
+ fallback_policy: fallback_policy,
780
+ conflict_marker_size: conflict_marker_size
781
+ )
782
+ )
783
+ when 'rbs'
784
+ merge3_result(
785
+ Ast::Merge::Git.merge3(
786
+ base_source: ancestor_source,
787
+ ours_source: current_source,
788
+ theirs_source: other_source,
789
+ path_name: path_name,
790
+ provider_id: 'ruby.rbs',
791
+ family: 'rbs',
792
+ dialect: 'rbs',
793
+ backend: 'rbs',
794
+ profile_id: 'source_preserving',
795
+ fallback_policy: fallback_policy,
796
+ conflict_marker_size: conflict_marker_size
797
+ )
798
+ )
799
+ when 'rust'
800
+ merge3_result(
801
+ Ast::Merge::Git.merge3(
802
+ base_source: ancestor_source,
803
+ ours_source: current_source,
804
+ theirs_source: other_source,
805
+ path_name: path_name,
806
+ provider_id: 'ruby.rust',
807
+ family: 'rust',
808
+ dialect: 'rust',
809
+ backend: 'kreuzberg-language-pack',
810
+ profile_id: 'source_preserving',
811
+ fallback_policy: fallback_policy,
812
+ conflict_marker_size: conflict_marker_size
813
+ )
814
+ )
815
+ when 'toml'
816
+ merge3_result(
817
+ Ast::Merge::Git.merge3(
818
+ base_source: ancestor_source,
819
+ ours_source: current_source,
820
+ theirs_source: other_source,
821
+ path_name: path_name,
822
+ provider_id: 'ruby.toml',
823
+ family: 'toml',
824
+ dialect: 'toml',
825
+ backend: 'kreuzberg-language-pack',
826
+ profile_id: 'source_preserving',
827
+ fallback_policy: fallback_policy,
828
+ conflict_marker_size: conflict_marker_size
829
+ )
830
+ )
831
+ when 'typescript', 'tsx'
832
+ dialect = normalize_language(language, path_name)
833
+ merge3_result(
834
+ Ast::Merge::Git.merge3(
835
+ base_source: ancestor_source,
836
+ ours_source: current_source,
837
+ theirs_source: other_source,
838
+ path_name: path_name,
839
+ provider_id: 'ruby.typescript',
840
+ family: 'typescript',
841
+ dialect: dialect,
842
+ backend: 'kreuzberg-language-pack',
843
+ profile_id: 'source_preserving',
844
+ fallback_policy: fallback_policy,
845
+ conflict_marker_size: conflict_marker_size
846
+ )
847
+ )
848
+ when 'yaml'
849
+ merge3_result(
850
+ Ast::Merge::Git.merge3(
851
+ base_source: ancestor_source,
852
+ ours_source: current_source,
853
+ theirs_source: other_source,
854
+ path_name: path_name,
855
+ provider_id: 'ruby.yaml',
856
+ family: 'yaml',
857
+ dialect: 'yaml',
858
+ backend: 'kreuzberg-language-pack',
859
+ profile_id: 'source_preserving',
860
+ fallback_policy: fallback_policy,
861
+ conflict_marker_size: conflict_marker_size
862
+ )
863
+ )
671
864
  when 'text'
672
- Plain::Merge.merge_text(other_source, current_source)
865
+ merge3_result(
866
+ Ast::Merge::Git.merge3(
867
+ base_source: ancestor_source,
868
+ ours_source: current_source,
869
+ theirs_source: other_source,
870
+ path_name: path_name,
871
+ family: 'text',
872
+ dialect: 'text',
873
+ profile_id: 'coarse_document',
874
+ fallback_policy: fallback_policy,
875
+ conflict_marker_size: conflict_marker_size
876
+ )
877
+ )
673
878
  else
674
879
  unsupported_language_result(normalize_language(language, path_name), path_name)
675
880
  end
676
881
  end
677
882
 
678
- def merge_markdown(ancestor_source, current_source, other_source)
679
- return { ok: true, diagnostics: [], output: current_source, policies: [] } if other_source == ancestor_source
680
- return { ok: true, diagnostics: [], output: other_source, policies: [] } if current_source == ancestor_source
681
- if markdown_theirs_changes_already_present?(ancestor_source, current_source, other_source)
682
- return { ok: true, diagnostics: [], output: current_source, policies: [] }
683
- end
684
-
685
- result = Markly::Merge::SmartMerger.new(
686
- other_source,
687
- current_source,
688
- add_template_only_nodes: true,
689
- inner_merge_code_blocks: true,
690
- inner_merge_lists: true,
691
- normalize_whitespace: :basic
692
- ).merge_result
693
- {
694
- ok: result.success?,
695
- diagnostics: result.conflicts.map do |conflict|
696
- {
697
- severity: 'error',
698
- category: 'merge_conflict',
699
- message: conflict[:message] || conflict[:reason] || 'unresolved Markdown conflict'
700
- }
701
- end,
702
- output: result.content,
703
- policies: []
704
- }
705
- rescue Markdown::Merge::ParseError => e
706
- {
707
- ok: false,
708
- diagnostics: [{ severity: 'error', category: 'parse_error', message: e.message }],
709
- policies: []
710
- }
711
- rescue StandardError => e
712
- {
713
- ok: false,
714
- diagnostics: [{ severity: 'error', category: 'merge_error', message: e.message }],
715
- policies: []
716
- }
717
- end
718
-
719
- def markdown_theirs_changes_already_present?(ancestor_source, current_source, other_source)
720
- ancestor_sections = markdown_sections(ancestor_source)
721
- current_sections = markdown_sections(current_source)
722
- other_sections = markdown_sections(other_source)
723
- return false unless ancestor_sections && current_sections && other_sections
724
-
725
- ancestor_by_path = sections_by_path(ancestor_sections)
726
- ancestor_by_heading = sections_by_heading(ancestor_sections)
727
- current_by_path = sections_by_path(current_sections)
728
- current_by_heading = sections_by_heading(current_sections)
729
-
730
- changed_sections = other_sections.filter do |section|
731
- ancestor_text = ancestor_by_path[section[:path]] || ancestor_by_heading[markdown_heading_key(section[:text])]
732
- ancestor_text != section[:text]
733
- end
734
- return false if changed_sections.empty?
735
-
736
- changed_sections.all? do |section|
737
- other_text = section[:text]
738
- heading_key = markdown_heading_key(other_text)
739
- ancestor_text = ancestor_by_heading[heading_key] || ancestor_by_path.fetch(section[:path], '')
740
- current_text = current_by_heading[heading_key] || current_by_path[section[:path]]
741
- next false unless current_text
742
-
743
- introduced_tokens = markdown_significant_tokens(other_text) - markdown_significant_tokens(ancestor_text)
744
- !introduced_tokens.empty? && introduced_tokens.subset?(markdown_significant_tokens(current_text))
745
- end
746
- end
747
-
748
- def markdown_sections(source)
749
- parsed = Markly::Merge.parse_markdown(source, 'markdown')
750
- return nil unless parsed[:ok]
751
-
752
- Markdown::Merge.collect_markdown_sections(
753
- parsed.dig(:analysis, :normalized_source),
754
- parsed.dig(:analysis, :owners)
755
- )
756
- end
757
-
758
- def sections_by_path(sections)
759
- sections.to_h { |section| [section[:path], section[:text]] }
760
- end
761
-
762
- def sections_by_heading(sections)
763
- sections.each_with_object({}) do |section, map|
764
- key = markdown_heading_key(section[:text])
765
- map[key] ||= section[:text] unless key.empty?
766
- end
767
- end
768
-
769
- def markdown_heading_key(section_text)
770
- heading = section_text.each_line.find { |line| line.start_with?('#') }.to_s.strip
771
- heading = heading.delete_prefix('#').strip while heading.start_with?('#')
772
- heading.downcase
773
- end
774
-
775
- def markdown_significant_tokens(source)
776
- source.split.each_with_object(Set.new) do |raw_token, tokens|
777
- token = normalize_markdown_token(raw_token)
778
- tokens << token if token.length >= 8
779
- end
780
- end
781
-
782
- def normalize_markdown_token(raw_token)
783
- token = raw_token.downcase
784
- loop do
785
- previous = token
786
- token = token.delete_prefix('(').delete_prefix('[').delete_prefix('{').delete_prefix('<')
787
- token = token.delete_suffix(')').delete_suffix(']').delete_suffix('}').delete_suffix('>')
788
- token = token.delete_suffix('.').delete_suffix(',').delete_suffix(';').delete_suffix(':')
789
- return token if token == previous
790
- end
791
- end
792
-
793
883
  def unsupported_language_result(language, path_name)
794
884
  {
795
885
  ok: false,
@@ -807,10 +897,10 @@ module Smorg
807
897
  def merge3_result(result)
808
898
  merge3_report_fields = {
809
899
  change_classifications: result.fetch(:change_classifications, []),
810
- reparse_after_render: result[:reparse_after_render],
811
- formatting_preservation: result[:formatting_preservation],
812
- secondary_formatting_metrics: result[:secondary_formatting_metrics],
813
- default_driver_evaluation: result[:default_driver_evaluation]
900
+ conflicts: result.fetch(:conflicts, []),
901
+ fallbacks: result.fetch(:fallbacks, []),
902
+ provider: result.fetch(:provider, {}),
903
+ verification: result.fetch(:verification, {})
814
904
  }
815
905
  if result[:ok] && result[:merged_source]
816
906
  {
@@ -848,9 +938,22 @@ module Smorg
848
938
  end
849
939
 
850
940
  def normalize_language(language, path_name)
941
+ return 'bash' if language.to_s.strip.empty? && %w[.bash .sh].include?(File.extname(path_name.to_s).downcase)
942
+ return 'go' if language.to_s.strip.empty? && File.extname(path_name.to_s).downcase == '.go'
943
+ return 'html' if language.to_s.strip.empty? && %w[.htm .html].include?(File.extname(path_name.to_s).downcase)
944
+ return 'rust' if language.to_s.strip.empty? && File.extname(path_name.to_s).downcase == '.rs'
945
+ return 'typescript' if language.to_s.strip.empty? && File.extname(path_name.to_s).downcase == '.ts'
946
+ return 'tsx' if language.to_s.strip.empty? && File.extname(path_name.to_s).downcase == '.tsx'
947
+
851
948
  case language.to_s.strip.downcase
949
+ when 'bash', 'sh', 'application/x-sh', 'text/x-shellscript'
950
+ 'bash'
852
951
  when 'go', 'golang'
853
952
  'go'
953
+ when 'html', 'htm', 'text/html', 'html5'
954
+ 'html'
955
+ when 'dotenv', 'env', 'config-env'
956
+ 'dotenv'
854
957
  when 'json'
855
958
  'json'
856
959
  when 'jsonc', 'json with comments'
@@ -859,6 +962,20 @@ module Smorg
859
962
  'json5'
860
963
  when 'markdown', 'md', 'gfm', 'text/markdown'
861
964
  'markdown'
965
+ when 'ruby', 'rb', 'application/x-ruby'
966
+ 'ruby'
967
+ when 'rbs'
968
+ 'rbs'
969
+ when 'rust', 'rs', 'application/rust', 'text/rust'
970
+ 'rust'
971
+ when 'toml', 'application/toml'
972
+ 'toml'
973
+ when 'typescript', 'ts', 'application/typescript', 'text/typescript'
974
+ 'typescript'
975
+ when 'tsx', 'typescriptreact'
976
+ 'tsx'
977
+ when 'yaml', 'yml', 'application/yaml', 'text/yaml'
978
+ 'yaml'
862
979
  when 'plain', 'text', 'plaintext', 'text/plain'
863
980
  'text'
864
981
  else
@@ -973,3 +1090,5 @@ module Smorg
973
1090
  end
974
1091
  end
975
1092
  end
1093
+
1094
+ require 'rust/merge'
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smorg-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.1
4
+ version: 7.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -43,28 +43,42 @@ dependencies:
43
43
  requirements:
44
44
  - - '='
45
45
  - !ruby/object:Gem::Version
46
- version: 7.1.1
46
+ version: 7.1.3
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - '='
52
52
  - !ruby/object:Gem::Version
53
- version: 7.1.1
53
+ version: 7.1.3
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: ast-merge-git
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - '='
59
59
  - !ruby/object:Gem::Version
60
- version: 7.1.1
60
+ version: 7.1.3
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - '='
66
66
  - !ruby/object:Gem::Version
67
- version: 7.1.1
67
+ version: 7.1.3
68
+ - !ruby/object:Gem::Dependency
69
+ name: bash-merge
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '='
73
+ - !ruby/object:Gem::Version
74
+ version: 7.1.3
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - '='
80
+ - !ruby/object:Gem::Version
81
+ version: 7.1.3
68
82
  - !ruby/object:Gem::Dependency
69
83
  name: diff-lcs
70
84
  requirement: !ruby/object:Gem::Requirement
@@ -79,76 +93,180 @@ dependencies:
79
93
  - - "~>"
80
94
  - !ruby/object:Gem::Version
81
95
  version: '1.5'
96
+ - !ruby/object:Gem::Dependency
97
+ name: dotenv-merge
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - '='
101
+ - !ruby/object:Gem::Version
102
+ version: 7.1.3
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - '='
108
+ - !ruby/object:Gem::Version
109
+ version: 7.1.3
82
110
  - !ruby/object:Gem::Dependency
83
111
  name: go-merge
84
112
  requirement: !ruby/object:Gem::Requirement
85
113
  requirements:
86
114
  - - '='
87
115
  - !ruby/object:Gem::Version
88
- version: 7.1.1
116
+ version: 7.1.3
89
117
  type: :runtime
90
118
  prerelease: false
91
119
  version_requirements: !ruby/object:Gem::Requirement
92
120
  requirements:
93
121
  - - '='
94
122
  - !ruby/object:Gem::Version
95
- version: 7.1.1
123
+ version: 7.1.3
124
+ - !ruby/object:Gem::Dependency
125
+ name: html-merge
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - '='
129
+ - !ruby/object:Gem::Version
130
+ version: 7.1.3
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - '='
136
+ - !ruby/object:Gem::Version
137
+ version: 7.1.3
96
138
  - !ruby/object:Gem::Dependency
97
139
  name: json-merge
98
140
  requirement: !ruby/object:Gem::Requirement
99
141
  requirements:
100
142
  - - '='
101
143
  - !ruby/object:Gem::Version
102
- version: 7.1.1
144
+ version: 7.1.3
103
145
  type: :runtime
104
146
  prerelease: false
105
147
  version_requirements: !ruby/object:Gem::Requirement
106
148
  requirements:
107
149
  - - '='
108
150
  - !ruby/object:Gem::Version
109
- version: 7.1.1
151
+ version: 7.1.3
110
152
  - !ruby/object:Gem::Dependency
111
153
  name: kettle-jem
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '7.1'
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: 7.1.3
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: '7.1'
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: 7.1.3
172
+ - !ruby/object:Gem::Dependency
173
+ name: markdown-merge
112
174
  requirement: !ruby/object:Gem::Requirement
113
175
  requirements:
114
176
  - - '='
115
177
  - !ruby/object:Gem::Version
116
- version: 7.1.1
178
+ version: 7.1.3
117
179
  type: :runtime
118
180
  prerelease: false
119
181
  version_requirements: !ruby/object:Gem::Requirement
120
182
  requirements:
121
183
  - - '='
122
184
  - !ruby/object:Gem::Version
123
- version: 7.1.1
185
+ version: 7.1.3
124
186
  - !ruby/object:Gem::Dependency
125
- name: markly-merge
187
+ name: plain-merge
126
188
  requirement: !ruby/object:Gem::Requirement
127
189
  requirements:
128
190
  - - '='
129
191
  - !ruby/object:Gem::Version
130
- version: 7.1.1
192
+ version: 7.1.3
131
193
  type: :runtime
132
194
  prerelease: false
133
195
  version_requirements: !ruby/object:Gem::Requirement
134
196
  requirements:
135
197
  - - '='
136
198
  - !ruby/object:Gem::Version
137
- version: 7.1.1
199
+ version: 7.1.3
138
200
  - !ruby/object:Gem::Dependency
139
- name: plain-merge
201
+ name: rbs-merge
140
202
  requirement: !ruby/object:Gem::Requirement
141
203
  requirements:
142
204
  - - '='
143
205
  - !ruby/object:Gem::Version
144
- version: 7.1.1
206
+ version: 7.1.3
145
207
  type: :runtime
146
208
  prerelease: false
147
209
  version_requirements: !ruby/object:Gem::Requirement
148
210
  requirements:
149
211
  - - '='
150
212
  - !ruby/object:Gem::Version
151
- version: 7.1.1
213
+ version: 7.1.3
214
+ - !ruby/object:Gem::Dependency
215
+ name: ruby-merge
216
+ requirement: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - '='
219
+ - !ruby/object:Gem::Version
220
+ version: 7.1.3
221
+ type: :runtime
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - '='
226
+ - !ruby/object:Gem::Version
227
+ version: 7.1.3
228
+ - !ruby/object:Gem::Dependency
229
+ name: rust-merge
230
+ requirement: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - '='
233
+ - !ruby/object:Gem::Version
234
+ version: 7.1.3
235
+ type: :runtime
236
+ prerelease: false
237
+ version_requirements: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - '='
240
+ - !ruby/object:Gem::Version
241
+ version: 7.1.3
242
+ - !ruby/object:Gem::Dependency
243
+ name: toml-merge
244
+ requirement: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - '='
247
+ - !ruby/object:Gem::Version
248
+ version: 7.1.3
249
+ type: :runtime
250
+ prerelease: false
251
+ version_requirements: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - '='
254
+ - !ruby/object:Gem::Version
255
+ version: 7.1.3
256
+ - !ruby/object:Gem::Dependency
257
+ name: typescript-merge
258
+ requirement: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - '='
261
+ - !ruby/object:Gem::Version
262
+ version: 7.1.3
263
+ type: :runtime
264
+ prerelease: false
265
+ version_requirements: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - '='
268
+ - !ruby/object:Gem::Version
269
+ version: 7.1.3
152
270
  - !ruby/object:Gem::Dependency
153
271
  name: version_gem
154
272
  requirement: !ruby/object:Gem::Requirement
@@ -169,26 +287,40 @@ dependencies:
169
287
  - - ">="
170
288
  - !ruby/object:Gem::Version
171
289
  version: 1.1.15
290
+ - !ruby/object:Gem::Dependency
291
+ name: yaml-merge
292
+ requirement: !ruby/object:Gem::Requirement
293
+ requirements:
294
+ - - '='
295
+ - !ruby/object:Gem::Version
296
+ version: 7.1.3
297
+ type: :runtime
298
+ prerelease: false
299
+ version_requirements: !ruby/object:Gem::Requirement
300
+ requirements:
301
+ - - '='
302
+ - !ruby/object:Gem::Version
303
+ version: 7.1.3
172
304
  - !ruby/object:Gem::Dependency
173
305
  name: kettle-dev
174
306
  requirement: !ruby/object:Gem::Requirement
175
307
  requirements:
176
308
  - - "~>"
177
309
  - !ruby/object:Gem::Version
178
- version: '2.5'
310
+ version: '3.0'
179
311
  - - ">="
180
312
  - !ruby/object:Gem::Version
181
- version: 2.5.17
313
+ version: 3.0.0
182
314
  type: :development
183
315
  prerelease: false
184
316
  version_requirements: !ruby/object:Gem::Requirement
185
317
  requirements:
186
318
  - - "~>"
187
319
  - !ruby/object:Gem::Version
188
- version: '2.5'
320
+ version: '3.0'
189
321
  - - ">="
190
322
  - !ruby/object:Gem::Version
191
- version: 2.5.17
323
+ version: 3.0.0
192
324
  - !ruby/object:Gem::Dependency
193
325
  name: bundler-audit
194
326
  requirement: !ruby/object:Gem::Requirement
@@ -266,7 +398,7 @@ dependencies:
266
398
  version: '3.2'
267
399
  - - ">="
268
400
  - !ruby/object:Gem::Version
269
- version: 3.2.0
401
+ version: 3.2.2
270
402
  type: :development
271
403
  prerelease: false
272
404
  version_requirements: !ruby/object:Gem::Requirement
@@ -276,7 +408,7 @@ dependencies:
276
408
  version: '3.2'
277
409
  - - ">="
278
410
  - !ruby/object:Gem::Version
279
- version: 3.2.0
411
+ version: 3.2.2
280
412
  - !ruby/object:Gem::Dependency
281
413
  name: kettle-test
282
414
  requirement: !ruby/object:Gem::Requirement
@@ -306,7 +438,7 @@ dependencies:
306
438
  version: '3.2'
307
439
  - - ">="
308
440
  - !ruby/object:Gem::Version
309
- version: 3.2.4
441
+ version: 3.2.5
310
442
  type: :development
311
443
  prerelease: false
312
444
  version_requirements: !ruby/object:Gem::Requirement
@@ -316,7 +448,7 @@ dependencies:
316
448
  version: '3.2'
317
449
  - - ">="
318
450
  - !ruby/object:Gem::Version
319
- version: 3.2.4
451
+ version: 3.2.5
320
452
  - !ruby/object:Gem::Dependency
321
453
  name: ruby-progressbar
322
454
  requirement: !ruby/object:Gem::Requirement
@@ -393,10 +525,10 @@ licenses:
393
525
  - PolyForm-Small-Business-1.0.0
394
526
  metadata:
395
527
  homepage_uri: https://structuredmerge.org
396
- source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.1
397
- changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.1/CHANGELOG.md
528
+ source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.3
529
+ changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.3/CHANGELOG.md
398
530
  bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
399
- documentation_uri: https://www.rubydoc.info/gems/smorg-rb/7.1.1
531
+ documentation_uri: https://www.rubydoc.info/gems/smorg-rb/7.1.3
400
532
  funding_uri: https://github.com/sponsors/pboling
401
533
  wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
402
534
  news_uri: https://www.railsbling.com/tags/smorg-rb
metadata.gz.sig CHANGED
Binary file