exercism_config 0.28.0 → 0.29.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.
@@ -1,38 +1,45 @@
1
1
  require_relative 'lib/exercism_config/version'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
- spec.name = "exercism_config"
4
+ spec.name = 'exercism_config'
5
5
  spec.version = ExercismConfig::VERSION
6
- spec.authors = ["Jeremy Walker"]
7
- spec.email = ["jez.walker@gmail.com"]
6
+ spec.authors = ['Jeremy Walker']
7
+ spec.email = ['jez.walker@gmail.com']
8
8
 
9
- spec.summary = "Retrieves stored config for Exercism"
10
- spec.homepage = "https://exercism.io"
11
- spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
9
+ spec.summary = 'Retrieves stored config for Exercism'
10
+ spec.homepage = 'https://exercism.io'
11
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
12
12
 
13
- spec.metadata["homepage_uri"] = spec.homepage
14
- spec.metadata["source_code_uri"] = "https://github.com/exercism/config"
13
+ spec.metadata['homepage_uri'] = spec.homepage
14
+ spec.metadata['source_code_uri'] = 'https://github.com/exercism/config'
15
15
 
16
16
  # Specify which files should be added to the gem when it is released.
17
17
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
18
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
19
19
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
20
  end
21
21
  spec.bindir = "bin"
22
- spec.executables = ["setup_exercism_config"]
22
+ spec.executables = %w[
23
+ setup_exercism_config
24
+ setup_exercism_local_aws
25
+ ]
23
26
  spec.require_paths = ["lib"]
24
27
 
25
- spec.add_dependency "aws-sdk-dynamodb", "~> 1.0"
26
- spec.add_dependency "mandate"
27
- spec.add_dependency "zeitwerk"
28
+ spec.add_dependency 'aws-sdk-dynamodb', '~> 1.0'
29
+ spec.add_dependency 'mandate'
30
+ spec.add_dependency 'zeitwerk'
28
31
 
29
- spec.add_development_dependency "bundler", "~> 2.1"
30
- spec.add_development_dependency "rake", "~> 12.3"
31
- spec.add_development_dependency "minitest", "~> 5.0"
32
- spec.add_development_dependency "mocha"
32
+ spec.add_development_dependency 'bundler', '~> 2.1'
33
+ spec.add_development_dependency 'minitest', '~> 5.0'
34
+ spec.add_development_dependency 'mocha'
35
+ spec.add_development_dependency 'rake', '~> 12.3'
36
+
37
+ spec.add_development_dependency 'rubocop'
38
+ spec.add_development_dependency 'rubocop-minitest'
39
+ spec.add_development_dependency 'rubocop-performance'
33
40
 
34
41
  # This isn't a compulsary dependency
35
42
  # but can be used if someone puts it in their
36
43
  # own gemfile
37
- spec.add_development_dependency "aws-sdk-s3"
44
+ spec.add_development_dependency 'aws-sdk-s3'
38
45
  end
@@ -5,7 +5,7 @@ module Exercism
5
5
  self.aws_settings = aws_settings
6
6
  end
7
7
 
8
- def to_json
8
+ def to_json(*_args)
9
9
  to_h.to_json
10
10
  end
11
11
  end
@@ -1,6 +1,6 @@
1
1
  require 'aws-sdk-dynamodb'
2
2
  require 'mandate'
3
- require "ostruct"
3
+ require 'ostruct'
4
4
  require 'json'
5
5
 
6
6
  require_relative 'exercism_config/determine_environment'
@@ -9,7 +9,7 @@ require_relative 'exercism_config/setup_dynamodb_client'
9
9
  require_relative 'exercism_config/setup_s3_client'
10
10
  require_relative 'exercism_config/retrieve'
11
11
  require_relative 'exercism_config/generate_aws_settings'
12
- require_relative "exercism_config/version"
12
+ require_relative 'exercism_config/version'
13
13
 
14
14
  require_relative 'exercism/config'
15
15
 
@@ -3,8 +3,8 @@ module ExercismConfig
3
3
  include Mandate
4
4
 
5
5
  def call
6
- env = ENV["EXERCISM_ENV"] || ENV["RAILS_ENV"] || ENV["APP_ENV"]
7
- raise Exercism::ConfigError, "No environment set - set one of EXERCISM_ENV, RAILS_ENV or APP_ENV" unless env
6
+ env = ENV['EXERCISM_ENV'] || ENV['RAILS_ENV'] || ENV['APP_ENV']
7
+ raise Exercism::ConfigError, 'No environment set - set one of EXERCISM_ENV, RAILS_ENV or APP_ENV' unless env
8
8
 
