activeadmin-tom_select 4.1.2 → 4.2.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +2 -2
  3. data/CHANGELOG.md +12 -0
  4. data/Gemfile +1 -1
  5. data/Gemfile.lock +134 -101
  6. data/README.md +1 -1
  7. data/docs/activeadmin-4-asset-setup.md +171 -0
  8. data/docs/activeadmin-tailwind-4.md +125 -0
  9. data/docs/guide-update-your-app.md +89 -356
  10. data/docs/setup-activeadmin-app.md +69 -492
  11. data/docs/setup-activeadmin-gem.md +83 -449
  12. data/gemfiles/rails_7.x_active_admin_4.x.gemfile +2 -1
  13. data/gemfiles/rails_7.x_active_admin_4.x.gemfile.lock +158 -116
  14. data/gemfiles/rails_8.x_active_admin_4.x.gemfile +2 -1
  15. data/gemfiles/rails_8.x_active_admin_4.x.gemfile.lock +145 -101
  16. data/lib/activeadmin/tom_select/option_collection.rb +4 -6
  17. data/lib/activeadmin/tom_select/select_input_extension.rb +15 -7
  18. data/lib/activeadmin/tom_select/version.rb +1 -1
  19. data/spec/features/end_to_end_spec.rb +2 -2
  20. data/spec/features/input_errors_spec.rb +1 -3
  21. data/spec/features/options_dsl_spec.rb +6 -6
  22. data/spec/internal/Gemfile +1 -0
  23. data/spec/internal/Gemfile.lock +152 -107
  24. data/spec/internal/app/assets/stylesheets/active_admin.tailwind.css +8 -5
  25. data/spec/internal/bin/tailwindcss +27 -0
  26. data/spec/internal/lib/tasks/active_admin.rake +9 -4
  27. data/spec/internal/package-lock.json +15 -1371
  28. data/spec/internal/package.json +1 -2
  29. data/{docs/tailwind-4/tailwind-active_admin.config.js → spec/internal/tailwind-active_admin.config.mjs} +9 -4
  30. data/spec/internal/yarn.lock +128 -728
  31. metadata +7 -23
  32. data/docs/activeadmin-4-detailed-reference.md +0 -932
  33. data/docs/activeadmin-4-gem-migration-guide.md +0 -313
  34. data/docs/combustion.md +0 -213
  35. data/docs/fail.png +0 -0
  36. data/docs/normal.png +0 -0
  37. data/docs/propshaft-readme.md +0 -320
  38. data/docs/propshaft-upgrade.md +0 -484
  39. data/docs/tailwind/blog-page.md +0 -341
  40. data/docs/tailwind/upgrade-guide-enhanced.md +0 -438
  41. data/docs/tailwind/upgrade-guide.md +0 -416
  42. data/docs/tailwind-4/active_admin.rake +0 -38
  43. data/docs/tailwind-4/active_admin.tailwind.css +0 -415
  44. data/docs/test-app-change.md +0 -154
  45. data/docs/test-environment-fixes.md +0 -58
  46. data/docs/update-tom-select.md +0 -348
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 153fdfdb190ef24f202368e25d4aec43867b04e7b95d6bbcb7f628220f86aa19
4
- data.tar.gz: ce4baaecf0ec8e56b7f2e8e42af66e9f13089b8ca452c7d060cab78f9ccf4a3f
3
+ metadata.gz: 51891fdd7a6ddb7f062561854aed70a0a87e5d62f7fb0d508083f83769e08602
4
+ data.tar.gz: 8245fa43ed7603591d6b1895dbe41a6af6ea8d6366cc79c557a0ea7ac555e2f1
5
5
  SHA512:
6
- metadata.gz: 14c597299f028c3502505975c5f2c92eea64415511ad0fc74fbd675a28c6af8b512b3b585fc29951f2c42309a70b1657e580c4b5a60bac383b8ce0dae7c482fe
7
- data.tar.gz: 0a8e4068afd1fadaf7b32413ad6b8ba155979270a2768f2692e734cb6734955e4422234b32508db6e5be18325bf7b109bcd64ea50b09a2b8f799a9d08bbe3d1e
6
+ metadata.gz: 915986e4bbb049887dc16ec4136f2d870575dfa02c42853665fda6f3c4f307036238c7182ccdb6520f2abdec9c9089631828b971d645fcc330f1390ebd5b1241
7
+ data.tar.gz: 18b3700cc468eed2f6424b447f0c0eea35cd777aa6eaea7a2d80303af14ea336ceda4226297f26c87d169ab9f690a51595fb979367176019e32341f09159817b
data/Appraisals CHANGED
@@ -1,9 +1,9 @@
1
1
  appraise 'rails-7.x-active-admin-4.x' do
2
2
  gem 'rails', '~> 7.1'
3
- gem 'activeadmin', '4.0.0.beta16'
3
+ gem 'activeadmin', '4.0.0.beta19'
4
4
  end
5
5
 
6
6
  appraise 'rails-8.x-active-admin-4.x' do
7
7
  gem 'rails', '~> 8.0'
8
- gem 'activeadmin', '4.0.0.beta16'
8
+ gem 'activeadmin', '4.0.0.beta19'
9
9
  end
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # CHANGELOG
2
2
 
3
+ ### Version 4.1.2
4
+
5
+ #### 🐛 Bug Fixes
6
+ - **SonarQube Integration**: Fixed coverage path issues preventing SonarQube from reading test coverage reports in CI
7
+ - **SimpleCov Configuration**: Reverted to standard SimpleCov JSON formatter for better compatibility
8
+ - **CI Workflow**: Improved coverage reporting by using absolute paths instead of relative paths
9
+
10
+ #### 🔧 Technical Improvements
11
+ - **Removed CodeCov**: Simplified CI by removing unused CodeCov integration (using SonarQube exclusively for coverage)
12
+ - **SonarQube Configuration**: Updated `sonar-project.properties` to include npm-package in sources and exclude built assets
13
+ - **Appraisal Updates**: Updated all Appraisal gemfiles to latest dependency versions
14
+
3
15
  ### Version 4.1.1
4
16
 
5
17
  #### ✨ Improvements
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  # Use ActiveAdmin 4.x beta
4
- gem 'activeadmin', '4.0.0.beta16'
4
+ gem 'activeadmin', '4.0.0.beta19'
5
5
 
6
6
  gemspec name: 'activeadmin-tom_select'
7
7
 
data/Gemfile.lock CHANGED
@@ -1,36 +1,38 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- activeadmin-tom_select (4.1.2)
4
+ activeadmin-tom_select (4.2.0.beta1)
5
5
  activeadmin (>= 3.0, < 5)
6
6
  ransack (>= 1.8, < 5)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actioncable (8.0.3)
12
- actionpack (= 8.0.3)
13
- activesupport (= 8.0.3)
11
+ action_text-trix (2.1.15)
12
+ railties
13
+ actioncable (8.1.1)
14
+ actionpack (= 8.1.1)
15
+ activesupport (= 8.1.1)
14
16
  nio4r (~> 2.0)
15
17
  websocket-driver (>= 0.6.1)
16
18
  zeitwerk (~> 2.6)
17
- actionmailbox (8.0.3)
18
- actionpack (= 8.0.3)
19
- activejob (= 8.0.3)
20
- activerecord (= 8.0.3)
21
- activestorage (= 8.0.3)
22
- activesupport (= 8.0.3)
19
+ actionmailbox (8.1.1)
20
+ actionpack (= 8.1.1)
21
+ activejob (= 8.1.1)
22
+ activerecord (= 8.1.1)
23
+ activestorage (= 8.1.1)
24
+ activesupport (= 8.1.1)
23
25
  mail (>= 2.8.0)
24
- actionmailer (8.0.3)
25
- actionpack (= 8.0.3)
26
- actionview (= 8.0.3)
27
- activejob (= 8.0.3)
28
- activesupport (= 8.0.3)
26
+ actionmailer (8.1.1)
27
+ actionpack (= 8.1.1)
28
+ actionview (= 8.1.1)
29
+ activejob (= 8.1.1)
30
+ activesupport (= 8.1.1)
29
31
  mail (>= 2.8.0)
30
32
  rails-dom-testing (~> 2.2)
