shopify_app 18.0.2 → 19.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +4 -5
  3. data/.gitignore +1 -0
  4. data/.nvmrc +1 -1
  5. data/.ruby-version +1 -1
  6. data/CHANGELOG.md +52 -2
  7. data/CONTRIBUTING.md +6 -1
  8. data/Gemfile +3 -2
  9. data/Gemfile.lock +144 -164
  10. data/README.md +1 -0
  11. data/Rakefile +4 -3
  12. data/app/assets/javascripts/shopify_app/app_bridge_2.0.12.js +10 -0
  13. data/app/assets/javascripts/shopify_app/app_bridge_redirect.js +22 -0
  14. data/app/assets/javascripts/shopify_app/redirect.js +9 -11
  15. data/app/assets/javascripts/shopify_app/storage_access.js +4 -10
  16. data/app/controllers/concerns/shopify_app/authenticated.rb +3 -0
  17. data/app/controllers/concerns/shopify_app/ensure_authenticated_links.rb +16 -3
  18. data/app/controllers/concerns/shopify_app/require_known_shop.rb +1 -0
  19. data/app/controllers/concerns/shopify_app/shop_access_scopes_verification.rb +1 -1
  20. data/app/controllers/shopify_app/authenticated_controller.rb +1 -0
  21. data/app/controllers/shopify_app/callback_controller.rb +49 -134
  22. data/app/controllers/shopify_app/sessions_controller.rb +26 -131
  23. data/app/controllers/shopify_app/webhooks_controller.rb +5 -24
  24. data/app/views/shopify_app/sessions/enable_cookies.html.erb +1 -1
  25. data/app/views/shopify_app/sessions/request_storage_access.html.erb +11 -11
  26. data/app/views/shopify_app/sessions/top_level_interaction.html.erb +1 -1
  27. data/app/views/shopify_app/shared/redirect.html.erb +2 -2
  28. data/config/locales/zh-CN.yml +1 -1
  29. data/config/routes.rb +20 -12
  30. data/docs/Troubleshooting.md +0 -3
  31. data/docs/Upgrading.md +116 -14
  32. data/docs/shopify_app/engine.md +2 -2
  33. data/docs/shopify_app/handling-access-scopes-changes.md +11 -1
  34. data/docs/shopify_app/script-tags.md +1 -1
  35. data/docs/shopify_app/webhooks.md +3 -3
  36. data/lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb +10 -9
  37. data/lib/generators/shopify_app/add_after_authenticate_job/templates/after_authenticate_job.rb +1 -0
  38. data/lib/generators/shopify_app/add_marketing_activity_extension/add_marketing_activity_extension_generator.rb +4 -3
  39. data/lib/generators/shopify_app/add_webhook/add_webhook_generator.rb +13 -12
  40. data/lib/generators/shopify_app/add_webhook/templates/webhook_job.rb.tt +9 -1
  41. data/lib/generators/shopify_app/app_proxy_controller/app_proxy_controller_generator.rb +7 -6
  42. data/lib/generators/shopify_app/app_proxy_controller/templates/app_proxy_controller.rb +2 -1
  43. data/lib/generators/shopify_app/app_proxy_controller/templates/app_proxy_route.rb +1 -1
  44. data/lib/generators/shopify_app/authenticated_controller/authenticated_controller_generator.rb +3 -3
  45. data/lib/generators/shopify_app/controllers/controllers_generator.rb +4 -3
  46. data/lib/generators/shopify_app/home_controller/home_controller_generator.rb +11 -15
  47. data/lib/generators/shopify_app/home_controller/templates/home_controller.rb +2 -2
  48. data/lib/generators/shopify_app/home_controller/templates/index.html.erb +7 -3
  49. data/lib/generators/shopify_app/install/install_generator.rb +27 -72
  50. data/lib/generators/shopify_app/install/templates/embedded_app.html.erb +3 -1
  51. data/lib/generators/shopify_app/install/templates/session_store.rb +2 -1
  52. data/lib/generators/shopify_app/install/templates/shopify_app.rb.tt +33 -5
  53. data/lib/generators/shopify_app/install/templates/shopify_app_importmap.js +13 -0
  54. data/lib/generators/shopify_app/products_controller/products_controller_generator.rb +3 -3
  55. data/lib/generators/shopify_app/products_controller/templates/products_controller.rb +1 -1
  56. data/lib/generators/shopify_app/rotate_shopify_token_job/rotate_shopify_token_job_generator.rb +4 -4
  57. data/lib/generators/shopify_app/rotate_shopify_token_job/templates/rotate_shopify_token.rake +1 -0
  58. data/lib/generators/shopify_app/rotate_shopify_token_job/templates/rotate_shopify_token_job.rb +1 -1
  59. data/lib/generators/shopify_app/routes/routes_generator.rb +6 -5
  60. data/lib/generators/shopify_app/routes/templates/routes.rb +5 -5
  61. data/lib/generators/shopify_app/shop_model/shop_model_generator.rb +11 -10
  62. data/lib/generators/shopify_app/shop_model/templates/shop.rb +1 -0
  63. data/lib/generators/shopify_app/shopify_app_generator.rb +4 -3
  64. data/lib/generators/shopify_app/user_model/templates/user.rb +1 -0
  65. data/lib/generators/shopify_app/user_model/user_model_generator.rb +11 -10
  66. data/lib/generators/shopify_app/views/views_generator.rb +4 -3
  67. data/lib/shopify_app/access_scopes/shop_strategy.rb +2 -2
  68. data/lib/shopify_app/access_scopes/user_strategy.rb +4 -4
  69. data/lib/shopify_app/configuration.rb +33 -14
  70. data/lib/shopify_app/controller_concerns/app_proxy_verification.rb +4 -3
  71. data/lib/shopify_app/controller_concerns/csrf_protection.rb +2 -1
  72. data/lib/shopify_app/controller_concerns/embedded_app.rb +4 -3
  73. data/lib/shopify_app/controller_concerns/ensure_billing.rb +254 -0
  74. data/lib/shopify_app/controller_concerns/itp.rb +3 -3
  75. data/lib/shopify_app/controller_concerns/localization.rb +1 -0
  76. data/lib/shopify_app/controller_concerns/login_protection.rb +82 -68
  77. data/lib/shopify_app/controller_concerns/payload_verification.rb +3 -2
  78. data/lib/shopify_app/controller_concerns/webhook_verification.rb +2 -1
  79. data/lib/shopify_app/engine.rb +7 -15
  80. data/lib/shopify_app/jobs/scripttags_manager_job.rb +2 -2
  81. data/lib/shopify_app/jobs/webhooks_manager_job.rb +4 -5
  82. data/lib/shopify_app/managers/scripttags_manager.rb +11 -4
  83. data/lib/shopify_app/managers/webhooks_manager.rb +42 -44
  84. data/lib/shopify_app/middleware/jwt_middleware.rb +5 -3
  85. data/lib/shopify_app/session/in_memory_session_store.rb +1 -0
  86. data/lib/shopify_app/session/in_memory_shop_session_store.rb +2 -1
  87. data/lib/shopify_app/session/in_memory_user_session_store.rb +1 -0
  88. data/lib/shopify_app/session/jwt.rb +12 -7
  89. data/lib/shopify_app/session/null_user_session_store.rb +2 -1
  90. data/lib/shopify_app/session/session_repository.rb +37 -0
  91. data/lib/shopify_app/session/session_storage.rb +4 -6
  92. data/lib/shopify_app/session/shop_session_storage.rb +6 -6
  93. data/lib/shopify_app/session/shop_session_storage_with_scopes.rb +7 -8
  94. data/lib/shopify_app/session/user_session_storage.rb +19 -6
  95. data/lib/shopify_app/session/user_session_storage_with_scopes.rb +22 -9
  96. data/lib/shopify_app/test_helpers/all.rb +2 -1
  97. data/lib/shopify_app/test_helpers/webhook_verification_helper.rb +4 -3
  98. data/lib/shopify_app/utils.rb +4 -10
  99. data/lib/shopify_app/version.rb +2 -1
  100. data/lib/shopify_app.rb +44 -40
  101. data/package.json +1 -1
  102. data/shopify_app.gemspec +22 -21
  103. data/translation.yml +1 -1
  104. data/yarn.lock +103 -88
  105. metadata +51 -60
  106. data/config/locales/hi.yml +0 -23
  107. data/config/locales/ms.yml +0 -22
  108. data/lib/generators/shopify_app/install/templates/omniauth.rb +0 -4
  109. data/lib/generators/shopify_app/install/templates/shopify_provider.rb.tt +0 -8
  110. data/lib/generators/shopify_app/install/templates/user_agent.rb +0 -6
  111. data/lib/shopify_app/middleware/same_site_cookie_middleware.rb +0 -34
  112. data/lib/shopify_app/omniauth/omniauth_configuration.rb +0 -64