9
9
  unless %w[development test production].include?(env)
10
10
  raise Exercism::ConfigError, "environment must be one of development, test or production. Got #{env}."
@@ -8,16 +8,14 @@ module ExercismConfig
8
8
  profile: profile,
9
9
  access_key_id: aws_access_key_id,
10
10
  secret_access_key: aws_secret_access_key
11
- }.select {|k,v|v}
11
+ }.select { |_k, v| v }
12
12
  end
13
13
 
14
14
  memoize
15
15
  def aws_access_key_id
16
16
  case Exercism.environment
17
17
  when :development, :test
18
- "FAKE"
19
- else
20
- nil
18
+ 'FAKE'
21
19
  end
22
20
  end
23
21
 
@@ -25,9 +23,7 @@ module ExercismConfig
25
23
  def aws_secret_access_key
26
24
  case Exercism.environment
27
25
  when :development, :test
28
- "FAKE"
29
- else
30
- nil
26
+ 'FAKE'
31
27
  end
32
28
  end
33
29
 
@@ -35,7 +31,7 @@ module ExercismConfig
35
31
  def profile
36
32
  case Exercism.environment
37
33
  when :production
38
- "exercism_staging"
34
+ 'exercism_staging'
39
35
  end
40
36
  end
41
37
  end
@@ -4,18 +4,18 @@ module ExercismConfig
4
4
 
5
5
  def call
6
6
  return generate_mock if Exercism.environment == :test
7
+
7
8
  retrieve_from_dynamodb
8
9
  end
9
10
 
10
11
  private
11
-
12
12
  def generate_mock
13
13
  require 'erb'
14
14
  require 'yaml'
15
15
 
16
- filename = ENV["EXERCISM_DOCKER"] ? "test-docker" : "test-local"
16
+ filename = ENV['EXERCISM_DOCKER'] ? 'test-docker' : 'test-local'
17
17
  settings_file = File.expand_path("../../../settings/#{filename}.yml", __FILE__)
18
- settings = YAML.load(ERB.new(File.read(settings_file)).result)
18
+ settings = YAML.safe_load(ERB.new(File.read(settings_file)).result)
19
19
 
20
20
  Exercism::Config.new(settings, {})
21
21
  end
@@ -23,7 +23,7 @@ module ExercismConfig
23
23
  def retrieve_from_dynamodb
24
24
  client = SetupDynamoDBClient.()
25
25
 
26
- resp = client.scan({table_name: "config"})
26
+ resp = client.scan({ table_name: 'config' })
27
27
  items = resp.to_h[:items]
28
28
  data = items.each_with_object({}) do |item, h|
29
29
  h[item['id']] = item['value']
@@ -31,7 +31,7 @@ module ExercismConfig
31
31
 
32
32
  # Tweak things for dynamodb when we're running in test mode
33
33
  if Exercism.environment == :test
34
- %w{dynamodb_tooling_jobs_table}.each do |key|
34
+ %w[dynamodb_tooling_jobs_table].each do |key|
35
35
  data[key] = "#{data[key]}-test"
36
36
  end
37
37
  end
@@ -40,11 +40,10 @@ module ExercismConfig
40
40
  Exercism::Config.new(data, aws_settings)
41
41
  rescue Exercism::ConfigError
42
42
  raise
43
- rescue => e
43
+ rescue StandardError => e
44
44
  raise Exercism::ConfigError, "Exercism Config could not be loaded: #{e.message}"
45
45
  end
46
46
 
47
- private
48
47
  memoize
49
48
  def aws_client
50
49
  config = {
@@ -53,10 +52,9 @@ module ExercismConfig
53
52
  endpoint: endpoint,
54
53
  access_key_id: aws_access_key_id,
55
54
  secret_access_key: aws_secret_access_key
56
- }.select {|k,v|v}
55
+ }.select { |_k, v| v }
57
56
 
58
57
  Aws::DynamoDB::Client.new(config)
59
58
  end
60
59
  end
61
60
  end
62
-
@@ -7,10 +7,10 @@ module ExercismConfig
7
7
  endpoint: config_endpoint,
8
8
 
9
9
  # We don't want a profile for this AWS service
10
- # as we run it locally. But we do normally, so
10
+ # as we run it locally. But we do normally, so
11
11
  # we locally override this here.
12
12
  profile: nil
