shopify_app 17.0.0 → 17.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +24 -0
- data/CHANGELOG.md +20 -0
- data/Gemfile.lock +5 -5
- data/README.md +6 -4
- data/app/controllers/concerns/shopify_app/ensure_authenticated_links.rb +4 -0
- data/app/controllers/shopify_app/callback_controller.rb +17 -2
- data/app/controllers/shopify_app/sessions_controller.rb +13 -4
- data/docs/Releasing.md +4 -3
- data/lib/generators/shopify_app/install/templates/shopify_app.rb.tt +8 -3
- data/lib/shopify_app/version.rb +1 -1
- data/package.json +1 -1
- data/yarn.lock +70 -101
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41c18b0e92a08c6f1ddf4b172e6eacc71392222f7c50cf894f63a7e2d05a5420
|
4
|
+
data.tar.gz: 4110f9c21b060325cde47a9fac5cb60f4417b3279219a650585c719214b7dd7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04ee583382594207dbe63962b72c31ff0ca973453d89840552425443758c767f501772c50c27d31436505b4e2891bdaca58fe3aca731bd9c56c3edda05d88e2f
|
7
|
+
data.tar.gz: beff89c7a9c01e3a9becedace07f2d22ef10182425693c1244b997e350f19916e74faa2873f2bef8d00b6ed32444f09fac75b6b14cfbbabe5239ed7baccb1752
|
@@ -0,0 +1,24 @@
|
|
1
|
+
name: Create Release
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
tags:
|
6
|
+
- 'v*'
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
create-release:
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
steps:
|
12
|
+
- name: Extract tag name
|
13
|
+
id: tag
|
14
|
+
run: echo "::set-output name=value::${GITHUB_REF##*/}"
|
15
|
+
- uses: actions/checkout@v2
|
16
|
+
|
17
|
+
- name: Create Release
|
18
|
+
id: create_release
|
19
|
+
uses: actions/create-release@v1
|
20
|
+
env:
|
21
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
22
|
+
with:
|
23
|
+
tag_name: ${{ steps.tag.outputs.value }}
|
24
|
+
release_name: ${{ steps.tag.outputs.value }}
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,26 @@
|
|
1
1
|
Unreleased
|
2
2
|
----------
|
3
3
|
|
4
|
+
17.0.5 (January 27, 2021)
|
5
|
+
----------
|
6
|
+
* Fix omniauth strategy not being set correctly for apps using session tokens [#1164](https://github.com/Shopify/shopify_app/pull/1164)
|
7
|
+
|
8
|
+
17.0.4 (January 25, 2021)
|
9
|
+
----------
|
10
|
+
* Redirect user to login page if shopify domain is not found in the `EnsureAuthenticatedLinks` concern [#1158](https://github.com/Shopify/shopify_app/pull/1158)
|
11
|
+
|
12
|
+
17.0.3 (January 22, 2021)
|
13
|
+
----------
|
14
|
+
* Amend fix for #1144 to raise on missing API keys only when running the server [#1155](https://github.com/Shopify/shopify_app/pull/1155)
|
15
|
+
|
16
|
+
17.0.2 (January 20, 2021)
|
17
|
+
------
|
18
|
+
* Fix failing script tags and webhooks installs after completing OAuth [#1151](https://github.com/Shopify/shopify_app/pull/1151)
|
19
|
+
|
20
|
+
17.0.1 (January 18, 2021)
|
21
|
+
------
|
22
|
+
* Don't attempt to read Shopify environment variables when the generators are running, since they may not be present yet [#1144](https://github.com/Shopify/shopify_app/pull/1144)
|
23
|
+
|
4
24
|
17.0.0 (January 13, 2021)
|
5
25
|
------
|
6
26
|
* Rails 6.1 is not yet supported [#1134](https://github.com/Shopify/shopify_app/pull/1134)
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
shopify_app (17.0.
|
4
|
+
shopify_app (17.0.5)
|
5
5
|
browser_sniffer (~> 1.2.2)
|
6
6
|
jwt (~> 2.2.1)
|
7
7
|
omniauth-shopify-oauth2 (~> 2.2.2)
|
@@ -96,7 +96,7 @@ GEM
|
|
96
96
|
faraday-net_http (1.0.1)
|
97
97
|
globalid (0.4.2)
|
98
98
|
activesupport (>= 4.2.0)
|
99
|
-
graphql (1.
|
99
|
+
graphql (1.12.3)
|
100
100
|
graphql-client (0.16.0)
|
101
101
|
activesupport (>= 3.0)
|
102
102
|
graphql (~> 1.8)
|
@@ -207,8 +207,8 @@ GEM
|
|
207
207
|
rubocop-shopify (1.0.7)
|
208
208
|
rubocop (~> 1.4)
|
209
209
|
ruby-progressbar (1.10.1)
|
210
|
-
ruby2_keywords (0.0.
|
211
|
-
shopify_api (9.
|
210
|
+
ruby2_keywords (0.0.4)
|
211
|
+
shopify_api (9.3.0)
|
212
212
|
activeresource (>= 4.1.0, < 6.0.0)
|
213
213
|
graphql-client
|
214
214
|
rack
|
@@ -220,7 +220,7 @@ GEM
|
|
220
220
|
activesupport (>= 4.0)
|
221
221
|
sprockets (>= 3.0.0)
|
222
222
|
sqlite3 (1.4.2)
|
223
|
-
thor (1.0
|
223
|
+
thor (1.1.0)
|
224
224
|
thread_safe (0.3.6)
|
225
225
|
tzinfo (1.2.7)
|
226
226
|
thread_safe (~> 0.1)
|
data/README.md
CHANGED
@@ -75,17 +75,19 @@ Generators
|
|
75
75
|
----------
|
76
76
|
|
77
77
|
### API Keys
|
78
|
+
<!-- This anchor name `#api-keys` is linked to from user output in `templates/shopify_app.rb.tt` so beware of changing -->
|
79
|
+
Before starting the app, you'll need to ensure it can read the Shopify environment variables `SHOPIFY_API_KEY` and `SHOPIFY_API_SECRET`.
|
78
80
|
|
79
|
-
|
80
|
-
|
81
|
-
A common approach is to use the [dotenv-rails](https://github.com/bkeepers/dotenv) gem, along with an `.env` file in the following format:
|
81
|
+
In a development environment, a common approach is to use the [dotenv-rails](https://github.com/bkeepers/dotenv) gem, along with an `.env` file in the following format:
|
82
82
|
|
83
83
|
```
|
84
84
|
SHOPIFY_API_KEY=your api key
|
85
85
|
SHOPIFY_API_SECRET=your api secret
|
86
86
|
```
|
87
87
|
|
88
|
-
These values can be found on the "App Setup" page in the [Shopify Partners Dashboard][dashboard].
|
88
|
+
These values can be found on the "App Setup" page in the [Shopify Partners Dashboard][dashboard].
|
89
|
+
(If you are using [shopify-app-cli](https://github.com/Shopify/shopify-app-cli) this `.env` file will be created automatically).
|
90
|
+
If you are checking your code into a code repository, ensure your `.gitignore` prevents your `.env` file from being checked into any publicly accessible code.
|
89
91
|
|
90
92
|
### Default Generator
|
91
93
|
|
@@ -13,6 +13,10 @@ module ShopifyApp
|
|
13
13
|
def redirect_to_splash_page
|
14
14
|
splash_page_path = root_path(return_to: request.fullpath, shop: current_shopify_domain)
|
15
15
|
redirect_to(splash_page_path)
|
16
|
+
rescue ShopifyApp::LoginProtection::ShopifyDomainNotFound => error
|
17
|
+
Rails.logger.warn("[ShopifyApp::EnsureAuthenticatedLinks] Redirecting to login: [#{error.class}] "\
|
18
|
+
"Could not determine current shop domain")
|
19
|
+
redirect_to(ShopifyApp.configuration.login_url)
|
16
20
|
end
|
17
21
|
|
18
22
|
def missing_expected_jwt?
|
@@ -65,6 +65,13 @@ module ShopifyApp
|
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
+
# Override user_session_by_cookie from LoginProtection to bypass allow_cookie_authentication
|
69
|
+
# setting check because session cookies are justified at top level
|
70
|
+
def user_session_by_cookie
|
71
|
+
return unless session[:user_id].present?
|
72
|
+
ShopifyApp::SessionRepository.retrieve_user_session(session[:user_id])
|
73
|
+
end
|
74
|
+
|
68
75
|
def start_user_token_flow?
|
69
76
|
if jwt_request?
|
70
77
|
false
|
@@ -89,6 +96,14 @@ module ShopifyApp
|
|
89
96
|
auth_hash.uid
|
90
97
|
end
|
91
98
|
|
99
|
+
def offline_access_token
|
100
|
+
ShopifyApp::SessionRepository.retrieve_shop_session_by_shopify_domain(shop_name)&.token
|
101
|
+
end
|
102
|
+
|
103
|
+
def online_access_token
|
104
|
+
ShopifyApp::SessionRepository.retrieve_user_session_by_shopify_user_id(associated_user_id)&.token
|
105
|
+
end
|
106
|
+
|
92
107
|
def associated_user
|
93
108
|
return unless auth_hash.dig('extra', 'associated_user').present?
|
94
109
|
|
@@ -132,7 +147,7 @@ module ShopifyApp
|
|
132
147
|
|
133
148
|
WebhooksManager.queue(
|
134
149
|
shop_name,
|
135
|
-
|
150
|
+
offline_access_token || online_access_token,
|
136
151
|
ShopifyApp.configuration.webhooks
|
137
152
|
)
|
138
153
|
end
|
@@ -142,7 +157,7 @@ module ShopifyApp
|
|
142
157
|
|
143
158
|
ScripttagsManager.queue(
|
144
159
|
shop_name,
|
145
|
-
|
160
|
+
offline_access_token || online_access_token,
|
146
161
|
ShopifyApp.configuration.scripttags
|
147
162
|
)
|
148
163
|
end
|
@@ -92,9 +92,18 @@ module ShopifyApp
|
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
95
|
+
# Override shop_session_by_cookie from LoginProtection to bypass allow_cookie_authentication
|
96
|
+
# setting check because session cookies are justified at top level
|
97
|
+
def shop_session_by_cookie
|
98
|
+
return unless session[:shop_id].present?
|
99
|
+
ShopifyApp::SessionRepository.retrieve_shop_session(session[:shop_id])
|
100
|
+
end
|
101
|
+
|
95
102
|
# rubocop:disable Lint/SuppressedException
|
96
103
|
def set_user_tokens_option
|
97
|
-
|
104
|
+
current_shop_session = shop_session
|
105
|
+
|
106
|
+
if current_shop_session.blank?
|
98
107
|
session[:user_tokens] = false
|
99
108
|
return
|
100
109
|
end
|
@@ -102,9 +111,9 @@ module ShopifyApp
|
|
102
111
|
session[:user_tokens] = ShopifyApp::SessionRepository.user_storage.present?
|
103
112
|
|
104
113
|
ShopifyAPI::Session.temp(
|
105
|
-
domain:
|
106
|
-
token:
|
107
|
-
api_version:
|
114
|
+
domain: current_shop_session.domain,
|
115
|
+
token: current_shop_session.token,
|
116
|
+
api_version: current_shop_session.api_version
|
108
117
|
) do
|
109
118
|
ShopifyAPI::Metafield.find(:token_validity_bogus_check)
|
110
119
|
end
|
data/docs/Releasing.md
CHANGED
@@ -11,9 +11,10 @@
|
|
11
11
|
1. Merge your pull request
|
12
12
|
1. Checkout and pull from master so you have the latest version of the shopify_app
|
13
13
|
1. Tag the HEAD with the version
|
14
|
-
```bash
|
15
|
-
$ git tag -f vX.Y.Z && git push --tags --force
|
16
|
-
```
|
14
|
+
```bash
|
15
|
+
$ git tag -f vX.Y.Z && git push --tags --force
|
16
|
+
```
|
17
|
+
1. Check that Create Release workflow successfully runs
|
17
18
|
1. Use Shipit to build and push the gem
|
18
19
|
|
19
20
|
If you see an error like 'You need to create the vX.Y.X tag first', clear git
|
@@ -1,16 +1,21 @@
|
|
1
1
|
ShopifyApp.configure do |config|
|
2
2
|
config.application_name = "<%= @application_name %>"
|
3
|
-
config.api_key = ENV.fetch('SHOPIFY_API_KEY', '').presence || raise('Missing SHOPIFY_API_KEY')
|
4
|
-
config.secret = ENV.fetch('SHOPIFY_API_SECRET', '').presence || raise('Missing SHOPIFY_API_SECRET')
|
5
3
|
config.old_secret = "<%= @old_secret %>"
|
6
4
|
config.scope = "<%= @scope %>" # Consult this page for more scope options:
|
7
|
-
|
5
|
+
# https://help.shopify.com/en/api/getting-started/authentication/oauth/scopes
|
8
6
|
config.embedded_app = <%= embedded_app? %>
|
9
7
|
config.after_authenticate_job = false
|
10
8
|
config.api_version = "<%= @api_version %>"
|
11
9
|
config.shop_session_repository = 'Shop'
|
12
10
|
config.allow_jwt_authentication = <%= !with_cookie_authentication? %>
|
13
11
|
config.allow_cookie_authentication = <%= with_cookie_authentication? %>
|
12
|
+
|
13
|
+
config.api_key = ENV.fetch('SHOPIFY_API_KEY', '').presence
|
14
|
+
config.secret = ENV.fetch('SHOPIFY_API_SECRET', '').presence
|
15
|
+
if defined? Rails::Server
|
16
|
+
raise('Missing SHOPIFY_API_KEY. See https://github.com/Shopify/shopify_app#api-keys') unless config.api_key
|
17
|
+
raise('Missing SHOPIFY_API_SECRET. See https://github.com/Shopify/shopify_app#api-keys') unless config.secret
|
18
|
+
end
|
14
19
|
end
|
15
20
|
|
16
21
|
# ShopifyApp::Utils.fetch_known_api_versions # Uncomment to fetch known api versions from shopify servers on boot
|
data/lib/shopify_app/version.rb
CHANGED
data/package.json
CHANGED
data/yarn.lock
CHANGED
@@ -1347,11 +1347,6 @@ async-each@^1.0.1:
|
|
1347
1347
|
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
|
1348
1348
|
integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
|
1349
1349
|
|
1350
|
-
async-limiter@~1.0.0:
|
1351
|
-
version "1.0.1"
|
1352
|
-
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
|
1353
|
-
integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
|
1354
|
-
|
1355
1350
|
atob@^2.1.2:
|
1356
1351
|
version "2.1.2"
|
1357
1352
|
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
|
@@ -1419,10 +1414,10 @@ balanced-match@^1.0.0:
|
|
1419
1414
|
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
1420
1415
|
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
|
1421
1416
|
|
1422
|
-
base64-arraybuffer@0.1.
|
1423
|
-
version "0.1.
|
1424
|
-
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.
|
1425
|
-
integrity sha1-
|
1417
|
+
base64-arraybuffer@0.1.4:
|
1418
|
+
version "0.1.4"
|
1419
|
+
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812"
|
1420
|
+
integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=
|
1426
1421
|
|
1427
1422
|
base64-js@^1.0.2:
|
1428
1423
|
version "1.3.1"
|
@@ -1447,13 +1442,6 @@ base@^0.11.1:
|
|
1447
1442
|
mixin-deep "^1.2.0"
|
1448
1443
|
pascalcase "^0.1.1"
|
1449
1444
|
|
1450
|
-
better-assert@~1.0.0:
|
1451
|
-
version "1.0.2"
|
1452
|
-
resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
|
1453
|
-
integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=
|
1454
|
-
dependencies:
|
1455
|
-
callsite "1.0.0"
|
1456
|
-
|
1457
1445
|
big.js@^5.2.2:
|
1458
1446
|
version "5.2.2"
|
1459
1447
|
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
|
@@ -1689,11 +1677,6 @@ cache-base@^1.0.1:
|
|
1689
1677
|
union-value "^1.0.0"
|
1690
1678
|
unset-value "^1.0.0"
|
1691
1679
|
|
1692
|
-
callsite@1.0.0:
|
1693
|
-
version "1.0.0"
|
1694
|
-
resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
|
1695
|
-
integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
|
1696
|
-
|
1697
1680
|
camelcase@^5.0.0, camelcase@^5.3.1:
|
1698
1681
|
version "5.3.1"
|
1699
1682
|
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
|
@@ -1954,10 +1937,10 @@ convert-source-map@^1.7.0:
|
|
1954
1937
|
dependencies:
|
1955
1938
|
safe-buffer "~5.1.1"
|
1956
1939
|
|
1957
|
-
cookie
|
1958
|
-
version "0.
|
1959
|
-
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.
|
1960
|
-
integrity
|
1940
|
+
cookie@~0.4.1:
|
1941
|
+
version "0.4.1"
|
1942
|
+
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
|
1943
|
+
integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
|
1961
1944
|
|
1962
1945
|
copy-concurrently@^1.0.0:
|
1963
1946
|
version "1.0.5"
|
@@ -2236,45 +2219,45 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
|
|
2236
2219
|
dependencies:
|
2237
2220
|
once "^1.4.0"
|
2238
2221
|
|
2239
|
-
engine.io-client@~3.
|
2240
|
-
version "3.
|
2241
|
-
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.
|
2242
|
-
integrity sha512-
|
2222
|
+
engine.io-client@~3.5.0:
|
2223
|
+
version "3.5.0"
|
2224
|
+
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.0.tgz#fc1b4d9616288ce4f2daf06dcf612413dec941c7"
|
2225
|
+
integrity sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==
|
2243
2226
|
dependencies:
|
2244
2227
|
component-emitter "~1.3.0"
|
2245
2228
|
component-inherit "0.0.3"
|
2246
|
-
debug "~
|
2229
|
+
debug "~3.1.0"
|
2247
2230
|
engine.io-parser "~2.2.0"
|
2248
2231
|
has-cors "1.1.0"
|
2249
2232
|
indexof "0.0.1"
|
2250
|
-
parseqs "0.0.
|
2251
|
-
parseuri "0.0.
|
2252
|
-
ws "~
|
2233
|
+
parseqs "0.0.6"
|
2234
|
+
parseuri "0.0.6"
|
2235
|
+
ws "~7.4.2"
|
2253
2236
|
xmlhttprequest-ssl "~1.5.4"
|
2254
2237
|
yeast "0.1.2"
|
2255
2238
|
|
2256
2239
|
engine.io-parser@~2.2.0:
|
2257
|
-
version "2.2.
|
2258
|
-
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.
|
2259
|
-
integrity sha512-
|
2240
|
+
version "2.2.1"
|
2241
|
+
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.1.tgz#57ce5611d9370ee94f99641b589f94c97e4f5da7"
|
2242
|
+
integrity sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==
|
2260
2243
|
dependencies:
|
2261
2244
|
after "0.8.2"
|
2262
2245
|
arraybuffer.slice "~0.0.7"
|
2263
|
-
base64-arraybuffer "0.1.
|
2246
|
+
base64-arraybuffer "0.1.4"
|
2264
2247
|
blob "0.0.5"
|
2265
2248
|
has-binary2 "~1.0.2"
|
2266
2249
|
|
2267
|
-
engine.io@~3.
|
2268
|
-
version "3.
|
2269
|
-
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.
|
2270
|
-
integrity sha512-
|
2250
|
+
engine.io@~3.5.0:
|
2251
|
+
version "3.5.0"
|
2252
|
+
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.5.0.tgz#9d6b985c8a39b1fe87cd91eb014de0552259821b"
|
2253
|
+
integrity sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==
|
2271
2254
|
dependencies:
|
2272
2255
|
accepts "~1.3.4"
|
2273
2256
|
base64id "2.0.0"
|
2274
|
-
cookie "0.
|
2257
|
+
cookie "~0.4.1"
|
2275
2258
|
debug "~4.1.0"
|
2276
2259
|
engine.io-parser "~2.2.0"
|
2277
|
-
ws "
|
2260
|
+
ws "~7.4.2"
|
2278
2261
|
|
2279
2262
|
enhanced-resolve@^4.3.0:
|
2280
2263
|
version "4.3.0"
|
@@ -3480,17 +3463,17 @@ miller-rabin@^4.0.0:
|
|
3480
3463
|
bn.js "^4.0.0"
|
3481
3464
|
brorand "^1.0.1"
|
3482
3465
|
|
3483
|
-
mime-db@1.
|
3484
|
-
version "1.
|
3485
|
-
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.
|
3486
|
-
integrity sha512
|
3466
|
+
mime-db@1.45.0:
|
3467
|
+
version "1.45.0"
|
3468
|
+
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
|
3469
|
+
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
|
3487
3470
|
|
3488
3471
|
mime-types@~2.1.24:
|
3489
|
-
version "2.1.
|
3490
|
-
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.
|
3491
|
-
integrity sha512-
|
3472
|
+
version "2.1.28"
|
3473
|
+
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"
|
3474
|
+
integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==
|
3492
3475
|
dependencies:
|
3493
|
-
mime-db "1.
|
3476
|
+
mime-db "1.45.0"
|
3494
3477
|
|
3495
3478
|
mime@^2.4.4, mime@^2.4.5:
|
3496
3479
|
version "2.4.6"
|
@@ -3610,11 +3593,16 @@ ms@2.0.0:
|
|
3610
3593
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
3611
3594
|
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
|
3612
3595
|
|
3613
|
-
ms@2.1.2
|
3596
|
+
ms@2.1.2:
|
3614
3597
|
version "2.1.2"
|
3615
3598
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
3616
3599
|
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
3617
3600
|
|
3601
|
+
ms@^2.1.1:
|
3602
|
+
version "2.1.3"
|
3603
|
+
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
3604
|
+
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
3605
|
+
|
3618
3606
|
nan@^2.12.1:
|
3619
3607
|
version "2.14.1"
|
3620
3608
|
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
|
@@ -3709,11 +3697,6 @@ object-assign@^4.1.1:
|
|
3709
3697
|
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
3710
3698
|
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
|
3711
3699
|
|
3712
|
-
object-component@0.0.3:
|
3713
|
-
version "0.0.3"
|
3714
|
-
resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
|
3715
|
-
integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=
|
3716
|
-
|
3717
3700
|
object-copy@^0.1.0:
|
3718
3701
|
version "0.1.0"
|
3719
3702
|
resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
|
@@ -3841,19 +3824,15 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5:
|
|
3841
3824
|
pbkdf2 "^3.0.3"
|
3842
3825
|
safe-buffer "^5.1.1"
|
3843
3826
|
|
3844
|
-
parseqs@0.0.
|
3845
|
-
version "0.0.
|
3846
|
-
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.
|
3847
|
-
integrity
|
3848
|
-
dependencies:
|
3849
|
-
better-assert "~1.0.0"
|
3827
|
+
parseqs@0.0.6:
|
3828
|
+
version "0.0.6"
|
3829
|
+
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5"
|
3830
|
+
integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==
|
3850
3831
|
|
3851
|
-
parseuri@0.0.
|
3852
|
-
version "0.0.
|
3853
|
-
resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.
|
3854
|
-
integrity
|
3855
|
-
dependencies:
|
3856
|
-
better-assert "~1.0.0"
|
3832
|
+
parseuri@0.0.6:
|
3833
|
+
version "0.0.6"
|
3834
|
+
resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a"
|
3835
|
+
integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==
|
3857
3836
|
|
3858
3837
|
parseurl@~1.3.3:
|
3859
3838
|
version "1.3.3"
|
@@ -4436,32 +4415,29 @@ socket.io-adapter@~1.1.0:
|
|
4436
4415
|
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz#ab3f0d6f66b8fc7fca3959ab5991f82221789be9"
|
4437
4416
|
integrity sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==
|
4438
4417
|
|
4439
|
-
socket.io-client@2.
|
4440
|
-
version "2.
|
4441
|
-
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.
|
4442
|
-
integrity sha512-
|
4418
|
+
socket.io-client@2.4.0:
|
4419
|
+
version "2.4.0"
|
4420
|
+
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35"
|
4421
|
+
integrity sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==
|
4443
4422
|
dependencies:
|
4444
4423
|
backo2 "1.0.2"
|
4445
|
-
base64-arraybuffer "0.1.5"
|
4446
4424
|
component-bind "1.0.0"
|
4447
|
-
component-emitter "1.
|
4448
|
-
debug "~
|
4449
|
-
engine.io-client "~3.
|
4425
|
+
component-emitter "~1.3.0"
|
4426
|
+
debug "~3.1.0"
|
4427
|
+
engine.io-client "~3.5.0"
|
4450
4428
|
has-binary2 "~1.0.2"
|
4451
|
-
has-cors "1.1.0"
|
4452
4429
|
indexof "0.0.1"
|
4453
|
-
|
4454
|
-
|
4455
|
-
parseuri "0.0.5"
|
4430
|
+
parseqs "0.0.6"
|
4431
|
+
parseuri "0.0.6"
|
4456
4432
|
socket.io-parser "~3.3.0"
|
4457
4433
|
to-array "0.1.4"
|
4458
4434
|
|
4459
4435
|
socket.io-parser@~3.3.0:
|
4460
|
-
version "3.3.
|
4461
|
-
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.
|
4462
|
-
integrity sha512-
|
4436
|
+
version "3.3.2"
|
4437
|
+
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6"
|
4438
|
+
integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==
|
4463
4439
|
dependencies:
|
4464
|
-
component-emitter "1.
|
4440
|
+
component-emitter "~1.3.0"
|
4465
4441
|
debug "~3.1.0"
|
4466
4442
|
isarray "2.0.1"
|
4467
4443
|
|
@@ -4475,15 +4451,15 @@ socket.io-parser@~3.4.0:
|
|
4475
4451
|
isarray "2.0.1"
|
4476
4452
|
|
4477
4453
|
socket.io@^2.3.0:
|
4478
|
-
version "2.
|
4479
|
-
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.
|
4480
|
-
integrity sha512-
|
4454
|
+
version "2.4.1"
|
4455
|
+
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.4.1.tgz#95ad861c9a52369d7f1a68acf0d4a1b16da451d2"
|
4456
|
+
integrity sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==
|
4481
4457
|
dependencies:
|
4482
4458
|
debug "~4.1.0"
|
4483
|
-
engine.io "~3.
|
4459
|
+
engine.io "~3.5.0"
|
4484
4460
|
has-binary2 "~1.0.2"
|
4485
4461
|
socket.io-adapter "~1.1.0"
|
4486
|
-
socket.io-client "2.
|
4462
|
+
socket.io-client "2.4.0"
|
4487
4463
|
socket.io-parser "~3.4.0"
|
4488
4464
|
|
4489
4465
|
source-list-map@^2.0.0:
|
@@ -5123,17 +5099,10 @@ wrappy@1:
|
|
5123
5099
|
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
5124
5100
|
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
|
5125
5101
|
|
5126
|
-
ws
|
5127
|
-
version "7.
|
5128
|
-
resolved "https://registry.yarnpkg.com/ws/-/ws-7.
|
5129
|
-
integrity sha512-
|
5130
|
-
|
5131
|
-
ws@~6.1.0:
|
5132
|
-
version "6.1.4"
|
5133
|
-
resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9"
|
5134
|
-
integrity sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==
|
5135
|
-
dependencies:
|
5136
|
-
async-limiter "~1.0.0"
|
5102
|
+
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==
|
5137
5106
|
|
5138
5107
|
xmlhttprequest-ssl@~1.5.4:
|
5139
5108
|
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: 17.0.
|
4
|
+
version: 17.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: browser_sniffer
|
@@ -252,6 +252,7 @@ files:
|
|
252
252
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
253
253
|
- ".github/probots.yml"
|
254
254
|
- ".github/workflows/build.yml"
|
255
|
+
- ".github/workflows/release.yml"
|
255
256
|
- ".github/workflows/rubocop.yml"
|
256
257
|
- ".gitignore"
|
257
258
|
- ".nvmrc"
|