appmap 0.51.1 → 0.53.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 +38 -0
- data/Rakefile +21 -5
- data/appmap.gemspec +11 -7
- data/exe/appmap-agent-init +19 -0
- data/exe/appmap-inspect +7 -0
- data/lib/appmap.rb +44 -12
- 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 +6 -24
- data/lib/appmap/handler/rails/template.rb +19 -5
- data/lib/appmap/node_cli.rb +59 -0
- data/lib/appmap/service/guesser.rb +19 -0
- data/lib/appmap/trace.rb +4 -2
- data/lib/appmap/util.rb +31 -2
- data/lib/appmap/version.rb +2 -1
- data/package.json +6 -7
- 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/agent_setup_init_test.rb +37 -0
- data/test/fixtures/gem_test/Gemfile +1 -0
- data/test/inspect_cli_test.rb +12 -0
- data/yarn.lock +477 -0
- metadata +23 -61
- data/lib/appmap/algorithm/prune_class_map.rb +0 -67
- data/lib/appmap/algorithm/stats.rb +0 -91
- data/lib/appmap/command/record.rb +0 -38
- data/lib/appmap/command/stats.rb +0 -14
- data/lore/pages/2019-05-21-install-and-record/index.pug +0 -51
- data/lore/pages/2019-05-21-install-and-record/install_example_appmap.png +0 -0
- data/lore/pages/2019-05-21-install-and-record/metadata.yml +0 -5
- data/lore/pages/layout.pug +0 -66
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-grid.css +0 -1912
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-grid.css.map +0 -1
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-grid.min.css +0 -7
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-grid.min.css.map +0 -1
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-reboot.css +0 -331
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-reboot.css.map +0 -1
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-reboot.min.css +0 -8
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map +0 -1
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap.css +0 -9030
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap.css.map +0 -1
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap.min.css +0 -7
- data/lore/public/lib/bootstrap-4.1.3/css/bootstrap.min.css.map +0 -1
- data/lore/public/stylesheets/style.css +0 -8
- data/package-lock.json +0 -1064
@@ -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
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppMap
|
4
|
+
module Service
|
5
|
+
class Guesser
|
6
|
+
POSSIBLE_PATHS = %w[app/controllers app/models lib]
|
7
|
+
class << self
|
8
|
+
def guess_name
|
9
|
+
return Pathname.new(`git rev-parse --show-toplevel`.strip).basename.to_s if File.directory?('.git')
|
10
|
+
Dir.pwd.split('/').last
|
11
|
+
end
|
12
|
+
|
13
|
+
def guess_paths
|
14
|
+
POSSIBLE_PATHS.select { |path| File.directory?(path) }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/appmap/trace.rb
CHANGED
@@ -2,10 +2,12 @@
|
|
2
2
|
|
3
3
|
module AppMap
|
4
4
|
module Trace
|
5
|
-
class RubyMethod
|
5
|
+
class RubyMethod < SimpleDelegator
|
6
6
|
attr_reader :class_name, :static
|
7
7
|
|
8
8
|
def initialize(package, class_name, method, static)
|
9
|
+
super(method)
|
10
|
+
|
9
11
|
@package = package
|
10
12
|
@class_name = class_name
|
11
13
|
@method = method
|
@@ -111,7 +113,7 @@ module AppMap
|
|
111
113
|
@last_package_for_thread[Thread.current.object_id] = package if package
|
112
114
|
@events << event
|
113
115
|
static = event.static if event.respond_to?(:static)
|
114
|
-
|
116
|
+
record_method Trace::RubyMethod.new(package, defined_class, method, static) \
|
115
117
|
if package && defined_class && method && (event.event == :call)
|
116
118
|
end
|
117
119
|
|
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
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
{
|
2
|
-
"name": "appmap-ruby
|
2
|
+
"name": "appmap-ruby",
|
3
3
|
"version": "1.0.0",
|
4
|
-
"description": "
|
5
|
-
"scripts": {
|
6
|
-
"start": "./node_modules/applore/bin/lore serve"
|
7
|
-
},
|
4
|
+
"description": "AppMap client agent for Ruby",
|
8
5
|
"directories": {
|
9
|
-
"example": "examples",
|
10
6
|
"lib": "lib",
|
11
7
|
"test": "test"
|
12
8
|
},
|
@@ -14,11 +10,14 @@
|
|
14
10
|
"type": "git",
|
15
11
|
"url": "git+https://github.com/applandinc/appmap-ruby.git"
|
16
12
|
},
|
13
|
+
"author": "kgilpin@gmail.com",
|
14
|
+
"license": "MIT",
|
17
15
|
"bugs": {
|
18
16
|
"url": "https://github.com/applandinc/appmap-ruby/issues"
|
19
17
|
},
|
20
18
|
"homepage": "https://github.com/applandinc/appmap-ruby#readme",
|
21
19
|
"dependencies": {
|
22
|
-
"
|
20
|
+
"@appland/cli": "^1.1.0"
|
23
21
|
}
|
24
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,37 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'test_helper'
|
5
|
+
|
6
|
+
class AgentSetupInitTest < Minitest::Test
|
7
|
+
CONFIG_FILENAME = '123.yml'
|
8
|
+
SUBFOLDER_CONFIG_FILEPATH = 'conf/123.yml'
|
9
|
+
EXPECTED_CONFIG_CONTENT = %(name: appmap-ruby
|
10
|
+
packages:
|
11
|
+
- path: lib
|
12
|
+
)
|
13
|
+
|
14
|
+
def test_init_when_config_exists
|
15
|
+
output = `./exe/appmap-agent-init`
|
16
|
+
assert_equal 0, $CHILD_STATUS.exitstatus
|
17
|
+
assert_includes output, 'The AppMap config file appmap.yml already exists.'
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_init_with_custom_config_filename
|
21
|
+
output = `./exe/appmap-agent-init -c #{CONFIG_FILENAME}`
|
22
|
+
assert_equal 0, $CHILD_STATUS.exitstatus
|
23
|
+
assert_includes output, "The following AppMap config file #{CONFIG_FILENAME} has been created:"
|
24
|
+
assert_equal EXPECTED_CONFIG_CONTENT, File.read(CONFIG_FILENAME)
|
25
|
+
ensure
|
26
|
+
File.delete(CONFIG_FILENAME) if File.exist?(CONFIG_FILENAME)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_init_with_custom_config_file_in_subfolder
|
30
|
+
output = `./exe/appmap-agent-init --config=#{SUBFOLDER_CONFIG_FILEPATH}`
|
31
|
+
assert_equal 0, $CHILD_STATUS.exitstatus
|
32
|
+
assert_includes output, "The following AppMap config file #{SUBFOLDER_CONFIG_FILEPATH} has been created:"
|
33
|
+
assert_equal EXPECTED_CONFIG_CONTENT, File.read(SUBFOLDER_CONFIG_FILEPATH)
|
34
|
+
ensure
|
35
|
+
File.delete(SUBFOLDER_CONFIG_FILEPATH) if File.exist?(SUBFOLDER_CONFIG_FILEPATH)
|
36
|
+
end
|
37
|
+
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"
|