shopify_app 18.0.4 → 18.1.2

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.
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
  - - ">="