synvert 1.9.0 → 1.10.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 79e9fa512dd92b847aa01994b793aae940e2bfecead906f1dd085795f969905c
4
- data.tar.gz: bac800d7f8501f008139875f3c51a2302055e9013e9e00458d10e53874819636
3
+ metadata.gz: 9ee8d8b944d5909af7a7d88ca0d6d7f6212434e52e6c8f6217751b98f3b837e1
4
+ data.tar.gz: aa488febeec6009dba80630e35f2ec4b70d6f10830b2b9d28f437f462e2fb019
5
5
  SHA512:
6
- metadata.gz: 075bdfcbd282f4f7e06192879ffb5f940c94b81e71ef6f246050a0146ca06445b13bedd0b8e2d75c338cca863c708dc04af6d925c57dbe97e4ee3ec192bddfe5
7
- data.tar.gz: e1bb347de2121ffb638e68f49d9fbe95f27e905d43f7b7390b03b6b632c620299d8f02fd8f5521d12c2285018357b7e2d6143c036b12139c1d2670b5899abe2c
6
+ metadata.gz: 1e0e4ab9835e7a7146f0faedc9b7ce191c54937a09c70ddb67836624b3459667f03a597d75ef062a3a708f1c351a65e8b490741838c8d12c3d5c398212ae5011
7
+ data.tar.gz: 5c6a6c54b5efd8e7eab8e01d97c3c026ea390f32d81a2eddcf69ee395dc15cddfab31dc05c8280269fe42c08cde9fbd2f9b035f69fdc2475d149f47e58fe5701
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.10.1 (2024-03-06)
4
+
5
+ * Fix undefined `plain_output?`
6
+ * Update `synvert-core` to 1.34.0
7
+
8
+ ## 1.10.0 (2024-02-24)
9
+
10
+ * Add `--check-bundle-gems` flag to check code in all bundle gems
11
+ * Update `synvert-core` to 1.33.2
12
+
3
13
  ## 1.9.0 (2024-02-20)
4
14
 