31
- actionpack (8.0.3)
32
- actionview (= 8.0.3)
33
- activesupport (= 8.0.3)
33
+ actionpack (8.1.1)
34
+ actionview (= 8.1.1)
35
+ activesupport (= 8.1.1)
34
36
  nokogiri (>= 1.8.5)
35
37
  rack (>= 2.2.4)
36
38
  rack-session (>= 1.0.1)
@@ -38,20 +40,21 @@ GEM
38
40
  rails-dom-testing (~> 2.2)
39
41
  rails-html-sanitizer (~> 1.6)
40
42
  useragent (~> 0.16)
41
- actiontext (8.0.3)
42
- actionpack (= 8.0.3)
43
- activerecord (= 8.0.3)
44
- activestorage (= 8.0.3)
45
- activesupport (= 8.0.3)
43
+ actiontext (8.1.1)
44
+ action_text-trix (~> 2.1.15)
45
+ actionpack (= 8.1.1)
46
+ activerecord (= 8.1.1)
47
+ activestorage (= 8.1.1)
48
+ activesupport (= 8.1.1)
46
49
  globalid (>= 0.6.0)
47
50
  nokogiri (>= 1.8.5)
48
- actionview (8.0.3)
49
- activesupport (= 8.0.3)
51
+ actionview (8.1.1)
52
+ activesupport (= 8.1.1)
50
53
  builder (~> 3.1)
51
54
  erubi (~> 1.11)
52
55
  rails-dom-testing (~> 2.2)
53
56
  rails-html-sanitizer (~> 1.6)
54
- activeadmin (4.0.0.beta16)
57
+ activeadmin (4.0.0.beta19)
55
58
  arbre (~> 2.0)
56
59
  csv
57
60
  formtastic (>= 5.0)
@@ -60,47 +63,46 @@ GEM
60
63
  kaminari (>= 1.2.1)
61
64
  railties (>= 7.0)
62
65
  ransack (>= 4.0)
63
- activejob (8.0.3)
64
- activesupport (= 8.0.3)
66
+ activejob (8.1.1)
67
+ activesupport (= 8.1.1)
65
68
  globalid (>= 0.3.6)
66
- activemodel (8.0.3)
67
- activesupport (= 8.0.3)
68
- activerecord (8.0.3)
69
- activemodel (= 8.0.3)
70
- activesupport (= 8.0.3)
69
+ activemodel (8.1.1)
70
+ activesupport (= 8.1.1)
71
+ activerecord (8.1.1)
72
+ activemodel (= 8.1.1)
73
+ activesupport (= 8.1.1)
71
74
  timeout (>= 0.4.0)
72
- activestorage (8.0.3)
73
- actionpack (= 8.0.3)
74
- activejob (= 8.0.3)
75
- activerecord (= 8.0.3)
76
- activesupport (= 8.0.3)
75
+ activestorage (8.1.1)
76
+ actionpack (= 8.1.1)
77
+ activejob (= 8.1.1)
78
+ activerecord (= 8.1.1)
79
+ activesupport (= 8.1.1)
77
80
  marcel (~> 1.0)
78
- activesupport (8.0.3)
81
+ activesupport (8.1.1)
79
82
  base64
80
- benchmark (>= 0.3)
81
83
  bigdecimal
82
84
  concurrent-ruby (~> 1.0, >= 1.3.1)
83
85
  connection_pool (>= 2.2.5)
84
86
  drb
85
87
  i18n (>= 1.6, < 2)
88
+ json
86
89
  logger (>= 1.4.2)
87
90
  minitest (>= 5.1)
88
91
  securerandom (>= 0.3)
89
92
  tzinfo (~> 2.0, >= 2.0.5)
90
93
  uri (>= 0.13.1)
91
- addressable (2.8.7)
92
- public_suffix (>= 2.0.2, < 7.0)
94
+ addressable (2.8.8)
95
+ public_suffix (>= 2.0.2, < 8.0)
93
96
  appraisal (2.5.0)
94
97
  bundler
95
98
  rake
96
99
  thor (>= 0.14.0)
97
- arbre (2.2.0)
100
+ arbre (2.2.1)
98
101
  activesupport (>= 7.0)
99
102
  ast (2.4.3)
