appmap 0.51.2 → 0.54.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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -1
  3. data/CHANGELOG.md +40 -0
  4. data/Rakefile +21 -5
  5. data/appmap.gemspec +8 -7
  6. data/exe/appmap-agent-init +19 -0
  7. data/exe/appmap-inspect +7 -0
  8. data/lib/appmap.rb +29 -119
  9. data/lib/appmap/agent.rb +115 -0
  10. data/lib/appmap/class_map.rb +2 -2
  11. data/lib/appmap/command/agent_setup/init.rb +44 -0
  12. data/lib/appmap/command/inspect.rb +27 -0
  13. data/lib/appmap/command_error.rb +13 -0
  14. data/lib/appmap/config.rb +13 -4
  15. data/lib/appmap/handler/net_http.rb +2 -1
  16. data/lib/appmap/handler/rails/request_handler.rb +2 -1
  17. data/lib/appmap/metadata.rb +4 -2
  18. data/lib/appmap/minitest.rb +2 -0
  19. data/lib/appmap/node_cli.rb +59 -0
  20. data/lib/appmap/railtie.rb +2 -2
  21. data/lib/appmap/rspec.rb +5 -3
  22. data/lib/appmap/service/guesser.rb +2 -9
  23. data/lib/appmap/swagger.rb +2 -0
  24. data/lib/appmap/swagger/configuration.rb +70 -0
  25. data/lib/appmap/swagger/markdown_descriptions.rb +43 -0
  26. data/lib/appmap/swagger/rake_tasks.rb +43 -0
  27. data/lib/appmap/swagger/stable.rb +37 -0
  28. data/lib/appmap/util.rb +31 -2
  29. data/lib/appmap/version.rb +1 -1
  30. data/package.json +5 -7
  31. data/spec/config_spec.rb +0 -1
  32. data/spec/fixtures/hook/.gitignore +2 -0
  33. data/spec/fixtures/hook/app/controllers/api/api_keys_controller.rb +1 -0
  34. data/spec/fixtures/hook/app/controllers/organizations_controller.rb +1 -0
  35. data/spec/fixtures/hook/app/models/api_key.rb +1 -0
  36. data/spec/fixtures/hook/app/models/configuration.rb +1 -0
  37. data/spec/fixtures/hook/app/models/show.rb +1 -0
  38. data/spec/fixtures/hook/app/models/user.rb +1 -0
  39. data/spec/fixtures/hook/revoke_api_key.appmap.json +847 -0
  40. data/spec/fixtures/hook/spec/api_spec.rb +1 -0
  41. data/spec/fixtures/hook/spec/user_spec.rb +1 -0
  42. data/spec/fixtures/hook/user_page_scenario.appmap.json +1722 -0
  43. data/spec/fixtures/rails5_users_app/config/environments/test.rb +3 -0
  44. data/spec/fixtures/rails5_users_app/docker-compose.yml +1 -1
  45. data/spec/fixtures/rails6_users_app/Dockerfile +9 -1
  46. data/spec/fixtures/rails6_users_app/appmap.yml +3 -1
  47. data/spec/fixtures/rails6_users_app/config/environments/test.rb +3 -0
  48. data/spec/fixtures/rails6_users_app/docker-compose.yml +1 -1
  49. data/spec/fixtures/rails6_users_app/lib/tasks/appmap.rake +13 -0
  50. data/spec/{abstract_controller_base_spec.rb → rails_recording_spec.rb} +2 -21
  51. data/spec/rails_spec_helper.rb +22 -0
  52. data/spec/swagger/swagger_spec.rb +47 -0
  53. data/test/{cli_test.rb → agent_setup_init_test.rb} +4 -4
  54. data/test/fixtures/gem_test/Gemfile +1 -0
  55. data/test/gem_test.rb +1 -0
  56. data/test/inspect_cli_test.rb +12 -0
  57. data/yarn.lock +477 -0
  58. metadata +39 -63
  59. data/exe/appmap-agent-setup +0 -47
  60. data/lib/appmap/algorithm/prune_class_map.rb +0 -67
  61. data/lib/appmap/algorithm/stats.rb +0 -91
  62. data/lib/appmap/command/init.rb +0 -42
  63. data/lib/appmap/command/record.rb +0 -38
  64. data/lib/appmap/command/stats.rb +0 -14
  65. data/lore/pages/2019-05-21-install-and-record/index.pug +0 -51
  66. data/lore/pages/2019-05-21-install-and-record/install_example_appmap.png +0 -0
  67. data/lore/pages/2019-05-21-install-and-record/metadata.yml +0 -5
  68. data/lore/pages/layout.pug +0 -66
  69. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-grid.css +0 -1912
  70. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-grid.css.map +0 -1
  71. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-grid.min.css +0 -7
  72. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-grid.min.css.map +0 -1
  73. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-reboot.css +0 -331
  74. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-reboot.css.map +0 -1
  75. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-reboot.min.css +0 -8
  76. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map +0 -1
  77. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap.css +0 -9030
  78. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap.css.map +0 -1
  79. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap.min.css +0 -7
  80. data/lore/public/lib/bootstrap-4.1.3/css/bootstrap.min.css.map +0 -1
  81. data/lore/public/stylesheets/style.css +0 -8
  82. data/package-lock.json +0 -1064
