@appthreat/atom 2.1.11 → 2.1.12

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.
Files changed (118) hide show
  1. package/package.json +1 -1
  2. package/plugins/bin/atom +2 -2
  3. package/plugins/bin/atom.bat +7 -1
  4. package/plugins/bin/bundler +1 -1
  5. package/plugins/bin/ruby_ast_gen +1 -1
  6. package/plugins/composer/InstalledVersions.php +18 -2
  7. package/plugins/composer/installed.php +6 -6
  8. package/plugins/lib/io.appthreat.atom-2.1.12-classpath.jar +0 -0
  9. package/plugins/lib/{io.appthreat.atom-2.1.11.jar → io.appthreat.atom-2.1.12.jar} +0 -0
  10. package/plugins/rubyastgen/Gemfile +2 -2
  11. package/plugins/rubyastgen/Gemfile.lock +5 -5
  12. package/plugins/rubyastgen/bundle/bundler/setup.rb +2 -2
  13. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/Gemfile +1 -1
  14. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/lib/ruby_ast_gen/node_handling.rb +3 -7
  15. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/lib/ruby_ast_gen/version.rb +1 -1
  16. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/lib/ruby_ast_gen.rb +9 -8
  17. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/ruby_ast_gen.gemspec +4 -4
  18. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/spec/ruby_ast_gen_spec.rb +82 -0
  19. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/gem_make.out +6 -6
  20. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/racc/cparse.so +0 -0
  21. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/current.rb +2 -2
  22. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/version.rb +1 -1
  23. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +3 -3
  24. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  25. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/{parser-3.3.7.0.gemspec → parser-3.3.7.1.gemspec} +4 -4
  26. package/plugins/rubyastgen/setup.ps1 +2 -2
  27. package/rbastgen.js +6 -3
  28. package/utils.mjs +7 -1
  29. package/plugins/lib/io.appthreat.atom-2.1.11-classpath.jar +0 -0
  30. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-05140cf67b0c/sig/ruby_ast_gen.rbs +0 -3
  31. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/.rspec +0 -0
  32. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/LICENSE.txt +0 -0
  33. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/README.md +0 -0
  34. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/Rakefile +0 -0
  35. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/bin/console +0 -0
  36. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/bin/setup +0 -0
  37. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/exe/ruby_ast_gen +0 -0
  38. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/spec/spec_helper.rb +0 -0
  39. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-05140cf67b0c → ruby_ast_gen-d8b6ffa44317}/update_version.rb +0 -0
  40. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/LICENSE.txt +0 -0
  41. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/bin/ruby-parse +0 -0
  42. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/bin/ruby-rewrite +0 -0
  43. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/gauntlet_parser.rb +0 -0
  44. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/all.rb +0 -0
  45. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ast/node.rb +0 -0
  46. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ast/processor.rb +0 -0
  47. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/base.rb +0 -0
  48. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/builders/default.rb +0 -0
  49. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/clobbering_error.rb +0 -0
  50. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/color.rb +0 -0
  51. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/context.rb +0 -0
  52. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/current_arg_stack.rb +0 -0
  53. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/deprecation.rb +0 -0
  54. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/diagnostic/engine.rb +0 -0
  55. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/diagnostic.rb +0 -0
  56. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/lexer/dedenter.rb +0 -0
  57. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/lexer/explanation.rb +0 -0
  58. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/lexer/literal.rb +0 -0
  59. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/lexer/stack_state.rb +0 -0
  60. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/lexer-F0.rb +0 -0
  61. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/lexer-F1.rb +0 -0
  62. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/lexer-strings.rb +0 -0
  63. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/macruby.rb +0 -0
  64. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/max_numparam_stack.rb +0 -0
  65. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/messages.rb +0 -0
  66. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/meta.rb +0 -0
  67. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/rewriter.rb +0 -0
  68. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby18.rb +0 -0
  69. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby19.rb +0 -0
  70. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby20.rb +0 -0
  71. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby21.rb +0 -0
  72. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby22.rb +0 -0
  73. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby23.rb +0 -0
  74. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby24.rb +0 -0
  75. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby25.rb +0 -0
  76. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby26.rb +0 -0
  77. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby27.rb +0 -0
  78. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby28.rb +0 -0
  79. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby30.rb +0 -0
  80. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby31.rb +0 -0
  81. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby32.rb +0 -0
  82. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby33.rb +0 -0
  83. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/ruby34.rb +0 -0
  84. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/rubymotion.rb +0 -0
  85. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/runner/ruby_parse.rb +0 -0
  86. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/runner/ruby_rewrite.rb +0 -0
  87. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/runner.rb +0 -0
  88. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/buffer.rb +0 -0
  89. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/comment/associator.rb +0 -0
  90. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/comment.rb +0 -0
  91. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/collection.rb +0 -0
  92. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/condition.rb +0 -0
  93. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/constant.rb +0 -0
  94. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/definition.rb +0 -0
  95. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/for.rb +0 -0
  96. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/heredoc.rb +0 -0
  97. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/index.rb +0 -0
  98. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/keyword.rb +0 -0
  99. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/method_definition.rb +0 -0
  100. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/objc_kwarg.rb +0 -0
  101. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/operator.rb +0 -0
  102. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/rescue_body.rb +0 -0
  103. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/send.rb +0 -0
  104. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/ternary.rb +0 -0
  105. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map/variable.rb +0 -0
  106. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/map.rb +0 -0
  107. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/range.rb +0 -0
  108. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/rewriter/action.rb +0 -0
  109. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/rewriter.rb +0 -0
  110. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/tree_rewriter/action.rb +0 -0
  111. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/source/tree_rewriter.rb +0 -0
  112. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/static_environment.rb +0 -0
  113. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/syntax_error.rb +0 -0
  114. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/tree_rewriter.rb +0 -0
  115. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/unknown_encoding_in_magic_comment_error.rb +0 -0
  116. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser/variables_stack.rb +0 -0
  117. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/lib/parser.rb +0 -0
  118. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{parser-3.3.7.0 → parser-3.3.7.1}/parser.gemspec +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appthreat/atom",