100
103
  base64 (0.3.0)
101
104
  bcrypt (3.1.20)
102
- benchmark (0.4.1)
103
- bigdecimal (3.2.3)
105
+ bigdecimal (4.0.1)
104
106
  builder (3.3.0)
105
107
  capybara (3.40.0)
106
108
  addressable
@@ -119,15 +121,15 @@ GEM
119
121
  activesupport (>= 3.0.0)
120
122
  railties (>= 3.0.0)
121
123
  thor (>= 0.14.6)
122
- concurrent-ruby (1.3.5)
123
- connection_pool (2.5.4)
124
+ concurrent-ruby (1.3.6)
125
+ connection_pool (3.0.2)
124
126
  crass (1.0.6)
125
127
  csv (3.3.5)
126
128
  database_cleaner-active_record (2.2.2)
127
129
  activerecord (>= 5.a)
128
130
  database_cleaner-core (~> 2.0)
129
131
  database_cleaner-core (2.0.1)
130
- date (3.4.1)
132
+ date (3.5.1)
131
133
  devise (4.9.4)
132
134
  bcrypt (~> 3.0)
133
135
  orm_adapter (~> 0.1)
@@ -137,16 +139,16 @@ GEM
137
139
  diff-lcs (1.6.2)
138
140
  docile (1.4.1)
139
141
  drb (2.2.3)
140
- erb (5.0.2)
142
+ erb (6.0.1)
141
143
  erubi (1.13.1)
142
144
  formtastic (5.0.0)
143
145
  actionpack (>= 6.0.0)
144
146
  formtastic_i18n (0.7.0)
145
147
  globalid (1.3.0)
146
148
  activesupport (>= 6.1)
147
- has_scope (0.8.2)
148
- actionpack (>= 5.2)
149
- activesupport (>= 5.2)
149
+ has_scope (0.9.0)
150
+ actionpack (>= 7.0)
151
+ activesupport (>= 7.0)
150
152
  i18n (1.14.7)
151
153
  concurrent-ruby (~> 1.0)
152
154
  inherited_resources (2.1.0)
@@ -154,12 +156,12 @@ GEM
154
156
  has_scope (>= 0.6)
155
157
  railties (>= 7.0)
156
158
  responders (>= 2)
157
- io-console (0.8.1)
158
- irb (1.15.2)
159
+ io-console (0.8.2)
160
+ irb (1.16.0)
159
161
  pp (>= 0.6.0)
160
162
  rdoc (>= 4.0.0)
161
163
  reline (>= 0.4.2)
162
- json (2.15.0)
164
+ json (2.18.0)
163
165
  kaminari (1.2.2)
164
166
  activesupport (>= 4.1.0)
165
167
  kaminari-actionview (= 1.2.2)
@@ -175,10 +177,11 @@ GEM
175
177
  language_server-protocol (3.17.0.5)
176
178
  lint_roller (1.1.0)
177
179
  logger (1.7.0)
178
- loofah (2.24.1)
180
+ loofah (2.25.0)
179
181
  crass (~> 1.0.2)
180
182
  nokogiri (>= 1.12.0)
181
- mail (2.8.1)
183
+ mail (2.9.0)
184
+ logger
182
185
  mini_mime (>= 0.1.1)
183
186
  net-imap
184
187
  net-pop
@@ -190,8 +193,9 @@ GEM
190
193
  mime-types-data (~> 3.2025, >= 3.2025.0507)
191
194
  mime-types-data (3.2025.0924)
192
195
  mini_mime (1.1.5)
193
- minitest (5.25.5)
194
- net-imap (0.5.10)
196
+ minitest (6.0.0)
197
+ prism (~> 1.5)
198
+ net-imap (0.6.2)
195
199
  date
196
200
  net-protocol
197
201
  net-pop (0.1.2)
@@ -200,54 +204,68 @@ GEM
200
204
  timeout
201
205
  net-smtp (0.5.1)
202
206
  net-protocol