@@ -1,3 +1,6 @@
1
+ require 'active_support'
2
+ require 'active_support/core_ext'
3
+
1
4
  Rails.application.configure do
2
5
  # Settings specified here will take precedence over those in config/application.rb.
3
6
 
@@ -13,7 +13,7 @@ services:
13
13
  build:
14
14
  context: .
15
15
  dockerfile: Dockerfile
16
- image: rails-app:${RUBY_VERSION}
16
+ image: rails5-app:${RUBY_VERSION}
17
17
  command:
18
18
  [ "./bin/rails", "server", "-b", "0.0.0.0", "webrick" ]
19
19
  environment:
@@ -2,11 +2,19 @@ ARG GEM_VERSION
2
2
  ARG RUBY_VERSION
3
3
 
4
4
  FROM appmap:${GEM_VERSION} as appmap
5
-
6
5
  FROM ruby:${RUBY_VERSION}
6
+
7
+ SHELL ["/bin/bash", "-c"]
8
+
7
9
  RUN apt-get update && apt-get install -y vim less
8
10
  RUN apt-get install -y postgresql-client
9
11
 
12
+ RUN curl -fsSL https://fnm.vercel.app/install | bash \
13
+ && source /root/.bashrc \
14
+ && fnm install --lts \
15
+ && echo 'fnm default $(fnm current)' >> ~/.bashrc \
16
+ && ln -s $(which node) /usr/local/bin/node
17
+
10
18
  RUN mkdir /app
11
19
  WORKDIR /app
12
20
 
@@ -5,4 +5,6 @@ packages:
5
5
  - path: app/controllers
6
6
  labels: [ mvc.controller ]
7
7
  - gem: sequel
8
-
8
+ swagger:
9
+ project_version: 1.1.0
10
+ output_dir: tmp/swagger
@@ -1,3 +1,6 @@
1
+ require 'active_support'
2
+ require 'active_support/core_ext'
3
+
1
4
  Rails.application.configure do
2
5
  # Settings specified here will take precedence over those in config/application.rb.
3
6
 
@@ -13,7 +13,7 @@ services:
13
13
  build:
14
14
  context: .
15
15
  dockerfile: Dockerfile
16
- image: rails-app:${RUBY_VERSION}
16
+ image: rails6-app:${RUBY_VERSION}
17
17
  command:
18
18
  [ "./bin/rails", "server", "-b", "0.0.0.0", "webrick" ]
