shopify_app 17.0.0 → 17.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +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"
|