203
- nio4r (2.7.4)
207
+ nio4r (2.7.5)
208
+ nokogiri (1.18.10-aarch64-linux-gnu)
209
+ racc (~> 1.4)
210
+ nokogiri (1.18.10-aarch64-linux-musl)
211
+ racc (~> 1.4)
212
+ nokogiri (1.18.10-arm-linux-gnu)
213
+ racc (~> 1.4)
214
+ nokogiri (1.18.10-arm-linux-musl)
215
+ racc (~> 1.4)
216
+ nokogiri (1.18.10-arm64-darwin)
217
+ racc (~> 1.4)
218
+ nokogiri (1.18.10-x86_64-darwin)
219
+ racc (~> 1.4)
204
220
  nokogiri (1.18.10-x86_64-linux-gnu)
205
221
  racc (~> 1.4)
222
+ nokogiri (1.18.10-x86_64-linux-musl)
223
+ racc (~> 1.4)
206
224
  orm_adapter (0.5.0)
207
225
  parallel (1.27.0)
208
- parser (3.3.9.0)
226
+ parser (3.3.10.0)
209
227
  ast (~> 2.4.1)
210
228
  racc
211
- playwright-ruby-client (1.55.0)
229
+ playwright-ruby-client (1.57.0)
212
230
  concurrent-ruby (>= 1.1.6)
213
231
  mime-types (>= 3.0)
214
- pp (0.6.2)
232
+ pp (0.6.3)
215
233
  prettyprint
216
234
  prettyprint (0.2.0)
217
- prism (1.5.1)
235
+ prism (1.7.0)
218
236
  propshaft (1.3.1)
219
237
  actionpack (>= 7.0.0)
220
238
  activesupport (>= 7.0.0)
221
239
  rack
222
- psych (5.2.6)
240
+ psych (5.3.1)
223
241
  date
224
242
  stringio
225
- public_suffix (6.0.2)
243
+ public_suffix (7.0.0)
226
244
  puma (6.6.1)
227
245
  nio4r (~> 2.0)
228
246
  racc (1.8.1)
229
- rack (3.2.1)
247
+ rack (3.2.4)
230
248
  rack-session (2.1.1)
231
249
  base64 (>= 0.1.0)
232
250
  rack (>= 3.0.0)
233
251
  rack-test (2.2.0)
234
252
  rack (>= 1.3)
235
- rackup (2.2.1)
253
+ rackup (2.3.1)
236
254
  rack (>= 3)
237
- rails (8.0.3)
238
- actioncable (= 8.0.3)
239
- actionmailbox (= 8.0.3)
240
- actionmailer (= 8.0.3)
241
- actionpack (= 8.0.3)
242
- actiontext (= 8.0.3)
243
- actionview (= 8.0.3)
244
- activejob (= 8.0.3)
245
- activemodel (= 8.0.3)
246
- activerecord (= 8.0.3)
247
- activestorage (= 8.0.3)
248
- activesupport (= 8.0.3)
255
+ rails (8.1.1)
256
+ actioncable (= 8.1.1)
257
+ actionmailbox (= 8.1.1)
258
+ actionmailer (= 8.1.1)
259
+ actionpack (= 8.1.1)
260
+ actiontext (= 8.1.1)
261
+ actionview (= 8.1.1)
262
+ activejob (= 8.1.1)
263
+ activemodel (= 8.1.1)
264
+ activerecord (= 8.1.1)
265
+ activestorage (= 8.1.1)
266
+ activesupport (= 8.1.1)
249
267
  bundler (>= 1.15.0)
250
- railties (= 8.0.3)
268
+ railties (= 8.1.1)
251
269
  rails-dom-testing (2.3.0)
252
270
  activesupport (>= 5.0.0)
253
271
  minitest
@@ -255,9 +273,9 @@ GEM
255
273
  rails-html-sanitizer (1.6.2)
256
274
  loofah (~> 2.21)
257
275
  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)
258
- railties (8.0.3)
259
- actionpack (= 8.0.3)
260
- activesupport (= 8.0.3)
276
+ railties (8.1.1)
277
+ actionpack (= 8.1.1)
278
+ activesupport (= 8.1.1)
261
279
  irb (~> 1.13)
262
280
  rackup (>= 1.0.0)
263
281
  rake (>= 12.2)
@@ -265,26 +283,27 @@ GEM
265
283
  tsort (>= 0.2)
266
284
  zeitwerk (~> 2.6)
