grape-swagger-rails 1.0.0 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ffd522dac6b7efe49bc024272c280fd715108d6b4fe974b4ecb197702ddd0c5
4
- data.tar.gz: d93eda34ff295a2387005d93a82d8c3606e2568979ae82e3a512455bcf1a2685
3
+ metadata.gz: 5bd45e9462ec3fceba7a6b3b75fc6fee6ad6ce11349b52378ee7aaad8fc429f3
4
+ data.tar.gz: 7d531ce1a74556e0ef0ff17c14bf5515ed255916ccd27f63a1a1ec9ec6d0cadb
5
5
  SHA512:
6
- metadata.gz: 9f02aee03ef70e0fbfba49c2c42f86c73279fa29d3f15f5524033f270a1c8a452c30f2c9d2ae3595abcb992125fe1db2e515cce0a7dec7827dbd481acba0ae4e
7
- data.tar.gz: a4ad6d3529fac3b4f5bdf0360b45b5cfa0a4bc24a17dc59ffd8a519d8edc3dd9bcc07a7f8de394c50858854cd1d431f3e41dfc3d9afd79db77ae0a01f4ec07a4
6
+ metadata.gz: fe07aff0e76be3d93a2e4cd62b1effb5517a17f1d79452ba764166a03d1afa5010de6e04d6789dec767536f5cef004c2c6e431bf3ebe5b166fbb784e56ad133e
7
+ data.tar.gz: 04defb6acca696ffc3c24e3f577091afe5f0829ebf8a0c2c7aea11689b256125a9307483ec3582442210d93adf116893b8cb9871892712a6a3ffdc2cc9fe5e17
@@ -1,10 +1,14 @@
1
1
  name: Frontend
2
- on: [push, pull_request]
2
+ on:
3
+ push:
4
+ branches:
5
+ - master
6
+ pull_request:
3
7
  jobs:
4
8
  frontend:
5
9
  runs-on: ubuntu-latest
6
10
  steps:
7
- - uses: actions/checkout@v5
11
+ - uses: actions/checkout@v6
8
12
  - name: Set up Node
9
13
  uses: actions/setup-node@v4
10
14
  with:
@@ -18,4 +22,8 @@ jobs:
18
22
  - name: Build frontend
19
23
  run: yarn build:frontend
20
24
  - name: Check compiled output is committed
21
- run: git diff --exit-code app/assets/javascripts/grape_swagger_rails/index.js
25
+ run: |
26
+ git diff --exit-code \
27
+ app/assets/javascripts/grape_swagger_rails/index.js \
28
+ app/assets/javascripts/grape_swagger_rails/index.min.js \
29
+ app/assets/javascripts/grape_swagger_rails/index.min.js.map
@@ -4,7 +4,7 @@ jobs:
4
4
  rubocop:
5
5
  runs-on: ubuntu-latest
6
6
  steps:
7
- - uses: actions/checkout@v5
7
+ - uses: actions/checkout@v6
8
8
  - name: Set up Ruby
9
9
  uses: ruby/setup-ruby@v1
10
10
  with:
@@ -0,0 +1,61 @@
1
+ name: Swagger UI Update
2
+
3
+ "on":
4
+ schedule:
5
+ - cron: "0 8 * * 1"
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: write
10
+ pull-requests: write
11
+
12
+ jobs:
13
+ update:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v6
17
+
18
+ - name: Set up Ruby
19
+ uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: "3.4"
22
+ bundler-cache: true
23
+
24
+ - name: Check latest Swagger UI release
25
+ id: swagger-ui
26
+ env:
27
+ GH_TOKEN: ${{ github.token }}
28
+ run: |
29
+ current_version="$(ruby -r ./lib/grape-swagger-rails/version -e 'print GrapeSwaggerRails::SWAGGER_UI_VERSION')"
30
+ latest_tag="$(gh api repos/swagger-api/swagger-ui/releases/latest --jq .tag_name)"
31
+ latest_version="${latest_tag#v}"
32
+
33
+ echo "current-version=${current_version}" >> "$GITHUB_OUTPUT"
34
+ echo "latest-tag=${latest_tag}" >> "$GITHUB_OUTPUT"
35
+ echo "latest-version=${latest_version}" >> "$GITHUB_OUTPUT"
36
+
37
+ if [ "$current_version" != "$latest_version" ]; then
38
+ echo "update-needed=true" >> "$GITHUB_OUTPUT"
39
+ else
40
+ echo "update-needed=false" >> "$GITHUB_OUTPUT"
41
+ fi
42
+
43
+ - name: Update Swagger UI assets
44
+ if: steps.swagger-ui.outputs.update-needed == 'true'
45
+ env:
46
+ SWAGGER_UI_VERSION: ${{ steps.swagger-ui.outputs.latest-tag }}
47
+ run: bundle exec rake swagger_ui:dist:update
48
+
49
+ - name: Create pull request
50
+ if: steps.swagger-ui.outputs.update-needed == 'true'
51
+ uses: peter-evans/create-pull-request@v7
52
+ with:
53
+ token: ${{ github.token }}
54
+ branch: update-swagger-ui-${{ steps.swagger-ui.outputs.latest-version }}
55
+ delete-branch: true
56
+ commit-message: Bump Swagger UI to ${{ steps.swagger-ui.outputs.latest-version }}
57
+ title: Bump Swagger UI to ${{ steps.swagger-ui.outputs.latest-version }}
58
+ body: |
59
+ Updates bundled Swagger UI assets from swagger-api/swagger-ui `${{ steps.swagger-ui.outputs.latest-tag }}`.
60
+
61
+ Generated by the scheduled Swagger UI update workflow.
@@ -1,5 +1,9 @@
1
1
  name: Tests
2
- on: [push, pull_request]
2
+ on:
3
+ push:
4
+ branches:
5
+ - master
6
+ pull_request:
3
7
  jobs:
4
8
  test:
5
9
  runs-on: ubuntu-latest
@@ -40,7 +44,7 @@ jobs:
40
44
  GRAPE_SWAGGER_VERSION: ${{ matrix.grape-swagger }}
41
45
  RAILS_VERSION: ${{ matrix.rails }}
42
46
  steps:
43
- - uses: actions/checkout@v5
47
+ - uses: actions/checkout@v6
44
48
  - name: Set up Ruby
45
49
  uses: ruby/setup-ruby@v1
46
50
  with:
data/.pnp.cjs CHANGED
@@ -28,16 +28,287 @@ const RAW_RUNTIME_STATE =
28
28
  [null, {\
29
29
  "packageLocation": "./",\
30
30
  "packageDependencies": [\
31
+ ["esbuild", "npm:0.25.12"],\
31
32
  ["grape-swagger-rails", "workspace:."],\
32
33
  ["typescript", "patch:typescript@npm%3A5.9.3#optional!builtin<compat/typescript>::version=5.9.3&hash=5786d5"]\
33
34
  ],\
34
35
  "linkType": "SOFT"\
35
36
  }]\
36
37
  ]],\
