mandate 0.4.0.beta.1 → 1.0.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b09d224e7ec0f4d9b2f7c3b4e15a87a2f28afb4447391172b8cb7c400d9d3a1f
4
- data.tar.gz: bf5866603824cb3ee5702476c04759bee58a263606265642dacd92f7b89f5abe
3
+ metadata.gz: a3777f95eea23613ab020fee91200b2d2f74b158827c1c48920b7351718466d1
4
+ data.tar.gz: 13f9b05d1beb3ee5327301877f12055ce9e8a4237a96980fadf23a5e1d642806
5
5
  SHA512:
6
- metadata.gz: f71376313ee4ebe4409a16a1b2bfe394a6b7c847e6ca3c93e633614f36adc8a7845cf8a0191365e03da77c65e3a7c413e93e771d5e811d1ef4b6c3e0657db866
7
- data.tar.gz: c1f28ac5099779f02b1d57712d9dabd27df43be73ba1bd7032ff1d2d1098683f3170da39abf1ea07030f54948f77dae914958880cacc8cd508fb91c6f6a05a1d
6
+ metadata.gz: fa01cdd428d030e7eec7581318726731f2d3c72f8e7034876a3e9d1ae97f26a12a67c41ba9a80d115e260d7c1160d3e8018e5159151d67b57873598538628b23
7
+ data.tar.gz: 23f4e7d68149d6d4d27d4de21d82c9b64d64a2c420197e1cbc7bc1e9972a900a303b1d20a516bb44b3b7c95834576e34287308ac48914fafe284d70be09c7dd6
@@ -0,0 +1,28 @@
1
+ name: Rubocop
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ rubocop:
11
+ runs-on: ubuntu-20.04
12
+
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+
16
+ - name: Set up Ruby
17
+ uses: ruby/setup-ruby@42817531497ae2ef0168458f709e451109306bd5
18
+ with:
19
+ ruby-version: 2.6.6
20
+
21
+ - name: Install gems
22
+ run: |
23
+ gem install rubocop
24
+ gem install rubocop-minitest
25
+ gem install rubocop-performance
26
+
27
+ - name: Run Rubocop
28
+ run: rubocop --except Metrics
@@ -0,0 +1,30 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ name: Ruby ${{ matrix.ruby-version }} - ${{ matrix.os }} - ${{ github.event_name }}
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ os:
17
+ - ubuntu-20.04
18
+ ruby-version: [2.6, 2.7, 3.0]
19
+
20
+ steps:
21
+ - uses: actions/checkout@v2
22
+
23
+ - name: Set up Ruby
24
+ uses: ruby/setup-ruby@42817531497ae2ef0168458f709e451109306bd5
25
+ with:
26
+ ruby-version: ${{ matrix.ruby-version }}
27
+ bundler-cache: true
28
+
29
+ - name: Test
30
+ run: bundle exec rake test
data/.gitignore CHANGED
@@ -7,5 +7,6 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ /node_modules/
10
11
 
11
12
  *.gem