267
285
  rainbow (3.1.1)
268
- rake (13.3.0)
286
+ rake (13.3.1)
269
287
  ransack (4.4.1)
270
288
  activerecord (>= 7.2)
271
289
  activesupport (>= 7.2)
272
290
  i18n
273
- rdoc (6.14.2)
291
+ rdoc (7.0.1)
274
292
  erb
275
293
  psych (>= 4.0.0)
294
+ tsort
276
295
  regexp_parser (2.11.3)
277
- reline (0.6.2)
296
+ reline (0.6.3)
278
297
  io-console (~> 0.5)
279
- responders (3.1.1)
280
- actionpack (>= 5.2)
281
- railties (>= 5.2)
282
- rspec-core (3.13.5)
298
+ responders (3.2.0)
299
+ actionpack (>= 7.0)
300
+ railties (>= 7.0)
301
+ rspec-core (3.13.6)
283
302
  rspec-support (~> 3.13.0)
284
303
  rspec-expectations (3.13.5)
285
304
  diff-lcs (>= 1.2.0, < 2.0)
286
305
  rspec-support (~> 3.13.0)
287
- rspec-mocks (3.13.5)
306
+ rspec-mocks (3.13.7)
288
307
  diff-lcs (>= 1.2.0, < 2.0)
289
308
  rspec-support (~> 3.13.0)
290
309
  rspec-rails (6.1.5)
@@ -323,17 +342,24 @@ GEM
323
342
  simplecov_json_formatter (~> 0.1)
324
343
  simplecov-html (0.13.2)
325
344
  simplecov_json_formatter (0.1.4)
326
- sqlite3 (2.7.4-x86_64-linux-gnu)
327
- stringio (3.1.7)
345
+ sqlite3 (2.8.1-aarch64-linux-gnu)
346
+ sqlite3 (2.8.1-aarch64-linux-musl)
347
+ sqlite3 (2.8.1-arm-linux-gnu)
348
+ sqlite3 (2.8.1-arm-linux-musl)
349
+ sqlite3 (2.8.1-arm64-darwin)
350
+ sqlite3 (2.8.1-x86_64-darwin)
351
+ sqlite3 (2.8.1-x86_64-linux-gnu)
352
+ sqlite3 (2.8.1-x86_64-linux-musl)
353
+ stringio (3.2.0)
328
354
  thor (1.4.0)
329
- timeout (0.4.3)
355
+ timeout (0.6.0)
330
356
  tsort (0.2.0)
331
357
  tzinfo (2.0.6)
332
358
  concurrent-ruby (~> 1.0)
333
359
  unicode-display_width (3.2.0)
334
360
  unicode-emoji (~> 4.1)
335
- unicode-emoji (4.1.0)
336
- uri (1.0.3)
361
+ unicode-emoji (4.2.0)
362
+ uri (1.1.1)
337
363
  useragent (0.16.11)
338
364
  warden (1.2.9)
339
365
  rack (>= 2.0.9)
@@ -343,13 +369,20 @@ GEM
343
369
  websocket-extensions (0.1.5)
344
370
  xpath (3.2.0)
345
371
  nokogiri (~> 1.8)
346
- zeitwerk (2.7.3)
372
+ zeitwerk (2.7.4)
347
373
 
348
374
  PLATFORMS
349
- x86_64-linux
375
+ aarch64-linux-gnu
376
+ aarch64-linux-musl
377
+ arm-linux-gnu
378
+ arm-linux-musl
379
+ arm64-darwin
380
+ x86_64-darwin
381
+ x86_64-linux-gnu
382
+ x86_64-linux-musl
350
383
 
351
384
  DEPENDENCIES
352
- activeadmin (= 4.0.0.beta16)
385
+ activeadmin (= 4.0.0.beta19)
353
386
  activeadmin-tom_select!
354
387
  appraisal (~> 2.2)
355
388
  bundler (>= 1.5, < 3)
@@ -371,4 +404,4 @@ DEPENDENCIES
371
404
  sqlite3 (~> 2.1)
372
405
 
373
406
  BUNDLED WITH
