shopify_app 18.0.4 → 18.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +2 -3
  3. data/.nvmrc +1 -1
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +14 -0
  6. data/Gemfile.lock +82 -104
  7. data/README.md +1 -0
  8. data/app/assets/javascripts/shopify_app/app_bridge_2.0.12.js +10 -0
  9. data/app/assets/javascripts/shopify_app/app_bridge_redirect.js +3 -4
  10. data/app/assets/javascripts/shopify_app/storage_access.js +1 -1
  11. data/app/controllers/concerns/shopify_app/require_known_shop.rb +1 -0
  12. data/app/controllers/concerns/shopify_app/shop_access_scopes_verification.rb +1 -1
  13. data/app/controllers/shopify_app/sessions_controller.rb +5 -0
  14. data/app/controllers/shopify_app/webhooks_controller.rb +1 -2
  15. data/app/views/shopify_app/sessions/enable_cookies.html.erb +1 -8
  16. data/app/views/shopify_app/sessions/request_storage_access.html.erb +1 -8
  17. data/app/views/shopify_app/sessions/top_level_interaction.html.erb +1 -1
  18. data/app/views/shopify_app/shared/redirect.html.erb +1 -7
  19. data/config/locales/zh-CN.yml +1 -1
  20. data/docs/Upgrading.md +10 -3
  21. data/lib/generators/shopify_app/home_controller/templates/index.html.erb +4 -0
  22. data/lib/generators/shopify_app/install/install_generator.rb +5 -1
  23. data/lib/generators/shopify_app/install/templates/embedded_app.html.erb +2 -0
  24. data/lib/generators/shopify_app/install/templates/shopify_app_importmap.js +13 -0
  25. data/lib/shopify_app/controller_concerns/login_protection.rb +11 -3
  26. data/lib/shopify_app/middleware/jwt_middleware.rb +1 -0
  27. data/lib/shopify_app/session/jwt.rb +4 -0
  28. data/lib/shopify_app/utils.rb +2 -1
  29. data/lib/shopify_app/version.rb +1 -1
  30. data/lib/shopify_app.rb +8 -0
  31. data/package.json +1 -1
  32. data/shopify_app.gemspec +2 -2
  33. data/yarn.lock +97 -82
  34. metadata +5 -10
  35. data/app/assets/javascripts/shopify_app/app_bridge_1.30.0.js +0 -1
@@ -95,6 +95,12 @@ module ShopifyApp
95
95
  response.set_header(ACCESS_TOKEN_REQUIRED_HEADER, "true")
96
96
  end
97
97
 
98
+ def jwt_expire_at
99
+ expire_at = request.env['jwt.expire_at']
100
+ return unless expire_at
101
+ expire_at - 5.seconds # 5s gap to start fetching new token in advance
102
+ end
103
+
98
104
  protected
99
105
 
100
106
  def jwt_shopify_domain
@@ -106,9 +112,7 @@ module ShopifyApp
106
112
  end
107
113
 
108
114
  def host
109
- return params[:host] if params[:host].present?
110
-
111
- raise ShopifyHostNotFound
115
+ params[:host]
112
116
  end
113
117
 
114
118
  def redirect_to_login
@@ -166,6 +170,10 @@ module ShopifyApp
166
170
  query_params[:shop] ||= referer_sanitized_shop_name
167
171
  end
168
172
 
173
+ if params[:host].present?
174
+ query_params[:host] ||= host
175
+ end
176
+
169
177
  query_params[:top_level] = true if top_level
170
178
  query_params
171
179
  end
@@ -37,6 +37,7 @@ module ShopifyApp
37
37
 
38
38
  env['jwt.shopify_domain'] = jwt.shopify_domain
39
39
  env['jwt.shopify_user_id'] = jwt.shopify_user_id
40
+ env['jwt.expire_at'] = jwt.expire_at
40
41
  end
41
42
  end
42
43
  end
@@ -30,6 +30,10 @@ module ShopifyApp
30
30
  @payload['sub'].to_i if @payload && @payload['sub']
31
31
  end
32
32
 
33
+ def expire_at
34
+ @payload['exp'].to_i if @payload && @payload['exp']
35
+ end
36
+
33
37
  private
34
38
 
35
39
  def set_payload
@@ -21,12 +21,13 @@ module ShopifyApp
21
21
  logger.error("[ShopifyAPI::ApiVersion] Unable to fetch api_versions from Shopify")
22
22
  end
23
23
 
24
- def self.shop_login_url(shop:, return_to:)
24
+ def self.shop_login_url(shop:, host:, return_to:)
25
25
  return ShopifyApp.configuration.login_url unless shop
26
26
  url = URI(ShopifyApp.configuration.login_url)
27
27
 