data/.rubocop.yml ADDED
@@ -0,0 +1,89 @@
1
+ require:
2
+ - rubocop-minitest
3
+ - rubocop-performance
4
+
5
+ AllCops:
6
+ NewCops: disable
7
+ Exclude:
8
+ - "bin/**/*"
9
+
10
+ Bundler/OrderedGems:
11
+ Enabled: false
12
+
13
+ Layout/DotPosition:
14
+ EnforcedStyle: trailing
15
+
16
+ Layout/EndOfLine:
17
+ EnforcedStyle: lf
18
+
19
+ Layout/MultilineMethodCallIndentation:
20
+ EnforcedStyle: indented
21
+
22
+ Layout/EmptyLinesAroundAccessModifier:
23
+ EnforcedStyle: only_before
24
+
25
+ #Layout/LineLength:
26
+ #Exclude:
27
+
28
+ Lint/SuppressedException:
29
+ Exclude:
30
+ - "test/**/*"
31
+ - "lib/tooling_invoker/runc_wrapper.rb"
32
+ - "lib/tooling_invoker/external_command.rb"
33
+
34
+ Metrics/BlockLength:
35
+ Exclude:
36
+ - "test/**/*"
37
+
38
+ Metrics/MethodLength:
39
+ # We probably want to bring this down but let's start here for now
40
+ Max: 20
41
+ Exclude:
42
+ - "test/**/*"
43
+
44
+ Naming/PredicateName:
45
+ Enabled: false
46
+
47
+ Style/StringLiterals:
48
+ Enabled: false
49
+
50
+ Style/FrozenStringLiteralComment:
51
+ Enabled: false
52
+
53
+ Style/Documentation:
54
+ Enabled: false
55
+
56
+ Style/DocumentationMethod:
57
+ Enabled: false
58
+
59
+ Style/GuardClause:
60
+ Exclude:
61
+ - lib/exercism_config/environment.rb
62
+
63
+ Style/IfUnlessModifier:
64
+ Exclude:
65
+ - "lib/exercism_config/setup_dynamodb_client.rb"
66
+
67
+ Style/NumericPredicate:
68
+ Enabled: false
69
+
70
+ Style/RedundantSelf:
71
+ Enabled: false
72
+
73
+ Style/ZeroLengthPredicate:
74
+ Enabled: false
75
+
76
+ # I don't mind this being enabled if
77
+ # someone fixes all the fails.
78
+ Style/ClassAndModuleChildren:
79
+ Enabled: false
80
+
81
+ Naming/FileName:
82
+ Exclude:
83
+ - "lib/exercism-config.rb"
84
+
85
+ Naming/VariableNumber:
86
+ EnforcedStyle: snake_case
87
+
88
+ Style/LambdaCall:
89
+ EnforcedStyle: braces
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.6.6
data/Gemfile CHANGED
@@ -1,6 +1,11 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in mandate.gemspec
6
6
  gemspec