374
- 2.4.10
407
+ 2.6.7
data/README.md CHANGED
@@ -80,7 +80,7 @@ Import stylesheets and require javascripts:
80
80
  Add to `package.json`:
81
81
  ```json
82
82
  "dependencies": {
83
- "activeadmin-tom_select": "^4.1.0"
83
+ "activeadmin-tom_select": "^4.2.0-beta1"
84
84
  }
85
85
  ```
86
86
 
@@ -0,0 +1,171 @@
1
+ # ActiveAdmin 4 Asset Setup (Tailwind CSS v4)
2
+
3
+ ## Overview
4
+ This guide documents the current, working setup for ActiveAdmin 4.0.0.beta19 with Tailwind CSS v4 and Tom Select (no jQuery).
5
+
6
+ ## Requirements
7
+ - ActiveAdmin 4.0.0.beta19
8
+ - Tailwind CSS v4 via `tailwindcss-rails` (ships `bin/tailwindcss`)
9
+ - ESBuild (or other JS bundler) for ActiveAdmin JS + Tom Select
10
+
11
+ ## 1. Gemfile
12
+
13
+ ```ruby
14
+ # ActiveAdmin 4 beta
15
+ gem "activeadmin", "4.0.0.beta19"
16
+
17
+ gem "activeadmin-tom_select"
18
+
19
+ # Tailwind CSS v4 (bundled CLI)
20
+ gem "tailwindcss-rails", "~> 4.4.0"
21
+ ```
22
+
23
+ ## 2. package.json
24
+
25
+ ```json
26
+ {
27
+ "dependencies": {
28
+ "@activeadmin/activeadmin": "^4.0.0-beta19",
29
+ "tom-select": "^2.4.3",
30
+ "activeadmin-tom_select": "^4.1.0"
31
+ },
32
+ "devDependencies": {
33
+ "esbuild": "^0.27.2"
34
+ },
35
+ "scripts": {
36
+ "build:js": "node esbuild-active_admin.config.js",
37
+ "build:css": "bundle exec rake active_admin:build",
38
+ "build": "npm run build:js && npm run build:css",
39
+ "watch:js": "node esbuild-active_admin.config.js --watch",
40
+ "watch:css": "bundle exec rake active_admin:watch",
41
+ "dev": "npm run watch:js & npm run watch:css"
42
+ }
43
+ }
44
+ ```
45
+
46
+ ## 3. JavaScript Entry (app/javascript/active_admin.js)
47
+
48
+ ```javascript
49
+ import "@activeadmin/activeadmin";
50
+
51
+ import TomSelect from "tom-select";
52
+ window.TomSelect = TomSelect;
53
+
54
+ import { setupAutoInit, initSearchableSelects } from "activeadmin-tom_select";
55
+ window.initSearchableSelects = initSearchableSelects;
56
+ setupAutoInit();
57
+ ```
58
+
59
+ ## 4. Tailwind Input (app/assets/stylesheets/active_admin.tailwind.css)
60
+
61
+ ```css
62
+ @import "tailwindcss";
63
+ @config "../../../tailwind-active_admin.config.mjs";
64
+
65
+ @import "activeadmin-tom_select/css";
66
+ ```
67
+
68
+ ## 5. Tailwind Config (tailwind-active_admin.config.mjs)
69
+
70
+ ```javascript
71
+ import { execSync } from "child_process";
72
+ import activeAdminPlugin from "@activeadmin/activeadmin/plugin";
73
+
74
+ const activeAdminPath = execSync("bundle show activeadmin", {
75
+ encoding: "utf-8"
76
+ }).trim();
77
+
78
+ export default {
79
+ content: [
80
+ `${activeAdminPath}/vendor/javascript/flowbite.js`,
81
+ `${activeAdminPath}/plugin.js`,
82
+ `${activeAdminPath}/app/views/**/*.{arb,erb,html,rb}`,
83
+ "./app/admin/**/*.{arb,erb,html,rb}",
84
+ "./app/views/active_admin/**/*.{arb,erb,html,rb}",
85
+ "./app/views/admin/**/*.{arb,erb,html,rb}",
86
+ "./app/views/layouts/active_admin*.{erb,html}",
87
+ "./app/javascript/**/*.js"
88
+ ],
89
+ darkMode: "selector",
90
+ plugins: [activeAdminPlugin]
91
+ };
92
+ ```
93
+
94
+ ## 6. Tailwind Build Tasks (lib/tasks/active_admin.rake)
95
+
96
+ ```ruby
97
+ namespace :active_admin do
98
+ desc "Build Active Admin Tailwind stylesheets"
99
+ task build: :environment do
100
+ command = [
101
+ Rails.root.join("bin/tailwindcss").to_s,
102
+ "-i", Rails.root.join("app/assets/stylesheets/active_admin.tailwind.css").to_s,
103
+ "-o", Rails.root.join("app/assets/builds/active_admin.css").to_s,
104
+ "-m"
105
+ ]
106
+
107
+ system(*command, exception: true)
108
+ end
109
+
110
+ desc "Watch Active Admin Tailwind stylesheets"
111
+ task watch: :environment do
112
+ command = [
113
+ Rails.root.join("bin/tailwindcss").to_s,
114
+ "--watch",
115
+ "-i", Rails.root.join("app/assets/stylesheets/active_admin.tailwind.css").to_s,
116
+ "-o", Rails.root.join("app/assets/builds/active_admin.css").to_s,
117
+ "-m"
118
+ ]
119
+
120
+ system(*command, exception: true)
121
+ end
122
+ end
123
+
124
+ Rake::Task["assets:precompile"].enhance(["active_admin:build"])
125
+ Rake::Task["test:prepare"].enhance(["active_admin:build"]) if Rake::Task.task_defined?("test:prepare")
126
+ Rake::Task["spec:prepare"].enhance(["active_admin:build"]) if Rake::Task.task_defined?("spec:prepare")
127
+ Rake::Task["db:test:prepare"].enhance(["active_admin:build"]) if Rake::Task.task_defined?("db:test:prepare")
128
+ ```
129
+
130
+ ## 7. Tailwind CLI Binstub
131
+
132
+ ```bash
133
+ bundle binstubs tailwindcss-ruby --force
134
+ ```
135
+
136
+ ## 8. Upgrade Notes (ActiveAdmin 4.0.0.beta19)
137
+
138
+ From ActiveAdmin's upgrade guide:
139
+ - `_site_header.html.erb` container class changed from `sticky` to `fixed`.
140
+ - `active_admin.html.erb` adds the `pt-16` utility class.
141
+ - Tailwind v4 uses `@import "tailwindcss"` and `@config` (no `@tailwind` directives).
142
+ - The Tailwind config file is ESM. Use `tailwind-active_admin.config.mjs`.
143
+ - jQuery/jQuery UI removed; `columns` and `tabs` components removed.
144
+ - Replace `default_main_content` with `render "show_default"`.
145
+ - Replace `as: :datepicker` with `as: :date_picker`.
146
+ - Replace `active_admin_comments` with `active_admin_comments_for(resource)`.
147
+ - Replace `attributes_table` with `attributes_table_for(resource)` in sidebars.
148
+
149
+ ## Troubleshooting
150
+
151
+ ### CSS not building
152
+ - Ensure `tailwindcss-rails` is pinned to `~> 4.4.0`.
153
+ - Run `bundle binstubs tailwindcss-ruby --force`.
154
+ - Confirm `bin/tailwindcss` exists.
155
+
156
+ ### ActiveAdmin styles not loading
157
+ - Verify `app/assets/builds/active_admin.css` exists.
158
+ - Check that `active_admin.tailwind.css` imports `activeadmin-tom_select/css`.
159
+
160
+ ### Tom Select not initializing
161
+ - Verify `window.TomSelect` in the console.
162
+ - Ensure `setupAutoInit()` is called.
163
+
164
+ ## Migration Checklist
165
+
166
+ - [ ] Update ActiveAdmin to 4.0.0.beta19
167
+ - [ ] Use Tailwind v4 `@import` + `@config`
168
+ - [ ] Add `tailwindcss-rails` (~> 4.4.0) and binstub
169
+ - [ ] Create `tailwind-active_admin.config.mjs` (ESM)
170
+ - [ ] Update rake tasks to use `bin/tailwindcss` (no `-c`)
171
+ - [ ] Rebuild assets and verify UI