28
28
  url.query = URI.encode_www_form(
29
29
  shop: shop,
30
+ host: host,
30
31
  return_to: return_to,
31
32
  )
32
33
 
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ShopifyApp
3
- VERSION = '18.0.4'
3
+ VERSION = '18.1.2'
4
4
  end
data/lib/shopify_app.rb CHANGED
@@ -12,6 +12,14 @@ module ShopifyApp
12
12
  Rails::VERSION::MAJOR >= 6
13
13
  end
14
14
 
15
+ def self.rails7?
16
+ Rails::VERSION::MAJOR >= 7
17
+ end
18
+
19
+ def self.use_importmap?
20
+ rails7? && File.exist?("config/importmap.rb")
21
+ end
22
+
15
23
  def self.use_webpacker?
16
24
  rails6? &&
17
25
  defined?(Webpacker) == 'constant' &&
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shopify_app",
3
- "version": "18.0.4",
3
+ "version": "18.1.2",
4
4
  "repository": "git@github.com:Shopify/shopify_app.git",
5
5
  "author": "Shopify",
6
6
  "license": "MIT",
data/shopify_app.gemspec CHANGED
@@ -9,13 +9,13 @@ Gem::Specification.new do |s|
9
9
  s.author = "Shopify"
10
10
  s.summary = 'This gem is used to get quickly started with the Shopify API'
11
11
 
12
- s.required_ruby_version = ">= 2.5"
12
+ s.required_ruby_version = ">= 2.6"
13
13
 
14
14
  s.metadata['allowed_push_host'] = 'https://rubygems.org'
15
15
 
16
16
  s.add_runtime_dependency('browser_sniffer', '~> 1.4.0')
17
17
  s.add_runtime_dependency('omniauth-rails_csrf_protection')
18
- s.add_runtime_dependency('rails', '> 5.2.1', '< 6.2')
18
+ s.add_runtime_dependency('rails', '> 5.2.1')
19
19
  s.add_runtime_dependency('shopify_api', '~> 9.4')
20
20
  s.add_runtime_dependency('omniauth-shopify-oauth2', '~> 2.3')
21
21
  s.add_runtime_dependency('jwt', '>= 2.2.3')
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.7"
2559
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685"
2560
+ integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==
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"
@@ -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"
@@ -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"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_app
3
3
  version: !ruby/object:Gem::Version
4
- version: 18.0.4
4
+ version: 18.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-27 00:00:00.000000000 Z
11
+ date: 2022-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: browser_sniffer
@@ -45,9 +45,6 @@ dependencies:
45
45
  - - ">"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 5.2.1
48
- - - "<"
49
- - !ruby/object:Gem::Version
50
- version: '6.2'
51
48
  type: :runtime
52
49
  prerelease: false
53
50
  version_requirements: !ruby/object:Gem::Requirement
@@ -55,9 +52,6 @@ dependencies:
55
52
  - - ">"
56
53
  - !ruby/object:Gem::Version
57
54
  version: 5.2.1
58
- - - "<"
59
- - !ruby/object:Gem::Version
60
- version: '6.2'
61
55
  - !ruby/object:Gem::Dependency
62
56
  name: shopify_api
63
57
  requirement: !ruby/object:Gem::Requirement
@@ -283,7 +277,7 @@ files:
283
277
  - Rakefile
284
278
  - SECURITY.md
285
279
  - app/assets/images/storage_access.svg
286
- - app/assets/javascripts/shopify_app/app_bridge_1.30.0.js
280
+ - app/assets/javascripts/shopify_app/app_bridge_2.0.12.js
287
281
  - app/assets/javascripts/shopify_app/app_bridge_redirect.js
288
282
  - app/assets/javascripts/shopify_app/enable_cookies.js
289
283
  - app/assets/javascripts/shopify_app/itp_helper.js
@@ -377,6 +371,7 @@ files:
377
371
  - lib/generators/shopify_app/install/templates/session_store.rb
378
372
  - lib/generators/shopify_app/install/templates/shopify_app.js
379
373
  - lib/generators/shopify_app/install/templates/shopify_app.rb.tt
374
+ - lib/generators/shopify_app/install/templates/shopify_app_importmap.js
380
375
  - lib/generators/shopify_app/install/templates/shopify_app_index.js
381
376
  - lib/generators/shopify_app/install/templates/shopify_provider.rb.tt
382
377
  - lib/generators/shopify_app/install/templates/user_agent.rb
@@ -454,7 +449,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
454
449
  requirements:
455
450
  - - ">="
456
451
  - !ruby/object:Gem::Version
457
- version: '2.5'
452
+ version: '2.6'
458
453
  required_rubygems_version: !ruby/object:Gem::Requirement
459
454
  requirements:
460
455
  - - ">="