3
- "version": "2.1.11",
3
+ "version": "2.1.12",
4
4
  "description": "Create atom (⚛) representation for your application, packages and libraries",
5
5
  "exports": "./index.js",
6
6
  "type": "module",
package/plugins/bin/atom CHANGED
@@ -154,7 +154,7 @@ addResidual () {
154
154
  residual_args+=( "$1" )
155
155
  }
156
156
  addDebugger () {
157
- addJava "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:$1"
157
+ addJava "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$1"
158
158
  }
159
159
 
160
160
  require_arg () {
@@ -360,7 +360,7 @@ declare -r lib_dir="$(realpath "${app_home}/../lib")"
360
360
  declare -a app_mainclass=('io.appthreat.atom.Atom')
361
361
 
362
362
  declare -r script_conf_file="${app_home}/../conf/application.ini"
363
- declare -r app_classpath="$lib_dir/io.appthreat.atom-2.1.11-classpath.jar"
363
+ declare -r app_classpath="$lib_dir/io.appthreat.atom-2.1.12-classpath.jar"
364
364
 
365
365
  # java_cmd is overrode in process_args when -java-home is used
366
366
  declare java_cmd=$(get_java_cmd)
@@ -40,7 +40,7 @@ rem "-J" is stripped, "-D" is left as is, and everything is appended to JAVA_OPT
40
40
  set _JAVA_PARAMS=
41
41
  set _APP_ARGS=
42
42
 
43
- set "APP_CLASSPATH=%APP_LIB_DIR%\io.appthreat.atom-2.1.11-classpath.jar"
43
+ set "APP_CLASSPATH=%APP_LIB_DIR%\io.appthreat.atom-2.1.12-classpath.jar"
44
44
  set "APP_MAIN_CLASS=io.appthreat.atom.Atom"
45
45
  set "SCRIPT_CONF_FILE=%APP_HOME%\conf\application.ini"
46
46
 
@@ -156,6 +156,12 @@ rem Processes incoming arguments and places them in appropriate global variables
156
156
  goto param_loop
157
157
  )
158
158
 
