appmap 0.51.3 → 0.52.0
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
- data/.travis.yml +3 -1
- data/CHANGELOG.md +7 -0
- data/Rakefile +21 -5
- data/appmap.gemspec +8 -6
- data/exe/appmap-agent-setup +3 -3
- data/exe/appmap-inspect +7 -0
- data/lib/appmap.rb +3 -11
- data/lib/appmap/command/agent_setup/init.rb +44 -0
- data/lib/appmap/command/inspect.rb +27 -0
- data/lib/appmap/command_error.rb +13 -0
- data/lib/appmap/config.rb +2 -1
- data/lib/appmap/node_cli.rb +59 -0
- data/lib/appmap/util.rb +31 -2
- data/lib/appmap/version.rb +1 -1
- data/package.json +23 -0
- data/spec/fixtures/rails5_users_app/docker-compose.yml +1 -1
- data/spec/fixtures/rails6_users_app/Dockerfile +9 -0
- data/spec/fixtures/rails6_users_app/docker-compose.yml +1 -1
- data/spec/{abstract_controller_base_spec.rb → rails_recording_spec.rb} +2 -21
- data/spec/rails_spec_helper.rb +22 -0
- data/test/{cli_test.rb → agent_setup_cli_test.rb} +1 -1
- data/test/fixtures/gem_test/Gemfile +1 -0
- data/test/inspect_cli_test.rb +12 -0
- data/yarn.lock +477 -0
- metadata +18 -24
- data/lib/appmap/command/init.rb +0 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91abfbaf6b18062625413f1a4ba9a465325af82734a04ab875bb8b4092f3bc34
|
4
|
+
data.tar.gz: 9fb260bc1fb09cc1a6bc6771114b8306f596d1595bcaf1234dd346abe871d3b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4eb0fe09e7657fbb3541c17b047e2c0c24cb171201828b684353fd2de94fcca216f84b2776ce4a1f57fe1e721aaeb66c55fbea5fc627d9529f4bf687805a1079
|
7
|
+
data.tar.gz: 938da5ae0d846bc3e2c7f571ef836fe35f4d0fefebe5af9f5b5846b949c87c1cc1812881a973168c014cc789a0b6bb1ee9eb556d11406e846f99fdecd0eeb04a
|
data/.travis.yml
CHANGED
@@ -26,7 +26,9 @@ before_install:
|
|
26
26
|
if [ ! -z "$DOCKERHUB_PASSWORD" ] && [ ! -z "$DOCKERHUB_USERNAME" ]; then
|
27
27
|
echo "$DOCKERHUB_PASSWORD" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin ;
|
28
28
|
fi
|
29
|
-
|
29
|
+
- |
|
30
|
+
nvm install --lts \
|
31
|
+
&& nvm use --lts
|
30
32
|
|
31
33
|
# GEM_ALTERNATIVE_NAME only needed for deployment
|
32
34
|
jobs:
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
# [0.52.0](https://github.com/applandinc/appmap-ruby/compare/v0.51.3...v0.52.0) (2021-06-22)
|
2
|
+
|
3
|
+
|
4
|
+
### Features
|
5
|
+
|
6
|
+
* Bundle NPM package @appland/cli with this gem ([945e28c](https://github.com/applandinc/appmap-ruby/commit/945e28c699fff6bd97ae51983816e97955c4ff36))
|
7
|
+
|
1
8
|
## [0.51.3](https://github.com/applandinc/appmap-ruby/compare/v0.51.2...v0.51.3) (2021-06-22)
|
2
9
|
|
3
10
|
|
data/Rakefile
CHANGED
@@ -16,6 +16,22 @@ end
|
|
16
16
|
|
17
17
|
namespace 'gem' do
|
18
18
|
require 'bundler/gem_tasks'
|
19
|
+
|
20
|
+
module Bundler
|
21
|
+
class GemHelper
|
22
|
+
alias default_build_gem build_gem
|
23
|
+
|
24
|
+
# A handy tip - find the location of any Rake task using `rake -W`.
|
25
|
+
# rake -W build
|
26
|
+
# ~/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/gem_helper.rb:39:in `install'
|
27
|
+
def build_gem
|
28
|
+
# Ensure that NPM packages are installed before building.
|
29
|
+
sh('yarn install --prod'.shellsplit)
|
30
|
+
|
31
|
+
default_build_gem
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
19
35
|
end
|
20
36
|
|
21
37
|
RUBY_VERSIONS=%w[2.5 2.6 2.7]
|
@@ -34,18 +50,19 @@ def run_cmd(*cmd)
|
|
34
50
|
raise 'Docker build failed'
|
35
51
|
end
|
36
52
|
end
|
37
|
-
|
53
|
+
|
38
54
|
def build_base_image(ruby_version)
|
39
55
|
run_cmd "docker build" \
|
40
56
|
" --build-arg RUBY_VERSION=#{ruby_version}" \
|
41
57
|
" --build-arg GEM_VERSION=#{GEM_VERSION}" \
|
42
58
|
" -t appmap:#{GEM_VERSION} -f Dockerfile.appmap ."
|
43
59
|
end
|
44
|
-
|
60
|
+
|
45
61
|
def build_app_image(app, ruby_version)
|
46
62
|
Dir.chdir "spec/fixtures/#{app}" do
|
47
|
-
|
48
|
-
|
63
|
+
env = {"RUBY_VERSION" => ruby_version, "GEM_VERSION" => GEM_VERSION}
|
64
|
+
run_cmd(env,
|
65
|
+
"docker-compose build" \
|
49
66
|
" --build-arg RUBY_VERSION=#{ruby_version}" \
|
50
67
|
" --build-arg GEM_VERSION=#{GEM_VERSION}" )
|
51
68
|
end
|
@@ -139,4 +156,3 @@ task spec: %i[spec:all]
|
|
139
156
|
task test: %i[spec:all minitest]
|
140
157
|
|
141
158
|
task default: :test
|
142
|
-
|
data/appmap.gemspec
CHANGED
@@ -4,8 +4,6 @@ lib = File.expand_path('lib', __dir__)
|
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
5
|
require 'appmap/version'
|
6
6
|
|
7
|
-
|
8
|
-
|
9
7
|
Gem::Specification.new do |spec|
|
10
8
|
# ability to parameterize gem name is added intentionally,
|
11
9
|
# to support the possibility of unofficial releases, e.g. during CI tests
|
@@ -25,19 +23,23 @@ Gem::Specification.new do |spec|
|
|
25
23
|
spec.bindir = 'exe'
|
26
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
27
25
|
|
28
|
-
|
26
|
+
strip_dir = ->(file) { file.index(Dir.pwd) == 0 ? file[Dir.pwd.length+1...file.length] : file }
|
27
|
+
Dir.glob(File.join(__dir__, 'node_modules/**/*')).map(&strip_dir).each do |filename|
|
28
|
+
next if File.directory?(filename) || filename.length > 100
|
29
|
+
spec.files << filename
|
30
|
+
end
|
29
31
|
|
32
|
+
spec.extensions << "ext/appmap/extconf.rb"
|
30
33
|
spec.require_paths = ['lib']
|
31
34
|
|
32
35
|
spec.add_dependency 'activesupport'
|
33
|
-
spec.add_dependency 'faraday'
|
34
36
|
spec.add_dependency 'gli'
|
35
37
|
spec.add_dependency 'method_source'
|
36
|
-
spec.add_dependency 'parser'
|
37
38
|
spec.add_dependency 'rack'
|
39
|
+
spec.add_dependency 'reverse_markdown'
|
38
40
|
|
39
41
|
spec.add_development_dependency 'bundler', '>= 1.16'
|
40
|
-
spec.add_development_dependency 'minitest', '
|
42
|
+
spec.add_development_dependency 'minitest', '= 5.14.4'
|
41
43
|
spec.add_development_dependency 'pry-byebug'
|
42
44
|
spec.add_development_dependency 'rake', '>= 12.3.3'
|
43
45
|
spec.add_development_dependency 'rdoc'
|
data/exe/appmap-agent-setup
CHANGED
@@ -8,7 +8,7 @@ require 'appmap'
|
|
8
8
|
class App
|
9
9
|
extend GLI::App
|
10
10
|
|
11
|
-
program_desc 'CLI tool to be used by
|
11
|
+
program_desc 'CLI tool to be used by code editor plugins for AppMap setup and configuration'
|
12
12
|
|
13
13
|
version AppMap::VERSION
|
14
14
|
|
@@ -24,8 +24,8 @@ class App
|
|
24
24
|
desc 'Creates base configuration file for the current project'
|
25
25
|
command :init do |c|
|
26
26
|
c.action do
|
27
|
-
require 'appmap/command/init'
|
28
|
-
AppMap::Command::Init.new(@config_file).perform
|
27
|
+
require 'appmap/command/agent_setup/init'
|
28
|
+
AppMap::Command::AgentSetup::Init.new(@config_file).perform
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
data/exe/appmap-inspect
ADDED
data/lib/appmap.rb
CHANGED
@@ -8,12 +8,12 @@ rescue NameError
|
|
8
8
|
end
|
9
9
|
|
10
10
|
require 'appmap/version'
|
11
|
+
require 'appmap/util'
|
11
12
|
require 'appmap/hook'
|
12
13
|
require 'appmap/config'
|
13
14
|
require 'appmap/trace'
|
14
15
|
require 'appmap/class_map'
|
15
16
|
require 'appmap/metadata'
|
16
|
-
require 'appmap/util'
|
17
17
|
require 'appmap/open'
|
18
18
|
|
19
19
|
# load extension
|
@@ -51,7 +51,7 @@ module AppMap
|
|
51
51
|
# Call this function before the program code is loaded by the Ruby VM, otherwise
|
52
52
|
# the load events won't be seen and the hooks won't activate.
|
53
53
|
def initialize_configuration(config_file_path = default_config_file_path)
|
54
|
-
startup_message "Configuring AppMap from path #{config_file_path}"
|
54
|
+
Util.startup_message "Configuring AppMap from path #{config_file_path}"
|
55
55
|
Config.load_from_file(config_file_path).tap do |configuration|
|
56
56
|
self.configuration = configuration
|
57
57
|
Hook.new(configuration).enable
|
@@ -109,14 +109,6 @@ module AppMap
|
|
109
109
|
@metadata ||= Metadata.detect.freeze
|
110
110
|
@metadata.deep_dup
|
111
111
|
end
|
112
|
-
|
113
|
-
def startup_message(msg)
|
114
|
-
if defined?(::Rails) && defined?(::Rails.logger) && ::Rails.logger
|
115
|
-
::Rails.logger.debug msg
|
116
|
-
elsif ENV['DEBUG'] == 'true'
|
117
|
-
warn msg
|
118
|
-
end
|
119
|
-
end
|
120
112
|
end
|
121
113
|
end
|
122
114
|
|
@@ -138,7 +130,7 @@ lambda do
|
|
138
130
|
|
139
131
|
gem_module_name = initializers.first.gem_module_name
|
140
132
|
|
141
|
-
AppMap.startup_message AppMap::Util.color(<<~LOAD_MSG, :magenta)
|
133
|
+
AppMap::Util.startup_message AppMap::Util.color(<<~LOAD_MSG, :magenta)
|
142
134
|
When 'appmap' was loaded, '#{gem_module_name}' had not been loaded yet. Now '#{gem_module_name}' has
|
143
135
|
just been loaded, so the following AppMap modules will be automatically required:
|
144
136
|
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'fileutils'
|
4
|
+
require 'appmap/service/guesser'
|
5
|
+
require 'appmap/util'
|
6
|
+
|
7
|
+
module AppMap
|
8
|
+
module Command
|
9
|
+
module AgentSetup
|
10
|
+
InitStruct = Struct.new(:config_file)
|
11
|
+
|
12
|
+
class Init < InitStruct
|
13
|
+
def perform
|
14
|
+
if File.exist?(config_file)
|
15
|
+
puts AppMap::Util.color(%(The AppMap config file #{config_file} already exists.), :magenta)
|
16
|
+
return
|
17
|
+
end
|
18
|
+
|
19
|
+
ensure_directory_exists
|
20
|
+
|
21
|
+
config = {
|
22
|
+
'name' => Service::Guesser.guess_name,
|
23
|
+
'packages' => Service::Guesser.guess_paths.map { |path| { 'path' => path } }
|
24
|
+
}
|
25
|
+
content = YAML.dump(config).gsub("---\n", '')
|
26
|
+
|
27
|
+
File.write(config_file, content)
|
28
|
+
puts AppMap::Util.color(
|
29
|
+
%(The following AppMap config file #{config_file} has been created:),
|
30
|
+
:green
|
31
|
+
)
|
32
|
+
puts content
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def ensure_directory_exists
|
38
|
+
dirname = File.dirname(config_file)
|
39
|
+
FileUtils.mkdir_p(dirname) unless File.directory?(dirname)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'appmap/version'
|
2
|
+
require 'appmap/config'
|
3
|
+
require 'appmap/node_cli'
|
4
|
+
|
5
|
+
module AppMap
|
6
|
+
module Command
|
7
|
+
class Inspect < AppMap::NodeCLI
|
8
|
+
class << self
|
9
|
+
def run
|
10
|
+
command = Inspect.new(verbose: ENV['DEBUG'] == 'true')
|
11
|
+
command.inspect(ARGV)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def inspect(arguments)
|
16
|
+
detect_nodejs
|
17
|
+
index_appmaps
|
18
|
+
|
19
|
+
arguments.unshift 'inspect'
|
20
|
+
arguments.unshift APPMAP_JS
|
21
|
+
arguments.unshift 'node'
|
22
|
+
|
23
|
+
exec(*arguments)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module AppMap
|
2
|
+
# Raised when a system / shell command fails.
|
3
|
+
class CommandError < StandardError
|
4
|
+
attr_reader :command, :msg
|
5
|
+
|
6
|
+
def initialize(command, msg = nil)
|
7
|
+
super [ "Command failed: #{command}", msg ].compact.join('; ')
|
8
|
+
|
9
|
+
@command = command
|
10
|
+
@msg = msg
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/appmap/config.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'yaml'
|
4
|
+
require 'appmap/util'
|
4
5
|
require 'appmap/handler/net_http'
|
5
6
|
require 'appmap/handler/rails/template'
|
6
7
|
require 'appmap/service/guesser'
|
@@ -54,7 +55,7 @@ module AppMap
|
|
54
55
|
if path
|
55
56
|
Package.new(path, gem, package_name, exclude, labels, shallow)
|
56
57
|
else
|
57
|
-
|
58
|
+
AppMap::Util.startup_message "#{gem} is not available in the bundle"
|
58
59
|
end
|
59
60
|
end
|
60
61
|
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'open3'
|
2
|
+
require 'shellwords'
|
3
|
+
require 'appmap/util'
|
4
|
+
require 'appmap/command_error'
|
5
|
+
|
6
|
+
module AppMap
|
7
|
+
# Utilities for invoking the +@appland/appmap+ CLI.
|
8
|
+
class NodeCLI
|
9
|
+
APPMAP_JS = Pathname.new(__dir__).join('../../node_modules/@appland/cli/src/cli.js').expand_path.to_s
|
10
|
+
|
11
|
+
attr_reader :verbose
|
12
|
+
# Directory to scan for AppMaps.
|
13
|
+
attr_accessor :appmap_dir
|
14
|
+
|
15
|
+
def initialize(verbose: false, appmap_dir: AppMap::DEFAULT_APPMAP_DIR)
|
16
|
+
@verbose = verbose
|
17
|
+
@appmap_dir = appmap_dir
|
18
|
+
|
19
|
+
detect_nodejs
|
20
|
+
end
|
21
|
+
|
22
|
+
def detect_nodejs
|
23
|
+
do_fail('node', 'please install NodeJS') unless system('node --version 2>&1 > /dev/null')
|
24
|
+
true
|
25
|
+
end
|
26
|
+
|
27
|
+
def index_appmaps
|
28
|
+
command [ 'index', '--appmap-dir', appmap_dir ]
|
29
|
+
true
|
30
|
+
end
|
31
|
+
|
32
|
+
def command(command, options = {})
|
33
|
+
command.unshift << '--verbose' if verbose
|
34
|
+
command.unshift APPMAP_JS
|
35
|
+
command.unshift 'node'
|
36
|
+
|
37
|
+
warn command.join(' ') if verbose
|
38
|
+
stdout, stderr, status = Open3.capture3({ 'NODE_OPTIONS' => '--trace-warnings' }, *command.map(&:shellescape), options)
|
39
|
+
stdout_msg = stdout.split("\n").map {|line| "stdout: #{line}"}.join("\n") unless Util.blank?(stdout)
|
40
|
+
stderr_msg = stderr.split("\n").map {|line| "stderr: #{line}"}.join("\n") unless Util.blank?(stderr)
|
41
|
+
if verbose
|
42
|
+
warn stdout_msg if stdout_msg
|
43
|
+
warn stderr_msg if stderr_msg
|
44
|
+
end
|
45
|
+
unless status.exitstatus == 0
|
46
|
+
raise CommandError.new(command, [ stdout_msg, stderr_msg ].compact.join("\n"))
|
47
|
+
end
|
48
|
+
[ stdout, stderr ]
|
49
|
+
end
|
50
|
+
|
51
|
+
protected
|
52
|
+
|
53
|
+
def do_fail(command, msg)
|
54
|
+
command = command.join(' ') if command.is_a?(Array)
|
55
|
+
warn [ command, msg ].join('; ') if verbose
|
56
|
+
raise CommandError.new(command, msg)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/lib/appmap/util.rb
CHANGED
@@ -101,13 +101,13 @@ module AppMap
|
|
101
101
|
# Rack prepends HTTP_ to all client-sent headers.
|
102
102
|
matching_headers = env
|
103
103
|
.select { |k,v| k.start_with? 'HTTP_'}
|
104
|
-
.reject { |k,v|
|
104
|
+
.reject { |k,v| blank?(v) }
|
105
105
|
.each_with_object({}) do |kv, memo|
|
106
106
|
key = kv[0].sub(/^HTTP_/, '').split('_').map(&:capitalize).join('-')
|
107
107
|
value = kv[1]
|
108
108
|
memo[key] = value
|
109
109
|
end
|
110
|
-
|
110
|
+
blank?(matching_headers) ? nil : matching_headers
|
111
111
|
end
|
112
112
|
|
113
113
|
def normalize_path(path)
|
@@ -149,6 +149,35 @@ module AppMap
|
|
149
149
|
bold = bold ? BOLD : ""
|
150
150
|
"#{bold}#{color}#{text}#{CLEAR}"
|
151
151
|
end
|
152
|
+
|
153
|
+
def classify(word)
|
154
|
+
word.split(/[\-_]/).map(&:capitalize).join
|
155
|
+
end
|
156
|
+
|
157
|
+
def deep_dup(hash)
|
158
|
+
# This is a simple way to avoid the need for deep_dup from activesupport.
|
159
|
+
Marshal.load(Marshal.dump(hash))
|
160
|
+
end
|
161
|
+
|
162
|
+
def blank?(obj)
|
163
|
+
return true if obj.nil?
|
164
|
+
|
165
|
+
return true if obj.is_a?(String) && obj == ''
|
166
|
+
|
167
|
+
return true if obj.respond_to?(:length) && obj.length == 0
|
168
|
+
|
169
|
+
return true if obj.respond_to?(:size) && obj.size == 0
|
170
|
+
|
171
|
+
false
|
172
|
+
end
|
173
|
+
|
174
|
+
def startup_message(msg)
|
175
|
+
if defined?(::Rails) && defined?(::Rails.logger) && ::Rails.logger
|
176
|
+
::Rails.logger.debug msg
|
177
|
+
elsif ENV['DEBUG'] == 'true'
|
178
|
+
warn msg
|
179
|
+
end
|
180
|
+
end
|
152
181
|
end
|
153
182
|
end
|
154
183
|
end
|
data/lib/appmap/version.rb
CHANGED
data/package.json
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"name": "appmap-ruby",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"description": "AppMap client agent for Ruby",
|
5
|
+
"directories": {
|
6
|
+
"lib": "lib",
|
7
|
+
"test": "test"
|
8
|
+
},
|
9
|
+
"repository": {
|
10
|
+
"type": "git",
|
11
|
+
"url": "git+https://github.com/applandinc/appmap-ruby.git"
|
12
|
+
},
|
13
|
+
"author": "kgilpin@gmail.com",
|
14
|
+
"license": "MIT",
|
15
|
+
"bugs": {
|
16
|
+
"url": "https://github.com/applandinc/appmap-ruby/issues"
|
17
|
+
},
|
18
|
+
"homepage": "https://github.com/applandinc/appmap-ruby#readme",
|
19
|
+
"dependencies": {
|
20
|
+
"@appland/cli": "^1.1.0"
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
@@ -4,9 +4,18 @@ ARG RUBY_VERSION
|
|
4
4
|
FROM appmap:${GEM_VERSION} as appmap
|
5
5
|
|
6
6
|
FROM ruby:${RUBY_VERSION}
|
7
|
+
|
8
|
+
SHELL ["/bin/bash", "-c"]
|
9
|
+
|
7
10
|
RUN apt-get update && apt-get install -y vim less
|
8
11
|
RUN apt-get install -y postgresql-client
|
9
12
|
|
13
|
+
RUN curl -fsSL https://fnm.vercel.app/install | bash \
|
14
|
+
&& source /root/.bashrc \
|
15
|
+
&& fnm install --lts \
|
16
|
+
&& echo 'fnm default $(fnm current)' >> ~/.bashrc \
|
17
|
+
&& ln -s $(which node) /usr/local/bin/node
|
18
|
+
|
10
19
|
RUN mkdir /app
|
11
20
|
WORKDIR /app
|
12
21
|
|
@@ -1,26 +1,6 @@
|
|
1
1
|
require 'rails_spec_helper'
|
2
2
|
|
3
3
|
describe 'Rails' do
|
4
|
-
shared_context 'rails integration test setup' do
|
5
|
-
def tmpdir
|
6
|
-
'tmp/spec/AbstractControllerBase'
|
7
|
-
end
|
8
|
-
|
9
|
-
unless use_existing_data?
|
10
|
-
before(:all) do
|
11
|
-
FileUtils.rm_rf tmpdir
|
12
|
-
FileUtils.mkdir_p tmpdir
|
13
|
-
run_spec 'spec/controllers/users_controller_spec.rb'
|
14
|
-
run_spec 'spec/controllers/users_controller_api_spec.rb'
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
let(:appmap) { JSON.parse File.read File.join tmpdir, 'appmap/rspec', appmap_json_file }
|
19
|
-
let(:appmap_json_path) { File.join(tmpdir, 'appmap/rspec', appmap_json_file) }
|
20
|
-
let(:appmap) { JSON.parse File.read(appmap_json_path) }
|
21
|
-
let(:events) { appmap['events'] }
|
22
|
-
end
|
23
|
-
|
24
4
|
%w[5 6].each do |rails_major_version| # rubocop:disable Metrics/BlockLength
|
25
5
|
context "#{rails_major_version}" do
|
26
6
|
include_context 'Rails app pg database', "spec/fixtures/rails#{rails_major_version}_users_app" unless use_existing_data?
|
@@ -243,7 +223,8 @@ describe 'Rails' do
|
|
243
223
|
'children' => include(hash_including(
|
244
224
|
'name' => 'ActionView',
|
245
225
|
'children' => include(hash_including(
|
246
|
-
|
226
|
+
# Rails 6/5 difference
|
227
|
+
'name' => /^(Template)?Renderer$/,
|
247
228
|
'children' => include(hash_including(
|
248
229
|
'name' => 'render',
|
249
230
|
'labels' => ['mvc.view']
|
data/spec/rails_spec_helper.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
|
+
require 'active_support'
|
5
|
+
require 'active_support/core_ext'
|
4
6
|
require 'open3'
|
5
7
|
|
6
8
|
def wait_for_container(app_name)
|
@@ -58,3 +60,23 @@ shared_context 'Rails app pg database' do |fixture_dir|
|
|
58
60
|
end
|
59
61
|
end
|
60
62
|
end
|
63
|
+
|
64
|
+
shared_context 'rails integration test setup' do
|
65
|
+
def tmpdir
|
66
|
+
'tmp/spec/AbstractControllerBase'
|
67
|
+
end
|
68
|
+
|
69
|
+
unless use_existing_data?
|
70
|
+
before(:all) do
|
71
|
+
FileUtils.rm_rf tmpdir
|
72
|
+
FileUtils.mkdir_p tmpdir
|
73
|
+
run_spec 'spec/controllers/users_controller_spec.rb'
|
74
|
+
run_spec 'spec/controllers/users_controller_api_spec.rb'
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
let(:appmap) { JSON.parse File.read File.join tmpdir, 'appmap/rspec', appmap_json_file }
|
79
|
+
let(:appmap_json_path) { File.join(tmpdir, 'appmap/rspec', appmap_json_file) }
|
80
|
+
let(:appmap) { JSON.parse File.read(appmap_json_path) }
|
81
|
+
let(:events) { appmap['events'] }
|
82
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'test_helper'
|
5
|
+
|
6
|
+
class InspectCLITest < Minitest::Test
|
7
|
+
def test_help
|
8
|
+
output = `./exe/appmap-inspect --help`
|
9
|
+
assert_equal 0, $CHILD_STATUS.exitstatus
|
10
|
+
assert_includes output, 'Search AppMaps for references to a code object'
|
11
|
+
end
|
12
|
+
end
|
data/yarn.lock
ADDED
@@ -0,0 +1,477 @@
|
|
1
|
+
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
2
|
+
# yarn lockfile v1
|
3
|
+
|
4
|
+
|
5
|
+
"@appland/cli@^1.1.0":
|
6
|
+
version "1.1.0"
|
7
|
+
resolved "https://registry.yarnpkg.com/@appland/cli/-/cli-1.1.0.tgz#db2e207cc10f0fac7ae435128390c3656b430a74"
|
8
|
+
integrity sha512-zhxi2Yk6ssueMYMkZk509VR4oJb7+zoskQNoBiqIXYeZs0geBj/kJPQTIjIcIxk1gBoq0JhXWEd7mEUGVWfFfA==
|
9
|
+
dependencies:
|
10
|
+
"@appland/models" "1.0.6"
|
11
|
+
async "^3.2.0"
|
12
|
+
chokidar "^3.5.1"
|
13
|
+
console-table-printer "^2.9.0"
|
14
|
+
crypto-js "^4.0.0"
|
15
|
+
diff "^5.0.0"
|
16
|
+
fs-extra "^9.1.0"
|
17
|
+
glob "^7.1.6"
|
18
|
+
js-yaml "^3.14.1"
|
19
|
+
semver "^7.3.5"
|
20
|
+
yargs "^17.0.1"
|
21
|
+
|
22
|
+
"@appland/models@1.0.6":
|
23
|
+
version "1.0.6"
|
24
|
+
resolved "https://registry.yarnpkg.com/@appland/models/-/models-1.0.6.tgz#a3ce8a0063125b9bed8cb71e396067e2853151c9"
|
25
|
+
integrity sha512-54FvtaoZyJOIzeS8SxY1UXkYfDa/gGwZcynEWT+KLT9hkAjGsr9pIhgJCvZ1EJpUmiXYoH6sxYl8SvGlNuG5Xw==
|
26
|
+
dependencies:
|
27
|
+
"@rollup/plugin-alias" "^3.1.2"
|
28
|
+
cross-env "^7.0.3"
|
29
|
+
crypto-js "^4.0.0"
|
30
|
+
sqlite-parser "^1.0.1"
|
31
|
+
|
32
|
+
"@rollup/plugin-alias@^3.1.2":
|
33
|
+
version "3.1.2"
|
34
|
+
resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.2.tgz#c585b05be4a7782d269c69d13def56f44e417772"
|
35
|
+
integrity sha512-wzDnQ6v7CcoRzS0qVwFPrFdYA4Qlr+ookA217Y2Z3DPZE1R8jrFNM3jvGgOf6o6DMjbnQIn5lCIJgHPe1Bt3uw==
|
36
|
+
dependencies:
|
37
|
+
slash "^3.0.0"
|
38
|
+
|
39
|
+
ansi-regex@^5.0.0:
|
40
|
+
version "5.0.0"
|
41
|
+
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
|
42
|
+
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
|
43
|
+
|
44
|
+
ansi-styles@^4.0.0:
|
45
|
+
version "4.3.0"
|
46
|
+
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
|
47
|
+
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
|
48
|
+
dependencies:
|
49
|
+
color-convert "^2.0.1"
|
50
|
+
|
51
|
+
anymatch@~3.1.2:
|
52
|
+
version "3.1.2"
|
53
|
+
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
|
54
|
+
integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
|
55
|
+
dependencies:
|
56
|
+
normalize-path "^3.0.0"
|
57
|
+
picomatch "^2.0.4"
|
58
|
+
|
59
|
+
argparse@^1.0.7:
|
60
|
+
version "1.0.10"
|
61
|
+
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
62
|
+
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
|
63
|
+
dependencies:
|
64
|
+
sprintf-js "~1.0.2"
|
65
|
+
|
66
|
+
async@^3.2.0:
|
67
|
+
version "3.2.0"
|
68
|
+
resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
|
69
|
+
integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==
|
70
|
+
|
71
|
+
at-least-node@^1.0.0:
|
72
|
+
version "1.0.0"
|
73
|
+
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
|
74
|
+
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
|
75
|
+
|
76
|
+
balanced-match@^1.0.0:
|
77
|
+
version "1.0.2"
|
78
|
+
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
79
|
+
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
80
|
+
|
81
|
+
binary-extensions@^2.0.0:
|
82
|
+
version "2.2.0"
|
83
|
+
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
|
84
|
+
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
|
85
|
+
|
86
|
+
brace-expansion@^1.1.7:
|
87
|
+
version "1.1.11"
|
88
|
+
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
89
|
+
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
|
90
|
+
dependencies:
|
91
|
+
balanced-match "^1.0.0"
|
92
|
+
concat-map "0.0.1"
|
93
|
+
|
94
|
+
braces@~3.0.2:
|
95
|
+
version "3.0.2"
|
96
|
+
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
|
97
|
+
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
|
98
|
+
dependencies:
|
99
|
+
fill-range "^7.0.1"
|
100
|
+
|
101
|
+
chokidar@^3.5.1:
|
102
|
+
version "3.5.2"
|
103
|
+
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
|
104
|
+
integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
|
105
|
+
dependencies:
|
106
|
+
anymatch "~3.1.2"
|
107
|
+
braces "~3.0.2"
|
108
|
+
glob-parent "~5.1.2"
|
109
|
+
is-binary-path "~2.1.0"
|
110
|
+
is-glob "~4.0.1"
|
111
|
+
normalize-path "~3.0.0"
|
112
|
+
readdirp "~3.6.0"
|
113
|
+
optionalDependencies:
|
114
|
+
fsevents "~2.3.2"
|
115
|
+
|
116
|
+
cliui@^7.0.2:
|
117
|
+
version "7.0.4"
|
118
|
+
resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
|
119
|
+
integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
|
120
|
+
dependencies:
|
121
|
+
string-width "^4.2.0"
|
122
|
+
strip-ansi "^6.0.0"
|
123
|
+
wrap-ansi "^7.0.0"
|
124
|
+
|
125
|
+
color-convert@^2.0.1:
|
126
|
+
version "2.0.1"
|
127
|
+
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
|
128
|
+
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
|
129
|
+
dependencies:
|
130
|
+
color-name "~1.1.4"
|
131
|
+
|
132
|
+
color-name@~1.1.4:
|
133
|
+
version "1.1.4"
|
134
|
+
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
135
|
+
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
136
|
+
|
137
|
+
concat-map@0.0.1:
|
138
|
+
version "0.0.1"
|
139
|
+
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
140
|
+
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
|
141
|
+
|
142
|
+
console-table-printer@^2.9.0:
|
143
|
+
version "2.9.0"
|
144
|
+
resolved "https://registry.yarnpkg.com/console-table-printer/-/console-table-printer-2.9.0.tgz#5d75374bc94ae57048587604829cb914b282a088"
|
145
|
+
integrity sha512-20o73riqnclLYJt5ggNqP2ZjtgL5OxJPWzTVi3LyVFVtubMH0XN+oOn9outL1XI5ldJgPcjdMAWc92vRscHAKA==
|
146
|
+
dependencies:
|
147
|
+
simple-wcswidth "^1.0.1"
|
148
|
+
|
149
|
+
cross-env@^7.0.3:
|
150
|
+
version "7.0.3"
|
151
|
+
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
|
152
|
+
integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==
|
153
|
+
dependencies:
|
154
|
+
cross-spawn "^7.0.1"
|
155
|
+
|
156
|
+
cross-spawn@^7.0.1:
|
157
|
+
version "7.0.3"
|
158
|
+
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
159
|
+
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
|
160
|
+
dependencies:
|
161
|
+
path-key "^3.1.0"
|
162
|
+
shebang-command "^2.0.0"
|
163
|
+
which "^2.0.1"
|
164
|
+
|
165
|
+
crypto-js@^4.0.0:
|
166
|
+
version "4.0.0"
|
167
|
+
resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.0.0.tgz#2904ab2677a9d042856a2ea2ef80de92e4a36dcc"
|
168
|
+
integrity sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==
|
169
|
+
|
170
|
+
diff@^5.0.0:
|
171
|
+
version "5.0.0"
|
172
|
+
resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
|
173
|
+
integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
|
174
|
+
|
175
|
+
emoji-regex@^8.0.0:
|
176
|
+
version "8.0.0"
|
177
|
+
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
|
178
|
+
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
|
179
|
+
|
180
|
+
escalade@^3.1.1:
|
181
|
+
version "3.1.1"
|
182
|
+
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
|
183
|
+
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
|
184
|
+
|
185
|
+
esprima@^4.0.0:
|
186
|
+
version "4.0.1"
|
187
|
+
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
|
188
|
+
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
|
189
|
+
|
190
|
+
fill-range@^7.0.1:
|
191
|
+
version "7.0.1"
|
192
|
+
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
|
193
|
+
integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
|
194
|
+
dependencies:
|
195
|
+
to-regex-range "^5.0.1"
|
196
|
+
|
197
|
+
fs-extra@^9.1.0:
|
198
|
+
version "9.1.0"
|
199
|
+
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
|
200
|
+
integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
|
201
|
+
dependencies:
|
202
|
+
at-least-node "^1.0.0"
|
203
|
+
graceful-fs "^4.2.0"
|
204
|
+
jsonfile "^6.0.1"
|
205
|
+
universalify "^2.0.0"
|
206
|
+
|
207
|
+
fs.realpath@^1.0.0:
|
208
|
+
version "1.0.0"
|
209
|
+
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
210
|
+
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
|
211
|
+
|
212
|
+
fsevents@~2.3.2:
|
213
|
+
version "2.3.2"
|
214
|
+
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
|
215
|
+
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
|
216
|
+
|
217
|
+
get-caller-file@^2.0.5:
|
218
|
+
version "2.0.5"
|
219
|
+
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
|
220
|
+
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
|
221
|
+
|
222
|
+
glob-parent@~5.1.2:
|
223
|
+
version "5.1.2"
|
224
|
+
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
|
225
|
+
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
|
226
|
+
dependencies:
|
227
|
+
is-glob "^4.0.1"
|
228
|
+
|
229
|
+
glob@^7.1.6:
|
230
|
+
version "7.1.7"
|
231
|
+
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
|
232
|
+
integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
|
233
|
+
dependencies:
|
234
|
+
fs.realpath "^1.0.0"
|
235
|
+
inflight "^1.0.4"
|
236
|
+
inherits "2"
|
237
|
+
minimatch "^3.0.4"
|
238
|
+
once "^1.3.0"
|
239
|
+
path-is-absolute "^1.0.0"
|
240
|
+
|
241
|
+
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
|
242
|
+
version "4.2.6"
|
243
|
+
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
|
244
|
+
integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
|
245
|
+
|
246
|
+
inflight@^1.0.4:
|
247
|
+
version "1.0.6"
|
248
|
+
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
|
249
|
+
integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
|
250
|
+
dependencies:
|
251
|
+
once "^1.3.0"
|
252
|
+
wrappy "1"
|
253
|
+
|
254
|
+
inherits@2:
|
255
|
+
version "2.0.4"
|
256
|
+
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
257
|
+
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
258
|
+
|
259
|
+
is-binary-path@~2.1.0:
|
260
|
+
version "2.1.0"
|
261
|
+
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
|
262
|
+
integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
|
263
|
+
dependencies:
|
264
|
+
binary-extensions "^2.0.0"
|
265
|
+
|
266
|
+
is-extglob@^2.1.1:
|
267
|
+
version "2.1.1"
|
268
|
+
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
269
|
+
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
|
270
|
+
|
271
|
+
is-fullwidth-code-point@^3.0.0:
|
272
|
+
version "3.0.0"
|
273
|
+
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
|
274
|
+
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
|
275
|
+
|
276
|
+
is-glob@^4.0.1, is-glob@~4.0.1:
|
277
|
+
version "4.0.1"
|
278
|
+
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
|
279
|
+
integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
|
280
|
+
dependencies:
|
281
|
+
is-extglob "^2.1.1"
|
282
|
+
|
283
|
+
is-number@^7.0.0:
|
284
|
+
version "7.0.0"
|
285
|
+
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
|
286
|
+
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
|
287
|
+
|
288
|
+
isexe@^2.0.0:
|
289
|
+
version "2.0.0"
|
290
|
+
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
291
|
+
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
|
292
|
+
|
293
|
+
js-yaml@^3.14.1:
|
294
|
+
version "3.14.1"
|
295
|
+
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
|
296
|
+
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
|
297
|
+
dependencies:
|
298
|
+
argparse "^1.0.7"
|
299
|
+
esprima "^4.0.0"
|
300
|
+
|
301
|
+
jsonfile@^6.0.1:
|
302
|
+
version "6.1.0"
|
303
|
+
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
|
304
|
+
integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
|
305
|
+
dependencies:
|
306
|
+
universalify "^2.0.0"
|
307
|
+
optionalDependencies:
|
308
|
+
graceful-fs "^4.1.6"
|
309
|
+
|
310
|
+
lru-cache@^6.0.0:
|
311
|
+
version "6.0.0"
|
312
|
+
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
|
313
|
+
integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
|
314
|
+
dependencies:
|
315
|
+
yallist "^4.0.0"
|
316
|
+
|
317
|
+
minimatch@^3.0.4:
|
318
|
+
version "3.0.4"
|
319
|
+
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
320
|
+
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
|
321
|
+
dependencies:
|
322
|
+
brace-expansion "^1.1.7"
|
323
|
+
|
324
|
+
normalize-path@^3.0.0, normalize-path@~3.0.0:
|
325
|
+
version "3.0.0"
|
326
|
+
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
|
327
|
+
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
|
328
|
+
|
329
|
+
once@^1.3.0:
|
330
|
+
version "1.4.0"
|
331
|
+
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
332
|
+
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
|
333
|
+
dependencies:
|
334
|
+
wrappy "1"
|
335
|
+
|
336
|
+
path-is-absolute@^1.0.0:
|
337
|
+
version "1.0.1"
|
338
|
+
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
339
|
+
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
|
340
|
+
|
341
|
+
path-key@^3.1.0:
|
342
|
+
version "3.1.1"
|
343
|
+
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
|
344
|
+
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
|
345
|
+
|
346
|
+
picomatch@^2.0.4, picomatch@^2.2.1:
|
347
|
+
version "2.3.0"
|
348
|
+
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
|
349
|
+
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
|
350
|
+
|
351
|
+
readdirp@~3.6.0:
|
352
|
+
version "3.6.0"
|
353
|
+
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
|
354
|
+
integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
|
355
|
+
dependencies:
|
356
|
+
picomatch "^2.2.1"
|
357
|
+
|
358
|
+
require-directory@^2.1.1:
|
359
|
+
version "2.1.1"
|
360
|
+
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
361
|
+
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
|
362
|
+
|
363
|
+
semver@^7.3.5:
|
364
|
+
version "7.3.5"
|
365
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
|
366
|
+
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
|
367
|
+
dependencies:
|
368
|
+
lru-cache "^6.0.0"
|
369
|
+
|
370
|
+
shebang-command@^2.0.0:
|
371
|
+
version "2.0.0"
|
372
|
+
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
|
373
|
+
integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
|
374
|
+
dependencies:
|
375
|
+
shebang-regex "^3.0.0"
|
376
|
+
|
377
|
+
shebang-regex@^3.0.0:
|
378
|
+
version "3.0.0"
|
379
|
+
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
|
380
|
+
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
|
381
|
+
|
382
|
+
simple-wcswidth@^1.0.1:
|
383
|
+
version "1.0.1"
|
384
|
+
resolved "https://registry.yarnpkg.com/simple-wcswidth/-/simple-wcswidth-1.0.1.tgz#8ab18ac0ae342f9d9b629604e54d2aa1ecb018b2"
|
385
|
+
integrity sha512-xMO/8eNREtaROt7tJvWJqHBDTMFN4eiQ5I4JRMuilwfnFcV5W9u7RUkueNkdw0jPqGMX36iCywelS5yilTuOxg==
|
386
|
+
|
387
|
+
slash@^3.0.0:
|
388
|
+
version "3.0.0"
|
389
|
+
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
|
390
|
+
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
|
391
|
+
|
392
|
+
sprintf-js@~1.0.2:
|
393
|
+
version "1.0.3"
|
394
|
+
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
395
|
+
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
396
|
+
|
397
|
+
sqlite-parser@^1.0.1:
|
398
|
+
version "1.0.1"
|
399
|
+
resolved "https://registry.yarnpkg.com/sqlite-parser/-/sqlite-parser-1.0.1.tgz#110183f2682f04ac6c7d8ad09c44446ef976d5ec"
|
400
|
+
integrity sha1-EQGD8mgvBKxsfYrQnEREbvl21ew=
|
401
|
+
|
402
|
+
string-width@^4.1.0, string-width@^4.2.0:
|
403
|
+
version "4.2.2"
|
404
|
+
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
|
405
|
+
integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
|
406
|
+
dependencies:
|
407
|
+
emoji-regex "^8.0.0"
|
408
|
+
is-fullwidth-code-point "^3.0.0"
|
409
|
+
strip-ansi "^6.0.0"
|
410
|
+
|
411
|
+
strip-ansi@^6.0.0:
|
412
|
+
version "6.0.0"
|
413
|
+
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
|
414
|
+
integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
|
415
|
+
dependencies:
|
416
|
+
ansi-regex "^5.0.0"
|
417
|
+
|
418
|
+
to-regex-range@^5.0.1:
|
419
|
+
version "5.0.1"
|
420
|
+
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
|
421
|
+
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
|
422
|
+
dependencies:
|
423
|
+
is-number "^7.0.0"
|
424
|
+
|
425
|
+
universalify@^2.0.0:
|
426
|
+
version "2.0.0"
|
427
|
+
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
|
428
|
+
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
|
429
|
+
|
430
|
+
which@^2.0.1:
|
431
|
+
version "2.0.2"
|
432
|
+
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
|
433
|
+
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
|
434
|
+
dependencies:
|
435
|
+
isexe "^2.0.0"
|
436
|
+
|
437
|
+
wrap-ansi@^7.0.0:
|
438
|
+
version "7.0.0"
|
439
|
+
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
|
440
|
+
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
|
441
|
+
dependencies:
|
442
|
+
ansi-styles "^4.0.0"
|
443
|
+
string-width "^4.1.0"
|
444
|
+
strip-ansi "^6.0.0"
|
445
|
+
|
446
|
+
wrappy@1:
|
447
|
+
version "1.0.2"
|
448
|
+
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
449
|
+
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
|
450
|
+
|
451
|
+
y18n@^5.0.5:
|
452
|
+
version "5.0.8"
|
453
|
+
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
|
454
|
+
integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
|
455
|
+
|
456
|
+
yallist@^4.0.0:
|
457
|
+
version "4.0.0"
|
458
|
+
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
459
|
+
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
460
|
+
|
461
|
+
yargs-parser@^20.2.2:
|
462
|
+
version "20.2.9"
|
463
|
+
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
|
464
|
+
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
|
465
|
+
|
466
|
+
yargs@^17.0.1:
|
467
|
+
version "17.0.1"
|
468
|
+
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb"
|
469
|
+
integrity sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==
|
470
|
+
dependencies:
|
471
|
+
cliui "^7.0.2"
|
472
|
+
escalade "^3.1.1"
|
473
|
+
get-caller-file "^2.0.5"
|
474
|
+
require-directory "^2.1.1"
|
475
|
+
string-width "^4.2.0"
|
476
|
+
y18n "^5.0.5"
|
477
|
+
yargs-parser "^20.2.2"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appmap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.52.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Gilpin
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: faraday
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: gli
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,7 +53,7 @@ dependencies:
|
|
67
53
|
- !ruby/object:Gem::Version
|
68
54
|
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
56
|
+
name: rack
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
59
|
- - ">="
|
@@ -81,7 +67,7 @@ dependencies:
|
|
81
67
|
- !ruby/object:Gem::Version
|
82
68
|
version: '0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
70
|
+
name: reverse_markdown
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
73
|
- - ">="
|
@@ -112,16 +98,16 @@ dependencies:
|
|
112
98
|
name: minitest
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - '='
|
116
102
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
103
|
+
version: 5.14.4
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
107
|
requirements:
|
122
|
-
- -
|
108
|
+
- - '='
|
123
109
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
110
|
+
version: 5.14.4
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: pry-byebug
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -309,6 +295,7 @@ email:
|
|
309
295
|
- kgilpin@gmail.com
|
310
296
|
executables:
|
311
297
|
- appmap-agent-setup
|
298
|
+
- appmap-inspect
|
312
299
|
extensions:
|
313
300
|
- ext/appmap/extconf.rb
|
314
301
|
extra_rdoc_files: []
|
@@ -337,11 +324,14 @@ files:
|
|
337
324
|
- examples/mock_webapp/lib/mock_webapp/request.rb
|
338
325
|
- examples/mock_webapp/lib/mock_webapp/user.rb
|
339
326
|
- exe/appmap-agent-setup
|
327
|
+
- exe/appmap-inspect
|
340
328
|
- ext/appmap/appmap.c
|
341
329
|
- ext/appmap/extconf.rb
|
342
330
|
- lib/appmap.rb
|
343
331
|
- lib/appmap/class_map.rb
|
344
|
-
- lib/appmap/command/init.rb
|
332
|
+
- lib/appmap/command/agent_setup/init.rb
|
333
|
+
- lib/appmap/command/inspect.rb
|
334
|
+
- lib/appmap/command_error.rb
|
345
335
|
- lib/appmap/config.rb
|
346
336
|
- lib/appmap/cucumber.rb
|
347
337
|
- lib/appmap/event.rb
|
@@ -355,6 +345,7 @@ files:
|
|
355
345
|
- lib/appmap/metadata.rb
|
356
346
|
- lib/appmap/middleware/remote_recording.rb
|
357
347
|
- lib/appmap/minitest.rb
|
348
|
+
- lib/appmap/node_cli.rb
|
358
349
|
- lib/appmap/open.rb
|
359
350
|
- lib/appmap/railtie.rb
|
360
351
|
- lib/appmap/record.rb
|
@@ -363,8 +354,8 @@ files:
|
|
363
354
|
- lib/appmap/trace.rb
|
364
355
|
- lib/appmap/util.rb
|
365
356
|
- lib/appmap/version.rb
|
357
|
+
- package.json
|
366
358
|
- release.sh
|
367
|
-
- spec/abstract_controller_base_spec.rb
|
368
359
|
- spec/class_map_spec.rb
|
369
360
|
- spec/config_spec.rb
|
370
361
|
- spec/fixtures/hook/attr_accessor.rb
|
@@ -529,6 +520,7 @@ files:
|
|
529
520
|
- spec/fixtures/rails6_users_app/users_app/.gitignore
|
530
521
|
- spec/hook_spec.rb
|
531
522
|
- spec/open_spec.rb
|
523
|
+
- spec/rails_recording_spec.rb
|
532
524
|
- spec/rails_spec_helper.rb
|
533
525
|
- spec/railtie_spec.rb
|
534
526
|
- spec/record_net_http_spec.rb
|
@@ -536,8 +528,8 @@ files:
|
|
536
528
|
- spec/remote_recording_spec.rb
|
537
529
|
- spec/spec_helper.rb
|
538
530
|
- spec/util_spec.rb
|
531
|
+
- test/agent_setup_cli_test.rb
|
539
532
|
- test/bundle_vendor_test.rb
|
540
|
-
- test/cli_test.rb
|
541
533
|
- test/cucumber_test.rb
|
542
534
|
- test/expectations/openssl_test_key_sign1.json
|
543
535
|
- test/expectations/openssl_test_key_sign2.json
|
@@ -581,11 +573,13 @@ files:
|
|
581
573
|
- test/fixtures/rspec_recorder/spec/labeled_hello_spec.rb
|
582
574
|
- test/fixtures/rspec_recorder/spec/plain_hello_spec.rb
|
583
575
|
- test/gem_test.rb
|
576
|
+
- test/inspect_cli_test.rb
|
584
577
|
- test/minitest_test.rb
|
585
578
|
- test/openssl_test.rb
|
586
579
|
- test/record_process_test.rb
|
587
580
|
- test/rspec_test.rb
|
588
581
|
- test/test_helper.rb
|
582
|
+
- yarn.lock
|
589
583
|
homepage: https://github.com/applandinc/appmap-ruby
|
590
584
|
licenses:
|
591
585
|
- MIT
|
data/lib/appmap/command/init.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'fileutils'
|
4
|
-
require 'appmap/service/guesser'
|
5
|
-
require 'appmap/util'
|
6
|
-
|
7
|
-
module AppMap
|
8
|
-
module Command
|
9
|
-
InitStruct = Struct.new(:config_file)
|
10
|
-
|
11
|
-
class Init < InitStruct
|
12
|
-
def perform
|
13
|
-
if File.exist?(config_file)
|
14
|
-
puts AppMap::Util.color(%(The AppMap config file #{config_file} already exists.), :magenta)
|
15
|
-
return
|
16
|
-
end
|
17
|
-
|
18
|
-
ensure_directory_exists
|
19
|
-
|
20
|
-
config = {
|
21
|
-
'name' => Service::Guesser.guess_name,
|
22
|
-
'packages' => Service::Guesser.guess_paths.map { |path| { 'path' => path } }
|
23
|
-
}
|
24
|
-
content = YAML.dump(config).gsub("---\n", '')
|
25
|
-
|
26
|
-
File.write(config_file, content)
|
27
|
-
puts AppMap::Util.color(
|
28
|
-
%(The following AppMap config file #{config_file} has been created:),
|
29
|
-
:green
|
30
|
-
)
|
31
|
-
puts content
|
32
|
-
end
|
33
|
-
|
34
|
-
private
|
35
|
-
|
36
|
-
def ensure_directory_exists
|
37
|
-
dirname = File.dirname(config_file)
|
38
|
-
FileUtils.mkdir_p(dirname) unless File.directory?(dirname)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|