7
+
8
+ gem 'gem-release'
9
+ gem 'rubocop'
10
+ gem 'rubocop-minitest'
11
+ gem 'rubocop-performance'
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # Mandate
2
- [![Build Status](https://travis-ci.org/ThalamusAI/mandate.svg?branch=master)](https://travis-ci.org/ThalamusAI/mandate)
2
+
3
+ ![Tests](https://github.com/iHiD/mandate/workflows/Tests/badge.svg)
3
4
 
4
5
  A simple command-pattern helper gem for Ruby.
5
6
 
data/Rakefile CHANGED
@@ -7,4 +7,4 @@ Rake::TestTask.new(:test) do |t|
7
7
  t.test_files = FileList["test/**/*_test.rb"]
8
8
  end
9
9
 
10
- task :default => :test
10
+ task default: :test
data/bin/release ADDED
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+
3
+ gem bump -c -v minor -t -p -r
data/bin/rubocop-quick ADDED
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+
3
+ git diff --name-status --staged | grep '^[MA]' | grep -o '\s\+.*rb' | xargs bundle exec rubocop --except Metrics --auto-correct --format quiet --force-exclusion Gemfile.lock && \
4
+ git diff --name-status --staged | grep '^[MA]' | grep -o '\s\+.*rb' | xargs git add
@@ -7,18 +7,17 @@ module Mandate
7
7
  # Foobar.new(some, args).call()
8
8
  class << base
9
9
  def call(*args)
10
- # If the last argument is a hash and the last param is a keyword params (signified by
10
+ # If the last argument is a hash and the last param is a keyword params (signified by
11
11
  # its type being :key, the we should pass the hash in in using the **kwords syntax.
12
12
  # This fixes a deprecation issue in Ruby 2.7.
13
- if args.last.is_a?(Hash) &&
14
- :key == instance_method(:initialize).parameters.last&.first
15
- new(*args[0..-2], **args[-1]).call
13
+ if args.last.is_a?(Hash) &&
14
+ instance_method(:initialize).parameters.last&.first == :key
15
+ new(*args[0..-2], **args[-1]).()
16
16
  else
17
- new(*args).call
17
+ new(*args).()
18
18
  end
19
19
  end
20
20
  end
21
21
  end
22
22
  end
23
23
  end
24
-
@@ -23,15 +23,15 @@ module Mandate
23
23
  def succeeded?
24
24
  !!succeeded
25
25
  end
26
- alias_method :success?, :succeeded?
26
+ alias success? succeeded?
27
27
 
28
- def on_success(&block)
29
- block.call(result) if succeeded?
28
+ def on_success
29
+ yield(result) if succeeded?
30
30
  self
31
31
  end
32
32
 
33
- def on_failure(&block)
34
- block.call(errors) unless succeeded?
33
+ def on_failure
34
+ yield(errors) unless succeeded?
35
35
  self
36
36
  end
37
37
 
@@ -66,6 +66,7 @@ module Mandate
66
66
  # If call fails, succeeded! will never get called
67
67
  @__mandate_results.succeeded!(call)
68
68
  rescue AbortError
69
+ # Used for flow handling
69
70
  end
70
71
 
71
72
  @__mandate_results
@@ -6,39 +6,39 @@ module Mandate
6
6
  if kwattrs.empty?
7
7
  define_method :initialize do |*args|
8
8
  unless args.length == attrs.length
9
- raise ArgumentError.new("wrong number of arguments (given #{args.length}, expected #{attrs.length})")
9
+ raise ArgumentError, "wrong number of arguments (given #{args.length}, expected #{attrs.length})"
10
10
  end
11
11
 
12
- attrs.zip(args).each do |attr,arg|
12
+ attrs.zip(args).each do |attr, arg|
13
13
  instance_variable_set("@#{attr}", arg)
14
14
  end
15
15
  end
16
16
  else
17
17
  define_method :initialize do |*args, **kwargs|
18
18
  unless args.length == attrs.length
19
- raise ArgumentError.new("wrong number of arguments (given #{args.length}, expected #{attrs.length})")
19
+ raise ArgumentError, "wrong number of arguments (given #{args.length}, expected #{attrs.length})"
20
20
  end
21
21
 
22
- attrs.zip(args).each do |attr,arg|
22
+ attrs.zip(args).each do |attr, arg|
23
23
  instance_variable_set("@#{attr}", arg)
24
24
  end
25
25
 
26
- kwargs.each do |name,value|
27
- if kwattrs.keys.include?(name)
28
- instance_variable_set("@#{name}", value)
29
- else
30
- raise ArgumentError.new("unknown keyword: #{name}")
31
- end
26
+ kwargs.each do |name, value|
27
+ raise ArgumentError, "unknown keyword: #{name}" unless kwattrs.key?(name)
28
+
29
+ instance_variable_set("@#{name}", value)
32
30
  end
33
31
  end
34
32
  end
35
33
 
36
34
  attrs.each do |attr|
37
- define_method attr do instance_variable_get("@#{attr}") end
35
+ define_method attr do
36
+ instance_variable_get("@#{attr}")
37
+ end
38
38
  private attr
39
39
  end
40
40
 
41
- kwattrs.each do |attr,default|
41
+ kwattrs.each do |attr, default|
42
42
  define_method attr do
43
43
  if instance_variable_defined?("@#{attr}")
44
44
  instance_variable_get("@#{attr}")
@@ -1,6 +1,5 @@
1
1
  module Mandate
2
2
  module Memoize
3
-
4
3
  # This method is called on the line before a
5
4
  # define statement. It puts mandate into memoizing mode
6
5
  def memoize
@@ -9,15 +8,15 @@ module Mandate
9
8
 
10
9
  # Intercept a method being added.
11
10
  # Create the method as normal, then if we are in
12
- # memoize mode, call out to the memozie function and
13
- # reset out of memozing mode.
11
+ # memoize mode, call out to the memoize function and
12
+ # reset out of memoizing mode.
14
13
  def method_added(method_name)
15
14
  super
16
15
 
17
- if instance_variable_defined?("@__mandate_memoizing") && @__mandate_memoizing
18
- __mandate_memoize(method_name)
19
- @__mandate_memoizing = false
20
- end
16
+ return unless instance_variable_defined?("@__mandate_memoizing") && @__mandate_memoizing
17
+
18
+ __mandate_memoize(method_name)
19
+ @__mandate_memoizing = false
21
20
  end
22
21
 
23
22
  # Create an anonymous module that defines a method
@@ -29,6 +28,15 @@ module Mandate
29
28
  # We then prepend this module so that its method
30
29
  # comes first in the method-lookup chain.
31
30
  def __mandate_memoize(method_name)
31
+ # Capture the access level of the method outside the module
32
+ # then set the method inside the module to have the same
33
+ # access later.
34
+ if private_instance_methods.include?(method_name)
35
+ access_modifier = :private
36
+ elsif protected_instance_methods.include?(method_name)
37
+ access_modifier = :protected
38
+ end
39
+
32
40
  memoizer = Module.new do
33
41
  define_method method_name do
34
42
  @__mandate_memoized_results ||= {}
@@ -39,9 +47,10 @@ module Mandate
39
47
  @__mandate_memoized_results[method_name] = super()
40
48
  end
41
49
  end
50
+
51
+ send(access_modifier, method_name) if access_modifier
42
52
  end
43
53
  prepend memoizer
44
54
  end
45
55
  end
46
56
  end
47
-
@@ -1,3 +1,3 @@
1
1
  module Mandate
2
- VERSION = "0.4.0.beta.1"
2
+ VERSION = "1.0.0.beta1".freeze
3
3
  end
data/mandate.gemspec CHANGED
@@ -1,17 +1,17 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "mandate/version"
5
4
 
6
5
  Gem::Specification.new do |spec|
6
+ spec.required_ruby_version = '>= 2.6.0'
7
7
  spec.name = "mandate"
8
8
  spec.version = Mandate::VERSION
9
9
  spec.authors = ["Jeremy Walker"]
10
10
  spec.email = ["jez.walker@gmail.com"]
11
- spec.licenses = ['MIT']
11
+ spec.licenses = ['MIT']
12
12
 
13
- spec.summary = %q{A simple command-pattern helper gem for Ruby}
14
- spec.description = %q{This Ruby Gem adds functionality for the command pattern in Ruby, and for memoization.}
13
+ spec.summary = 'A simple command-pattern helper gem for Ruby'
14
+ spec.description = 'This Ruby Gem adds functionality for the command pattern in Ruby, and for memoization.'
15
15
  spec.homepage = "https://github.com/iHiD/mandate"
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -22,6 +22,6 @@ Gem::Specification.new do |spec|
22
22
  spec.require_paths = ["lib"]
23
23
 
24
24
  spec.add_development_dependency "bundler", "~> 2.1"
25
- spec.add_development_dependency "rake", "~> 12.3"
26
25
  spec.add_development_dependency "minitest", "~> 5.0"
26
+ spec.add_development_dependency "rake", "~> 12.3"
27
27
  end
data/package.json ADDED
@@ -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
+ }
data/yarn.lock ADDED
@@ -0,0 +1,555 @@
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.12.13"
7
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658"
8
+ integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==
9
+ dependencies:
10
+ "@babel/highlight" "^7.12.13"
11
+
12
+ "@babel/helper-validator-identifier@^7.12.11":
13
+ version "7.12.11"
14
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed"
15
+ integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
16
+
17
+ "@babel/highlight@^7.12.13":
18
+ version "7.12.13"
19
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c"
20
+ integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==
21
+ dependencies:
22
+ "@babel/helper-validator-identifier" "^7.12.11"
23
+ chalk "^2.0.0"
24
+ js-tokens "^4.0.0"
25
+
26
+ "@types/minimatch@^3.0.3":
27
+ version "3.0.3"
28
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
29
+ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
30
+
31
+ "@types/parse-json@^4.0.0":
32
+ version "4.0.0"
33
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
34
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
35
+
36
+ ansi-styles@^3.2.1:
37
+ version "3.2.1"
38
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
39
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
40
+ dependencies:
41
+ color-convert "^1.9.0"
42
+
43
+ ansi-styles@^4.1.0:
44
+ version "4.3.0"
45
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
46
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
47
+ dependencies:
48
+ color-convert "^2.0.1"
49
+
50
+ array-differ@^3.0.0:
51
+ version "3.0.0"
52
+ resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b"
53
+ integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==
54
+
55
+ array-union@^2.1.0:
56
+ version "2.1.0"
57
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
58
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
59
+
60
+ arrify@^2.0.1:
61
+ version "2.0.1"
62
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
63
+ integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
64
+
65
+ balanced-match@^1.0.0:
66
+ version "1.0.0"
67
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
68
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
69
+
70
+ brace-expansion@^1.1.7:
71
+ version "1.1.11"
72
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
73
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
74
+ dependencies:
75
+ balanced-match "^1.0.0"
76
+ concat-map "0.0.1"
77
+
78
+ callsites@^3.0.0:
79
+ version "3.1.0"
80
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
81
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
82
+
83
+ chalk@^2.0.0, chalk@^2.4.2:
84
+ version "2.4.2"
85
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
86
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
87
+ dependencies:
88
+ ansi-styles "^3.2.1"
89
+ escape-string-regexp "^1.0.5"
90
+ supports-color "^5.3.0"
91
+
92
+ chalk@^4.0.0:
93
+ version "4.1.0"
94
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
95
+ integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
96
+ dependencies:
97
+ ansi-styles "^4.1.0"
98
+ supports-color "^7.1.0"
99
+
100
+ ci-info@^2.0.0:
101
+ version "2.0.0"
102
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
103
+ integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
104
+
105
+ color-convert@^1.9.0:
106
+ version "1.9.3"
107
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
108
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
109
+ dependencies:
110
+ color-name "1.1.3"
111
+
112
+ color-convert@^2.0.1:
113
+ version "2.0.1"
114
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
115
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
116
+ dependencies:
117
+ color-name "~1.1.4"
118
+
119
+ color-name@1.1.3:
120
+ version "1.1.3"
121
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
122
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
123
+
124
+ color-name@~1.1.4:
125
+ version "1.1.4"
126
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
127
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
128
+
129
+ compare-versions@^3.6.0:
130
+ version "3.6.0"
131
+ resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
132
+ integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
133
+
134
+ concat-map@0.0.1:
135
+ version "0.0.1"
136
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
137
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
138
+
139
+ cosmiconfig@^7.0.0:
140
+ version "7.0.0"
141
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
142
+ integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
143
+ dependencies:
144
+ "@types/parse-json" "^4.0.0"
145
+ import-fresh "^3.2.1"
146
+ parse-json "^5.0.0"
147
+ path-type "^4.0.0"
148
+ yaml "^1.10.0"
149
+
150
+ cross-spawn@^7.0.0:
151
+ version "7.0.3"
152
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
153
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
154
+ dependencies:
155
+ path-key "^3.1.0"
156
+ shebang-command "^2.0.0"
157
+ which "^2.0.1"
158
+
159
+ end-of-stream@^1.1.0:
160
+ version "1.4.4"
161
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
162
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
163
+ dependencies:
164
+ once "^1.4.0"
165
+
166
+ error-ex@^1.3.1:
167
+ version "1.3.2"
168
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
169
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
170
+ dependencies:
171
+ is-arrayish "^0.2.1"
172
+
173
+ escape-string-regexp@^1.0.5:
174
+ version "1.0.5"
175
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
176
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
177
+
178
+ execa@^2.1.0:
179
+ version "2.1.0"
180
+ resolved "https://registry.yarnpkg.com/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99"
181
+ integrity sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==
182
+ dependencies:
183
+ cross-spawn "^7.0.0"
184
+ get-stream "^5.0.0"
185
+ is-stream "^2.0.0"
186
+ merge-stream "^2.0.0"
187
+ npm-run-path "^3.0.0"
188
+ onetime "^5.1.0"
189
+ p-finally "^2.0.0"
190
+ signal-exit "^3.0.2"
191
+ strip-final-newline "^2.0.0"
192
+
193
+ find-up@^4.1.0:
194
+ version "4.1.0"
195
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
196
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
197
+ dependencies:
198
+ locate-path "^5.0.0"
199
+ path-exists "^4.0.0"
200
+
201
+ find-up@^5.0.0:
202
+ version "5.0.0"
203
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
204
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
205
+ dependencies:
206
+ locate-path "^6.0.0"
207
+ path-exists "^4.0.0"
208
+
209
+ find-versions@^4.0.0:
210
+ version "4.0.0"
211
+ resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965"
212
+ integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==
213
+ dependencies:
214
+ semver-regex "^3.1.2"
215
+
216
+ get-stream@^5.0.0:
217
+ version "5.2.0"
218
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
219
+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
220
+ dependencies:
221
+ pump "^3.0.0"
222
+
223
+ has-flag@^3.0.0:
224
+ version "3.0.0"
225
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
226
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
227
+
228
+ has-flag@^4.0.0:
229
+ version "4.0.0"
230
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
231
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
232
+
233
+ husky@^4.2.5:
234
+ version "4.3.8"
235
+ resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d"
236
+ integrity sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==
237
+ dependencies:
238
+ chalk "^4.0.0"
239
+ ci-info "^2.0.0"
240
+ compare-versions "^3.6.0"
241
+ cosmiconfig "^7.0.0"
242
+ find-versions "^4.0.0"
243
+ opencollective-postinstall "^2.0.2"
244
+ pkg-dir "^5.0.0"
245
+ please-upgrade-node "^3.2.0"
246
+ slash "^3.0.0"
247
+ which-pm-runs "^1.0.0"
248
+
249
+ ignore@^5.1.4:
250
+ version "5.1.8"
251
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
252
+ integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
253
+
254
+ import-fresh@^3.2.1:
255
+ version "3.3.0"
256
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
257
+ integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
258
+ dependencies:
259
+ parent-module "^1.0.0"
260
+ resolve-from "^4.0.0"
261
+
262
+ is-arrayish@^0.2.1:
263
+ version "0.2.1"
264
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
265
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
266
+
267
+ is-stream@^2.0.0:
268
+ version "2.0.0"
269
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
270
+ integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
271
+
272
+ isexe@^2.0.0:
273
+ version "2.0.0"
274
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
275
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
276
+
277
+ js-tokens@^4.0.0:
278
+ version "4.0.0"
279
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
280
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
281
+
282
+ json-parse-even-better-errors@^2.3.0:
283
+ version "2.3.1"
284
+ resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
285
+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
286
+
287
+ lines-and-columns@^1.1.6:
288
+ version "1.1.6"
289
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
290
+ integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
291
+
292
+ locate-path@^5.0.0:
293
+ version "5.0.0"
294
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
295
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
296
+ dependencies:
297
+ p-locate "^4.1.0"
298
+
299
+ locate-path@^6.0.0:
300
+ version "6.0.0"
301
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
302
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
303
+ dependencies:
304
+ p-locate "^5.0.0"
305
+
306
+ merge-stream@^2.0.0:
307
+ version "2.0.0"
308
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
309
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
310
+
311
+ mimic-fn@^2.1.0:
312
+ version "2.1.0"
313
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
314
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
315
+
316
+ minimatch@^3.0.4:
317
+ version "3.0.4"
318
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
319
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
320
+ dependencies:
321
+ brace-expansion "^1.1.7"
322
+
323
+ mri@^1.1.4:
324
+ version "1.1.6"
325
+ resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6"
326
+ integrity sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==
327
+
328
+ multimatch@^4.0.0:
329
+ version "4.0.0"
330
+ resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3"
331
+ integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==
332
+ dependencies:
333
+ "@types/minimatch" "^3.0.3"
334
+ array-differ "^3.0.0"
335
+ array-union "^2.1.0"
336
+ arrify "^2.0.1"
337
+ minimatch "^3.0.4"
338
+
339
+ npm-run-path@^3.0.0:
340
+ version "3.1.0"
341
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-3.1.0.tgz#7f91be317f6a466efed3c9f2980ad8a4ee8b0fa5"
342
+ integrity sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==
343
+ dependencies:
344
+ path-key "^3.0.0"
345
+
346
+ once@^1.3.1, once@^1.4.0:
347
+ version "1.4.0"
348
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
349
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
350
+ dependencies:
351
+ wrappy "1"
352
+
353
+ onetime@^5.1.0:
354
+ version "5.1.2"
355
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
356
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
357
+ dependencies:
358
+ mimic-fn "^2.1.0"
359
+
360
+ opencollective-postinstall@^2.0.2:
361
+ version "2.0.3"
362
+ resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
363
+ integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
364
+
365
+ p-finally@^2.0.0:
366
+ version "2.0.1"
367
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561"
368
+ integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==
369
+
370
+ p-limit@^2.2.0:
371
+ version "2.3.0"
372
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
373
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
374
+ dependencies:
375
+ p-try "^2.0.0"
376
+
377
+ p-limit@^3.0.2:
378
+ version "3.1.0"
379
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
380
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
381
+ dependencies:
382
+ yocto-queue "^0.1.0"
383
+
384
+ p-locate@^4.1.0:
385
+ version "4.1.0"
386
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
387
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
388
+ dependencies:
389
+ p-limit "^2.2.0"
390
+
391
+ p-locate@^5.0.0:
392
+ version "5.0.0"
393
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
394
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
395
+ dependencies:
396
+ p-limit "^3.0.2"
397
+
398
+ p-try@^2.0.0:
399
+ version "2.2.0"
400
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
401
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
402
+
403
+ parent-module@^1.0.0:
404
+ version "1.0.1"
405
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
406
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
407
+ dependencies:
408
+ callsites "^3.0.0"
409
+
410
+ parse-json@^5.0.0:
411
+ version "5.2.0"
412
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
413
+ integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
414
+ dependencies:
415
+ "@babel/code-frame" "^7.0.0"
416
+ error-ex "^1.3.1"
417
+ json-parse-even-better-errors "^2.3.0"
418
+ lines-and-columns "^1.1.6"
419
+
420
+ path-exists@^4.0.0:
421
+ version "4.0.0"
422
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
423
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
424
+
425
+ path-key@^3.0.0, path-key@^3.1.0:
426
+ version "3.1.1"
427
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
428
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
429
+
430
+ path-type@^4.0.0:
431
+ version "4.0.0"
432
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
433
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
434
+
435
+ pkg-dir@^5.0.0:
436
+ version "5.0.0"
437
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760"
438
+ integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==
439
+ dependencies:
440
+ find-up "^5.0.0"
441
+
442
+ please-upgrade-node@^3.2.0:
443
+ version "3.2.0"
444
+ resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
445
+ integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
446
+ dependencies:
447
+ semver-compare "^1.0.0"
448
+
449
+ prettier@^2.0.5:
450
+ version "2.2.1"
451
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
452
+ integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
453
+
454
+ pretty-quick@^2.0.1:
455
+ version "2.0.2"
456
+ resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-2.0.2.tgz#4e44d6489ed513ef111bee501f63688d854584e6"
457
+ integrity sha512-aLb6vtOTEfJDwi1w+MBTeE20GwPVUYyn6IqNg6TtGpiOB1W3y6vKcsGFjqGeaaEtQgMLSPXTWONqh33UBuwG8A==
458
+ dependencies:
459
+ chalk "^2.4.2"
460
+ execa "^2.1.0"
461
+ find-up "^4.1.0"
462
+ ignore "^5.1.4"
463
+ mri "^1.1.4"
464
+ multimatch "^4.0.0"
465
+
466
+ pump@^3.0.0:
467
+ version "3.0.0"
468
+ resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
469
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
470
+ dependencies:
471
+ end-of-stream "^1.1.0"
472
+ once "^1.3.1"
473
+
474
+ resolve-from@^4.0.0:
475
+ version "4.0.0"
476
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
477
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
478
+
479
+ semver-compare@^1.0.0:
480
+ version "1.0.0"
481
+ resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
482
+ integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
483
+
484
+ semver-regex@^3.1.2:
485
+ version "3.1.2"
486
+ resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.2.tgz#34b4c0d361eef262e07199dbef316d0f2ab11807"
487
+ integrity sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==
488
+
489
+ shebang-command@^2.0.0:
490
+ version "2.0.0"
491
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
492
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
493
+ dependencies:
494
+ shebang-regex "^3.0.0"
495
+
496
+ shebang-regex@^3.0.0:
497
+ version "3.0.0"
498
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
499
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
500
+
501
+ signal-exit@^3.0.2:
502
+ version "3.0.3"
503
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
504
+ integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
505
+
506
+ slash@^3.0.0:
507
+ version "3.0.0"
508
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
509
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
510
+
511
+ strip-final-newline@^2.0.0:
512
+ version "2.0.0"
513
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
514
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
515
+
516
+ supports-color@^5.3.0:
517
+ version "5.5.0"
518
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
519
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
520
+ dependencies:
521
+ has-flag "^3.0.0"
522
+
523
+ supports-color@^7.1.0:
524
+ version "7.2.0"
525
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
526
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
527
+ dependencies:
528
+ has-flag "^4.0.0"
529
+
530
+ which-pm-runs@^1.0.0:
531
+ version "1.0.0"
532
+ resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
533
+ integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
534
+
535
+ which@^2.0.1:
536
+ version "2.0.2"
537
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
538
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
539
+ dependencies:
540
+ isexe "^2.0.0"
541
+
542
+ wrappy@1:
543
+ version "1.0.2"
544
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
545
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
546
+
547
+ yaml@^1.10.0:
548
+ version "1.10.0"
549
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
550
+ integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
551
+
552
+ yocto-queue@^0.1.0:
553
+ version "0.1.0"
554
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
555
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mandate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.beta.1
4
+ version: 1.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Walker
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-29 00:00:00.000000000 Z
11
+ date: 2021-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -25,33 +25,33 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '12.3'
33
+ version: '5.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '12.3'
40
+ version: '5.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: minitest
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '5.0'
47
+ version: '12.3'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '5.0'
54
+ version: '12.3'
55
55
  description: This Ruby Gem adds functionality for the command pattern in Ruby, and
56
56
  for memoization.
57
57
  email:
@@ -60,14 +60,19 @@ executables: []
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
+ - ".github/workflows/rubocop.yml"
64
+ - ".github/workflows/tests.yml"
63
65
  - ".gitignore"
64
- - ".travis.yml"
66
+ - ".rubocop.yml"
67
+ - ".ruby-version"
65
68
  - CHANGELOG.md
66
69
  - Gemfile
67
70
  - LICENCE
68
71
  - README.md
69
72
  - Rakefile
70
73
  - bin/console
74
+ - bin/release
75
+ - bin/rubocop-quick
71
76
  - bin/setup
72
77
  - lib/mandate.rb
73
78
  - lib/mandate/call_injector.rb
@@ -76,6 +81,8 @@ files:
76
81
  - lib/mandate/memoize.rb
77
82
  - lib/mandate/version.rb
78
83
  - mandate.gemspec
84
+ - package.json
85
+ - yarn.lock
79
86
  homepage: https://github.com/iHiD/mandate
80
87
  licenses:
81
88
  - MIT
@@ -88,14 +95,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
88
95
  requirements:
89
96
  - - ">="
90
97
  - !ruby/object:Gem::Version
91
- version: '0'
98
+ version: 2.6.0
92
99
  required_rubygems_version: !ruby/object:Gem::Requirement
93
100
  requirements:
94
101
  - - ">"
95
102
  - !ruby/object:Gem::Version
96
103
  version: 1.3.1
97
104
  requirements: []
98
- rubygems_version: 3.1.2
105
+ rubygems_version: 3.0.3
99
106
  signing_key:
100
107
  specification_version: 4
101
108
  summary: A simple command-pattern helper gem for Ruby
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.3
5
- before_install: gem install bundler -v 1.15.4