ast-merge 3.1.0 → 4.0.1
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 +109 -1
- data/README.md +228 -179
- data/exe/ast-merge-recipe +20 -0
- data/lib/ast/merge/ast_node.rb +15 -19
- data/lib/ast/merge/conflict_resolver_base.rb +47 -1
- data/lib/ast/merge/diff_mapper_base.rb +245 -0
- data/lib/ast/merge/navigable/injection_point.rb +132 -0
- data/lib/ast/merge/navigable/injection_point_finder.rb +98 -0
- data/lib/ast/merge/navigable/statement.rb +380 -0
- data/lib/ast/merge/navigable.rb +20 -0
- data/lib/ast/merge/partial_template_merger_base.rb +4 -2
- data/lib/ast/merge/recipe/preset.rb +18 -0
- data/lib/ast/merge/recipe/runner.rb +8 -1
- data/lib/ast/merge/rspec/dependency_tags.rb +41 -182
- data/lib/ast/merge/rspec/merge_gem_registry.rb +382 -0
- data/lib/ast/merge/version.rb +1 -1
- data/lib/ast/merge.rb +5 -3
- data.tar.gz.sig +0 -0
- metadata +34 -9
- metadata.gz.sig +0 -0
- data/lib/ast/merge/navigable_statement.rb +0 -625
data/lib/ast/merge.rb
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
# External gems
|
|
4
4
|
require "version_gem"
|
|
5
5
|
|
|
6
|
+
# Normalized AST for all languages, parsers, and platforms
|
|
7
|
+
require "tree_haver"
|
|
8
|
+
|
|
6
9
|
# This gem - only version can be required (never autoloaded)
|
|
7
10
|
require_relative "merge/version"
|
|
8
11
|
|
|
@@ -142,17 +145,16 @@ module Ast
|
|
|
142
145
|
autoload :ConflictResolverBase, "ast/merge/conflict_resolver_base"
|
|
143
146
|
autoload :ContentMatchRefiner, "ast/merge/content_match_refiner"
|
|
144
147
|
autoload :DebugLogger, "ast/merge/debug_logger"
|
|
148
|
+
autoload :DiffMapperBase, "ast/merge/diff_mapper_base"
|
|
145
149
|
autoload :EmitterBase, "ast/merge/emitter_base"
|
|
146
150
|
autoload :FileAnalyzable, "ast/merge/file_analyzable"
|
|
147
151
|
autoload :Freezable, "ast/merge/freezable"
|
|
148
152
|
autoload :FreezeNodeBase, "ast/merge/freeze_node_base"
|
|
149
|
-
autoload :InjectionPoint, "ast/merge/navigable_statement"
|
|
150
|
-
autoload :InjectionPointFinder, "ast/merge/navigable_statement"
|
|
151
153
|
autoload :MatchRefinerBase, "ast/merge/match_refiner_base"
|
|
152
154
|
autoload :MatchScoreBase, "ast/merge/match_score_base"
|
|
153
155
|
autoload :MergeResultBase, "ast/merge/merge_result_base"
|
|
154
156
|
autoload :MergerConfig, "ast/merge/merger_config"
|
|
155
|
-
autoload :
|
|
157
|
+
autoload :Navigable, "ast/merge/navigable"
|
|
156
158
|
autoload :NodeTyping, "ast/merge/node_typing"
|
|
157
159
|
autoload :NodeWrapperBase, "ast/merge/node_wrapper_base"
|
|
158
160
|
autoload :PartialTemplateMergerBase, "ast/merge/partial_template_merger_base"
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ast-merge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.0.1
|
|
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: '5.0'
|
|
67
67
|
- - ">="
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version:
|
|
69
|
+
version: 5.0.1
|
|
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: '5.0'
|
|
77
77
|
- - ">="
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version:
|
|
79
|
+
version: 5.0.1
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: kettle-dev
|
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -261,6 +261,26 @@ dependencies:
|
|
|
261
261
|
- - ">="
|
|
262
262
|
- !ruby/object:Gem::Version
|
|
263
263
|
version: 1.0.3
|
|
264
|
+
- !ruby/object:Gem::Dependency
|
|
265
|
+
name: ostruct
|
|
266
|
+
requirement: !ruby/object:Gem::Requirement
|
|
267
|
+
requirements:
|
|
268
|
+
- - "~>"
|
|
269
|
+
- !ruby/object:Gem::Version
|
|
270
|
+
version: '0.6'
|
|
271
|
+
- - ">="
|
|
272
|
+
- !ruby/object:Gem::Version
|
|
273
|
+
version: 0.6.3
|
|
274
|
+
type: :development
|
|
275
|
+
prerelease: false
|
|
276
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
277
|
+
requirements:
|
|
278
|
+
- - "~>"
|
|
279
|
+
- !ruby/object:Gem::Version
|
|
280
|
+
version: '0.6'
|
|
281
|
+
- - ">="
|
|
282
|
+
- !ruby/object:Gem::Version
|
|
283
|
+
version: 0.6.3
|
|
264
284
|
description: "☯️ Ast::Merge provides base classes, modules, and RSpec shared examples
|
|
265
285
|
for building intelligent file mergers using AST analysis. It powers prism-merge,
|
|
266
286
|
psych-merge, json-merge, and other format-specific merge gems."
|
|
@@ -309,6 +329,7 @@ files:
|
|
|
309
329
|
- lib/ast/merge/detector/mergeable.rb
|
|
310
330
|
- lib/ast/merge/detector/toml_frontmatter.rb
|
|
311
331
|
- lib/ast/merge/detector/yaml_frontmatter.rb
|
|
332
|
+
- lib/ast/merge/diff_mapper_base.rb
|
|
312
333
|
- lib/ast/merge/emitter_base.rb
|
|
313
334
|
- lib/ast/merge/file_analyzable.rb
|
|
314
335
|
- lib/ast/merge/freezable.rb
|
|
@@ -317,7 +338,10 @@ files:
|
|
|
317
338
|
- lib/ast/merge/match_score_base.rb
|
|
318
339
|
- lib/ast/merge/merge_result_base.rb
|
|
319
340
|
- lib/ast/merge/merger_config.rb
|
|
320
|
-
- lib/ast/merge/
|
|
341
|
+
- lib/ast/merge/navigable.rb
|
|
342
|
+
- lib/ast/merge/navigable/injection_point.rb
|
|
343
|
+
- lib/ast/merge/navigable/injection_point_finder.rb
|
|
344
|
+
- lib/ast/merge/navigable/statement.rb
|
|
321
345
|
- lib/ast/merge/node_typing.rb
|
|
322
346
|
- lib/ast/merge/node_typing/frozen_wrapper.rb
|
|
323
347
|
- lib/ast/merge/node_typing/normalizer.rb
|
|
@@ -331,6 +355,7 @@ files:
|
|
|
331
355
|
- lib/ast/merge/recipe/script_loader.rb
|
|
332
356
|
- lib/ast/merge/rspec.rb
|
|
333
357
|
- lib/ast/merge/rspec/dependency_tags.rb
|
|
358
|
+
- lib/ast/merge/rspec/merge_gem_registry.rb
|
|
334
359
|
- lib/ast/merge/rspec/shared_examples.rb
|
|
335
360
|
- lib/ast/merge/rspec/shared_examples/conflict_resolver_base.rb
|
|
336
361
|
- lib/ast/merge/rspec/shared_examples/debug_logger.rb
|
|
@@ -357,10 +382,10 @@ licenses:
|
|
|
357
382
|
- MIT
|
|
358
383
|
metadata:
|
|
359
384
|
homepage_uri: https://ast-merge.galtzo.com/
|
|
360
|
-
source_code_uri: https://github.com/kettle-rb/ast-merge/tree/
|
|
361
|
-
changelog_uri: https://github.com/kettle-rb/ast-merge/blob/
|
|
385
|
+
source_code_uri: https://github.com/kettle-rb/ast-merge/tree/v4.0.1
|
|
386
|
+
changelog_uri: https://github.com/kettle-rb/ast-merge/blob/v4.0.1/CHANGELOG.md
|
|
362
387
|
bug_tracker_uri: https://github.com/kettle-rb/ast-merge/issues
|
|
363
|
-
documentation_uri: https://www.rubydoc.info/gems/ast-merge/
|
|
388
|
+
documentation_uri: https://www.rubydoc.info/gems/ast-merge/4.0.1
|
|
364
389
|
funding_uri: https://github.com/sponsors/pboling
|
|
365
390
|
wiki_uri: https://github.com/kettle-rb/ast-merge/wiki
|
|
366
391
|
news_uri: https://www.railsbling.com/tags/ast-merge
|
metadata.gz.sig
CHANGED
|
Binary file
|