json-merge 7.1.9 → 7.1.10

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: 0abd0b68d17376c3f60d55ec94aeb8b121fa36133eabd674189f69ac8c0ae2ef
4
- data.tar.gz: ebb06de9915928034b4c71e7d87157c1f3b5b0762f77ef808a92bd08407b06fc
3
+ metadata.gz: 68bd0996bc68a9790851b876e22a6c161d544372a51a8346708519e1b01fb18c
4
+ data.tar.gz: 5ac83977dc521465ced04f1ccc66b8a367ccfcd6440ec2e0e6fe8185b2d99ac4
5
5
  SHA512:
6
- metadata.gz: a3fadb448059c6340dae4a861a4e95e95ab5acd3a48d70ba4d7fd21c86976387aa313a864e0b08331dd46e1e94bb64c58066147ae9fc0826fc62ab2fbb5e9e16
7
- data.tar.gz: 5ebf35516e8ae03b732cc145719cc0ceb0c491141769edb205476ce83e6ba5b52010d5d384b647efaee7a2c44968aeac5aa576064858ead25cefdea4af378bcf
6
+ metadata.gz: 4270eb2c3a5dcb13bea3cdb200695a2c4e664ec806e6a66d7dd473881726eb9f74fbe3e598dfd519049f8e1ab972a6dbd349a5fe5c1162795b57ad96ba377785
7
+ data.tar.gz: 05bce7e1079e1f9871fa7628aaf27716a6fdc13e1475ac443bfabc82bf3e6f63127aa0dd833975b14527b0575c9bb9b3fbe9f4920ff15eb12a0a7736fa9f2150
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ast/merge'
4
+ require_relative 'typed_core_provider'
5
+
6
+ module Json
7
+ module Merge
8
+ # Compatibility name; no prototype dependency or host-owned merge logic.
9
+ class RustHostProvider < TypedCoreProvider
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ast/merge/typed_core_provider'
4
+
5
+ module Json
6
+ module Merge
7
+ class TypedCoreProvider < Ast::Merge::TypedCoreProvider
8
+ PROVIDER_ID = 'rust.json'
9
+ FAMILY = 'json'
10
+ OPERATIONS = %i[analyze diff2 merge2 merge3].freeze
11
+ CORE_PROVIDER = 'kernel.json'
12
+ CORE_PROFILE = 'kernel.json.nested.v1'
13
+ PACKAGE = 'json-merge'
14
+
15
+ private
16
+
17
+ def package_version = Json::Merge::Version::VERSION
18
+ end
19
+ end
20
+ end
@@ -5,7 +5,7 @@ module Json
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = '7.1.9'
8
+ VERSION = '7.1.10'
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location
data/lib/json/merge.rb CHANGED
@@ -39,13 +39,19 @@ module Json
39
39
  autoload :SmartMerger, 'json/merge/smart_merger'
40
40
  autoload :ObjectMatchRefiner, 'json/merge/object_match_refiner'
41
41
  autoload :Provider, 'json/merge/provider'
42
+ autoload :RustHostProvider, 'json/merge/rust_host_provider'
42
43
  autoload :SourceLocator, 'json/merge/source_locator'
43
44
  autoload :ThreeWayDecision, 'json/merge/three_way_decision'
44
45
 
45
46
  class << self
46
47
  def register_backend!
47
48
  BACKEND_REGISTRY.mutex.synchronize do
48
- return if BACKEND_REGISTRY.registered
49
+ # Only treat registration as complete when a JSON grammar actually
50
+ # registered; a transient TSLP hot-load failure (e.g. a failed
51
+ # on-demand grammar download) must stay retryable on later calls
52
+ # instead of latching "No parser registered for json" for the
53
+ # lifetime of the process.
54
+ return if BACKEND_REGISTRY.registered && TreeHaver.registered_languages(:json).any?
49
55
 
50
56
  TreeHaver::BackendRegistry.register(TREE_SITTER_BACKEND)
51
57
 
@@ -78,6 +84,14 @@ module Json
78
84
  Ast::Merge.register_provider(merge_provider, replace: replace)
79
85
  end
80
86
 
87
+ def rust_host_provider
88
+ @rust_host_provider ||= RustHostProvider.new
89
+ end
90
+
91
+ def register_rust_host_provider!(replace: false)
92
+ Ast::Merge.register_provider(rust_host_provider, replace: replace)
93
+ end
94
+
81
95
  def available_json_backends
82
96
  json_backend_available_for_analysis?(TREE_SITTER_BACKEND.id) ? [TREE_SITTER_BACKEND] : []
83
97
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json-merge
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.9
4
+ version: 7.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -43,28 +43,28 @@ dependencies:
43
43
  requirements:
44
44
  - - '='
45
45
  - !ruby/object:Gem::Version
46
- version: 7.1.9
46
+ version: 7.1.10
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.9
53
+ version: 7.1.10
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: tree_haver
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - '='
59
59
  - !ruby/object:Gem::Version
60
- version: 7.1.9
60
+ version: 7.1.10
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.9
67
+ version: 7.1.10
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: version_gem
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -91,20 +91,20 @@ dependencies:
91
91
  requirements:
92
92
  - - "~>"
93
93
  - !ruby/object:Gem::Version
94
- version: '3.0'
94
+ version: '3.1'
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: 3.0.34
97
+ version: 3.1.8
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '3.0'
104
+ version: '3.1'
105
105
  - - ">="
106
106
  - !ruby/object:Gem::Version
107
- version: 3.0.34
107
+ version: 3.1.8
108
108
  - !ruby/object:Gem::Dependency