@@ -1,11 +1,12 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ShopifyApp
3
4
  module Utils
4
5
  def self.sanitize_shop_domain(shop_domain)
5
6
  myshopify_domain = ShopifyApp.configuration.myshopify_domain
6
7
  name = shop_domain.to_s.downcase.strip
7
8
  name += ".#{myshopify_domain}" if !name.include?(myshopify_domain.to_s) && !name.include?(".")
8
- name.sub!(%r|https?://|, '')
9
+ name.sub!(%r|https?://|, "")
9
10
 
10
11
  u = URI("http://#{name}")
11
12
  u.host if u.host&.match(/^[a-z0-9][a-z0-9\-]*[a-z0-9]\.#{Regexp.escape(myshopify_domain)}$/)
@@ -13,20 +14,13 @@ module ShopifyApp
13
14
  nil
14
15
  end
15
16
 
16
- def self.fetch_known_api_versions
17
- Rails.logger.info("[ShopifyAPI::ApiVersion] Fetching known Admin API Versions from Shopify...")
18
- ShopifyAPI::ApiVersion.fetch_known_versions
19
- Rails.logger.info("[ShopifyAPI::ApiVersion] Known API Versions: #{ShopifyAPI::ApiVersion.versions.keys}")
20
- rescue ActiveResource::ConnectionError
21
- logger.error("[ShopifyAPI::ApiVersion] Unable to fetch api_versions from Shopify")
22
- end
23
-
24
- def self.shop_login_url(shop:, return_to:)
17
+ def self.shop_login_url(shop:, host:, return_to:)
25
18
  return ShopifyApp.configuration.login_url unless shop
26
19
  url = URI(ShopifyApp.configuration.login_url)
27
20
 
28
21
  url.query = URI.encode_www_form(
29
22
  shop: shop,
23
+ host: host,
30
24
  return_to: return_to,
31
25
  )
32
26
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ShopifyApp
3
- VERSION = '18.0.2'
4
+ VERSION = "19.1.0"
4
5
  end
data/lib/shopify_app.rb CHANGED
@@ -1,72 +1,76 @@
1
1
  # frozen_string_literal: true
2
- require 'shopify_app/version'
2
+
3
+ require "shopify_app/version"
3
4
 
4
5
  # deps
5
- require 'shopify_api'
6
- require 'omniauth/rails_csrf_protection'
7
- require 'omniauth-shopify-oauth2'
8
- require 'redirect_safely'
6
+ require "shopify_api"
7
+ require "redirect_safely"
9
8
 
10
9
  module ShopifyApp
11
10
  def self.rails6?
12
11
  Rails::VERSION::MAJOR >= 6
13
12
  end
14
13
 
14
+ def self.rails7?
15
+ Rails::VERSION::MAJOR >= 7
16
+ end
17
+
18
+ def self.use_importmap?
19
+ rails7? && File.exist?("config/importmap.rb")
20
+ end
21
+
15
22
  def self.use_webpacker?
16
23
  rails6? &&
17
- defined?(Webpacker) == 'constant' &&
24
+ defined?(Webpacker) == "constant" &&
18
25
  !configuration.disable_webpacker
19
26
  end
20
27
 
21
28
  # config
22
- require 'shopify_app/configuration'
29
+ require "shopify_app/configuration"
23
30
 
24
31
  # engine
25
- require 'shopify_app/engine'
32
+ require "shopify_app/engine"
26
33
 
27
34
  # utils
28
- require 'shopify_app/utils'
35
+ require "shopify_app/utils"
29
36
 
30
37
  # controller concerns
31
- require 'shopify_app/controller_concerns/csrf_protection'
32
- require 'shopify_app/controller_concerns/localization'
33
- require 'shopify_app/controller_concerns/itp'
34
- require 'shopify_app/controller_concerns/login_protection'
35
- require 'shopify_app/controller_concerns/embedded_app'
36
- require 'shopify_app/controller_concerns/payload_verification'
37
- require 'shopify_app/controller_concerns/app_proxy_verification'
38
- require 'shopify_app/controller_concerns/webhook_verification'
38
+ require "shopify_app/controller_concerns/csrf_protection"
39
+ require "shopify_app/controller_concerns/localization"
40
+ require "shopify_app/controller_concerns/itp"
41
+ require "shopify_app/controller_concerns/login_protection"
42
+ require "shopify_app/controller_concerns/ensure_billing"
43
+ require "shopify_app/controller_concerns/embedded_app"
44
+ require "shopify_app/controller_concerns/payload_verification"
45
+ require "shopify_app/controller_concerns/app_proxy_verification"
46
+ require "shopify_app/controller_concerns/webhook_verification"
39
47
 
40
48
  # jobs
41
- require 'shopify_app/jobs/webhooks_manager_job'
42
- require 'shopify_app/jobs/scripttags_manager_job'
49
+ require "shopify_app/jobs/webhooks_manager_job"
50
+ require "shopify_app/jobs/scripttags_manager_job"
43
51
 
44
52
  # managers
45
- require 'shopify_app/managers/webhooks_manager'
46
- require 'shopify_app/managers/scripttags_manager'
53
+ require "shopify_app/managers/webhooks_manager"
54
+ require "shopify_app/managers/scripttags_manager"
47
55
 
48
56
  # middleware
49
- require 'shopify_app/middleware/jwt_middleware'
50
- require 'shopify_app/middleware/same_site_cookie_middleware'
57
+ require "shopify_app/middleware/jwt_middleware"
51
58
 
52
59
  # session
53
- require 'shopify_app/session/in_memory_session_store'
54
- require 'shopify_app/session/in_memory_shop_session_store'
55
- require 'shopify_app/session/in_memory_user_session_store'
56
- require 'shopify_app/session/jwt'
57
- require 'shopify_app/session/null_user_session_store'
58
- require 'shopify_app/session/session_repository'
59
- require 'shopify_app/session/session_storage'
60
- require 'shopify_app/session/shop_session_storage'
61
- require 'shopify_app/session/shop_session_storage_with_scopes'
62
- require 'shopify_app/session/user_session_storage'
63
- require 'shopify_app/session/user_session_storage_with_scopes'
60
+ require "shopify_app/session/in_memory_session_store"
61
+ require "shopify_app/session/in_memory_shop_session_store"
62
+ require "shopify_app/session/in_memory_user_session_store"
63
+ require "shopify_app/session/jwt"
64
+ require "shopify_app/session/null_user_session_store"
65
+ require "shopify_app/session/session_repository"
66
+ require "shopify_app/session/session_storage"
67
+ require "shopify_app/session/shop_session_storage"
68
+ require "shopify_app/session/shop_session_storage_with_scopes"
69
+ require "shopify_app/session/user_session_storage"
70
+ require "shopify_app/session/user_session_storage_with_scopes"
64
71
 
65
72
  # access scopes strategies
66
- require 'shopify_app/access_scopes/shop_strategy'
67
- require 'shopify_app/access_scopes/user_strategy'
68
- require 'shopify_app/access_scopes/noop_strategy'
69
-
70
- # omniauth_configuration
71
- require 'shopify_app/omniauth/omniauth_configuration'
73
+ require "shopify_app/access_scopes/shop_strategy"
74
+ require "shopify_app/access_scopes/user_strategy"
75
+ require "shopify_app/access_scopes/noop_strategy"
72
76
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shopify_app",
3
- "version": "18.0.2",
3
+ "version": "19.1.0",
4
4
  "repository": "git@github.com:Shopify/shopify_app.git",
5
5
  "author": "Shopify",
6
6
  "license": "MIT",
data/shopify_app.gemspec CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
- $LOAD_PATH.push(File.expand_path('../lib', __FILE__))
2
+
3
+ $LOAD_PATH.push(File.expand_path("../lib", __FILE__))
3
4
  require "shopify_app/version"
4
5
 
5
6
  Gem::Specification.new do |s|
@@ -7,30 +8,30 @@ Gem::Specification.new do |s|
7
8
  s.version = ShopifyApp::VERSION
8
9
  s.platform = Gem::Platform::RUBY
9
10
  s.author = "Shopify"
10
- s.summary = 'This gem is used to get quickly started with the Shopify API'
11
+ s.summary = "This gem is used to get quickly started with the Shopify API"
11
12
 
12
- s.required_ruby_version = ">= 2.5"
13
+ s.required_ruby_version = ">= 2.6"
13
14
 
14
- s.metadata['allowed_push_host'] = 'https://rubygems.org'
15
+ s.metadata["allowed_push_host"] = "https://rubygems.org"
15
16
 
16
- s.add_runtime_dependency('browser_sniffer', '~> 1.2.2')
17
- s.add_runtime_dependency('omniauth-rails_csrf_protection')
18
- s.add_runtime_dependency('rails', '> 5.2.1', '< 6.2')
19
- s.add_runtime_dependency('shopify_api', '~> 9.4')
20
- s.add_runtime_dependency('omniauth-shopify-oauth2', '~> 2.3')
21
- s.add_runtime_dependency('jwt', '>= 2.2.3')
22
- s.add_runtime_dependency('redirect_safely', '~> 1.0')
17
+ s.add_runtime_dependency("activeresource") # TODO: Remove this once all active resource dependencies are removed
18
+ s.add_runtime_dependency("browser_sniffer", "~> 2.0")
19
+ s.add_runtime_dependency("jwt", ">= 2.2.3")
20
+ s.add_runtime_dependency("rails", "> 5.2.1")
21
+ s.add_runtime_dependency("redirect_safely", "~> 1.0")
22
+ s.add_runtime_dependency("shopify_api", "~> 10.0")
23
+ s.add_runtime_dependency("sprockets-rails", ">= 2.0.0")
23
24
 
24
- s.add_development_dependency('rake')
25
- s.add_development_dependency('byebug')
26
- s.add_development_dependency('pry')
27
- s.add_development_dependency('pry-nav')
28
- s.add_development_dependency('pry-stack_explorer')
29
- s.add_development_dependency('rb-readline')
30
- s.add_development_dependency('sqlite3', '~> 1.4')
31
- s.add_development_dependency('minitest')
32
- s.add_development_dependency('mocha')
33
- s.add_development_dependency('webmock')
25
+ s.add_development_dependency("byebug")
26
+ s.add_development_dependency("minitest")
27
+ s.add_development_dependency("mocha")
28
+ s.add_development_dependency("pry")
29
+ s.add_development_dependency("pry-nav")
30
+ s.add_development_dependency("pry-stack_explorer")
31
+ s.add_development_dependency("rake")
32
+ s.add_development_dependency("rb-readline")
33
+ s.add_development_dependency("sqlite3", "~> 1.4")
34
+ s.add_development_dependency("webmock")
34
35
 
35
36
  s.files = %x(git ls-files).split("\n").reject { |f| f.match(%r{^(test|example)/}) }
36
37
  s.test_files = %x(git ls-files -- {test}/*).split("\n")
data/translation.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  source_language: en
2
- target_languages: [cs, da, de, es, fi, fr, hi, it, ja, ko, ms, nb, nl, pl, pt-BR, pt-PT, sv, th, tr, vi, zh-CN, zh-TW]
2
+ target_languages: [cs, da, de, es, fi, fr, it, ja, ko, nb, nl, pl, pt-BR, pt-PT, sv, th, tr, vi, zh-CN, zh-TW]
3
3
  components:
4
4
  - name: 'merchant'
5
5
  paths:
data/yarn.lock CHANGED
@@ -1603,14 +1603,15 @@ browserify-zlib@^0.2.0:
1603
1603
  pako "~1.0.5"
1604
1604
 
1605
1605
  browserslist@^4.12.0, browserslist@^4.8.5:
1606
- version "4.14.1"
1607
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.1.tgz#cb2b490ba881d45dc3039078c7ed04411eaf3fa3"
1608
- integrity sha512-zyBTIHydW37pnb63c7fHFXUG6EcqWOqoMdDx6cdyaDFriZ20EoVxcE95S54N+heRqY8m8IUgB5zYta/gCwSaaA==
1606
+ version "4.19.1"
1607
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3"
1608
+ integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==
1609
1609
  dependencies:
1610
- caniuse-lite "^1.0.30001124"
1611
- electron-to-chromium "^1.3.562"
1612
- escalade "^3.0.2"
1613
- node-releases "^1.1.60"
1610
+ caniuse-lite "^1.0.30001286"
1611
+ electron-to-chromium "^1.4.17"
1612
+ escalade "^3.1.1"
1613
+ node-releases "^2.0.1"
1614
+ picocolors "^1.0.0"
1614
1615
 
1615
1616
  buffer-from@^1.0.0:
1616
1617
  version "1.1.1"
@@ -1682,10 +1683,10 @@ camelcase@^5.0.0, camelcase@^5.3.1:
1682
1683
  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
1683
1684
  integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
1684
1685
 
1685
- caniuse-lite@^1.0.30001124:
1686
- version "1.0.30001124"
1687
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001124.tgz#5d9998190258e11630d674fc50ea8e579ae0ced2"
1688
- integrity sha512-zQW8V3CdND7GHRH6rxm6s59Ww4g/qGWTheoboW9nfeMg7sUoopIfKCcNZUjwYRCOrvereh3kwDpZj4VLQ7zGtA==
1686
+ caniuse-lite@^1.0.30001286:
1687
+ version "1.0.30001303"
1688
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001303.tgz#9b168e4f43ccfc372b86f4bc5a551d9b909c95c9"
1689
+ integrity sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==
1689
1690
 
1690
1691
  chai@^4.1.2:
1691
1692
  version "4.2.0"
@@ -2030,15 +2031,10 @@ cyclist@^1.0.1:
2030
2031
  resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
2031
2032
  integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
2032
2033
 
2033
- date-format@^2.1.0:
2034
- version "2.1.0"
2035
- resolved "https://registry.yarnpkg.com/date-format/-/date-format-2.1.0.tgz#31d5b5ea211cf5fd764cd38baf9d033df7e125cf"
2036
- integrity sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==
2037
-
2038
- date-format@^3.0.0:
2039
- version "3.0.0"
2040
- resolved "https://registry.yarnpkg.com/date-format/-/date-format-3.0.0.tgz#eb8780365c7d2b1511078fb491e6479780f3ad95"
2041
- integrity sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==
2034
+ date-format@^4.0.3:
2035
+ version "4.0.3"
2036
+ resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.3.tgz#f63de5dc08dc02efd8ef32bf2a6918e486f35873"
2037
+ integrity sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==
2042
2038
 
2043
2039
  debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
2044
2040
  version "2.6.9"
@@ -2047,13 +2043,20 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
2047
2043
  dependencies:
2048
2044
  ms "2.0.0"
2049
2045
 
2050
- debug@4.1.1, debug@^4.1.0, debug@^4.1.1, debug@~4.1.0:
2046
+ debug@4.1.1, debug@~4.1.0:
2051
2047
  version "4.1.1"
2052
2048
  resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
2053
2049
  integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
2054
2050
  dependencies:
2055
2051
  ms "^2.1.1"
2056
2052
 
2053
+ debug@^4.1.0, debug@^4.1.1, debug@^4.3.3:
2054
+ version "4.3.3"
2055
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
2056
+ integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
2057
+ dependencies:
2058
+ ms "2.1.2"
2059
+
2057
2060
  debug@~3.1.0:
2058
2061
  version "3.1.0"
2059
2062
  resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
@@ -2174,10 +2177,10 @@ ee-first@1.1.1:
2174
2177
  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
2175
2178
  integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
2176
2179
 
2177
- electron-to-chromium@^1.3.562:
2178
- version "1.3.564"
2179
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.564.tgz#e9c319ae437b3eb8bbf3e3bae4bead5a21945961"
2180
- integrity sha512-fNaYN3EtKQWLQsrKXui8mzcryJXuA0LbCLoizeX6oayG2emBaS5MauKjCPAvc29NEY4FpLHIUWiP+Y0Bfrs5dg==
2180
+ electron-to-chromium@^1.4.17:
2181
+ version "1.4.56"
2182
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.56.tgz#f660fd2c6739b341d8922fe3a441a5a2804911a1"
2183
+ integrity sha512-0k/S0FQqRRpJbX7YUjwCcLZ8D42RqGKtaiq90adXBOYgTIWwLA/g3toO8k9yEpqU8iC4QyaWYYWSTBIna8WV4g==
2181
2184
 
2182
2185
  elliptic@^6.5.3:
2183
2186
  version "6.5.4"
@@ -2324,10 +2327,10 @@ es-to-primitive@^1.2.1:
2324
2327
  is-date-object "^1.0.1"
2325
2328
  is-symbol "^1.0.2"
2326
2329
 
2327
- escalade@^3.0.2:
2328
- version "3.0.2"
2329
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4"
2330
- integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==
2330
+ escalade@^3.1.1:
2331
+ version "3.1.1"
2332
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
2333
+ integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
2331
2334
 
2332
2335
  escape-html@~1.0.3:
2333
2336
  version "1.0.3"
@@ -2538,10 +2541,10 @@ flat@^4.1.0:
2538
2541
  dependencies:
2539
2542
  is-buffer "~2.0.3"
2540
2543
 
2541
- flatted@^2.0.1:
2542
- version "2.0.2"
2543
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
2544
- integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
2544
+ flatted@^3.2.4:
2545
+ version "3.2.5"
2546
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
2547
+ integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
2545
2548
 
2546
2549
  flush-write-stream@^1.0.0:
2547
2550
  version "1.1.1"
@@ -2552,9 +2555,9 @@ flush-write-stream@^1.0.0:
2552
2555
  readable-stream "^2.3.6"
2553
2556
 
2554
2557
  follow-redirects@^1.0.0:
2555
- version "1.13.0"
2556
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db"
2557
- integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==
2558
+ version "1.14.9"
2559
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7"
2560
+ integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==
2558
2561
 
2559
2562
  for-in@^1.0.2:
2560
2563
  version "1.0.2"
@@ -2576,14 +2579,14 @@ from2@^2.1.0:
2576
2579
  inherits "^2.0.1"
2577
2580
  readable-stream "^2.0.0"
2578
2581
 
2579
- fs-extra@^8.1.0:
2580
- version "8.1.0"
2581
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
2582
- integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
2582
+ fs-extra@^10.0.0:
2583
+ version "10.0.0"
2584
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
2585
+ integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==
2583
2586
  dependencies:
2584
2587
  graceful-fs "^4.2.0"
2585
- jsonfile "^4.0.0"
2586
- universalify "^0.1.0"
2588
+ jsonfile "^6.0.1"
2589
+ universalify "^2.0.0"
2587
2590
 
2588
2591
  fs-write-stream-atomic@^1.0.8:
2589
2592
  version "1.0.10"
@@ -2678,11 +2681,16 @@ globals@^11.1.0:
2678
2681
  resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
2679
2682
  integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
2680
2683
 
2681
- graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
2684
+ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.4:
2682
2685
  version "4.2.4"
2683
2686
  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
2684
2687
  integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
2685
2688
 
2689
+ graceful-fs@^4.1.6, graceful-fs@^4.2.0:
2690
+ version "4.2.9"
2691
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
2692
+ integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
2693
+
2686
2694
  growl@1.10.5:
2687
2695
  version "1.10.5"
2688
2696
  resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
@@ -3176,10 +3184,12 @@ json5@^2.1.2:
3176
3184
  dependencies:
3177
3185
  minimist "^1.2.5"
3178
3186
 
3179
- jsonfile@^4.0.0:
3180
- version "4.0.0"
3181
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
3182
- integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
3187
+ jsonfile@^6.0.1:
3188
+ version "6.1.0"
3189
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
3190
+ integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
3191
+ dependencies:
3192
+ universalify "^2.0.0"
3183
3193
  optionalDependencies:
3184
3194
  graceful-fs "^4.1.6"
3185
3195
 
@@ -3343,9 +3353,9 @@ lodash.get@^4.4.2:
3343
3353
  integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
3344
3354
 
3345
3355
  lodash@^4.17.19:
3346
- version "4.17.20"
3347
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
3348
- integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
3356
+ version "4.17.21"
3357
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
3358
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
3349
3359
 
3350
3360
  log-symbols@4.0.0:
3351
3361
  version "4.0.0"
@@ -3362,15 +3372,15 @@ log-symbols@^1.0.2:
3362
3372
  chalk "^1.0.0"
3363
3373
 
3364
3374
  log4js@^6.2.1:
3365
- version "6.3.0"
3366
- resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.3.0.tgz#10dfafbb434351a3e30277a00b9879446f715bcb"
3367
- integrity sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==
3375
+ version "6.4.1"
3376
+ resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.1.tgz#9d3a8bf2c31c1e213fe3fc398a6053f7a2bc53e8"
3377
+ integrity sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==
3368
3378
  dependencies:
3369
- date-format "^3.0.0"
3370
- debug "^4.1.1"
3371
- flatted "^2.0.1"
3372
- rfdc "^1.1.4"
3373
- streamroller "^2.2.4"
3379
+ date-format "^4.0.3"
3380
+ debug "^4.3.3"
3381
+ flatted "^3.2.4"
3382
+ rfdc "^1.3.0"
3383
+ streamroller "^3.0.2"
3374
3384
 
3375
3385
  loose-envify@^1.0.0, loose-envify@^1.4.0:
3376
3386
  version "1.4.0"
@@ -3505,9 +3515,9 @@ minimatch@3.0.4, minimatch@^3.0.4:
3505
3515
  brace-expansion "^1.1.7"
3506
3516
 
3507
3517
  minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
3508
- version "1.2.5"
3509
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
3510
- integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
3518
+ version "1.2.6"
3519
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
3520
+ integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
3511
3521
 
3512
3522
  mississippi@^3.0.0:
3513
3523
  version "3.0.0"
@@ -3675,10 +3685,10 @@ node-libs-browser@^2.2.1:
3675
3685
  util "^0.11.0"
3676
3686
  vm-browserify "^1.0.1"
3677
3687
 
3678
- node-releases@^1.1.60:
3679
- version "1.1.60"
3680
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084"
3681
- integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==
3688
+ node-releases@^2.0.1:
3689
+ version "2.0.1"
3690
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5"
3691
+ integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
3682
3692
 
3683
3693
  normalize-path@^2.1.1:
3684
3694
  version "2.1.1"
@@ -3870,9 +3880,9 @@ path-is-absolute@^1.0.0:
3870
3880
  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
3871
3881
 
3872
3882
  path-parse@^1.0.6:
3873
- version "1.0.6"
3874
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
3875
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
3883
+ version "1.0.7"
3884
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
3885
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
3876
3886
 
3877
3887
  path-to-regexp@^1.7.0:
3878
3888
  version "1.8.0"
@@ -3882,9 +3892,9 @@ path-to-regexp@^1.7.0:
3882
3892
  isarray "0.0.1"
3883
3893
 
3884
3894
  pathval@^1.1.0:
3885
- version "1.1.0"
3886
- resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
3887
- integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA=
3895
+ version "1.1.1"
3896
+ resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d"
3897
+ integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
3888
3898
 
3889
3899
  pbkdf2@^3.0.3:
3890
3900
  version "3.1.1"
@@ -3897,6 +3907,11 @@ pbkdf2@^3.0.3:
3897
3907
  safe-buffer "^5.0.1"
3898
3908
  sha.js "^2.4.8"
3899
3909
 
3910
+ picocolors@^1.0.0:
3911
+ version "1.0.0"
3912
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
3913
+ integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
3914
+
3900
3915
  picomatch@^2.0.4, picomatch@^2.2.1:
3901
3916
  version "2.2.2"
3902
3917
  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
@@ -4226,10 +4241,10 @@ ret@~0.1.10:
4226
4241
  resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
4227
4242
  integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
4228
4243
 
4229
- rfdc@^1.1.4:
4230
- version "1.1.4"
4231
- resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2"
4232
- integrity sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==
4244
+ rfdc@^1.3.0:
4245
+ version "1.3.0"
4246
+ resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
4247
+ integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
4233
4248
 
4234
4249
  rimraf@^2.5.4, rimraf@^2.6.3:
4235
4250
  version "2.7.1"
@@ -4570,14 +4585,14 @@ stream-shift@^1.0.0:
4570
4585
  resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
4571
4586
  integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
4572
4587
 
4573
- streamroller@^2.2.4:
4574
- version "2.2.4"
4575
- resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-2.2.4.tgz#c198ced42db94086a6193608187ce80a5f2b0e53"
4576
- integrity sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==
4588
+ streamroller@^3.0.2:
4589
+ version "3.0.2"
4590
+ resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.2.tgz#30418d0eee3d6c93ec897f892ed098e3a81e68b7"
4591
+ integrity sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA==
4577
4592
  dependencies:
4578
- date-format "^2.1.0"
4593
+ date-format "^4.0.3"
4579
4594
  debug "^4.1.1"
4580
- fs-extra "^8.1.0"
4595
+ fs-extra "^10.0.0"
4581
4596
 
4582
4597
  "string-width@^1.0.2 || 2":
4583
4598
  version "2.1.1"
@@ -4877,10 +4892,10 @@ unique-slug@^2.0.0:
4877
4892
  dependencies:
4878
4893
  imurmurhash "^0.1.4"
4879
4894
 
4880
- universalify@^0.1.0:
4881
- version "0.1.2"
4882
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
4883
- integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
4895
+ universalify@^2.0.0:
4896
+ version "2.0.0"
4897
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
4898
+ integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
4884
4899
 
4885
4900
  unpipe@1.0.0, unpipe@~1.0.0:
4886
4901
  version "1.0.0"
@@ -5100,9 +5115,9 @@ wrappy@1:
5100
5115
  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
5101
5116
 
5102
5117
  ws@~7.4.2:
5103
- version "7.4.2"
5104
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd"
5105
- integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==
5118
+ version "7.4.6"
5119
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
5120
+ integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
5106
5121
 
5107
5122
  xmlhttprequest-ssl@~1.5.4:
5108
5123
  version "1.5.5"