exercism_config 0.27.0 → 0.32.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,46 @@
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 'gem-release'
38
+ spec.add_development_dependency 'rubocop'
39
+ spec.add_development_dependency 'rubocop-minitest'
40
+ spec.add_development_dependency 'rubocop-performance'
33
41
 
34
42
  # This isn't a compulsary dependency
35
43
  # but can be used if someone puts it in their
36
44
  # own gemfile
37
- spec.add_development_dependency "aws-sdk-s3"
45
+ spec.add_development_dependency 'aws-sdk-s3'
38
46
  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,24 +4,33 @@ 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
- settings_file = File.expand_path("../../../settings/test.yml", __FILE__)
17
- settings = YAML.load(ERB.new(File.read(settings_file)).result)
16
+ filename = if ENV["EXERCISM_CI"]
17
+ 'test-ci'
18
+ elsif ENV["EXERCISM_DOCKER"]
19
+ 'test-docker'
20
+ else
21
+ 'test-local'
22
+ end
23
+
24
+ settings_file = File.expand_path("../../../settings/#{filename}.yml", __FILE__)
25
+ settings = YAML.safe_load(ERB.new(File.read(settings_file)).result)
26
+
18
27
  Exercism::Config.new(settings, {})
19
28
  end
20
29
 
21
30
  def retrieve_from_dynamodb
22
31
  client = SetupDynamoDBClient.()
23
32
 
24
- resp = client.scan({table_name: "config"})
33
+ resp = client.scan({ table_name: 'config' })
25
34
  items = resp.to_h[:items]
26
35
  data = items.each_with_object({}) do |item, h|
27
36
  h[item['id']] = item['value']
@@ -29,7 +38,7 @@ module ExercismConfig
29
38
 
30
39
  # Tweak things for dynamodb when we're running in test mode
31
40
  if Exercism.environment == :test
32
- %w{dynamodb_tooling_jobs_table}.each do |key|
41
+ %w[dynamodb_tooling_jobs_table].each do |key|
33
42
  data[key] = "#{data[key]}-test"
34
43
  end
35
44
  end
@@ -38,11 +47,10 @@ module ExercismConfig
38
47
  Exercism::Config.new(data, aws_settings)
39
48
  rescue Exercism::ConfigError
40
49
  raise
41
- rescue => e
50
+ rescue StandardError => e
42
51
  raise Exercism::ConfigError, "Exercism Config could not be loaded: #{e.message}"
43
52
  end
44
53
 
45
- private
46
54
  memoize
47
55
  def aws_client
48
56
  config = {
@@ -51,10 +59,9 @@ module ExercismConfig
51
59
  endpoint: endpoint,
52
60
  access_key_id: aws_access_key_id,
53
61
  secret_access_key: aws_secret_access_key
54
- }.select {|k,v|v}
62
+ }.select { |_k, v| v }
55
63
 
56
64
  Aws::DynamoDB::Client.new(config)
57
65
  end
58
66
  end
59
67
  end
60
-
@@ -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.27.0"
2
+ VERSION = '0.32.0'.freeze
3
3
  end
@@ -0,0 +1,12 @@
1
+ {
2
+ "devDependencies": {
3
+ "husky": "^4.2.5",
4
+ "pretty-quick": "^2.0.1",
5
+ "prettier": "^2.0.5"
6
+ },
7
+ "husky": {
8
+ "hooks": {
9
+ "pre-commit": "pretty-quick --staged && ./bin/rubocop-quick"
10
+ }
11
+ }
12
+ }
@@ -1,8 +1,8 @@
1
- aws_iterations_bucket: exercism-staging-iterations
2
- dynamodb_tooling_jobs_table: tooling_jobs
3
- tooling_orchestrator_url: http://127.0.0.1:3021
4
1
  anycable_redis_url: redis://127.0.0.1:6379/1
5
2
  anycable_rpc_host: 127.0.0.1:50051
6
- rds_master_endpoint: localhost
3
+ aws_iterations_bucket: exercism-staging-iterations
4
+ dynamodb_tooling_jobs_table: tooling_jobs
5
+ mysql_master_endpoint: localhost
7
6
  mysql_socket: /tmp/mysql.sock
8
7
  spi_url: http://127.0.0.1:3020
8
+ tooling_orchestrator_url: http://127.0.0.1:3021
@@ -1,8 +1,8 @@
1
- aws_iterations_bucket: exercism-staging-iterations
2
- dynamodb_tooling_jobs_table: tooling_jobs
3
- tooling_orchestrator_url: http://tooling-orchestrator:3021
4
1
  anycable_redis_url: redis://redis:6379/1
5
2
  anycable_rpc_host: 0.0.0.0:50051
6
- rds_master_endpoint: mysql
7
- rds_port: 3306
3
+ aws_iterations_bucket: exercism-staging-iterations
4
+ dynamodb_tooling_jobs_table: tooling_jobs
5
+ mysql_master_endpoint: mysql
6
+ mysql_port: 3306
8
7
  spi_url: http://website:3020
8
+ tooling_orchestrator_url: http://tooling-orchestrator:3021
@@ -1,8 +1,8 @@
1
- aws_iterations_bucket: exercism-staging-iterations
2
- dynamodb_tooling_jobs_table: tooling_jobs
3
- tooling_orchestrator_url: http://127.0.0.1:3021
4
1
  anycable_redis_url: redis://127.0.0.1:6379/1
5
2
  anycable_rpc_host: 127.0.0.1:50051
6
- rds_master_endpoint: 127.0.0.1
7
- rds_port: <%= ENV["MYSQL_PORT"] %>
3
+ aws_iterations_bucket: exercism-staging-iterations
4
+ dynamodb_tooling_jobs_table: tooling_jobs
5
+ mysql_master_endpoint: 127.0.0.1
6
+ mysql_port: <%= ENV["MYSQL_PORT"] %>
8
7
  spi_url: http://127.0.0.1:3020
8
+ tooling_orchestrator_url: http://127.0.0.1:3021
@@ -0,0 +1,9 @@
1
+ anycable_redis_url: redis://some_anycable_redis_url:1234/9
2
+ anycable_rpc_host: 1.2.3.4:9876543
3
+ aws_iterations_bucket: some-iterations-bucket
4
+ dynamodb_tooling_jobs_table: some_tooling_table
5
+ spi_url: http://some_url:1234
6
+ tooling_orchestrator_url: http://some_orchestrator_url:1234
7
+
8
+ mysql_master_endpoint: mysql
9
+ mysql_port: 3306
@@ -0,0 +1,9 @@
1
+ anycable_redis_url: redis://some_anycable_redis_url:1234/9
2
+ anycable_rpc_host: 1.2.3.4:9876543
3
+ aws_iterations_bucket: some-iterations-bucket
4
+ dynamodb_tooling_jobs_table: some_tooling_table
5
+ spi_url: http://some_url:1234
6
+ tooling_orchestrator_url: http://some_orchestrator_url:1234
7
+
8
+ mysql_master_endpoint: localhost
9
+ mysql_socket: /tmp/mysql.sock
@@ -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==