13
- ).select {|k,v|v}
13
+ ).select { |_k, v| v }
14
14
  Aws::DynamoDB::Client.new(aws_settings)
15
15
  end
16
16
 
@@ -20,9 +20,11 @@ module ExercismConfig
20
20
  memoize
21
21
  def config_endpoint
22
22
  return nil unless %i[development test].include?(Exercism.environment)
23
- return "http://127.0.0.1:#{ENV["DYNAMODB_PORT"]}" if ENV["EXERCISM_CI"]
23
+ if Exercism.environment == :test && ENV['EXERCISM_CI']
24
+ return "http://127.0.0.1:#{ENV['DYNAMODB_PORT']}"
25
+ end
24
26
 
25
- host = ENV["EXERCISM_DOCKER"] ? "dynamodb:8000" : "localhost:3040"
27
+ host = ENV['EXERCISM_DOCKER'] ? 'dynamodb:8000' : 'localhost:3040'
26
28
  "http://#{host}"
27
29
  end
28
30
  end
@@ -10,10 +10,10 @@ module ExercismConfig
10
10
  force_path_style: true,
11
11
 
12
12
  # We don't want a profile for this AWS service
13
- # as we run it locally. But we do normally, so
13
+ # as we run it locally. But we do normally, so
14
14
  # we locally override this here.
15
15
  profile: nil
16
- ).select {|k,v|v}
16
+ ).select { |_k, v| v }
17
17
  Aws::S3::Client.new(aws_settings)
18
18
  end
19
19
 
@@ -23,11 +23,10 @@ module ExercismConfig
23
23
  memoize
24
24
  def config_endpoint
25
25
  return nil unless %i[development test].include?(Exercism.environment)
26
- return "http://127.0.0.1:#{ENV["S3_PORT"]}" if ENV["EXERCISM_CI"]
26
+ return "http://127.0.0.1:#{ENV['S3_PORT']}" if ENV['EXERCISM_CI']
27
27
 
28
- host = ENV["EXERCISM_DOCKER"] ? "s3:9090" : "localhost:3041"
28
+ host = ENV['EXERCISM_DOCKER'] ? 's3:9090' : 'localhost:3041'
29
29
  "http://#{host}"
30
30
  end
31
31
  end
32
32
  end
33
-
@@ -1,3 +1,3 @@
1
1
  module ExercismConfig
2
- VERSION = "0.28.0"
2
+ VERSION = '0.29.0'.freeze
3
3
  end