38
+ ["@esbuild/aix-ppc64", [\
39
+ ["npm:0.25.12", {\
40
+ "packageLocation": "./.yarn/unplugged/@esbuild-aix-ppc64-npm-0.25.12-8c22abd617/node_modules/@esbuild/aix-ppc64/",\
41
+ "packageDependencies": [\
42
+ ["@esbuild/aix-ppc64", "npm:0.25.12"]\
43
+ ],\
44
+ "linkType": "HARD"\
45
+ }]\
46
+ ]],\
47
+ ["@esbuild/android-arm", [\
48
+ ["npm:0.25.12", {\
49
+ "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.25.12-30cfcd9e3d/node_modules/@esbuild/android-arm/",\
50
+ "packageDependencies": [\
51
+ ["@esbuild/android-arm", "npm:0.25.12"]\
52
+ ],\
53
+ "linkType": "HARD"\
54
+ }]\
55
+ ]],\
56
+ ["@esbuild/android-arm64", [\
57
+ ["npm:0.25.12", {\
58
+ "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.25.12-00cec8936f/node_modules/@esbuild/android-arm64/",\
59
+ "packageDependencies": [\
60
+ ["@esbuild/android-arm64", "npm:0.25.12"]\
61
+ ],\
62
+ "linkType": "HARD"\
63
+ }]\
64
+ ]],\
65
+ ["@esbuild/android-x64", [\
66
+ ["npm:0.25.12", {\
67
+ "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.25.12-f0cc7556ec/node_modules/@esbuild/android-x64/",\
68
+ "packageDependencies": [\
69
+ ["@esbuild/android-x64", "npm:0.25.12"]\
70
+ ],\
71
+ "linkType": "HARD"\
72
+ }]\
73
+ ]],\
74
+ ["@esbuild/darwin-arm64", [\
75
+ ["npm:0.25.12", {\
76
+ "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.25.12-2a5a9f9710/node_modules/@esbuild/darwin-arm64/",\
77
+ "packageDependencies": [\
78
+ ["@esbuild/darwin-arm64", "npm:0.25.12"]\
79
+ ],\
80
+ "linkType": "HARD"\
81
+ }]\
82
+ ]],\
83
+ ["@esbuild/darwin-x64", [\
84
+ ["npm:0.25.12", {\
85
+ "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.25.12-157b2f4f8a/node_modules/@esbuild/darwin-x64/",\
86
+ "packageDependencies": [\
87
+ ["@esbuild/darwin-x64", "npm:0.25.12"]\
88
+ ],\
89
+ "linkType": "HARD"\
90
+ }]\
91
+ ]],\
92
+ ["@esbuild/freebsd-arm64", [\
93
+ ["npm:0.25.12", {\
94
+ "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.25.12-82171eee7e/node_modules/@esbuild/freebsd-arm64/",\
95
+ "packageDependencies": [\
96
+ ["@esbuild/freebsd-arm64", "npm:0.25.12"]\
97
+ ],\
98
+ "linkType": "HARD"\
99
+ }]\
100
+ ]],\
101
+ ["@esbuild/freebsd-x64", [\
102
+ ["npm:0.25.12", {\
103
+ "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.25.12-464a938fa1/node_modules/@esbuild/freebsd-x64/",\
104
+ "packageDependencies": [\
105
+ ["@esbuild/freebsd-x64", "npm:0.25.12"]\
106
+ ],\
107
+ "linkType": "HARD"\
108
+ }]\
109
+ ]],\
110
+ ["@esbuild/linux-arm", [\
111
+ ["npm:0.25.12", {\
112
+ "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.25.12-dd07033e1a/node_modules/@esbuild/linux-arm/",\
113
+ "packageDependencies": [\
114
+ ["@esbuild/linux-arm", "npm:0.25.12"]\
115
+ ],\
116
+ "linkType": "HARD"\
117
+ }]\
118
+ ]],\
119
+ ["@esbuild/linux-arm64", [\
120
+ ["npm:0.25.12", {\
121
+ "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.25.12-a5aaa0e70e/node_modules/@esbuild/linux-arm64/",\
122
+ "packageDependencies": [\
123
+ ["@esbuild/linux-arm64", "npm:0.25.12"]\
124
+ ],\
125
+ "linkType": "HARD"\
126
+ }]\
127
+ ]],\
128
+ ["@esbuild/linux-ia32", [\
129
+ ["npm:0.25.12", {\
130
+ "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.25.12-3b5addbfbb/node_modules/@esbuild/linux-ia32/",\
131
+ "packageDependencies": [\
132
+ ["@esbuild/linux-ia32", "npm:0.25.12"]\
133
+ ],\
134
+ "linkType": "HARD"\
135
+ }]\
136
+ ]],\
137
+ ["@esbuild/linux-loong64", [\
138
+ ["npm:0.25.12", {\
139
+ "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.25.12-4fec31ffb2/node_modules/@esbuild/linux-loong64/",\
140
+ "packageDependencies": [\
141
+ ["@esbuild/linux-loong64", "npm:0.25.12"]\
142
+ ],\
143
+ "linkType": "HARD"\
144
+ }]\
145
+ ]],\
146
+ ["@esbuild/linux-mips64el", [\
147
+ ["npm:0.25.12", {\
148
+ "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.25.12-827ebfd4ef/node_modules/@esbuild/linux-mips64el/",\
149
+ "packageDependencies": [\
150
+ ["@esbuild/linux-mips64el", "npm:0.25.12"]\
151
+ ],\
152
+ "linkType": "HARD"\
153
+ }]\
154
+ ]],\
155
+ ["@esbuild/linux-ppc64", [\
156
+ ["npm:0.25.12", {\
157
+ "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.25.12-02e9c28638/node_modules/@esbuild/linux-ppc64/",\
158
+ "packageDependencies": [\
159
+ ["@esbuild/linux-ppc64", "npm:0.25.12"]\
160
+ ],\
161
+ "linkType": "HARD"\
162
+ }]\
163
+ ]],\
164
+ ["@esbuild/linux-riscv64", [\
165
+ ["npm:0.25.12", {\
166
+ "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.25.12-3c5f314835/node_modules/@esbuild/linux-riscv64/",\
167
+ "packageDependencies": [\
168
+ ["@esbuild/linux-riscv64", "npm:0.25.12"]\
169
+ ],\
170
+ "linkType": "HARD"\
171
+ }]\
172
+ ]],\
173
+ ["@esbuild/linux-s390x", [\
174
+ ["npm:0.25.12", {\
175
+ "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.25.12-2106b3ddcb/node_modules/@esbuild/linux-s390x/",\
176
+ "packageDependencies": [\
177
+ ["@esbuild/linux-s390x", "npm:0.25.12"]\
178
+ ],\
179
+ "linkType": "HARD"\
180
+ }]\
181
+ ]],\
182
+ ["@esbuild/linux-x64", [\
183
+ ["npm:0.25.12", {\
184
+ "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.25.12-07c7c22cce/node_modules/@esbuild/linux-x64/",\
185
+ "packageDependencies": [\
186
+ ["@esbuild/linux-x64", "npm:0.25.12"]\
187
+ ],\
188
+ "linkType": "HARD"\
189
+ }]\
190
+ ]],\
191
+ ["@esbuild/netbsd-arm64", [\
192
+ ["npm:0.25.12", {\
193
+ "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-arm64-npm-0.25.12-bd2cdd7715/node_modules/@esbuild/netbsd-arm64/",\
194
+ "packageDependencies": [\
195
+ ["@esbuild/netbsd-arm64", "npm:0.25.12"]\
196
+ ],\
197
+ "linkType": "HARD"\
198
+ }]\
199
+ ]],\
200
+ ["@esbuild/netbsd-x64", [\
201
+ ["npm:0.25.12", {\
202
+ "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.25.12-1f5039ae72/node_modules/@esbuild/netbsd-x64/",\
203
+ "packageDependencies": [\
204
+ ["@esbuild/netbsd-x64", "npm:0.25.12"]\
205
+ ],\
206
+ "linkType": "HARD"\
207
+ }]\
208
+ ]],\
209
+ ["@esbuild/openbsd-arm64", [\
210
+ ["npm:0.25.12", {\
211
+ "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-arm64-npm-0.25.12-33119801dd/node_modules/@esbuild/openbsd-arm64/",\
212
+ "packageDependencies": [\
213
+ ["@esbuild/openbsd-arm64", "npm:0.25.12"]\
214
+ ],\
215
+ "linkType": "HARD"\
216
+ }]\
217
+ ]],\
218
+ ["@esbuild/openbsd-x64", [\
219
+ ["npm:0.25.12", {\
220
+ "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.25.12-e97e4dea2a/node_modules/@esbuild/openbsd-x64/",\
221
+ "packageDependencies": [\
222
+ ["@esbuild/openbsd-x64", "npm:0.25.12"]\
223
+ ],\
224
+ "linkType": "HARD"\
225
+ }]\
226
+ ]],\
227
+ ["@esbuild/openharmony-arm64", [\
228
+ ["npm:0.25.12", {\
229
+ "packageLocation": "./.yarn/unplugged/@esbuild-openharmony-arm64-npm-0.25.12-b6855e9fc4/node_modules/@esbuild/openharmony-arm64/",\
230
+ "packageDependencies": [\
231
+ ["@esbuild/openharmony-arm64", "npm:0.25.12"]\
232
+ ],\
233
+ "linkType": "HARD"\
234
+ }]\
235
+ ]],\
236
+ ["@esbuild/sunos-x64", [\
237
+ ["npm:0.25.12", {\
238
+ "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.25.12-21a61a61f1/node_modules/@esbuild/sunos-x64/",\
239
+ "packageDependencies": [\
240
+ ["@esbuild/sunos-x64", "npm:0.25.12"]\
241
+ ],\
242
+ "linkType": "HARD"\
243
+ }]\
244
+ ]],\
245
+ ["@esbuild/win32-arm64", [\
246
+ ["npm:0.25.12", {\
247
+ "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.25.12-daf31eb7a1/node_modules/@esbuild/win32-arm64/",\
248
+ "packageDependencies": [\
249
+ ["@esbuild/win32-arm64", "npm:0.25.12"]\
250
+ ],\
251
+ "linkType": "HARD"\
252
+ }]\
253
+ ]],\
254
+ ["@esbuild/win32-ia32", [\
255
+ ["npm:0.25.12", {\
256
+ "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.25.12-7915b5b56e/node_modules/@esbuild/win32-ia32/",\
257
+ "packageDependencies": [\
258
+ ["@esbuild/win32-ia32", "npm:0.25.12"]\
259
+ ],\
260
+ "linkType": "HARD"\
261
+ }]\
262
+ ]],\
263
+ ["@esbuild/win32-x64", [\
264
+ ["npm:0.25.12", {\
265
+ "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.25.12-2425a2e173/node_modules/@esbuild/win32-x64/",\
266
+ "packageDependencies": [\
267
+ ["@esbuild/win32-x64", "npm:0.25.12"]\
268
+ ],\
269
+ "linkType": "HARD"\
270
+ }]\
271
+ ]],\
272
+ ["esbuild", [\
273
+ ["npm:0.25.12", {\
274
+ "packageLocation": "../../.yarn/berry/cache/esbuild-npm-0.25.12-352393c4bd-10c0.zip/node_modules/esbuild/",\
275
+ "packageDependencies": [\
276
+ ["@esbuild/aix-ppc64", "npm:0.25.12"],\
277
+ ["@esbuild/android-arm", "npm:0.25.12"],\
278
+ ["@esbuild/android-arm64", "npm:0.25.12"],\
279
+ ["@esbuild/android-x64", "npm:0.25.12"],\
280
+ ["@esbuild/darwin-arm64", "npm:0.25.12"],\
281
+ ["@esbuild/darwin-x64", "npm:0.25.12"],\
282
+ ["@esbuild/freebsd-arm64", "npm:0.25.12"],\
283
+ ["@esbuild/freebsd-x64", "npm:0.25.12"],\
284
+ ["@esbuild/linux-arm", "npm:0.25.12"],\
285
+ ["@esbuild/linux-arm64", "npm:0.25.12"],\
286
+ ["@esbuild/linux-ia32", "npm:0.25.12"],\
287
+ ["@esbuild/linux-loong64", "npm:0.25.12"],\
288
+ ["@esbuild/linux-mips64el", "npm:0.25.12"],\
289
+ ["@esbuild/linux-ppc64", "npm:0.25.12"],\
290
+ ["@esbuild/linux-riscv64", "npm:0.25.12"],\
291
+ ["@esbuild/linux-s390x", "npm:0.25.12"],\
292
+ ["@esbuild/linux-x64", "npm:0.25.12"],\
293
+ ["@esbuild/netbsd-arm64", "npm:0.25.12"],\
294
+ ["@esbuild/netbsd-x64", "npm:0.25.12"],\
295
+ ["@esbuild/openbsd-arm64", "npm:0.25.12"],\
296
+ ["@esbuild/openbsd-x64", "npm:0.25.12"],\
297
+ ["@esbuild/openharmony-arm64", "npm:0.25.12"],\
298
+ ["@esbuild/sunos-x64", "npm:0.25.12"],\
299
+ ["@esbuild/win32-arm64", "npm:0.25.12"],\
300
+ ["@esbuild/win32-ia32", "npm:0.25.12"],\
301
+ ["@esbuild/win32-x64", "npm:0.25.12"],\
302
+ ["esbuild", "npm:0.25.12"]\
303
+ ],\
304
+ "linkType": "HARD"\
305
+ }]\
306
+ ]],\
37
307
  ["grape-swagger-rails", [\
38
308
  ["workspace:.", {\
39
309
  "packageLocation": "./",\
40
310
  "packageDependencies": [\
311
+ ["esbuild", "npm:0.25.12"],\
41
312
  ["grape-swagger-rails", "workspace:."],\
42
313
  ["typescript", "patch:typescript@npm%3A5.9.3#optional!builtin<compat/typescript>::version=5.9.3&hash=5786d5"]\
43
314
  ],\
@@ -46,7 +317,7 @@ const RAW_RUNTIME_STATE =
46
317
  ]],\
47
318
  ["typescript", [\
48
319
  ["patch:typescript@npm%3A5.9.3#optional!builtin<compat/typescript>::version=5.9.3&hash=5786d5", {\
49
- "packageLocation": "../../../.yarn/berry/cache/typescript-patch-6fda4d02cf-10c0.zip/node_modules/typescript/",\
320
+ "packageLocation": "../../.yarn/berry/cache/typescript-patch-6fda4d02cf-10c0.zip/node_modules/typescript/",\
50
321
  "packageDependencies": [\
51
322
  ["typescript", "patch:typescript@npm%3A5.9.3#optional!builtin<compat/typescript>::version=5.9.3&hash=5786d5"]\
52
323
  ],\
data/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  * Your contribution here.
4
4
 
5
+ ### 1.0.2 (2026/05/26)
6
+
7
+ * [#162](https://github.com/ruby-grape/grape-swagger-rails/pull/162): Fix vertical alignment for property rows in swagger ui model box - [@moskvin](https://github.com/moskvin).
8
+ * [#160](https://github.com/ruby-grape/grape-swagger-rails/pull/160): Hide Swagger UI's confusing "Clear" button by default; expose `display[:clear_button]` to opt back in - [@moskvin](https://github.com/moskvin).
9
+ * [#159](https://github.com/ruby-grape/grape-swagger-rails/pull/159): Added github action update swagger ui version - [@moskvin](https://github.com/moskvin).
10
+
11
+ ### 1.0.1 (2026/05/17)
12
+
13
+ * [#155](https://github.com/ruby-grape/grape-swagger-rails/pull/155): Fix: autoload default spec and restyle version dropdown - [@moskvin](https://github.com/moskvin).
14
+ * [#154](https://github.com/ruby-grape/grape-swagger-rails/pull/154): Add minified and sourcemap assets for swagger ui integration - [@moskvin](https://github.com/moskvin).
15
+ * [#153](https://github.com/ruby-grape/grape-swagger-rails/pull/153): Fix same-session deep link navigation not expanding operations - [@moskvin](https://github.com/moskvin).
16
+ * [#156](https://github.com/ruby-grape/grape-swagger-rails/pull/156): Bump esbuild from 0.24.2 to 0.25.0 - [@moskvin](https://github.com/moskvin).
17
+ * [#157](https://github.com/ruby-grape/grape-swagger-rails/pull/157): Bump swagger ui version to 5.32.6 - [@moskvin](https://github.com/moskvin).
18
+
5
19
  ### 1.0.0 (2026/05/09)
6
20
 
7
21
  * [#138](https://github.com/ruby-grape/grape-swagger-rails/pull/138): Migrate Danger to use danger-pr-comment workflow - [@dblock](https://github.com/dblock).
data/CLAUDE.md CHANGED
@@ -14,7 +14,9 @@ bundle exec rake spec # Run all RSpec tests only
14
14
  bundle exec rake rubocop # Run RuboCop linting only
15
15
  bundle exec rspec spec/features/swagger_spec.rb # Run a single spec file
16
16
 
17
- yarn build:frontend # Compile TypeScriptapp/assets/javascripts/grape_swagger_rails/index.js
17
+ yarn build:frontend # tsc index.js, then esbuild → index.min.js (+ .map)
18
+ yarn build:frontend:js # Just tsc (readable bundle)
19
+ yarn build:frontend:min # Just esbuild (minified bundle, consumes index.js)
18
20
  yarn typecheck # Type-check TypeScript without emitting
19
21
 
20
22
  bundle exec rake swagger_ui:dist:update # Update bundled Swagger UI assets
@@ -23,7 +25,7 @@ SWAGGER_UI_VERSION=v5.32.5 bundle exec rake swagger_ui:dist:update # Pin to a v
23
25
 
24
26
  Tests use Capybara + Selenium with Firefox. Firefox and geckodriver must be installed locally. On macOS, `xvfb` is not needed (unlike CI). Tests launch a real browser to validate UI behavior.
25
27
 
26
- **After editing TypeScript**, run `yarn build:frontend` before running specs — the specs exercise `app/assets/javascripts/grape_swagger_rails/index.js`, which is the compiled output. Never edit the compiled JS directly.
28
+ **After editing TypeScript**, run `yarn build:frontend` before running specs — the specs exercise `app/assets/javascripts/grape_swagger_rails/index.js`, which is the compiled output. Never edit the compiled JS directly. The build also emits `index.min.js` (+ sourcemap); the view picks the minified bundle in production (`Rails.env.production?`) via `grape_swagger_rails_runtime_asset` and the readable one everywhere else.
27
29
 
28
30
  ## Architecture
29
31
 
@@ -33,7 +35,7 @@ The gem has minimal moving parts:
33
35
  - **`lib/grape-swagger-rails/engine.rb`** — Rails Engine. Configures asset precompilation for both Sprockets and Propshaft pipelines.
34
36
  - **`app/controllers/grape_swagger_rails/application_controller.rb`** — Single `index` action. Runs `options.before_action_proc` in controller context for authorization.
35
37
  - **`app/views/grape_swagger_rails/application/index.html.haml`** — The entire UI. Serializes `GrapeSwaggerRails.options` as JSON into `data-swagger-options`, then JavaScript parses it to initialize SwaggerUIBundle. Handles theme toggling and auth injection via Swagger UI's `requestInterceptor`.
36
- - **`frontend/grape_swagger_rails/index.ts`** — TypeScript source for the browser runtime. Compiles (via `tsconfig.json`) to `app/assets/javascripts/grape_swagger_rails/index.js`. The TypeScript interface `SwaggerPageOptions` is the authoritative schema for options consumed by JS.
38
+ - **`frontend/grape_swagger_rails/index.ts`** — TypeScript source for the browser runtime. `tsc` compiles it to `app/assets/javascripts/grape_swagger_rails/index.js` (readable, ES5); `esbuild` then minifies that into `index.min.js` (+ `.map`). Both files are checked in so they ship with the gem. The TypeScript interface `SwaggerPageOptions` is the authoritative schema for options consumed by JS.
37
39
  - **`config/routes.rb`** — Single root route → `ApplicationController#index`.
38
40
  - **`lib/tasks/swagger_ui.rake`** — Rake task that clones `swagger-api/swagger-ui` and copies dist files into `app/assets/`.
39
41
 
data/README.md CHANGED
@@ -17,7 +17,7 @@ Swagger UI as Rails Engine for grape-swagger gem.
17
17
  - [API Token Authentication](#api-token-authentication)
18
18
  - [Swagger UI Authorization](#swagger-ui-authorization)
19
19
  - [Integration with DoorKeeper](#integration-with-doorkeeper)
20
- - [Hiding the API or Authorization text boxes](#hiding-the-api-or-authorization-text-boxes)
20
+ - [Show or Hide Swagger UI Elements](#show-or-hide-swagger-ui-elements)
21
21
  - [Updating Swagger UI from Dist](#updating-swagger-ui-from-dist)
22
22
  - [Contributors](#contributors)
23
23
  - [AI Agents](#ai-agents)
@@ -46,9 +46,9 @@ This gem is continuously tested against the following stack:
46
46
 
47
47
  | Ruby | Rails | Grape | grape-swagger | Swagger UI |
48
48
  |-----:|--------:|--------:|--------------:|-----------:|
49
- | 3.4 | 7.2.2.2 | 1.8.x | 1.6.1 | 5.32.5 |
50
- | 3.2+ | 7.2.2.2 | 3.1.x | 2.1.4 | 5.32.5 |
51
- | 3.2+ | 8.1.x | 3.1.x | 2.1.4 | 5.32.5 |
49
+ | 3.4 | 7.2.2.2 | 1.8.x | 1.6.1 | 5.32.6 |
50
+ | 3.2+ | 7.2.2.2 | 3.1.x | 2.1.4 | 5.32.6 |
51
+ | 3.2+ | 8.1.x | 3.1.x | 2.1.4 | 5.32.6 |
52
52
 
53
53
  The dummy app and CI also exercise both supported Rails asset pipelines: Sprockets and Propshaft.
54
54
 
@@ -258,25 +258,33 @@ In your User model (user.rb) add:
258
258
  has_one :token, -> { order 'created_at DESC' }, class_name: Doorkeeper::AccessToken, foreign_key: :resource_owner_id
259
259
  ```
260
260
 
261
- ### Hiding the API or Authorization text boxes
261
+ ### Show or Hide Swagger UI Elements
262
262
 
263
- If you know in advance that you would like to prevent changing the Swagger API URL, you can hide it using the following:
263
+ Use `display` to control visibility of the built-in Swagger UI header elements:
264
264
 
265
265
  ```ruby
266
- GrapeSwaggerRails.options.hide_url_input = true
266
+ GrapeSwaggerRails.options.display = {
267
+ api_key_input: false,
268
+ info_url: false,
269
+ doc_version: false,
270
+ version_stamp: false,
271
+ clear_button: true
272
+ }
267
273
  ```
268
274
 
269
- Similarly, you can hide the Authentication input box by adding this:
275
+ Supported keys:
270
276
 
271
- ```ruby
272
- GrapeSwaggerRails.options.hide_api_key_input = true
273
- ```
277
+ - `api_key_input`: show or hide the authentication input box
278
+ - `info_url`: show or hide the API document URL link
279
+ - `doc_version`: show or hide the API document version label
280
+ - `version_stamp`: show or hide the `OAS 2.0` version stamp
281
+ - `clear_button`: show or hide Swagger UI's "Clear" button that appears next to "Execute" after "Try it out". Hidden by default because the upstream button only resets internal request/response state and leaves user-typed input values on screen, which is confusing (see [swagger-api/swagger-ui#5283](https://github.com/swagger-api/swagger-ui/issues/5283)).
274
282
 
275
- By default, these options are false.
283
+ By default, all of these options are `true` except `clear_button`, which defaults to `false`.
276
284
 
277
285
  ### Updating Swagger UI from Dist
278
286
 
279
- To update Swagger UI from its [distribution](https://github.com/wordnik/swagger-ui), run `bundle exec rake swagger_ui:dist:update`. Examine the changes carefully.
287
+ To update Swagger UI from its [distribution](https://github.com/swagger-api/swagger-ui), run `bundle exec rake swagger_ui:dist:update`. Examine the changes carefully.
280
288
 
281
289
  NOTE: This action should be run part of this gem (not your application). In case if you want to
282
290
  make it up-to-date, clone the repo, run the rake task, examine the diff, fix any bugs, make sure