159
+ if "!_TEST_PARAM!"=="-jvm-debug" (
160
+ set "_JAVA_PARAMS=!_JAVA_PARAMS! -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=%~1"
161
+ shift
162
+ goto param_loop
163
+ )
164
+
159
165
  if "!_TEST_PARAM:~0,2!"=="-J" (
160
166
  rem strip -J prefix
161
167
  call set _TEST_PARAM=!_TEST_PARAM:~2!
@@ -11,4 +11,4 @@
11
11
  $:.unshift File.expand_path "../rubyastgen/bundle", __dir__
12
12
 
13
13
  require "bundler/setup"
14
- load File.expand_path "../../../../../../../../../opt/hostedtoolcache/Ruby/3.4.1/x64/lib/ruby/gems/3.4.0/gems/bundler-2.6.2/exe/bundler", __dir__
14
+ load File.expand_path "../../../../../../../../../opt/hostedtoolcache/Ruby/3.4.2/x64/lib/ruby/gems/3.4.0/gems/bundler-2.6.2/exe/bundler", __dir__
@@ -11,4 +11,4 @@
11
11
  $:.unshift File.expand_path "../rubyastgen/bundle", __dir__
12
12
 
13
13
  require "bundler/setup"
14
- load File.expand_path "../rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-05140cf67b0c/exe/ruby_ast_gen", __dir__
14
+ load File.expand_path "../rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b6ffa44317/exe/ruby_ast_gen", __dir__
@@ -32,6 +32,11 @@ class InstalledVersions
32
32
  */
33
33
  private static $installed;
34
34
 
35
+ /**
36
+ * @var bool
37
+ */
38
+ private static $installedIsLocalDir;
39
+
35
40
  /**
36
41
  * @var bool|null
37
42
  */
@@ -309,6 +314,12 @@ class InstalledVersions
309
314
  {
310
315
  self::$installed = $data;
311
316
  self::$installedByVendor = array();
317
+
318
+ // when using reload, we disable the duplicate protection to ensure that self::$installed data is
319
+ // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
320
+ // so we have to assume it does not, and that may result in duplicate data being returned when listing
321
+ // all installed packages for example
322
+ self::$installedIsLocalDir = false;
312
323
  }
313
324
 
314
325
  /**
@@ -325,7 +336,9 @@ class InstalledVersions
325
336
  $copiedLocalDir = false;
326
337
 
327
338
  if (self::$canGetVendors) {
339
+ $selfDir = strtr(__DIR__, '\\', '/');
328
340
  foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
341
+ $vendorDir = strtr($vendorDir, '\\', '/');
329
342
  if (isset(self::$installedByVendor[$vendorDir])) {
330
343
  $installed[] = self::$installedByVendor[$vendorDir];
331
344
  } elseif (is_file($vendorDir.'/composer/installed.php')) {
@@ -333,11 +346,14 @@ class InstalledVersions
333
346
  $required = require $vendorDir.'/composer/installed.php';
334
347
  self::$installedByVendor[$vendorDir] = $required;
335
348
  $installed[] = $required;
336
- if (strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
349
+ if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
337
350
  self::$installed = $required;
338
- $copiedLocalDir = true;
351
+ self::$installedIsLocalDir = true;
339
352
  }
340
353
  }
354
+ if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
355
+ $copiedLocalDir = true;
356
+ }
341
357
  }
342
358
  }
343
359
 
@@ -1,9 +1,9 @@
1
1
  <?php return array(
2
2
  'root' => array(
3
3
  'name' => '__root__',
4
- 'pretty_version' => 'v2.1.11',
5
- 'version' => '2.1.11.0',
6
- 'reference' => '168487b546511c39b16eb2055ec5f54f0e0b67af',
4
+ 'pretty_version' => 'v2.1.12',
5
+ 'version' => '2.1.12.0',
6
+ 'reference' => '51f660d7f6e8328dbcdeeb959e0170bb17053f6d',
7
7
  'type' => 'library',
8
8
  'install_path' => __DIR__ . '/../../',
9
9
  'aliases' => array(),
@@ -11,9 +11,9 @@
11
11
  ),
12
12
  'versions' => array(
13
13
  '__root__' => array(
14
- 'pretty_version' => 'v2.1.11',
15
- 'version' => '2.1.11.0',
16
- 'reference' => '168487b546511c39b16eb2055ec5f54f0e0b67af',
14
+ 'pretty_version' => 'v2.1.12',
15
+ 'version' => '2.1.12.0',
16
+ 'reference' => '51f660d7f6e8328dbcdeeb959e0170bb17053f6d',
17
17
  'type' => 'library',
18
18
  'install_path' => __DIR__ . '/../../',
19
19
  'aliases' => array(),
@@ -5,8 +5,8 @@ ruby ">=3.1.4"
5
5
  source "https://rubygems.org"
6
6
 
7
7
  group :frontend do
8
- gem "ruby_ast_gen", github: 'appthreat/ruby_ast_gen', ref: 'v1.0.0'
9
- gem "parser", "~> 3.3.7.0"
8
+ gem "ruby_ast_gen", github: 'appthreat/ruby_ast_gen', ref: 'v1.0.3'
9
+ gem "parser", "~> 3.3.7.1"
10
10
  gem "ostruct", "~> 0.6.1"
11
11
  gem "racc", "~> 1.8.1"
12
12
  end
@@ -1,16 +1,16 @@
1
1
  GIT
2
2
  remote: https://github.com/appthreat/ruby_ast_gen.git
3
- revision: 05140cf67b0c70df3cf726c7cc4706d484c8d8cc
4
- ref: v1.0.0
3
+ revision: d8b6ffa44317c8cc4bb499e0dd1277295422a18f
4
+ ref: v1.0.3
5
5
  specs:
6
- ruby_ast_gen (1.0.0)
6
+ ruby_ast_gen (1.0.3)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  ast (2.4.2)
12
12
  ostruct (0.6.1)
13
- parser (3.3.7.0)
13
+ parser (3.3.7.1)
14
14
  ast (~> 2.4.1)
15
15
  racc
16
16
  racc (1.8.1)
@@ -23,7 +23,7 @@ PLATFORMS
23
23
 
24
24
  DEPENDENCIES
25
25
  ostruct (~> 0.6.1)
26
- parser (~> 3.3.7.0)
26
+ parser (~> 3.3.7.1)
27
27
  racc (~> 1.8.1)
28
28
  ruby_ast_gen!
29
29
 
@@ -38,5 +38,5 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
38
38
  $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ostruct-0.6.1/lib")
39
39
  $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/x86_64-linux/#{Gem.extension_api_version}/racc-1.8.1")
40
40
  $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/racc-1.8.1/lib")
41
- $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/parser-3.3.7.0/lib")
42
- $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/bundler/gems/ruby_ast_gen-05140cf67b0c/lib")
41
+ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/parser-3.3.7.1/lib")
42
+ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/bundler/gems/ruby_ast_gen-d8b6ffa44317/lib")
@@ -4,7 +4,7 @@ source "https://rubygems.org"
4
4
 
5
5
  gemspec
6
6
 
7
- gem "parser", "~> 3.3.7.0"
7
+ gem "parser", "~> 3.3.7.1"
8
8
  gem "ostruct", "~> 0.6.1"
9
9
  gem "rake", "~> 13.2"
10
10
  gem "rspec", "~> 3.13"
@@ -58,12 +58,8 @@ module NodeHandling
58
58
  return base_hash
59
59
  end
60
60
 
61
- def self.truncate_string(string, max_length, truncation_suffix = "...")
62
- if string.length > max_length
63
- string[0, max_length] + truncation_suffix
64
- else
65
- string
66
- end
61
+ def self.trim_string(string)
62
+ string.gsub(/\n/, " ").gsub(/(\s)+/, " ")
67
63
  end
68
64
 
69
65
  def self.extract_code_snippet(location, source_code)
@@ -71,7 +67,7 @@ module NodeHandling
71
67
  range = location.expression || location
72
68
  return nil unless range.is_a?(Parser::Source::Range)
73
69
  snippet = source_code[range.begin_pos...range.end_pos]
74
- self.truncate_string(snippet.strip, 200)
70
+ self.trim_string(snippet.strip)
75
71
  end
76
72
 
77
73
  def self.add_node_properties(node_type, base_map, file_path)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyAstGen
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.3"
5
5
  end
@@ -1,4 +1,6 @@
1
+ $VERBOSE = nil
1
2
  require 'parser/current'
3
+ $VERBOSE = true
2
4
  require 'fileutils'
3
5
  require 'json'
4
6
  require 'thread'
@@ -48,7 +50,7 @@ module RubyAstGen
48
50
  elsif File.directory?(input_path)
49
51
  process_directory(input_path, output_dir, exclude_regex)
50
52
  else
51
- RubyAstGen::Logger::error "#{input_path} is neither a file nor a directory."
53
+ RubyAstGen::Logger::info "#{input_path} is neither a file nor a directory."
52
54
  exit 1
53
55
  end
54
56
  end
@@ -62,7 +64,7 @@ module RubyAstGen
62
64
  relative_input_path = file_path.sub("#{base_dir}/", '')
63
65
  # Skip if the file matches the exclusion regex
64
66
  if exclude_regex && exclude_regex.match?(relative_input_path)
65
- RubyAstGen::Logger::info "Excluding: #{relative_input_path}"
67
+ RubyAstGen::Logger::debug "Excluding: #{relative_input_path}"
66
68
  return
67
69
  end
68
70
 
@@ -74,10 +76,9 @@ module RubyAstGen
74
76
 
75
77
  output_path = File.join(output_dir, "#{relative_path}.json")
76
78
 
77
- File.write(output_path, JSON.pretty_generate(ast))
78
- RubyAstGen::Logger::info "Processed: #{relative_input_path} -> #{output_path}"
79
+ File.write(output_path, JSON.generate(ast))
79
80
  rescue StandardError => e
80
- RubyAstGen::Logger::error "'#{relative_input_path}' - #{e.message}"
81
+ RubyAstGen::Logger::info "'#{relative_input_path}' - #{e.message}"
81
82
  end
82
83
  end
83
84
 
@@ -106,7 +107,7 @@ module RubyAstGen
106
107
 
107
108
  process_file(path, output_subdir, exclude_regex, dir_path)
108
109
  rescue => e
109
- RubyAstGen::Logger::error "Error processing #{path}: #{e.message}"
110
+ RubyAstGen::Logger::info "Error processing #{path}: #{e.message}"
110
111
  end
111
112
  end
112
113
  end
@@ -127,13 +128,13 @@ module RubyAstGen
127
128
  json_ast[:rel_file_path] = relative_input_path
128
129
  json_ast
129
130
  rescue Parser::SyntaxError => e
130
- RubyAstGen::Logger::error "Failed to parse #{file_path}: #{e.message}"
131
+ RubyAstGen::Logger::info "Failed to parse #{file_path}: #{e.message}"
131
132
  nil
132
133
  end
133
134
 
134
135
  def self.ruby_file?(file_path)
135
136
  ext = File.extname(file_path)
136
- ['.rb', '.gemspec', 'Rakefile'].include?(ext) || file_path.end_with?('.rb')
137
+ %w[.rb .gemspec Rakefile .rake .ru].include?(ext) || file_path.end_with?('.rb')
137
138
  end
138
139
 
139
140
  end
@@ -1,20 +1,20 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: ruby_ast_gen 1.0.0 ruby lib
2
+ # stub: ruby_ast_gen 1.0.3 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "ruby_ast_gen".freeze
6
- s.version = "1.0.0".freeze
6
+ s.version = "1.0.3".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.metadata = { "homepage_uri" => "https://github.com/appthreat/ruby_ast_gen" } if s.respond_to? :metadata=
10
10
  s.require_paths = ["lib".freeze]
11
11
  s.authors = ["David Baker Effendi".freeze, "Andrei Dreyer".freeze, "Team AppThreat".freeze]
12
12
  s.bindir = "exe".freeze
13
- s.date = "2025-01-17"
13
+ s.date = "2025-02-21"
14
14
  s.description = "A Ruby parser than dumps the AST as JSON output for atom `rubysrc2cpg` frontend".freeze
15
15
  s.email = ["dave@whirlylabs.com".freeze, "andrei@whirlylabs.com".freeze, "hello@appthreat.com".freeze]
16
16
  s.executables = ["ruby_ast_gen".freeze]
17
- s.files = ["Gemfile".freeze, "exe/ruby_ast_gen".freeze, "lib/ruby_ast_gen".freeze, "lib/ruby_ast_gen.rb".freeze, "lib/ruby_ast_gen/node_handling.rb".freeze, "lib/ruby_ast_gen/version.rb".freeze, "ruby_ast_gen.gemspec".freeze, "sig/ruby_ast_gen.rbs".freeze]
17
+ s.files = ["Gemfile".freeze, "exe/ruby_ast_gen".freeze, "lib/ruby_ast_gen".freeze, "lib/ruby_ast_gen.rb".freeze, "lib/ruby_ast_gen/node_handling.rb".freeze, "lib/ruby_ast_gen/version.rb".freeze, "ruby_ast_gen.gemspec".freeze]
18
18
  s.homepage = "https://github.com/appthreat/ruby_ast_gen".freeze
19
19
  s.licenses = ["MIT".freeze]
20
20
  s.required_ruby_version = Gem::Requirement.new(">= 3.1.4".freeze)
@@ -85,6 +85,88 @@ end
85
85
  code(<<-CODE)
86
86
  def foo(a, bar: "default")
87
87
  puts(bar)
88
+ end
89
+ CODE
90
+ ast = RubyAstGen::parse_file(temp_file.path, temp_name)
91
+ expect(ast).not_to be_nil
92
+ end
93
+
94
+ it "should parse a large code snippet sucessfully" do
95
+ code(<<-CODE)
96
+ # frozen_string_literal: true
97
+ Railsgoat::Application.routes.draw do
98
+
99
+ get "login" => "sessions#new"
100
+ get "signup" => "users#new"
101
+ get "logout" => "sessions#destroy"
102
+
103
+ get "forgot_password" => "password_resets#forgot_password"
104
+ post "forgot_password" => "password_resets#send_forgot_password"
105
+ get "password_resets" => "password_resets#confirm_token"
106
+ post "password_resets" => "password_resets#reset_password"
107
+
108
+ get "dashboard/doc" => "dashboard#doc"
109
+
110
+ resources :sessions
111
+
112
+ resources :users do
113
+ get "account_settings"
114
+
115
+ resources :retirement
116
+ resources :paid_time_off
117
+ resources :work_info
118
+ resources :performance
119
+ resources :benefit_forms
120
+ resources :messages
121
+
122
+ resources :pay do
123
+ collection do
124
+ post "update_dd_info"
125
+ post "decrypted_bank_acct_num"
126
+ end
127
+ end
128
+
129
+ end
130
+
131
+ get "download" => "benefit_forms#download"
132
+ post "upload" => "benefit_forms#upload"
133
+
134
+ resources :tutorials do
135
+ collection do
136
+ get "credentials"
137
+ end
138
+ end
139
+
140
+ resources :schedule do
141
+ collection do
142
+ get "get_pto_schedule"
143
+ end
144
+ end
145
+
146
+ resources :admin do
147
+ get "dashboard"
148
+ get "get_user"
149
+ post "delete_user"
150
+ patch "update_user"
151
+ get "get_all_users"
152
+ get "analytics"
153
+ end
154
+
155
+ resources :dashboard do
156
+ collection do
157
+ get "home"
158
+ get "change_graph"
159
+ end
160
+ end
161
+
162
+ namespace :api, defaults: {format: "json"} do
163
+ namespace :v1 do
164
+ resources :users
165
+ resources :mobile
166
+ end
167
+ end
168
+
169
+ root to: "sessions#new"
88
170
  end
89
171
  CODE
90
172
  ast = RubyAstGen::parse_file(temp_file.path, temp_name)
@@ -1,18 +1,18 @@
1
1
  current directory: /home/runner/work/atom/atom/wrapper/nodejs/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse
2
- /opt/hostedtoolcache/Ruby/3.4.1/x64/bin/ruby extconf.rb
2
+ /opt/hostedtoolcache/Ruby/3.4.2/x64/bin/ruby extconf.rb
3
3
  creating Makefile
4
4
 
5
5
  current directory: /home/runner/work/atom/atom/wrapper/nodejs/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse
6
- make DESTDIR\= sitearchdir\=./.gem.20250117-2689-16l89x sitelibdir\=./.gem.20250117-2689-16l89x clean
6
+ make DESTDIR\= sitearchdir\=./.gem.20250221-2931-1wwbnu sitelibdir\=./.gem.20250221-2931-1wwbnu clean
7
7
 
8
8
  current directory: /home/runner/work/atom/atom/wrapper/nodejs/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse
9
- make DESTDIR\= sitearchdir\=./.gem.20250117-2689-16l89x sitelibdir\=./.gem.20250117-2689-16l89x
9
+ make DESTDIR\= sitearchdir\=./.gem.20250221-2931-1wwbnu sitelibdir\=./.gem.20250221-2931-1wwbnu
10
10
  compiling cparse.c
11
11
  linking shared-object racc/cparse.so
12
12
 
13
13
  current directory: /home/runner/work/atom/atom/wrapper/nodejs/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse
14
- make DESTDIR\= sitearchdir\=./.gem.20250117-2689-16l89x sitelibdir\=./.gem.20250117-2689-16l89x install
15
- /usr/bin/install -c -m 0755 cparse.so ./.gem.20250117-2689-16l89x/racc
14
+ make DESTDIR\= sitearchdir\=./.gem.20250221-2931-1wwbnu sitelibdir\=./.gem.20250221-2931-1wwbnu install
15
+ /usr/bin/install -c -m 0755 cparse.so ./.gem.20250221-2931-1wwbnu/racc
16
16
 
17
17
  current directory: /home/runner/work/atom/atom/wrapper/nodejs/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse
18
- make DESTDIR\= sitearchdir\=./.gem.20250117-2689-16l89x sitelibdir\=./.gem.20250117-2689-16l89x clean
18
+ make DESTDIR\= sitearchdir\=./.gem.20250221-2931-1wwbnu sitelibdir\=./.gem.20250221-2931-1wwbnu clean
@@ -102,7 +102,7 @@ module Parser
102
102
  CurrentRuby = Ruby31
103
103
 
104
104
  when /^3\.2\./
105
- current_version = '3.2.6'
105
+ current_version = '3.2.7'
106
106
  if RUBY_VERSION != current_version
107
107
  warn_syntax_deviation 'parser/ruby32', current_version
108
108
  end
@@ -120,7 +120,7 @@ module Parser
120
120
  CurrentRuby = Ruby33
121
121
 
122
122
  when /^3\.4\./
123
- current_version = '3.4.0'
123
+ current_version = '3.4.0-dev'
124
124
  if RUBY_VERSION != current_version
125
125
  warn_syntax_deviation 'parser/ruby34', current_version
126
126
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Parser
4
- VERSION = '3.3.7.0'
4
+ VERSION = '3.3.7.1'
5
5
  end
@@ -13,12 +13,12 @@ NULLCMD = :
13
13
  #### Start of system configuration section. ####
14
14
 
15
15
  srcdir = .
16
- topdir = /opt/hostedtoolcache/Ruby/3.4.1/x64/include/ruby-3.4.0
16
+ topdir = /opt/hostedtoolcache/Ruby/3.4.2/x64/include/ruby-3.4.0
17
17
  hdrdir = $(topdir)
18
- arch_hdrdir = /opt/hostedtoolcache/Ruby/3.4.1/x64/include/ruby-3.4.0/x86_64-linux
18
+ arch_hdrdir = /opt/hostedtoolcache/Ruby/3.4.2/x64/include/ruby-3.4.0/x86_64-linux
19
19
  PATH_SEPARATOR = :
20
20
  VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
21
- prefix = $(DESTDIR)/opt/hostedtoolcache/Ruby/3.4.1/x64
21
+ prefix = $(DESTDIR)/opt/hostedtoolcache/Ruby/3.4.2/x64
22
22
  rubysitearchprefix = $(rubylibprefix)/$(sitearch)
23
23
  rubyarchprefix = $(rubylibprefix)/$(arch)
24
24
  rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
@@ -1,15 +1,15 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: parser 3.3.7.0 ruby lib
2
+ # stub: parser 3.3.7.1 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "parser".freeze
6
- s.version = "3.3.7.0".freeze
6
+ s.version = "3.3.7.1".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
- s.metadata = { "bug_tracker_uri" => "https://github.com/whitequark/parser/issues", "changelog_uri" => "https://github.com/whitequark/parser/blob/v3.3.7.0/CHANGELOG.md", "documentation_uri" => "https://www.rubydoc.info/gems/parser/3.3.7.0", "source_code_uri" => "https://github.com/whitequark/parser/tree/v3.3.7.0" } if s.respond_to? :metadata=
9
+ s.metadata = { "bug_tracker_uri" => "https://github.com/whitequark/parser/issues", "changelog_uri" => "https://github.com/whitequark/parser/blob/v3.3.7.1/CHANGELOG.md", "documentation_uri" => "https://www.rubydoc.info/gems/parser/3.3.7.1", "source_code_uri" => "https://github.com/whitequark/parser/tree/v3.3.7.1" } if s.respond_to? :metadata=
10
10
  s.require_paths = ["lib".freeze]
11
11
  s.authors = ["whitequark".freeze]
12
- s.date = "2025-01-16"
12
+ s.date = "2025-02-05"
13
13
  s.description = "A Ruby parser written in pure Ruby.".freeze
14
14
  s.email = ["whitequark@whitequark.org".freeze]
15
15
  s.executables = ["ruby-parse".freeze, "ruby-rewrite".freeze]
@@ -1,4 +1,4 @@
1
1
  $env:GEM_HOME="."
2
2
  bundle install --binstubs=../bin --no-cache --standalone=frontend
3
- Remove-Item -Recurse -Force bundle\ruby\*\bundler\gems\ruby_ast_gen-*\.git*
4
- Remove-Item -Recurse -Force bundle\ruby\*\cache
3
+ Remove-Item -Recurse -Force bundle\ruby\3.4.0\bundler\gems\ruby_ast_gen-05140cf67b0c\.git*
4
+ Remove-Item -Recurse -Force bundle\ruby\3.4.0\cache
package/rbastgen.js CHANGED
@@ -14,7 +14,8 @@ const dirName = import.meta ? dirname(fileURLToPath(url)) : __dirname;
14
14
  export const PLUGINS_HOME = join(dirName, "plugins");
15
15
  const RUBY_ASTGEN_BIN =
16
16
  process.env.RUBY_ASTGEN_BIN || join(PLUGINS_HOME, "bin", "ruby_ast_gen");
17
-
17
+ // Ruby version needed
18
+ const RUBY_VERSION_NEEDED = "3.4.2";
18
19
  function main(argvs) {
19
20
  const cwd = process.env.ATOM_CWD || process.cwd();
20
21
  argvs.splice(
@@ -38,8 +39,10 @@ function main(argvs) {
38
39
  env.PATH = `${rubyBinDir}${delimiter}${env.PATH}`;
39
40
  }
40
41
  }
41
- if (!detectRuby()) {
42
- console.warn("Ruby is not installed!");
42
+ if (rubyCmd === "ruby" && !detectRuby(RUBY_VERSION_NEEDED)) {
43
+ console.warn(
44
+ `Ruby ${RUBY_VERSION_NEEDED} is not installed! Set the environment variable "ATOM_RUBY_HOME" to the Ruby ${RUBY_VERSION_NEEDED} install directory.`
45
+ );
43
46
  return false;
44
47
  }
45
48
  spawnSync(rubyCmd, argvs, {
package/utils.mjs CHANGED
@@ -97,12 +97,18 @@ export const detectPhp = () => {
97
97
  return true;
98
98
  };
99
99
 
100
- export const detectRuby = () => {
100
+ export const detectRuby = (versionNeeded) => {
101
101
  let result = spawnSync(process.env.RUBY_CMD || "ruby", ["--version"], {
102
102
  encoding: "utf-8"
103
103
  });
104
104
  if (result.status !== 0 || result.error) {
105
105
  return false;
106
106
  }
107
+ const stdout = result.stdout;
108
+ if (versionNeeded && stdout) {
109
+ const cmdOutput = Buffer.from(stdout).toString();
110
+ const versionStr = cmdOutput.trim().replaceAll("\r", "");
111
+ return versionStr.startsWith(`ruby ${versionNeeded} `);
112
+ }
107
113
  return true;
108
114
  };