109
109
  name: bundler-audit
110
110
  requirement: !ruby/object:Gem::Requirement
@@ -182,7 +182,7 @@ dependencies:
182
182
  version: '3.2'
183
183
  - - ">="
184
184
  - !ruby/object:Gem::Version
185
- version: 3.2.3
185
+ version: 3.2.5
186
186
  type: :development
187
187
  prerelease: false
188
188
  version_requirements: !ruby/object:Gem::Requirement
@@ -192,7 +192,7 @@ dependencies:
192
192
  version: '3.2'
193
193
  - - ">="
194
194
  - !ruby/object:Gem::Version
195
- version: 3.2.3
195
+ version: 3.2.5
196
196
  - !ruby/object:Gem::Dependency
197
197
  name: kettle-test
198
198
  requirement: !ruby/object:Gem::Requirement
@@ -202,7 +202,7 @@ dependencies:
202
202
  version: '2.0'
203
203
  - - ">="
204
204
  - !ruby/object:Gem::Version
205
- version: 2.0.21
205
+ version: 2.0.23
206
206
  type: :development
207
207
  prerelease: false
208
208
  version_requirements: !ruby/object:Gem::Requirement
@@ -212,7 +212,7 @@ dependencies:
212
212
  version: '2.0'
213
213
  - - ">="
214
214
  - !ruby/object:Gem::Version
215
- version: 2.0.21
215
+ version: 2.0.23
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: turbo_tests2
218
218
  requirement: !ruby/object:Gem::Requirement
@@ -222,7 +222,7 @@ dependencies:
222
222
  version: '3.2'
223
223
  - - ">="
224
224
  - !ruby/object:Gem::Version
225
- version: 3.2.7
225
+ version: 3.2.14
226
226
  type: :development
227
227
  prerelease: false
228
228
  version_requirements: !ruby/object:Gem::Requirement
@@ -232,7 +232,7 @@ dependencies:
232
232
  version: '3.2'
233
233
  - - ">="
234
234
  - !ruby/object:Gem::Version
235
- version: 3.2.7
235
+ version: 3.2.14
236
236
  - !ruby/object:Gem::Dependency
237
237
  name: ruby-progressbar
238
238
  requirement: !ruby/object:Gem::Requirement
@@ -256,7 +256,7 @@ dependencies:
256
256
  version: '1.0'
257
257
  - - ">="
258
258
  - !ruby/object:Gem::Version
259
- version: 1.0.8
259
+ version: 1.0.9
260
260
  type: :development
261
261
  prerelease: false
262
262
  version_requirements: !ruby/object:Gem::Requirement
@@ -266,7 +266,7 @@ dependencies:
266
266
  version: '1.0'
267
267
  - - ">="
268
268
  - !ruby/object:Gem::Version
269
- version: 1.0.8
269
+ version: 1.0.9
270
270
  - !ruby/object:Gem::Dependency
271
271
  name: gitmoji-regex
272
272
  requirement: !ruby/object:Gem::Requirement
@@ -276,7 +276,7 @@ dependencies:
276
276
  version: '2.0'
277
277
  - - ">="
278
278
  - !ruby/object:Gem::Version
279
- version: 2.0.12
279
+ version: 2.0.15
280
280
  type: :development
281
281
  prerelease: false
282
282
  version_requirements: !ruby/object:Gem::Requirement
@@ -286,7 +286,7 @@ dependencies:
286
286
  version: '2.0'
287
287
  - - ">="
288
288
  - !ruby/object:Gem::Version
289
- version: 2.0.12
289
+ version: 2.0.15
290
290
  description: "☯️ Portable JSON and JSONC analysis, owner matching, fallback, and merge
291
291
  behavior for Structured Merge."
292
292
  email:
@@ -309,9 +309,11 @@ files:
309
309
  - lib/json/merge/node_wrapper.rb
310
310
  - lib/json/merge/object_match_refiner.rb
311
311
  - lib/json/merge/provider.rb
312
+ - lib/json/merge/rust_host_provider.rb
312
313
  - lib/json/merge/smart_merger.rb
313
314
  - lib/json/merge/source_locator.rb
314
315
  - lib/json/merge/three_way_decision.rb
316
+ - lib/json/merge/typed_core_provider.rb
315
317
  - lib/json/merge/version.rb
316
318
  - sig/json/merge.rbs
317
319
  homepage: https://github.com/structuredmerge/structuredmerge-ruby
@@ -320,10 +322,10 @@ licenses:
320
322
  - PolyForm-Small-Business-1.0.0
321
323
  metadata:
322
324
  homepage_uri: https://structuredmerge.org
323
- source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.9
324
- changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.9/CHANGELOG.md
325
+ source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.10
326
+ changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.10/CHANGELOG.md
325
327
  bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
326
- documentation_uri: https://www.rubydoc.info/gems/json-merge/7.1.9
328
+ documentation_uri: https://www.rubydoc.info/gems/json-merge/7.1.10
327
329
  funding_uri: https://github.com/sponsors/pboling
328
330
  wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
329
331
  news_uri: https://www.railsbling.com/tags/json-merge
@@ -353,7 +355,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
353
355
  - !ruby/object:Gem::Version
354
356
  version: '0'
355
357
  requirements: []
356
- rubygems_version: 4.0.17
358
+ rubygems_version: 4.0.20
357
359
  specification_version: 4
358
360
  summary: "☯️ Structured Merge JSON analysis and merge for Ruby"
359
361
  test_files: []
metadata.gz.sig CHANGED
Binary file