19
19
  environment:
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :appmap do
4
+ def swagger_tasks
5
+ require 'appmap/swagger'
6
+
7
+ AppMap::Swagger::RakeTasks.define_tasks
8
+ end
9
+
10
+ if %w[test development].member?(Rails.env)
11
+ swagger_tasks
12
+ end
13
+ end
@@ -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
- 'name' => 'Renderer',
226
+ # Rails 6/5 difference
227
+ 'name' => /^(Template)?Renderer$/,
247
228
  'children' => include(hash_including(
248
229
  'name' => 'render',
249
230
  'labels' => ['mvc.view']
@@ -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,47 @@
1
+ require_relative '../rails_spec_helper'
2
+
3
+ describe 'rake appmap:swagger' do
4
+ include_context 'Rails app pg database', "spec/fixtures/rails6_users_app" unless use_existing_data?
5
+ include_context 'rails integration test setup'
6
+
7
+ def run_spec(spec_name)
8
+ cmd = <<~CMD.gsub "\n", ' '
9
+ docker-compose run --rm -e RAILS_ENV=test -e APPMAP=true
10
+ -v #{File.absolute_path tmpdir}:/app/tmp app ./bin/rspec #{spec_name}
11
+ CMD
12
+ run_cmd cmd, chdir: fixture_dir
13
+ end
14
+
15
+ def generate_swagger
16
+ cmd = <<~CMD.gsub "\n", ' '
17
+ docker-compose run --rm -v #{File.absolute_path tmpdir}:/app/tmp app ./bin/rake appmap:swagger
18
+ CMD
19
+ run_cmd cmd, chdir: fixture_dir
20
+ end
21
+
22
+ unless use_existing_data?
23
+ before(:all) do
24
+ generate_swagger
25
+ end
26
+ end
27
+
28
+ # The swagger-building logic is mostly in the JS code. So what we are really testing here
29
+ # is the Rails integration - the rake task and integration with the appmap.yml.
30
+ # And of course the bundling of the JS code by the appmap gem.
31
+ it 'generates openapi_stable.yml' do
32
+ swagger = YAML.load(File.read(File.join(tmpdir, 'swagger', 'openapi_stable.yaml'))).deep_symbolize_keys
33
+
34
+ expect(swagger).to match(
35
+ hash_including(
36
+ openapi: /^\d\.\d\.\d$/,
37
+ info: {
38
+ title: 'Usersapp API',
39
+ version: '1.1.0'
40
+ },
41
+ paths: hash_including(
42
+ :'/api/users' => an_instance_of(Hash)
43
+ )
44
+ )
45
+ )
46
+ end
47
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  require 'test_helper'
5
5
 
6
- class CLITest < Minitest::Test
6
+ class AgentSetupInitTest < Minitest::Test
7
7
  CONFIG_FILENAME = '123.yml'
8
8
  SUBFOLDER_CONFIG_FILEPATH = 'conf/123.yml'
9
9
  EXPECTED_CONFIG_CONTENT = %(name: appmap-ruby
@@ -12,13 +12,13 @@ packages:
12
12
  )
13
13
 
14
14
  def test_init_when_config_exists
15
- output = `./exe/appmap-agent-setup init`
15
+ output = `./exe/appmap-agent-init`
16
16
  assert_equal 0, $CHILD_STATUS.exitstatus
17
17
  assert_includes output, 'The AppMap config file appmap.yml already exists.'
18
18
  end
19
19
 
20
20
  def test_init_with_custom_config_filename
21
- output = `./exe/appmap-agent-setup -c #{CONFIG_FILENAME} init`
21
+ output = `./exe/appmap-agent-init -c #{CONFIG_FILENAME}`
22
22
  assert_equal 0, $CHILD_STATUS.exitstatus
23
23
  assert_includes output, "The following AppMap config file #{CONFIG_FILENAME} has been created:"
24
24
  assert_equal EXPECTED_CONFIG_CONTENT, File.read(CONFIG_FILENAME)
@@ -27,7 +27,7 @@ packages:
27
27
  end
28
28
 
29
29
  def test_init_with_custom_config_file_in_subfolder
30
- output = `./exe/appmap-agent-setup -c #{SUBFOLDER_CONFIG_FILEPATH} init`
30
+ output = `./exe/appmap-agent-init --config=#{SUBFOLDER_CONFIG_FILEPATH}`
31
31
  assert_equal 0, $CHILD_STATUS.exitstatus
32
32
  assert_includes output, "The following AppMap config file #{SUBFOLDER_CONFIG_FILEPATH} has been created:"
33
33
  assert_equal EXPECTED_CONFIG_CONTENT, File.read(SUBFOLDER_CONFIG_FILEPATH)
@@ -4,3 +4,4 @@ gem 'appmap', git: 'applandinc/appmap-ruby', branch: `git rev-parse --abbrev-ref
4
4
  gem 'activesupport'
5
5
  gem 'byebug'
6
6
  gem 'minitest'
7
+ gem 'parser'
data/test/gem_test.rb CHANGED
@@ -3,6 +3,7 @@
3
3
 
4
4
  require 'test_helper'
5
5
  require 'English'
6
+ require 'json'
6
7
 
7
8
  class GemTest < Minitest::Test
8
9
  def perform_gem_test(test_name)
@@ -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"