5
15
  * Fix query available rewriters
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- synvert (1.9.0)
5
- synvert-core (>= 1.31.0)
4
+ synvert (1.10.1)
5
+ synvert-core (>= 1.33.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (6.1.7.6)
10
+ activesupport (6.1.7.7)
11
11
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
12
  i18n (>= 1.6, < 2)
13
13
  minitest (>= 5.1)
@@ -33,8 +33,9 @@ GEM
33
33
  guard (~> 2.1)
34
34
  guard-compat (~> 1.1)
35
35
  rspec (>= 2.99.0, < 4.0)
36
- i18n (1.14.1)
36
+ i18n (1.14.3)
37
37
  concurrent-ruby (~> 1.0)
38
+ racc (~> 1.7)
38
39
  listen (3.8.0)
39
40
  rb-fsevent (~> 0.10, >= 0.10.3)
40
41
  rb-inotify (~> 0.9, >= 0.9.10)
@@ -42,7 +43,7 @@ GEM
42
43
  method_source (1.0.0)
43
44
  minitest (5.22.2)
44
45
  nenv (0.3.0)
45
- node_mutation (1.23.2)
46
+ node_mutation (1.24.1)
46
47
  node_query (1.15.1)
47
48
  notiffany (0.1.3)
48
49
  nenv (~> 0.1)
@@ -83,7 +84,7 @@ GEM
83
84
  prettier_print (>= 1.2.0)
84
85
  syntax_tree_ext (0.7.2)
85
86
  syntax_tree
86
- synvert-core (1.33.0)
87
+ synvert-core (1.34.0)
87
88
  activesupport (< 7.0.0)
88
89
  node_mutation (>= 1.23.2)
89
90
  node_query (>= 1.15.1)
data/lib/synvert/cli.rb CHANGED
@@ -57,6 +57,10 @@ module Synvert
57
57
  Command.read_helpers
58
58
  rewriter = Synvert::Core::Utils.eval_snippet(@options[:snippet_name])
59
59
  Command.run_snippet(rewriter, @options[:format])
60
+ when 'test_bundle_gems'
61
+ Command.read_helpers
62
+ rewriter = Synvert::Core::Utils.eval_snippet(@options[:snippet_name])
63
+ Command.test_snippet_in_bundle_gems(rewriter)
60
64
  else
61
65
  # nothing to do
62
66
  end
@@ -155,6 +159,9 @@ module Synvert
155
159
  'result format of test, it can be actions or new_source, action is by default' do |test_result|
156
160
  Core::Configuration.test_result = test_result
157
161
  end
162
+ opts.on '--check-bundle-gems', 'check code in all bundle gems' do
163
+ @options[:command] = 'test_bundle_gems'
164
+ end
158
165
  opts.on '-v', '--version', 'show this version' do
159
166
  puts "#{VERSION} (with synvert-core #{Core::VERSION} and parser #{Parser::VERSION})"
160
167
  exit
@@ -179,10 +179,10 @@ module Synvert
179
179
  if ENV['DEBUG']
180
180
  puts e.backtrace.join("\n")
181
181
  end
182
- if plain_output?
183
- puts "Error: #{e.message}"
184
- else
182
+ if format == 'json'
185
183
  puts({ error: e.message }.to_json)
184
+ else
185
+ puts "Error: #{e.message}"
186
186
  end
187
187
  raise
188
188
  end
@@ -199,6 +199,36 @@ module Synvert
199
199
  raise
200
200
  end
201
201
 
202
+ def test_snippet_in_bundle_gems(rewriter)
203
+ Dir.chdir(Core::Configuration.root_path) do
204
+ bundle_list_output = `/bin/bash -c -l 'BUNDLE_GEMFILE=./Gemfile bundle list'`
205
+ raise bundle_list_output unless bundle_list_output.start_with?('Gems included by the bundle:')
206
+
207
+ bundle_list_output.lines.each do |line|
208
+ next unless line.start_with?(' * ')
209
+
210
+ _, gem_name, gem_version_with_parentheses = line.split(' ')
211
+ path = `/bin/bash -c -l 'BUNDLE_GEMFILE=./Gemfile bundle info #{gem_name} --path'`.strip
212
+
213
+ Core::Configuration.root_path = path
214
+ rewriter.reset
215
+ test_results = rewriter.test
216
+ affected_file_paths = test_results.filter { |result| result.affected? }
217
+ .map { |result| result.file_path }
218
+ if affected_file_paths.size > 0
219
+ puts "#{gem_name} #{gem_version_with_parentheses}"
220
+ affected_file_paths.each { |affected_file_path| puts " #{affected_file_path}" }
221
+ end
222
+ end
223
+ end
224
+ rescue StandardError => e
225
+ if ENV['DEBUG']
226
+ puts e.backtrace.join("\n")
227
+ end
228
+ puts "Error: #{e.message}"
229
+ raise
230
+ end
231
+
202
232
  def default_snippets_home
203
233
  # ENV['HOME'] may use \ as file separator,
204
234
  # but File.join always uses / as file separator.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Synvert
4
- VERSION = '1.9.0'
4
+ VERSION = '1.10.1'
5
5
  end
data/synvert-ruby.gemspec CHANGED
@@ -20,5 +20,5 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ['lib']
21
21
  spec.post_install_message = 'Please run `synvert-ruby --sync` first to sync snippets remotely.'
22
22
 
23
- spec.add_runtime_dependency 'synvert-core', '>= 1.31.0'
23
+ spec.add_runtime_dependency 'synvert-core', '>= 1.33.2'
24
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synvert
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-20 00:00:00.000000000 Z
11
+ date: 2024-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: synvert-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.31.0
19
+ version: 1.33.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.31.0
26
+ version: 1.33.2
27
27
  description: synvert is used to convert ruby code to better syntax.
28
28
  email:
29
29
  - flyerhzm@gmail.com