shopify_app 22.5.2 → 23.0.0
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/dependabot.yaml +6 -0
- data/.github/workflows/build.yml +5 -5
- data/.github/workflows/close-waiting-for-response-issues.yml +1 -1
- data/.github/workflows/release.yml +2 -2
- data/.github/workflows/remove-labels-on-activity.yml +2 -3
- data/.github/workflows/rubocop.yml +2 -2
- data/CHANGELOG.md +22 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +181 -122
- data/README.md +105 -25
- data/Rakefile +13 -0
- data/app/controllers/shopify_app/callback_controller.rb +2 -40
- data/app/controllers/shopify_app/extension_verification_controller.rb +1 -1
- data/app/jobs/shopify_app/script_tags_manager_job.rb +16 -0
- data/docs/Releasing.md +113 -19
- data/docs/Upgrading.md +72 -0
- data/docs/shopify_app/content-security-policy.md +50 -3
- data/docs/shopify_app/controller-concerns.md +20 -0
- data/docs/shopify_app/script-tags.md +52 -0
- data/docs/shopify_app/sessions.md +149 -22
- data/lib/generators/shopify_app/add_app_uninstalled_job/templates/app_uninstalled_job.rb.tt +2 -2
- data/lib/generators/shopify_app/add_privacy_jobs/templates/customers_data_request_job.rb.tt +2 -2
- data/lib/generators/shopify_app/add_privacy_jobs/templates/customers_redact_job.rb.tt +2 -2
- data/lib/generators/shopify_app/add_privacy_jobs/templates/shop_redact_job.rb.tt +2 -2
- data/lib/generators/shopify_app/add_webhook/templates/webhook_job.rb.tt +2 -2
- data/lib/generators/shopify_app/install/install_generator.rb +1 -1
- data/lib/generators/shopify_app/shop_model/shop_model_generator.rb +18 -0
- data/lib/generators/shopify_app/shop_model/templates/db/migrate/add_shop_access_token_expiry_columns.erb +7 -0
- data/lib/generators/shopify_app/shop_model/templates/shop.rb +1 -1
- data/lib/generators/shopify_app/user_model/templates/user.rb +1 -1
- data/lib/shopify_app/auth/post_authenticate_tasks.rb +8 -0
- data/lib/shopify_app/auth/token_exchange.rb +7 -0
- data/lib/shopify_app/configuration.rb +5 -5
- data/lib/shopify_app/controller_concerns/login_protection.rb +12 -8
- data/lib/shopify_app/engine.rb +2 -5
- data/lib/shopify_app/errors.rb +2 -0
- data/lib/shopify_app/managers/script_tags_manager.rb +348 -0
- data/lib/shopify_app/session/shop_session_storage.rb +84 -2
- data/lib/shopify_app/session/shop_session_storage_with_scopes.rb +6 -0
- data/lib/shopify_app/session/user_session_storage.rb +21 -2
- data/lib/shopify_app/session/user_session_storage_with_scopes.rb +6 -0
- data/lib/shopify_app/utils.rb +1 -1
- data/lib/shopify_app/version.rb +1 -1
- data/lib/shopify_app.rb +12 -7
- data/package.json +1 -1
- data/shopify_app.gemspec +9 -10
- data/translation.yml +1 -0
- data/yarn.lock +7 -9
- metadata +63 -46
- data/lib/shopify_app/middleware/jwt_middleware.rb +0 -48
- data/lib/shopify_app/session/jwt.rb +0 -73
- /data/{lib/shopify_app/jobs → app/jobs/shopify_app}/webhooks_manager_job.rb +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2f830906ca35bcc5ca2d10b8b514f5523513a5e4220a30e3f771a6cfe0f724d4
|
|
4
|
+
data.tar.gz: f2643993a150c2e471a4c78bb2851c2652ac074185d7980bc11c767d846882db
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 119986dfffc2b5df6577cc113f0bdd11514609fca6e2b6278d68567d0c39217ed60b137c971783db6acb6788b14bb85cef47ae1d1c5b9281bb3b5f7db692fbf4
|
|
7
|
+
data.tar.gz: 787670d5a3870ac188cc4417350f40e13624f7d70705ea0cb0a74c5401cacc64e15f612261c5d8f0d2b42987d8b35b17b02e4114a1b664a5a200fa3a7ba5bce1
|
data/.github/workflows/build.yml
CHANGED
|
@@ -12,23 +12,23 @@ jobs:
|
|
|
12
12
|
name: Ruby ${{ matrix.version }}
|
|
13
13
|
strategy:
|
|
14
14
|
matrix:
|
|
15
|
-
version: ['3.
|
|
15
|
+
version: ['3.2', '3.3', '3.4']
|
|
16
16
|
|
|
17
17
|
steps:
|
|
18
|
-
- uses: actions/checkout@
|
|
18
|
+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
19
19
|
- name: Cache node modules
|
|
20
|
-
uses: actions/cache@
|
|
20
|
+
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
|
21
21
|
with:
|
|
22
22
|
# npm cache files are stored in `~/.npm` on Linux/macOS
|
|
23
23
|
path: ~/.npm
|
|
24
24
|
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
|
|
25
25
|
- name: Set up Ruby ${{ matrix.version }}
|
|
26
|
-
uses: ruby/setup-ruby@v1
|
|
26
|
+
uses: ruby/setup-ruby@efbf473cab83af4468e8606cc33eca9281bb213f # v1.256.0
|
|
27
27
|
with:
|
|
28
28
|
ruby-version: ${{ matrix.version }}
|
|
29
29
|
bundler-cache: true
|
|
30
30
|
- name: Set up Node
|
|
31
|
-
uses: actions/setup-node@
|
|
31
|
+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
32
32
|
with:
|
|
33
33
|
node-version: '18'
|
|
34
34
|
- name: Install Yarn Dependencies
|
|
@@ -12,11 +12,11 @@ jobs:
|
|
|
12
12
|
- name: Extract tag name
|
|
13
13
|
id: tag
|
|
14
14
|
run: echo "value=${GITHUB_REF##*/}" >> "$GITHUB_OUTPUT"
|
|
15
|
-
- uses: actions/checkout@
|
|
15
|
+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
16
16
|
|
|
17
17
|
- name: Create Release
|
|
18
18
|
id: create_release
|
|
19
|
-
uses: actions/create-release@v1
|
|
19
|
+
uses: actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # v1.1.4
|
|
20
20
|
env:
|
|
21
21
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
22
22
|
with:
|
|
@@ -7,10 +7,9 @@ jobs:
|
|
|
7
7
|
remove-labels-on-activity:
|
|
8
8
|
runs-on: ubuntu-latest
|
|
9
9
|
steps:
|
|
10
|
-
- uses: actions/checkout@
|
|
11
|
-
- uses: actions-ecosystem/action-remove-labels@v1
|
|
10
|
+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
11
|
+
- uses: actions-ecosystem/action-remove-labels@2ce5d41b4b6aa8503e285553f75ed56e0a40bae0 # v1.2.0
|
|
12
12
|
if: contains(github.event.issue.labels.*.name, 'Waiting for Response')
|
|
13
13
|
with:
|
|
14
14
|
labels: |
|
|
15
15
|
Waiting for Response
|
|
16
|
-
|
|
@@ -7,9 +7,9 @@ jobs:
|
|
|
7
7
|
runs-on: ubuntu-latest
|
|
8
8
|
|
|
9
9
|
steps:
|
|
10
|
-
- uses: actions/checkout@
|
|
10
|
+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
11
11
|
- name: Set up Ruby
|
|
12
|
-
uses: ruby/setup-ruby@v1
|
|
12
|
+
uses: ruby/setup-ruby@efbf473cab83af4468e8606cc33eca9281bb213f # v1.256.0
|
|
13
13
|
with:
|
|
14
14
|
bundler-cache: true
|
|
15
15
|
- name: Install gems
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
Unreleased
|
|
2
2
|
----------
|
|
3
3
|
|
|
4
|
+
23.0.0 (December 11, 2025)
|
|
5
|
+
- ⚠️ [Breaking] Bumps minimum supported Rails version to 7.1 & Ruby version to 3.2; moves jobs from `lib` to `app` to fix loading issues with modern rails versions. [#2020](https://github.com/Shopify/shopify_app/pull/2020)
|
|
6
|
+
- ActiveJob classes moved from `lib/shopify_app/jobs/` to `app/jobs/shopify_app/` to follow Rails conventions and fix timing issues with ActiveJob initialization
|
|
7
|
+
- Jobs are now autoloaded by Rails instead of explicitly required during gem initialization
|
|
8
|
+
- **For most apps**: No changes needed. Jobs are internal to the gem and will be autoloaded correctly
|
|
9
|
+
- **If your app has custom ActiveJob serializers**: See [Upgrading guide](/docs/Upgrading.md#v2300-minimum-ruby-32-and-rails-71-required-jobs-moved-to-appjobs) for migration steps
|
|
10
|
+
- Additional dependency updates: sqlite3 (1.x → 2.x), added `csv` and `mutex_m` development dependencies for Ruby 3.4+ compatibility
|
|
11
|
+
- ⚠️ [Breaking] Removes `ShopifyApp::JWTMiddleware` and `ShopifyApp::JWT` See [Upgrading](/docs/Upgrading.md) for more migration. [1960](https://github.com/Shopify/shopify_app/pull/1960)
|
|
12
|
+
- ⚠️ [Breaking] Removed deprecated `CallbackController` methods. `perform_after_authenticate_job`, `install_webhooks`, and `perform_post_authenticate_jobs` have been removed. [#1961](https://github.com/Shopify/shopify_app/pull/1961)
|
|
13
|
+
- ⚠️ [Breaking] Bumps minimum supported Ruby version to 3.1 [#1959](https://github.com/Shopify/shopify_app/pull/1959)
|
|
14
|
+
- Adds support for expiring offline access tokens with automatic refresh for `ShopSessionStorage`. Apps can now opt-in to expiring offline tokens via `ShopifyAPI::Context.setup(offline_access_token_expires: true)`, and `ShopSessionStorage` will automatically refresh expired tokens when using `with_shopify_session`. **See [migration guide](/docs/shopify_app/sessions.md#migrating-to-expiring-offline-access-tokens) for setup instructions.** [#2027](https://github.com/Shopify/shopify_app/pull/2027)
|
|
15
|
+
- `ShopSessionStorage` now automatically stores `access_scopes`, `expires_at`, `refresh_token`, and `refresh_token_expires_at` from auth sessions
|
|
16
|
+
- `UserSessionStorage` now automatically stores `access_scopes` and `expires_at` from auth sessions (refresh tokens not applicable for online/user tokens)
|
|
17
|
+
- Adds `refresh_token_if_expired!` public method to `ShopSessionStorage` for manual token refresh
|
|
18
|
+
- Adds `RefreshTokenExpiredError` exception raised when refresh token itself is expired
|
|
19
|
+
- Mark deprecation for `ShopSessionStorageWithScopes` and `UserSessionStorageWithScopes` in favor of `ShopSessionStorage` and `UserSessionStorage`.
|
|
20
|
+
- Adds a `script_tag_manager` that will automatically create script tags when the app is installed. [1948](https://github.com/Shopify/shopify_app/pull/1948)
|
|
21
|
+
- Handle invalid token when adding redirection headers [#1945](https://github.com/Shopify/shopify_app/pull/1945)
|
|
22
|
+
- Handle invalid record error for concurrent token exchange calls [#1966](https://github.com/Shopify/shopify_app/pull/1966)
|
|
23
|
+
- Add opt-in `ShopifyApp.add_csp_directives(policy)` helper for apps with strict CSP that need to allow App Bridge script source [#2017](https://github.com/Shopify/shopify_app/pull/2017)
|
|
24
|
+
- Bumps shopify_api dependency to ~> 16.0
|
|
25
|
+
|
|
4
26
|
22.5.2 (March 14, 2025)
|
|
5
27
|
----------
|
|
6
28
|
- Add support for a new trusted Shopify domain [#1949](https://github.com/Shopify/shopify_app/pull/1949)
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,150 +1,185 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
shopify_app (
|
|
5
|
-
activeresource
|
|
4
|
+
shopify_app (23.0.0)
|
|
6
5
|
addressable (~> 2.7)
|
|
7
|
-
|
|
8
|
-
rails (> 5.2.1)
|
|
6
|
+
rails (>= 7.1, < 9)
|
|
9
7
|
redirect_safely (~> 1.0)
|
|
10
|
-
shopify_api (
|
|
11
|
-
sprockets-rails
|
|
8
|
+
shopify_api (~> 16.0)
|
|
9
|
+
sprockets-rails
|
|
12
10
|
|
|
13
11
|
GEM
|
|
14
12
|
remote: https://rubygems.org/
|
|
15
13
|
specs:
|
|
16
|
-
actioncable (
|
|
17
|
-
actionpack (=
|
|
18
|
-
activesupport (=
|
|
14
|
+
actioncable (7.1.6)
|
|
15
|
+
actionpack (= 7.1.6)
|
|
16
|
+
activesupport (= 7.1.6)
|
|
19
17
|
nio4r (~> 2.0)
|
|
20
18
|
websocket-driver (>= 0.6.1)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
zeitwerk (~> 2.6)
|
|
20
|
+
actionmailbox (7.1.6)
|
|
21
|
+
actionpack (= 7.1.6)
|
|
22
|
+
activejob (= 7.1.6)
|
|
23
|
+
activerecord (= 7.1.6)
|
|
24
|
+
activestorage (= 7.1.6)
|
|
25
|
+
activesupport (= 7.1.6)
|
|
27
26
|
mail (>= 2.7.1)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
net-imap
|
|
28
|
+
net-pop
|
|
29
|
+
net-smtp
|
|
30
|
+
actionmailer (7.1.6)
|
|
31
|
+
actionpack (= 7.1.6)
|
|
32
|
+
actionview (= 7.1.6)
|
|
33
|
+
activejob (= 7.1.6)
|
|
34
|
+
activesupport (= 7.1.6)
|
|
33
35
|
mail (~> 2.5, >= 2.5.4)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
net-imap
|
|
37
|
+
net-pop
|
|
38
|
+
net-smtp
|
|
39
|
+
rails-dom-testing (~> 2.2)
|
|
40
|
+
actionpack (7.1.6)
|
|
41
|
+
actionview (= 7.1.6)
|
|
42
|
+
activesupport (= 7.1.6)
|
|
43
|
+
cgi
|
|
44
|
+
nokogiri (>= 1.8.5)
|
|
45
|
+
racc
|
|
46
|
+
rack (>= 2.2.4)
|
|
47
|
+
rack-session (>= 1.0.1)
|
|
39
48
|
rack-test (>= 0.6.3)
|
|
40
|
-
rails-dom-testing (~> 2.
|
|
41
|
-
rails-html-sanitizer (~> 1.
|
|
42
|
-
actiontext (
|
|
43
|
-
actionpack (=
|
|
44
|
-
activerecord (=
|
|
45
|
-
activestorage (=
|
|
46
|
-
activesupport (=
|
|
49
|
+
rails-dom-testing (~> 2.2)
|
|
50
|
+
rails-html-sanitizer (~> 1.6)
|
|
51
|
+
actiontext (7.1.6)
|
|
52
|
+
actionpack (= 7.1.6)
|
|
53
|
+
activerecord (= 7.1.6)
|
|
54
|
+
activestorage (= 7.1.6)
|
|
55
|
+
activesupport (= 7.1.6)
|
|
56
|
+
globalid (>= 0.6.0)
|
|
47
57
|
nokogiri (>= 1.8.5)
|
|
48
|
-
actionview (
|
|
49
|
-
activesupport (=
|
|
58
|
+
actionview (7.1.6)
|
|
59
|
+
activesupport (= 7.1.6)
|
|
50
60
|
builder (~> 3.1)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
rails-
|
|
54
|
-
|
|
55
|
-
|
|
61
|
+
cgi
|
|
62
|
+
erubi (~> 1.11)
|
|
63
|
+
rails-dom-testing (~> 2.2)
|
|
64
|
+
rails-html-sanitizer (~> 1.6)
|
|
65
|
+
activejob (7.1.6)
|
|
66
|
+
activesupport (= 7.1.6)
|
|
56
67
|
globalid (>= 0.3.6)
|
|
57
|
-
activemodel (
|
|
58
|
-
activesupport (=
|
|
59
|
-
|
|
60
|
-
activemodel (
|
|
61
|
-
activesupport (
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
activemodel-serializers-xml (~> 1.0)
|
|
69
|
-
activesupport (>= 6.0)
|
|
70
|
-
activestorage (6.1.7.9)
|
|
71
|
-
actionpack (= 6.1.7.9)
|
|
72
|
-
activejob (= 6.1.7.9)
|
|
73
|
-
activerecord (= 6.1.7.9)
|
|
74
|
-
activesupport (= 6.1.7.9)
|
|
68
|
+
activemodel (7.1.6)
|
|
69
|
+
activesupport (= 7.1.6)
|
|
70
|
+
activerecord (7.1.6)
|
|
71
|
+
activemodel (= 7.1.6)
|
|
72
|
+
activesupport (= 7.1.6)
|
|
73
|
+
timeout (>= 0.4.0)
|
|
74
|
+
activestorage (7.1.6)
|
|
75
|
+
actionpack (= 7.1.6)
|
|
76
|
+
activejob (= 7.1.6)
|
|
77
|
+
activerecord (= 7.1.6)
|
|
78
|
+
activesupport (= 7.1.6)
|
|
75
79
|
marcel (~> 1.0)
|
|
76
|
-
|
|
77
|
-
|
|
80
|
+
activesupport (7.1.6)
|
|
81
|
+
base64
|
|
82
|
+
benchmark (>= 0.3)
|
|
83
|
+
bigdecimal
|
|
78
84
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
85
|
+
connection_pool (>= 2.2.5)
|
|
86
|
+
drb
|
|
79
87
|
i18n (>= 1.6, < 2)
|
|
88
|
+
logger (>= 1.4.2)
|
|
80
89
|
minitest (>= 5.1)
|
|
90
|
+
mutex_m
|
|
91
|
+
securerandom (>= 0.3)
|
|
81
92
|
tzinfo (~> 2.0)
|
|
82
|
-
zeitwerk (~> 2.3)
|
|
83
93
|
addressable (2.8.4)
|
|
84
94
|
public_suffix (>= 2.0.2, < 6.0)
|
|
85
95
|
ast (2.4.2)
|
|
96
|
+
base64 (0.3.0)
|
|
97
|
+
benchmark (0.5.0)
|
|
98
|
+
bigdecimal (3.3.1)
|
|
86
99
|
binding_of_caller (1.0.0)
|
|
87
100
|
debug_inspector (>= 0.0.1)
|
|
88
101
|
builder (3.3.0)
|
|
89
102
|
byebug (11.1.3)
|
|
103
|
+
cgi (0.5.0)
|
|
90
104
|
coderay (1.1.3)
|
|
91
|
-
concurrent-ruby (1.3.
|
|
105
|
+
concurrent-ruby (1.3.5)
|
|
106
|
+
connection_pool (3.0.2)
|
|
92
107
|
crack (0.4.5)
|
|
93
108
|
rexml
|
|
94
109
|
crass (1.0.6)
|
|
95
|
-
|
|
110
|
+
csv (3.3.5)
|
|
111
|
+
date (3.5.0)
|
|
96
112
|
debug_inspector (1.1.0)
|
|
97
|
-
|
|
98
|
-
|
|
113
|
+
drb (2.2.3)
|
|
114
|
+
erb (6.0.0)
|
|
115
|
+
erubi (1.13.1)
|
|
116
|
+
globalid (1.3.0)
|
|
99
117
|
activesupport (>= 6.1)
|
|
100
118
|
hash_diff (1.1.1)
|
|
101
119
|
hashdiff (1.0.1)
|
|
102
|
-
httparty (0.
|
|
120
|
+
httparty (0.23.2)
|
|
121
|
+
csv
|
|
103
122
|
mini_mime (>= 1.0.0)
|
|
104
123
|
multi_xml (>= 0.5.2)
|
|
105
|
-
i18n (1.14.
|
|
124
|
+
i18n (1.14.7)
|
|
106
125
|
concurrent-ruby (~> 1.0)
|
|
126
|
+
io-console (0.8.1)
|
|
127
|
+
irb (1.15.3)
|
|
128
|
+
pp (>= 0.6.0)
|
|
129
|
+
rdoc (>= 4.0.0)
|
|
130
|
+
reline (>= 0.4.2)
|
|
107
131
|
json (2.7.2)
|
|
108
|
-
jwt (
|
|
132
|
+
jwt (3.1.2)
|
|
133
|
+
base64
|
|
109
134
|
language_server-protocol (3.17.0.3)
|
|
110
|
-
|
|
135
|
+
logger (1.7.0)
|
|
136
|
+
loofah (2.24.1)
|
|
111
137
|
crass (~> 1.0.2)
|
|
112
138
|
nokogiri (>= 1.12.0)
|
|
113
|
-
mail (2.
|
|
139
|
+
mail (2.9.0)
|
|
140
|
+
logger
|
|
114
141
|
mini_mime (>= 0.1.1)
|
|
115
142
|
net-imap
|
|
116
143
|
net-pop
|
|
117
144
|
net-smtp
|
|
118
|
-
marcel (1.0
|
|
145
|
+
marcel (1.1.0)
|
|
119
146
|
method_source (1.0.0)
|
|
120
147
|
mini_mime (1.1.5)
|
|
121
|
-
minitest (5.
|
|
122
|
-
mocha (2.0
|
|
148
|
+
minitest (5.26.2)
|
|
149
|
+
mocha (2.8.0)
|
|
123
150
|
ruby2_keywords (>= 0.0.5)
|
|
124
|
-
multi_xml (0.
|
|
125
|
-
|
|
151
|
+
multi_xml (0.7.2)
|
|
152
|
+
bigdecimal (~> 3.1)
|
|
153
|
+
mutex_m (0.3.0)
|
|
154
|
+
net-imap (0.5.12)
|
|
126
155
|
date
|
|
127
156
|
net-protocol
|
|
128
157
|
net-pop (0.1.2)
|
|
129
158
|
net-protocol
|
|
130
159
|
net-protocol (0.2.2)
|
|
131
160
|
timeout
|
|
132
|
-
net-smtp (0.5.
|
|
161
|
+
net-smtp (0.5.1)
|
|
133
162
|
net-protocol
|
|
134
|
-
nio4r (2.5
|
|
135
|
-
nokogiri (1.
|
|
163
|
+
nio4r (2.7.5)
|
|
164
|
+
nokogiri (1.18.10-arm64-darwin)
|
|
136
165
|
racc (~> 1.4)
|
|
137
|
-
nokogiri (1.
|
|
166
|
+
nokogiri (1.18.10-x86_64-darwin)
|
|
138
167
|
racc (~> 1.4)
|
|
139
|
-
nokogiri (1.
|
|
168
|
+
nokogiri (1.18.10-x86_64-linux-gnu)
|
|
140
169
|
racc (~> 1.4)
|
|
141
|
-
oj (3.
|
|
142
|
-
|
|
170
|
+
oj (3.16.13)
|
|
171
|
+
bigdecimal (>= 3.0)
|
|
172
|
+
ostruct (>= 0.2)
|
|
173
|
+
openssl (3.3.2)
|
|
174
|
+
ostruct (0.6.3)
|
|
143
175
|
parallel (1.24.0)
|
|
144
176
|
parser (3.3.0.5)
|
|
145
177
|
ast (~> 2.4.1)
|
|
146
178
|
racc
|
|
179
|
+
pp (0.6.3)
|
|
180
|
+
prettyprint
|
|
147
181
|
prettier_print (1.2.1)
|
|
182
|
+
prettyprint (0.2.0)
|
|
148
183
|
pry (0.14.2)
|
|
149
184
|
coderay (~> 1.1)
|
|
150
185
|
method_source (~> 1.0)
|
|
@@ -153,49 +188,66 @@ GEM
|
|
|
153
188
|
pry-stack_explorer (0.6.1)
|
|
154
189
|
binding_of_caller (~> 1.0)
|
|
155
190
|
pry (~> 0.13)
|
|
191
|
+
psych (5.2.6)
|
|
192
|
+
date
|
|
193
|
+
stringio
|
|
156
194
|
public_suffix (5.0.1)
|
|
157
195
|
racc (1.8.1)
|
|
158
|
-
rack (
|
|
159
|
-
rack-
|
|
196
|
+
rack (3.2.4)
|
|
197
|
+
rack-session (2.1.1)
|
|
198
|
+
base64 (>= 0.1.0)
|
|
199
|
+
rack (>= 3.0.0)
|
|
200
|
+
rack-test (2.2.0)
|
|
160
201
|
rack (>= 1.3)
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
202
|
+
rackup (2.2.1)
|
|
203
|
+
rack (>= 3)
|
|
204
|
+
rails (7.1.6)
|
|
205
|
+
actioncable (= 7.1.6)
|
|
206
|
+
actionmailbox (= 7.1.6)
|
|
207
|
+
actionmailer (= 7.1.6)
|
|
208
|
+
actionpack (= 7.1.6)
|
|
209
|
+
actiontext (= 7.1.6)
|
|
210
|
+
actionview (= 7.1.6)
|
|
211
|
+
activejob (= 7.1.6)
|
|
212
|
+
activemodel (= 7.1.6)
|
|
213
|
+
activerecord (= 7.1.6)
|
|
214
|
+
activestorage (= 7.1.6)
|
|
215
|
+
activesupport (= 7.1.6)
|
|
173
216
|
bundler (>= 1.15.0)
|
|
174
|
-
railties (=
|
|
175
|
-
sprockets-rails (>= 2.0.0)
|
|
217
|
+
railties (= 7.1.6)
|
|
176
218
|
rails-controller-testing (1.0.5)
|
|
177
219
|
actionpack (>= 5.0.1.rc1)
|
|
178
220
|
actionview (>= 5.0.1.rc1)
|
|
179
221
|
activesupport (>= 5.0.1.rc1)
|
|
180
|
-
rails-dom-testing (2.
|
|
222
|
+
rails-dom-testing (2.3.0)
|
|
181
223
|
activesupport (>= 5.0.0)
|
|
182
224
|
minitest
|
|
183
225
|
nokogiri (>= 1.6)
|
|
184
|
-
rails-html-sanitizer (1.6.
|
|
226
|
+
rails-html-sanitizer (1.6.2)
|
|
185
227
|
loofah (~> 2.21)
|
|
186
228
|
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
|
187
|
-
railties (
|
|
188
|
-
actionpack (=
|
|
189
|
-
activesupport (=
|
|
190
|
-
|
|
229
|
+
railties (7.1.6)
|
|
230
|
+
actionpack (= 7.1.6)
|
|
231
|
+
activesupport (= 7.1.6)
|
|
232
|
+
cgi
|
|
233
|
+
irb
|
|
234
|
+
rackup (>= 1.0.0)
|
|
191
235
|
rake (>= 12.2)
|
|
192
|
-
thor (~> 1.0)
|
|
236
|
+
thor (~> 1.0, >= 1.2.2)
|
|
237
|
+
tsort (>= 0.2)
|
|
238
|
+
zeitwerk (~> 2.6)
|
|
193
239
|
rainbow (3.1.1)
|
|
194
|
-
rake (13.
|
|
240
|
+
rake (13.3.1)
|
|
195
241
|
rb-readline (0.5.5)
|
|
242
|
+
rdoc (6.15.1)
|
|
243
|
+
erb
|
|
244
|
+
psych (>= 4.0.0)
|
|
245
|
+
tsort
|
|
196
246
|
redirect_safely (1.0.0)
|
|
197
247
|
activemodel
|
|
198
248
|
regexp_parser (2.9.0)
|
|
249
|
+
reline (0.6.3)
|
|
250
|
+
io-console (~> 0.5)
|
|
199
251
|
rexml (3.3.9)
|
|
200
252
|
rubocop (1.62.1)
|
|
201
253
|
json (~> 2.3)
|
|
@@ -218,8 +270,8 @@ GEM
|
|
|
218
270
|
syntax_tree (>= 6.1.1, < 7)
|
|
219
271
|
ruby-progressbar (1.13.0)
|
|
220
272
|
ruby2_keywords (0.0.5)
|
|
221
|
-
securerandom (0.
|
|
222
|
-
shopify_api (
|
|
273
|
+
securerandom (0.4.1)
|
|
274
|
+
shopify_api (16.0.0)
|
|
223
275
|
activesupport
|
|
224
276
|
concurrent-ruby
|
|
225
277
|
hash_diff
|
|
@@ -230,21 +282,24 @@ GEM
|
|
|
230
282
|
securerandom
|
|
231
283
|
sorbet-runtime
|
|
232
284
|
zeitwerk (~> 2.5)
|
|
233
|
-
sorbet-runtime (0.
|
|
234
|
-
sprockets (4.2.
|
|
285
|
+
sorbet-runtime (0.6.12838)
|
|
286
|
+
sprockets (4.2.2)
|
|
235
287
|
concurrent-ruby (~> 1.0)
|
|
288
|
+
logger
|
|
236
289
|
rack (>= 2.2.4, < 4)
|
|
237
|
-
sprockets-rails (3.
|
|
238
|
-
actionpack (>=
|
|
239
|
-
activesupport (>=
|
|
290
|
+
sprockets-rails (3.5.2)
|
|
291
|
+
actionpack (>= 6.1)
|
|
292
|
+
activesupport (>= 6.1)
|
|
240
293
|
sprockets (>= 3.0.0)
|
|
241
|
-
sqlite3 (
|
|
242
|
-
sqlite3 (
|
|
243
|
-
sqlite3 (
|
|
294
|
+
sqlite3 (2.7.4-arm64-darwin)
|
|
295
|
+
sqlite3 (2.7.4-x86_64-darwin)
|
|
296
|
+
sqlite3 (2.7.4-x86_64-linux-gnu)
|
|
297
|
+
stringio (3.1.8)
|
|
244
298
|
syntax_tree (6.1.1)
|
|
245
299
|
prettier_print (>= 1.2.0)
|
|
246
|
-
thor (1.
|
|
247
|
-
timeout (0.4.
|
|
300
|
+
thor (1.4.0)
|
|
301
|
+
timeout (0.4.4)
|
|
302
|
+
tsort (0.2.0)
|
|
248
303
|
tzinfo (2.0.6)
|
|
249
304
|
concurrent-ruby (~> 1.0)
|
|
250
305
|
unicode-display_width (2.5.0)
|
|
@@ -252,10 +307,11 @@ GEM
|
|
|
252
307
|
addressable (>= 2.8.0)
|
|
253
308
|
crack (>= 0.3.2)
|
|
254
309
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
255
|
-
websocket-driver (0.
|
|
310
|
+
websocket-driver (0.8.0)
|
|
311
|
+
base64
|
|
256
312
|
websocket-extensions (>= 0.1.0)
|
|
257
313
|
websocket-extensions (0.1.5)
|
|
258
|
-
zeitwerk (2.
|
|
314
|
+
zeitwerk (2.7.3)
|
|
259
315
|
|
|
260
316
|
PLATFORMS
|
|
261
317
|
arm64-darwin-21
|
|
@@ -268,19 +324,22 @@ PLATFORMS
|
|
|
268
324
|
|
|
269
325
|
DEPENDENCIES
|
|
270
326
|
byebug
|
|
327
|
+
csv
|
|
328
|
+
jwt (>= 2.2.3)
|
|
271
329
|
minitest
|
|
272
|
-
mocha
|
|
330
|
+
mocha (>= 2.1.0)
|
|
331
|
+
mutex_m
|
|
273
332
|
pry
|
|
274
333
|
pry-nav
|
|
275
334
|
pry-stack_explorer
|
|
276
|
-
rails (
|
|
335
|
+
rails (~> 7.1.0)
|
|
277
336
|
rails-controller-testing
|
|
278
337
|
rake
|
|
279
338
|
rb-readline
|
|
280
339
|
rubocop-shopify
|
|
281
340
|
ruby-lsp
|
|
282
341
|
shopify_app!
|
|
283
|
-
sqlite3
|
|
342
|
+
sqlite3
|
|
284
343
|
webmock
|
|
285
344
|
|
|
286
345
|
BUNDLED WITH
|