@@ -0,0 +1,14 @@
1
+ {
2
+ "devDependencies": {
3
+ "husky": "^4.2.5",
4
+ "pretty-quick": "^2.0.1"
5
+ },
6
+ "husky": {
7
+ "hooks": {
8
+ "pre-commit": "pretty-quick --staged && git diff --name-only --staged | grep '.rb$' | xargs bundle exec rubocop --except Metrics --auto-correct --format quiet --force-exclusion app/controllers/application_controller.rb && git diff --name-only --staged | grep '.rb$' | xargs git add"
9
+ }
10
+ },
11
+ "dependencies": {
12
+ "prettier": "^2.0.5"
13
+ }
14
+ }
@@ -0,0 +1,527 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ "@babel/code-frame@^7.0.0":
6
+ version "7.10.4"
7
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
8
+ integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
9
+ dependencies:
10
+ "@babel/highlight" "^7.10.4"
11
+
12
+ "@babel/helper-validator-identifier@^7.10.4":
13
+ version "7.10.4"
14
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
15
+ integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
16
+
17
+ "@babel/highlight@^7.10.4":
18
+ version "7.10.4"
19
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
20
+ integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
21
+ dependencies:
22
+ "@babel/helper-validator-identifier" "^7.10.4"
23
+ chalk "^2.0.0"
24
+ js-tokens "^4.0.0"
25
+
26
+ "@types/color-name@^1.1.1":
27
+ version "1.1.1"
28
+ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
29
+ integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
30
+
31
+ "@types/minimatch@^3.0.3":
32
+ version "3.0.3"
33
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
34
+ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
35
+
36
+ "@types/parse-json@^4.0.0":
37
+ version "4.0.0"
38
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
39
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
40
+
41
+ ansi-styles@^3.2.1:
42
+ version "3.2.1"
43
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
44
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
45
+ dependencies:
46
+ color-convert "^1.9.0"
47
+
48
+ ansi-styles@^4.1.0:
49
+ version "4.2.1"
50
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
51
+ integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
52
+ dependencies:
53
+ "@types/color-name" "^1.1.1"
54
+ color-convert "^2.0.1"
55
+
56
+ array-differ@^3.0.0:
57
+ version "3.0.0"
58
+ resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b"
59
+ integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==
60
+
61
+ array-union@^2.1.0:
62
+ version "2.1.0"
63
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
64
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
65
+
66
+ arrify@^2.0.1:
67
+ version "2.0.1"
68
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
69
+ integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
70
+
71
+ balanced-match@^1.0.0:
72
+ version "1.0.0"
73
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
74
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
75
+
76
+ brace-expansion@^1.1.7:
77
+ version "1.1.11"
78
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
79
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
80
+ dependencies:
81
+ balanced-match "^1.0.0"
82
+ concat-map "0.0.1"
83
+
84
+ callsites@^3.0.0:
85
+ version "3.1.0"
86
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
87
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
88
+
89
+ chalk@^2.0.0, chalk@^2.4.2:
90
+ version "2.4.2"
91
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
92
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
93
+ dependencies:
94
+ ansi-styles "^3.2.1"
95
+ escape-string-regexp "^1.0.5"
96
+ supports-color "^5.3.0"
97
+
98
+ chalk@^4.0.0:
99
+ version "4.1.0"
100
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
101
+ integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
102
+ dependencies:
103
+ ansi-styles "^4.1.0"
104
+ supports-color "^7.1.0"
105
+
106
+ ci-info@^2.0.0:
107
+ version "2.0.0"
108
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
109
+ integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
110
+
111
+ color-convert@^1.9.0:
112
+ version "1.9.3"
113
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
114
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
115
+ dependencies:
116
+ color-name "1.1.3"
117
+
118
+ color-convert@^2.0.1:
119
+ version "2.0.1"
120
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
121
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
122
+ dependencies:
123
+ color-name "~1.1.4"
124
+
125
+ color-name@1.1.3:
126
+ version "1.1.3"
127
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
128
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
129
+
130
+ color-name@~1.1.4:
131
+ version "1.1.4"
132
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
133
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
134
+
135
+ compare-versions@^3.6.0:
136
+ version "3.6.0"
137
+ resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
138
+ integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
139
+
140
+ concat-map@0.0.1:
141
+ version "0.0.1"
142
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
143
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
144
+
145
+ cosmiconfig@^6.0.0:
146
+ version "6.0.0"
147
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
148
+ integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
149
+ dependencies:
150
+ "@types/parse-json" "^4.0.0"
151
+ import-fresh "^3.1.0"
152
+ parse-json "^5.0.0"
153
+ path-type "^4.0.0"
154
+ yaml "^1.7.2"
155
+
156
+ cross-spawn@^7.0.0:
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
+ end-of-stream@^1.1.0:
166
+ version "1.4.4"
167
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
168
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
169
+ dependencies:
170
+ once "^1.4.0"
171
+
172
+ error-ex@^1.3.1:
173
+ version "1.3.2"
174
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
175
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
176
+ dependencies:
177
+ is-arrayish "^0.2.1"
178
+
179
+ escape-string-regexp@^1.0.5:
180
+ version "1.0.5"
181
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
182
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
183
+
184
+ execa@^2.1.0:
185
+ version "2.1.0"
186
+ resolved "https://registry.yarnpkg.com/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99"
187
+ integrity sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==
188
+ dependencies:
189
+ cross-spawn "^7.0.0"
190
+ get-stream "^5.0.0"
191
+ is-stream "^2.0.0"
192
+ merge-stream "^2.0.0"
193
+ npm-run-path "^3.0.0"
194
+ onetime "^5.1.0"
195
+ p-finally "^2.0.0"
196
+ signal-exit "^3.0.2"
197
+ strip-final-newline "^2.0.0"
198
+
199
+ find-up@^4.0.0, find-up@^4.1.0:
200
+ version "4.1.0"
201
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
202
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
203
+ dependencies:
204
+ locate-path "^5.0.0"
205
+ path-exists "^4.0.0"
206
+
207
+ find-versions@^3.2.0:
208
+ version "3.2.0"
209
+ resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e"
210
+ integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==
211
+ dependencies:
212
+ semver-regex "^2.0.0"
213
+
214
+ get-stream@^5.0.0:
215
+ version "5.1.0"
216
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
217
+ integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
218
+ dependencies:
219
+ pump "^3.0.0"
220
+
221
+ has-flag@^3.0.0:
222
+ version "3.0.0"
223
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
224
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
225
+
226
+ has-flag@^4.0.0:
227
+ version "4.0.0"
228
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
229
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
230
+
231
+ husky@^4.2.5:
232
+ version "4.2.5"
233
+ resolved "https://registry.yarnpkg.com/husky/-/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36"
234
+ integrity sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==
235
+ dependencies:
236
+ chalk "^4.0.0"
237
+ ci-info "^2.0.0"
238
+ compare-versions "^3.6.0"
239
+ cosmiconfig "^6.0.0"
240
+ find-versions "^3.2.0"
241
+ opencollective-postinstall "^2.0.2"
242
+ pkg-dir "^4.2.0"
243
+ please-upgrade-node "^3.2.0"
244
+ slash "^3.0.0"
245
+ which-pm-runs "^1.0.0"
246
+
247
+ ignore@^5.1.4:
248
+ version "5.1.8"
249
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
250
+ integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
251
+
252
+ import-fresh@^3.1.0:
253
+ version "3.2.1"
254
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
255
+ integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
256
+ dependencies:
257
+ parent-module "^1.0.0"
258
+ resolve-from "^4.0.0"
259
+
260
+ is-arrayish@^0.2.1:
261
+ version "0.2.1"
262
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
263
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
264
+
265
+ is-stream@^2.0.0:
266
+ version "2.0.0"
267
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
268
+ integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
269
+
270
+ isexe@^2.0.0:
271
+ version "2.0.0"
272
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
273
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
274
+
275
+ js-tokens@^4.0.0:
276
+ version "4.0.0"
277
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
278
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
279
+
280
+ json-parse-better-errors@^1.0.1:
281
+ version "1.0.2"
282
+ resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
283
+ integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
284
+
285
+ lines-and-columns@^1.1.6:
286
+ version "1.1.6"
287
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
288
+ integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
289
+
290
+ locate-path@^5.0.0:
291
+ version "5.0.0"
292
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
293
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
294
+ dependencies:
295
+ p-locate "^4.1.0"
296
+
297
+ merge-stream@^2.0.0:
298
+ version "2.0.0"
299
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
300
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
301
+
302
+ mimic-fn@^2.1.0:
303
+ version "2.1.0"
304
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
305
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
306
+
307
+ minimatch@^3.0.4:
308
+ version "3.0.4"
309
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
310
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
311
+ dependencies:
312
+ brace-expansion "^1.1.7"
313
+
314
+ mri@^1.1.4:
315
+ version "1.1.6"
316
+ resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6"
317
+ integrity sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==
318
+
319
+ multimatch@^4.0.0:
320
+ version "4.0.0"
321
+ resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3"
322
+ integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==
323
+ dependencies:
324
+ "@types/minimatch" "^3.0.3"
325
+ array-differ "^3.0.0"
326
+ array-union "^2.1.0"
327
+ arrify "^2.0.1"
328
+ minimatch "^3.0.4"
329
+
330
+ npm-run-path@^3.0.0:
331
+ version "3.1.0"
332
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-3.1.0.tgz#7f91be317f6a466efed3c9f2980ad8a4ee8b0fa5"
333
+ integrity sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==
334
+ dependencies:
335
+ path-key "^3.0.0"
336
+
337
+ once@^1.3.1, once@^1.4.0:
338
+ version "1.4.0"
339
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
340
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
341
+ dependencies:
342
+ wrappy "1"
343
+
344
+ onetime@^5.1.0:
345
+ version "5.1.1"
346
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.1.tgz#5c8016847b0d67fcedb7eef254751cfcdc7e9418"
347
+ integrity sha512-ZpZpjcJeugQfWsfyQlshVoowIIQ1qBGSVll4rfDq6JJVO//fesjoX808hXWfBjY+ROZgpKDI5TRSRBSoJiZ8eg==
348
+ dependencies:
349
+ mimic-fn "^2.1.0"
350
+
351
+ opencollective-postinstall@^2.0.2:
352
+ version "2.0.3"
353
+ resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
354
+ integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
355
+
356
+ p-finally@^2.0.0:
357
+ version "2.0.1"
358
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561"
359
+ integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==
360
+
361
+ p-limit@^2.2.0:
362
+ version "2.3.0"
363
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
364
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
365
+ dependencies:
366
+ p-try "^2.0.0"
367
+
368
+ p-locate@^4.1.0:
369
+ version "4.1.0"
370
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
371
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
372
+ dependencies:
373
+ p-limit "^2.2.0"
374
+
375
+ p-try@^2.0.0:
376
+ version "2.2.0"
377
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
378
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
379
+
380
+ parent-module@^1.0.0:
381
+ version "1.0.1"
382
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
383
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
384
+ dependencies:
385
+ callsites "^3.0.0"
386
+
387
+ parse-json@^5.0.0:
388
+ version "5.0.1"
389
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.1.tgz#7cfe35c1ccd641bce3981467e6c2ece61b3b3878"
390
+ integrity sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ==
391
+ dependencies:
392
+ "@babel/code-frame" "^7.0.0"
393
+ error-ex "^1.3.1"
394
+ json-parse-better-errors "^1.0.1"
395
+ lines-and-columns "^1.1.6"
396
+
397
+ path-exists@^4.0.0:
398
+ version "4.0.0"
399
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
400
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
401
+
402
+ path-key@^3.0.0, path-key@^3.1.0:
403
+ version "3.1.1"
404
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
405
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
406
+
407
+ path-type@^4.0.0:
408
+ version "4.0.0"
409
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
410
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
411
+
412
+ pkg-dir@^4.2.0:
413
+ version "4.2.0"
414
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
415
+ integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
416
+ dependencies:
417
+ find-up "^4.0.0"
418
+
419
+ please-upgrade-node@^3.2.0:
420
+ version "3.2.0"
421
+ resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
422
+ integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
423
+ dependencies:
424
+ semver-compare "^1.0.0"
425
+
426
+ prettier@^2.0.5:
427
+ version "2.0.5"
428
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4"
429
+ integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==
430
+
431
+ pretty-quick@^2.0.1:
432
+ version "2.0.1"
433
+ resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-2.0.1.tgz#417ee605ade98ecc686e72f63b5d28a2c35b43e9"
434
+ integrity sha512-y7bJt77XadjUr+P1uKqZxFWLddvj3SKY6EU4BuQtMxmmEFSMpbN132pUWdSG1g1mtUfO0noBvn7wBf0BVeomHg==
435
+ dependencies:
436
+ chalk "^2.4.2"
437
+ execa "^2.1.0"
438
+ find-up "^4.1.0"
439
+ ignore "^5.1.4"
440
+ mri "^1.1.4"
441
+ multimatch "^4.0.0"
442
+
443
+ pump@^3.0.0:
444
+ version "3.0.0"
445
+ resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
446
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
447
+ dependencies:
448
+ end-of-stream "^1.1.0"
449
+ once "^1.3.1"
450
+
451
+ resolve-from@^4.0.0:
452
+ version "4.0.0"
453
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
454
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
455
+
456
+ semver-compare@^1.0.0:
457
+ version "1.0.0"
458
+ resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
459
+ integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
460
+
461
+ semver-regex@^2.0.0:
462
+ version "2.0.0"
463
+ resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338"
464
+ integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==
465
+
466
+ shebang-command@^2.0.0:
467
+ version "2.0.0"
468
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
469
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
470
+ dependencies:
471
+ shebang-regex "^3.0.0"
472
+
473
+ shebang-regex@^3.0.0:
474
+ version "3.0.0"
475
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
476
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
477
+
478
+ signal-exit@^3.0.2:
479
+ version "3.0.3"
480
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
481
+ integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
482
+
483
+ slash@^3.0.0:
484
+ version "3.0.0"
485
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
486
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
487
+
488
+ strip-final-newline@^2.0.0:
489
+ version "2.0.0"
490
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
491
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
492
+
493
+ supports-color@^5.3.0:
494
+ version "5.5.0"
495
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
496
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
497
+ dependencies:
498
+ has-flag "^3.0.0"
499
+
500
+ supports-color@^7.1.0:
501
+ version "7.1.0"
502
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
503
+ integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
504
+ dependencies:
505
+ has-flag "^4.0.0"
506
+
507
+ which-pm-runs@^1.0.0:
508
+ version "1.0.0"
509
+ resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
510
+ integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
511
+
512
+ which@^2.0.1:
513
+ version "2.0.2"
514
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
515
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
516
+ dependencies:
517
+ isexe "^2.0.0"
518
+
519
+ wrappy@1:
520
+ version "1.0.2"
521
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
522
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
523
+
524
+ yaml@^1.7.2:
525
+ version "1.10.0"
526
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
527
+ integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==