blacklight 8.11.0 → 9.0.0.beta2

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 (288) hide show
  1. checksums.yaml +4 -4
  2. data/.env +3 -3
  3. data/.github/matrix.json +11 -42
  4. data/.github/pull_request_template.md +7 -0
  5. data/.github/workflows/main.yml +0 -2
  6. data/.github/workflows/release_7_x_scheduled.yml +39 -0
  7. data/.github/workflows/release_8_x_scheduled.yml +39 -0
  8. data/.github/workflows/test.yml +0 -5
  9. data/.rubocop.yml +71 -3
  10. data/.rubocop_todo.yml +43 -76
  11. data/.solr_wrapper.yml +2 -0
  12. data/README.md +30 -8
  13. data/VERSION +1 -1
  14. data/app/assets/builds/blacklight.css +452 -0
  15. data/app/assets/javascripts/blacklight/blacklight.esm.js +6 -76
  16. data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -1
  17. data/app/assets/javascripts/blacklight/blacklight.js +6 -76
  18. data/app/assets/javascripts/blacklight/blacklight.js.map +1 -1
  19. data/app/assets/stylesheets/blacklight/_balanced_list.scss +1 -4
  20. data/app/assets/stylesheets/blacklight/_blacklight_base.scss +1 -3
  21. data/app/assets/stylesheets/blacklight/_bookmark.scss +44 -41
  22. data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +0 -25
  23. data/app/assets/stylesheets/blacklight/_constraints.scss +15 -24
  24. data/app/assets/stylesheets/blacklight/_controls.scss +2 -18
  25. data/app/assets/stylesheets/blacklight/_facets.scss +17 -84
  26. data/app/assets/stylesheets/blacklight/_group.scss +2 -5
  27. data/app/assets/stylesheets/blacklight/_header.scss +8 -11
  28. data/app/assets/stylesheets/blacklight/_icons.scss +0 -8
  29. data/app/assets/stylesheets/blacklight/_modal.scss +1 -1
  30. data/app/assets/stylesheets/blacklight/_pagination.scss +0 -4
  31. data/app/assets/stylesheets/blacklight/_search_form.scss +0 -1
  32. data/app/assets/stylesheets/blacklight/_search_history.scss +0 -8
  33. data/app/assets/stylesheets/blacklight/_search_results.scss +1 -15
  34. data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +9 -14
  35. data/app/assets/stylesheets/blacklight/build.scss +4 -0
  36. data/app/components/blacklight/advanced_search_form_component.rb +3 -3
  37. data/app/components/blacklight/constraint_component.rb +1 -1
  38. data/app/components/blacklight/constraint_layout_component.html.erb +2 -2
  39. data/app/components/blacklight/constraints_component.html.erb +2 -2
  40. data/app/components/blacklight/constraints_component.rb +3 -3
  41. data/app/components/blacklight/document/bookmark_component.html.erb +3 -3
  42. data/app/components/blacklight/document/bookmark_component.rb +2 -2
  43. data/app/components/blacklight/document/group_component.html.erb +1 -1
  44. data/app/components/blacklight/document/more_like_this_component.rb +2 -2
  45. data/app/components/blacklight/document/page_header_component.rb +1 -1
  46. data/app/components/blacklight/document/sidebar_component.rb +5 -5
  47. data/app/components/blacklight/document/thumbnail_component.html.erb +3 -7
  48. data/app/components/blacklight/document/thumbnail_component.rb +7 -6
  49. data/app/components/blacklight/document_component.rb +12 -16
  50. data/app/components/blacklight/document_title_component.rb +5 -11
  51. data/app/components/blacklight/facet_field_checkboxes_component.rb +2 -20
  52. data/app/components/blacklight/facet_field_component.rb +2 -17
  53. data/app/components/blacklight/facet_field_filter_component.rb +2 -21
  54. data/app/components/blacklight/facet_field_inclusive_constraint_component.rb +4 -25
  55. data/app/components/blacklight/facet_field_list_component.rb +2 -50
  56. data/app/components/blacklight/facet_field_no_layout_component.rb +2 -10
  57. data/app/components/blacklight/facet_item_component.rb +2 -74
  58. data/app/components/blacklight/facet_item_pivot_component.rb +3 -3
  59. data/app/components/blacklight/facets/checkboxes_component.rb +26 -0
  60. data/app/components/blacklight/facets/count_component.rb +23 -0
  61. data/app/components/blacklight/{facet_field_component.html.erb → facets/field_component.html.erb} +4 -4
  62. data/app/components/blacklight/facets/field_component.rb +23 -0
  63. data/app/components/blacklight/facets/filters_component.html.erb +4 -0
  64. data/app/components/blacklight/facets/filters_component.rb +27 -0
  65. data/app/components/blacklight/{facet_field_inclusive_constraint_component.html.erb → facets/inclusive_constraint_component.html.erb} +1 -1
  66. data/app/components/blacklight/facets/inclusive_constraint_component.rb +31 -0
  67. data/app/components/blacklight/{facet_field_filter_component.html.erb → facets/index_navigation_component.html.erb} +1 -1
  68. data/app/components/blacklight/facets/index_navigation_component.rb +32 -0
  69. data/app/components/blacklight/facets/item_component.rb +73 -0
  70. data/app/components/blacklight/facets/list_component.html.erb +11 -0
  71. data/app/components/blacklight/facets/list_component.rb +38 -0
  72. data/app/components/blacklight/facets/no_layout_component.rb +16 -0
  73. data/app/components/blacklight/facets/selected_value_component.rb +29 -0
  74. data/app/components/blacklight/facets/suggest_component.html.erb +12 -0
  75. data/app/components/blacklight/facets/suggest_component.rb +22 -0
  76. data/app/components/blacklight/metadata_field_plain_text_layout_component.rb +2 -2
  77. data/app/components/blacklight/response/facet_group_component.html.erb +3 -18
  78. data/app/components/blacklight/response/facet_group_component.rb +11 -23
  79. data/app/components/blacklight/response/facet_toggle_button_component.html.erb +16 -0
  80. data/app/components/blacklight/response/facet_toggle_button_component.rb +14 -0
  81. data/app/components/blacklight/response/pagination_component.html.erb +1 -1
  82. data/app/components/blacklight/response/pagination_component.rb +2 -1
  83. data/app/components/blacklight/response/sort_component.rb +1 -0
  84. data/app/components/blacklight/response/view_type_button_component.html.erb +1 -1
  85. data/app/components/blacklight/response/view_type_component.html.erb +1 -1
  86. data/app/components/blacklight/search/per_page_component.html.erb +1 -1
  87. data/app/components/blacklight/search/per_page_component.rb +1 -0
  88. data/app/components/blacklight/search/sidebar_component.html.erb +1 -1
  89. data/app/components/blacklight/search/sidebar_component.rb +1 -1
  90. data/app/components/blacklight/search_bar_component.html.erb +3 -3
  91. data/app/components/blacklight/search_bar_component.rb +2 -2
  92. data/app/components/blacklight/search_button_component.rb +2 -2
  93. data/app/components/blacklight/search_context/server_applied_params_component.html.erb +2 -2
  94. data/app/components/blacklight/search_context/server_applied_params_component.rb +9 -0
  95. data/app/components/blacklight/skip_link_component.html.erb +1 -1
  96. data/app/components/blacklight/skip_link_component.rb +2 -1
  97. data/app/components/blacklight/top_navbar_component.html.erb +2 -2
  98. data/app/controllers/concerns/blacklight/bookmarks.rb +3 -3
  99. data/app/controllers/concerns/blacklight/catalog.rb +9 -23
  100. data/app/controllers/concerns/blacklight/controller.rb +1 -1
  101. data/app/controllers/concerns/blacklight/facetable.rb +34 -0
  102. data/app/controllers/concerns/blacklight/search_context.rb +0 -12
  103. data/app/controllers/concerns/blacklight/searchable.rb +1 -1
  104. data/app/helpers/blacklight/blacklight_helper_behavior.rb +0 -6
  105. data/app/helpers/blacklight/catalog_helper_behavior.rb +0 -10
  106. data/app/helpers/blacklight/configuration_helper_behavior.rb +2 -14
  107. data/app/helpers/blacklight/document_helper_behavior.rb +3 -27
  108. data/app/helpers/blacklight/facets_helper_behavior.rb +9 -0
  109. data/app/helpers/blacklight/icon_helper_behavior.rb +3 -11
  110. data/app/helpers/blacklight/layout_helper_behavior.rb +2 -2
  111. data/app/helpers/blacklight/render_partials_helper_behavior.rb +0 -14
  112. data/app/helpers/blacklight/url_helper_behavior.rb +1 -1
  113. data/app/javascript/{blacklight → blacklight-frontend}/bookmark_toggle.js +1 -1
  114. data/app/javascript/{blacklight → blacklight-frontend}/checkbox_submit.js +3 -0
  115. data/app/javascript/{blacklight → blacklight-frontend}/core.js +2 -10
  116. data/app/javascript/{blacklight → blacklight-frontend}/facet_suggest.js +1 -3
  117. data/app/javascript/blacklight-frontend/index.js +16 -0
  118. data/app/javascript/{blacklight → blacklight-frontend}/modal.js +1 -5
  119. data/app/models/concerns/blacklight/document.rb +0 -11
  120. data/app/models/concerns/blacklight/user.rb +1 -1
  121. data/app/models/facet_search_builder.rb +5 -0
  122. data/app/presenters/blacklight/facet_field_presenter.rb +3 -3
  123. data/app/presenters/blacklight/rendering/helper_method.rb +4 -4
  124. data/app/presenters/blacklight/rendering/join.rb +2 -2
  125. data/app/services/blacklight/facet_search_service.rb +44 -0
  126. data/app/services/blacklight/field_retriever.rb +1 -1
  127. data/app/services/blacklight/search_params_yaml_coder.rb +0 -2
  128. data/app/services/blacklight/search_service.rb +6 -6
  129. data/app/values/blacklight/types.rb +2 -2
  130. data/app/views/bookmarks/_clear_bookmarks_widget.html.erb +0 -2
  131. data/app/views/bookmarks/index.html.erb +1 -1
  132. data/app/views/catalog/_facet_pivot.html.erb +1 -1
  133. data/app/views/catalog/_home_text.html.erb +2 -2
  134. data/app/views/catalog/_results_pagination.html.erb +2 -5
  135. data/app/views/catalog/_search_results.html.erb +3 -3
  136. data/app/views/catalog/_search_results_header.html.erb +1 -1
  137. data/app/views/catalog/_sort_and_per_page.html.erb +1 -1
  138. data/app/views/catalog/_sort_widget.html.erb +1 -0
  139. data/app/views/catalog/facet.html.erb +4 -6
  140. data/app/views/catalog/show.html.erb +2 -3
  141. data/app/views/kaminari/blacklight/_paginator.html.erb +1 -2
  142. data/app/views/layouts/blacklight/base.html.erb +3 -7
  143. data/app/views/search_history/index.html.erb +0 -2
  144. data/blacklight.gemspec +4 -4
  145. data/config/importmap.rb +1 -1
  146. data/config/locales/blacklight.ar.yml +2 -2
  147. data/config/locales/blacklight.ca.yml +124 -124
  148. data/config/locales/blacklight.de.yml +2 -2
  149. data/config/locales/blacklight.en.yml +14 -14
  150. data/config/locales/blacklight.es.yml +2 -2
  151. data/config/locales/blacklight.fr.yml +2 -2
  152. data/config/locales/blacklight.hu.yml +2 -2
  153. data/config/locales/blacklight.it.yml +1 -1
  154. data/config/locales/blacklight.nl.yml +2 -2
  155. data/config/locales/blacklight.pt-BR.yml +1 -1
  156. data/config/locales/blacklight.sq.yml +2 -2
  157. data/config/locales/blacklight.zh.yml +2 -2
  158. data/lib/blacklight/abstract_repository.rb +2 -2
  159. data/lib/blacklight/abstract_search_builder.rb +154 -0
  160. data/lib/blacklight/configuration/context.rb +3 -3
  161. data/lib/blacklight/configuration/display_field.rb +1 -1
  162. data/lib/blacklight/configuration/facet_field.rb +6 -6
  163. data/lib/blacklight/configuration/field.rb +4 -4
  164. data/lib/blacklight/configuration/fields.rb +3 -4
  165. data/lib/blacklight/configuration/search_field.rb +1 -1
  166. data/lib/blacklight/configuration/view_config.rb +2 -4
  167. data/lib/blacklight/configuration.rb +11 -18
  168. data/lib/blacklight/engine.rb +0 -6
  169. data/lib/blacklight/facet_search_builder.rb +18 -0
  170. data/lib/blacklight/nested_open_struct_with_hash_access.rb +1 -1
  171. data/lib/blacklight/open_struct_with_hash_access.rb +5 -5
  172. data/lib/blacklight/search_builder.rb +1 -159
  173. data/lib/blacklight/search_state/filter_field.rb +2 -2
  174. data/lib/blacklight/search_state/pivot_filter_field.rb +4 -4
  175. data/lib/blacklight/solr/abstract_filter_query_builder.rb +77 -0
  176. data/lib/blacklight/solr/default_filter_query_builder.rb +20 -0
  177. data/lib/blacklight/solr/facet_search_builder_behavior.rb +62 -0
  178. data/lib/blacklight/solr/repository.rb +8 -9
  179. data/lib/blacklight/solr/request.rb +1 -7
  180. data/lib/blacklight/solr/response/facets.rb +2 -2
  181. data/lib/blacklight/solr/response/group_response.rb +2 -2
  182. data/lib/blacklight/solr/response/params.rb +0 -4
  183. data/lib/blacklight/solr/response.rb +5 -1
  184. data/lib/blacklight/solr/search_builder_behavior.rb +17 -132
  185. data/lib/blacklight.rb +2 -2
  186. data/lib/generators/blacklight/assets/importmap_generator.rb +6 -24
  187. data/lib/generators/blacklight/assets/propshaft_generator.rb +1 -1
  188. data/lib/generators/blacklight/assets_generator.rb +3 -3
  189. data/lib/generators/blacklight/controller_generator.rb +3 -3
  190. data/lib/generators/blacklight/search_builder_generator.rb +1 -1
  191. data/lib/generators/blacklight/templates/.solr_wrapper.yml +2 -0
  192. data/lib/generators/blacklight/templates/catalog_controller.rb +3 -1
  193. data/lib/generators/blacklight/templates/solr/conf/solrconfig.xml +0 -4
  194. data/lib/generators/blacklight/user_generator.rb +9 -10
  195. data/package.json +15 -5
  196. data/rollup.config.js +1 -1
  197. data/spec/components/blacklight/advanced_search_form_component_spec.rb +18 -22
  198. data/spec/components/blacklight/constraint_layout_component_spec.rb +8 -8
  199. data/spec/components/blacklight/constraints_component_spec.rb +11 -11
  200. data/spec/components/blacklight/document/action_component_spec.rb +21 -17
  201. data/spec/components/blacklight/document/group_component_spec.rb +10 -15
  202. data/spec/components/blacklight/document/page_header_component_spec.rb +35 -28
  203. data/spec/components/blacklight/document/sidebar_component_spec.rb +9 -30
  204. data/spec/components/blacklight/document_component_spec.rb +98 -65
  205. data/spec/components/blacklight/facet_component_spec.rb +12 -8
  206. data/spec/components/blacklight/facet_item_pivot_component_spec.rb +12 -12
  207. data/spec/components/blacklight/{facet_field_checkboxes_component_spec.rb → facets/checkboxes_component_spec.rb} +14 -14
  208. data/spec/components/blacklight/facets/filters_component_spec.rb +36 -0
  209. data/spec/components/blacklight/facets/index_navigation_component_spec.rb +40 -0
  210. data/spec/components/blacklight/{facet_item_component_spec.rb → facets/item_component_spec.rb} +10 -10
  211. data/spec/components/blacklight/{facet_field_list_component_spec.rb → facets/list_component_spec.rb} +24 -24
  212. data/spec/components/blacklight/facets/suggest_component_spec.rb +68 -0
  213. data/spec/components/blacklight/header_component_spec.rb +2 -4
  214. data/spec/components/blacklight/hidden_search_state_component_spec.rb +7 -7
  215. data/spec/components/blacklight/metadata_field_component_spec.rb +17 -15
  216. data/spec/components/blacklight/response/facet_group_component_spec.rb +37 -0
  217. data/spec/components/blacklight/response/pagination_component_spec.rb +1 -1
  218. data/spec/components/blacklight/response/spellcheck_component_spec.rb +1 -1
  219. data/spec/components/blacklight/search_bar_component_spec.rb +5 -5
  220. data/spec/components/blacklight/search_context/server_applied_params_component_spec.rb +2 -2
  221. data/spec/components/blacklight/search_context/server_item_pagination_component_spec.rb +3 -5
  222. data/spec/components/blacklight/skip_link_component_spec.rb +8 -11
  223. data/spec/components/blacklight/start_over_button_component_spec.rb +4 -4
  224. data/spec/components/blacklight/system/flash_message_component_spec.rb +7 -11
  225. data/spec/controllers/catalog_controller_spec.rb +11 -19
  226. data/spec/features/axe_spec.rb +6 -11
  227. data/spec/features/bookmarks_spec.rb +48 -11
  228. data/spec/features/facets_spec.rb +58 -63
  229. data/spec/features/search_context_spec.rb +1 -2
  230. data/spec/features/search_filters_spec.rb +6 -6
  231. data/spec/helpers/blacklight/configuration_helper_behavior_spec.rb +0 -9
  232. data/spec/helpers/blacklight/facets_helper_behavior_spec.rb +10 -0
  233. data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +1 -1
  234. data/spec/lib/blacklight/configuration/facet_field_spec.rb +2 -2
  235. data/spec/models/blacklight/configuration_spec.rb +32 -28
  236. data/spec/models/blacklight/facet_search_builder_spec.rb +19 -0
  237. data/spec/models/blacklight/search_builder_spec.rb +1 -11
  238. data/spec/models/blacklight/solr/default_filter_query_builder_spec.rb +72 -0
  239. data/spec/models/blacklight/solr/document_spec.rb +0 -4
  240. data/spec/models/blacklight/solr/facet_search_builder_behavior_spec.rb +929 -0
  241. data/spec/models/blacklight/solr/repository_spec.rb +31 -29
  242. data/spec/models/blacklight/solr/request_spec.rb +7 -0
  243. data/spec/models/blacklight/solr/response/facets_spec.rb +86 -40
  244. data/spec/models/blacklight/solr/response/group_response_spec.rb +8 -5
  245. data/spec/models/blacklight/solr/response/group_spec.rb +9 -5
  246. data/spec/models/blacklight/solr/response_spec.rb +96 -64
  247. data/spec/models/blacklight/solr/search_builder_behavior_spec.rb +2 -227
  248. data/spec/models/solr_document_spec.rb +5 -1
  249. data/spec/services/blacklight/search_service_spec.rb +5 -26
  250. data/spec/spec_helper.rb +0 -1
  251. data/spec/support/view_component_test_helpers.rb +0 -18
  252. data/spec/views/catalog/facet.html.erb_spec.rb +10 -11
  253. data/spec/views/catalog/index.atom.builder_spec.rb +6 -3
  254. data/spec/views/catalog/index.html.erb_spec.rb +8 -3
  255. data/spec/views/catalog/show.html.erb_spec.rb +1 -0
  256. data/tasks/blacklight.rake +8 -5
  257. metadata +76 -81
  258. data/app/assets/stylesheets/blacklight/_autocomplete.scss +0 -25
  259. data/app/assets/stylesheets/blacklight/_mixins.scss +0 -20
  260. data/app/components/blacklight/facet_field_list_component.html.erb +0 -19
  261. data/app/components/blacklight/icons/legacy_icon_component.rb +0 -30
  262. data/app/components/blacklight/search/facet_suggest_input.html.erb +0 -12
  263. data/app/components/blacklight/search/facet_suggest_input.rb +0 -20
  264. data/app/javascript/blacklight/index.js +0 -18
  265. data/app/javascript/blacklight/modalForm.js +0 -60
  266. data/app/views/catalog/_constraints.html.erb +0 -1
  267. data/app/views/catalog/_facet_index_navigation.html.erb +0 -1
  268. data/app/views/catalog/_facet_layout.html.erb +0 -8
  269. data/app/views/catalog/_facet_pagination.html.erb +0 -1
  270. data/app/views/catalog/_facets.html.erb +0 -5
  271. data/app/views/catalog/_search_form.html.erb +0 -7
  272. data/app/views/catalog/_search_header.html.erb +0 -1
  273. data/app/views/catalog/_show_sidebar.html.erb +0 -3
  274. data/app/views/catalog/_show_tools.html.erb +0 -2
  275. data/app/views/catalog/_start_over.html.erb +0 -1
  276. data/app/views/shared/_header_navbar.html.erb +0 -1
  277. data/lib/generators/blacklight/assets/sprockets_generator.rb +0 -68
  278. data/spec/components/blacklight/document_metadata_component_spec.rb +0 -0
  279. data/spec/components/blacklight/search/facet_suggest_input_spec.rb +0 -57
  280. data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +0 -43
  281. data/spec/views/catalog/_facet_layout.html.erb_spec.rb +0 -41
  282. data/spec/views/catalog/_search_header.erb_spec.rb +0 -14
  283. data/spec/views/catalog/_show_sidebar.erb_spec.rb +0 -24
  284. data/spec/views/catalog/_show_tools.html.erb_spec.rb +0 -37
  285. /data/app/components/blacklight/{facet_field_checkboxes_component.html.erb → facets/checkboxes_component.html.erb} +0 -0
  286. /data/app/javascript/{blacklight → blacklight-frontend}/button_focus.js +0 -0
  287. /data/app/javascript/{blacklight → blacklight-frontend}/debounce.js +0 -0
  288. /data/app/javascript/{blacklight → blacklight-frontend}/search_context.js +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 42d1dfe9668f99b0ff11b2f48512cb1acf9dff751c635e8149843dc12b385cc6
4
- data.tar.gz: 72a5160f1468897cc467eef2d45c75f30720ab3db5ec74d3f276efc92237da6c
3
+ metadata.gz: 35ec893efb2a95e7a708691df6c41db2053379f1f5fa770a658f8ad39ecb9ce5
4
+ data.tar.gz: 8f9995385332ea84fcf62a67c7b0e41cc43273e23f81f3cc586e6a7203aa46e9
5
5
  SHA512:
6
- metadata.gz: d328631d826acbc41d2e047c6210b222617a006b399226c048310586bfb287c4d780cfd07af4be4578aec0063376830e9a17a05d52e42cc190190996cea7ac1b
7
- data.tar.gz: 173a467accfe2857f458a67f9e6a15aa3819667d1681573903e9fb108acea03f07f5d2f4ea2f0bd11caa5bc876723c0f9dac0a261a202829f7552fd03d3ea839
6
+ metadata.gz: 7b884477b1f809caf3046b28bf7ac118a50affd078566a068f716472f0fbdb95ac7f3c7f48a7afa5239daaded752d014ea5d1fb34e34fda5653610cea71385b1
7
+ data.tar.gz: e0ff913bafcfbd0c47db8f6f184a511525343178b857cd02a3f5b9661dc7533542841eb9f1510900eb5f6ed27715e48f47789e33e950780c37ea7a7cc01fb089
data/.env CHANGED
@@ -1,6 +1,6 @@
1
- ALPINE_RUBY_VERSION=3.1.6
2
- RAILS_VERSION=6.1.4.6
3
- VIEW_COMPONENT_VERSION=3.12.1
1
+ ALPINE_RUBY_VERSION=3.3
2
+ RAILS_VERSION=7.2.1
3
+ VIEW_COMPONENT_VERSION=3.14.0
4
4
  SOLR_PORT=8983
5
5
  SOLR_URL=http://solr:8983/solr/blacklight-core
6
6
  SOLR_VERSION=latest
data/.github/matrix.json CHANGED
@@ -1,35 +1,20 @@
1
1
  {
2
- "ruby": [
3
- "3.3"
4
- ],
5
- "rails_version": [
6
- "7.1.5.1",
7
- "7.2.2.1"
8
- ],
9
- "bootstrap_version": [
10
- null
11
- ],
12
- "view_component_version": [
13
- "~> 3.12"
14
- ],
15
- "api": [
16
- null
17
- ],
18
- "additional_engine_cart_rails_options": [
19
- ""
20
- ],
21
- "additional_name": [
22
- ""
23
- ],
2
+ "ruby": ["3.4"],
3
+ "rails_version": ["7.1.5.1", "7.2.2.1"],
4
+ "bootstrap_version": [null],
5
+ "view_component_version": ["~> 3.12"],
6
+ "api": [null],
7
+ "additional_engine_cart_rails_options": [""],
8
+ "additional_name": [""],
24
9
  "include": [
25
10
  {
26
11
  "ruby": "3.3",
27
- "rails_version": "8.0.1",
12
+ "rails_version": "8.0.2",
28
13
  "additional_engine_cart_rails_options": "--css=bootstrap"
29
14
  },
30
15
  {
31
16
  "ruby": "3.3",
32
- "rails_version": "8.0.1",
17
+ "rails_version": "8.0.2",
33
18
  "additional_engine_cart_rails_options": "--css=bootstrap --js=esbuild",
34
19
  "additional_name": "| esbuild"
35
20
  },
@@ -37,30 +22,14 @@
37
22
  "ruby": "3.2",
38
23
  "rails_version": "7.1.5.1",
39
24
  "solr_version": "8.11.2",
40
- "additional_name": "Solr 8.11.2"
25
+ "additional_name": "| Solr 8.11.2"
41
26
  },
42
27
  {
43
- "ruby": "3.1",
44
- "rails_version": "7.1.5.1"
45
- },
46
- {
47
- "ruby": "3.1",
48
- "rails_version": "7.1.5.1",
49
- "view_component_version": "~> 2.74",
50
- "additional_name": "| ViewComponent 2"
51
- },
52
- {
53
- "ruby": "3.1",
28
+ "ruby": "3.3",
54
29
  "rails_version": "7.1.5.1",
55
30
  "additional_name": "| Propshaft",
56
31
  "additional_engine_cart_rails_options": "-a propshaft --css=bootstrap"
57
32
  },
58
- {
59
- "ruby": "3.1",
60
- "rails_version": "7.1.5.1",
61
- "bootstrap_version": "~> 4.0",
62
- "additional_name": "| Bootstrap 4"
63
- },
64
33
  {
65
34
  "ruby": "3.3",
66
35
  "rails_version": "7.1.5.1",
@@ -0,0 +1,7 @@
1
+ <!--
2
+ Thanks for contributing to Blacklight!
3
+
4
+ If you changed any SASS files in this pull-request, ensure you have built the CSS.
5
+ You can do this by running `npm run build` and commit the resulting changes to `app/assets/builds/blacklight.css`
6
+
7
+ -->
@@ -18,7 +18,5 @@ jobs:
18
18
  uses: ./.github/workflows/lint.yml
19
19
  test:
20
20
  uses: ./.github/workflows/test.yml
21
- with:
22
- ruby: '["3.3"]'
23
21
  docker_build:
24
22
  uses: ./.github/workflows/build.yml
@@ -0,0 +1,39 @@
1
+ # If there are failures running this workflow, please resolve them on the release-7.x branch
2
+ # and then port any necessary changes to this branch.
3
+
4
+ name: release-7.x scheduled
5
+
6
+ on:
7
+ workflow_dispatch:
8
+ schedule:
9
+ # Weekly at 9:35 on Friday
10
+ # Somewhat weird timing so that it isn't delayed too much
11
+ - cron: '35 9 * * 5'
12
+ jobs:
13
+ lint:
14
+ uses: projectblacklight/blacklight/.github/workflows/lint.yml@release-7.x
15
+ with:
16
+ ref: release-7.x
17
+ test:
18
+ uses: projectblacklight/blacklight/.github/workflows/test.yml@release-7.x
19
+ with:
20
+ ref: release-7.x
21
+ docker_build:
22
+ uses: projectblacklight/blacklight/.github/workflows/build.yml@release-7.x
23
+ with:
24
+ ref: release-7.x
25
+ report:
26
+ runs-on: ubuntu-latest
27
+ if: ${{ always() && contains(join(needs.*.result, ','), 'failure') }}
28
+ needs: [lint, test, docker_build]
29
+ steps:
30
+ - name: Report on failure of any dependent job
31
+ env:
32
+ NEEDS: ${{ toJSON(needs) }}
33
+ uses: slackapi/slack-github-action@v2.0.0
34
+ with:
35
+ method: chat.postMessage
36
+ token: ${{ secrets.SLACK_BOT_TOKEN }}
37
+ payload: |
38
+ channel: ${{ secrets.SLACK_CHANNEL_ID }}
39
+ text: "The weekly CI run of the release-7.x branch has failed"
@@ -0,0 +1,39 @@
1
+ # If there are failures running this workflow, please resolve them on the release-8.x branch
2
+ # and then port any necessary changes to this branch.
3
+
4
+ name: release-8.x scheduled
5
+
6
+ on:
7
+ workflow_dispatch:
8
+ schedule:
9
+ # Weekly at 9:35 on Friday
10
+ # Somewhat weird timing so that it isn't delayed too much
11
+ - cron: '35 9 * * 5'
12
+ jobs:
13
+ lint:
14
+ uses: projectblacklight/blacklight/.github/workflows/lint.yml@release-8.x
15
+ with:
16
+ ref: release-8.x
17
+ test:
18
+ uses: projectblacklight/blacklight/.github/workflows/test.yml@release-8.x
19
+ with:
20
+ ref: release-8.x
21
+ docker_build:
22
+ uses: projectblacklight/blacklight/.github/workflows/build.yml@release-8.x
23
+ with:
24
+ ref: release-8.x
25
+ report:
26
+ runs-on: ubuntu-latest
27
+ if: ${{ always() && contains(join(needs.*.result, ','), 'failure') }}
28
+ needs: [lint, test, docker_build]
29
+ steps:
30
+ - name: Report on failure of any dependent job
31
+ env:
32
+ NEEDS: ${{ toJSON(needs) }}
33
+ uses: slackapi/slack-github-action@v2.0.0
34
+ with:
35
+ method: chat.postMessage
36
+ token: ${{ secrets.SLACK_BOT_TOKEN }}
37
+ payload: |
38
+ channel: ${{ secrets.SLACK_CHANNEL_ID }}
39
+ text: "The weekly CI run of the release-8.x branch has failed"
@@ -6,11 +6,6 @@ on:
6
6
  type: string
7
7
  default: ''
8
8
  description: The branch or reference to run the workflow against
9
- ruby:
10
- required: false
11
- type: string
12
- default: ''
13
- description: Deprecated - use matrix.json instead
14
9
  jobs:
15
10
  set_matrix:
16
11
  runs-on: ubuntu-latest
data/.rubocop.yml CHANGED
@@ -1,4 +1,4 @@
1
- require:
1
+ plugins:
2
2
  - rubocop-capybara
3
3
  - rubocop-rspec
4
4
  - rubocop-rspec_rails
@@ -10,8 +10,8 @@ inherit_from:
10
10
 
11
11
  AllCops:
12
12
  DisplayCopNames: true
13
- TargetRubyVersion: 3.0
14
- TargetRailsVersion: 6.1
13
+ TargetRubyVersion: 3.2
14
+ TargetRailsVersion: 7.0
15
15
  Exclude:
16
16
  - "lib/generators/blacklight/templates/**/*"
17
17
  - "blacklight.gemspec"
@@ -585,3 +585,71 @@ Rails/WhereRange: # new in 2.25
585
585
  Enabled: true
586
586
  Gemspec/AddRuntimeDependency: # new in 1.65
587
587
  Enabled: true
588
+ Lint/ArrayLiteralInRegexp: # new in 1.71
589
+ Enabled: true
590
+ Lint/ConstantReassignment: # new in 1.70
591
+ Enabled: true
592
+ Lint/DuplicateSetElement: # new in 1.67
593
+ Enabled: true
594
+ Lint/HashNewWithKeywordArgumentsAsDefault: # new in 1.69
595
+ Enabled: true
596
+ Lint/NumericOperationWithConstantResult: # new in 1.69
597
+ Enabled: true
598
+ Lint/SharedMutableDefault: # new in 1.70
599
+ Enabled: true
600
+ Lint/UnescapedBracketInRegexp: # new in 1.68
601
+ Enabled: true
602
+ Lint/UselessDefined: # new in 1.69
603
+ Enabled: true
604
+ Lint/UselessNumericOperation: # new in 1.66
605
+ Enabled: true
606
+ Style/AmbiguousEndlessMethodDefinition: # new in 1.68
607
+ Enabled: true
608
+ Style/BitwisePredicate: # new in 1.68
609
+ Enabled: true
610
+ Style/CombinableDefined: # new in 1.68
611
+ Enabled: true
612
+ Style/DigChain: # new in 1.69
613
+ Enabled: true
614
+ Style/FileNull: # new in 1.69
615
+ Enabled: true
616
+ Style/FileTouch: # new in 1.69
617
+ Enabled: true
618
+ Style/HashSlice: # new in 1.71
619
+ Enabled: true
620
+ Style/ItAssignment: # new in 1.70
621
+ Enabled: true
622
+ Style/KeywordArgumentsMerging: # new in 1.68
623
+ Enabled: true
624
+ Style/RedundantInterpolationUnfreeze: # new in 1.66
625
+ Enabled: true
626
+ Style/SafeNavigationChainLength: # new in 1.68
627
+ Enabled: true
628
+ Rails/EnumSyntax: # new in 2.26
629
+ Enabled: true
630
+ Rails/MultipleRoutePaths: # new in 2.29
631
+ Enabled: true
632
+ Rails/StrongParametersExpect: # new in 2.29
633
+ Enabled: true
634
+ Lint/CopDirectiveSyntax: # new in 1.72
635
+ Enabled: true
636
+ Lint/RedundantTypeConversion: # new in 1.72
637
+ Enabled: true
638
+ Lint/SuppressedExceptionInNumberConversion: # new in 1.72
639
+ Enabled: true
640
+ Lint/UselessConstantScoping: # new in 1.72
641
+ Enabled: true
642
+ Style/ComparableBetween: # new in 1.74
643
+ Enabled: true
644
+ Style/HashFetchChain: # new in 1.75
645
+ Enabled: true
646
+ Style/ItBlockParameter: # new in 1.75
647
+ Enabled: true
648
+ Style/RedundantFormat: # new in 1.72
649
+ Enabled: true
650
+ Capybara/FindAllFirst: # new in 2.22
651
+ Enabled: true
652
+ Capybara/NegationMatcherAfterVisit: # new in 2.22
653
+ Enabled: true
654
+ RSpec/IncludeExamples: # new in 3.6
655
+ Enabled: true
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2024-09-03 14:22:19 UTC using RuboCop version 1.66.0.
3
+ # on 2025-05-09 14:34:28 UTC using RuboCop version 1.75.5.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -12,6 +12,16 @@ Capybara/CurrentPathExpectation:
12
12
  Exclude:
13
13
  - 'spec/features/alternate_controller_spec.rb'
14
14
 
15
+ # Offense count: 7
16
+ Capybara/NegationMatcherAfterVisit:
17
+ Exclude:
18
+ - 'spec/features/bookmarks_spec.rb'
19
+ - 'spec/features/facets_spec.rb'
20
+ - 'spec/features/modal_spec.rb'
21
+ - 'spec/features/record_view_spec.rb'
22
+ - 'spec/features/search_context_spec.rb'
23
+ - 'spec/features/sitelinks_search_box_spec.rb'
24
+
15
25
  # Offense count: 13
16
26
  Capybara/VisibilityMatcher:
17
27
  Exclude:
@@ -19,15 +29,6 @@ Capybara/VisibilityMatcher:
19
29
  - 'spec/features/search_filters_spec.rb'
20
30
  - 'spec/helpers/blacklight_helper_spec.rb'
21
31
 
22
- # Offense count: 5
23
- # This cop supports safe autocorrection (--autocorrect).
24
- # Configuration parameters: EnforcedStyle.
25
- # SupportedStyles: leading, trailing
26
- Layout/LineContinuationLeadingSpace:
27
- Exclude:
28
- - 'lib/generators/blacklight/controller_generator.rb'
29
- - 'lib/generators/blacklight/user_generator.rb'
30
-
31
32
  # Offense count: 1
32
33
  # This cop supports safe autocorrection (--autocorrect).
33
34
  # Configuration parameters: AllowedMethods, AllowedPatterns.
@@ -44,7 +45,7 @@ Lint/AmbiguousOperator:
44
45
  - 'spec/models/blacklight/facet_paginator_spec.rb'
45
46
  - 'spec/services/blacklight/search_service_spec.rb'
46
47
 
47
- # Offense count: 45
48
+ # Offense count: 43
48
49
  # This cop supports safe autocorrection (--autocorrect).
49
50
  Lint/AmbiguousRegexpLiteral:
50
51
  Exclude:
@@ -54,7 +55,6 @@ Lint/AmbiguousRegexpLiteral:
54
55
  - 'spec/helpers/catalog_helper_spec.rb'
55
56
  - 'spec/models/record_mailer_spec.rb'
56
57
  - 'spec/views/catalog/_document.html.erb_spec.rb'
57
- - 'spec/views/catalog/_search_header.erb_spec.rb'
58
58
  - 'spec/views/catalog/_sort_and_per_page.html.erb_spec.rb'
59
59
  - 'spec/views/catalog/index.html.erb_spec.rb'
60
60
  - 'spec/views/catalog/show.html.erb_spec.rb'
@@ -84,13 +84,7 @@ Lint/EmptyBlock:
84
84
  - 'app/controllers/concerns/blacklight/bookmarks.rb'
85
85
  - 'lib/blacklight/solr/search_builder_behavior.rb'
86
86
 
87
- # Offense count: 1
88
- # Configuration parameters: AllowComments.
89
- Lint/EmptyFile:
90
- Exclude:
91
- - 'spec/components/blacklight/document_metadata_component_spec.rb'
92
-
93
- # Offense count: 48
87
+ # Offense count: 50
94
88
  # Configuration parameters: AllowedParentClasses.
95
89
  Lint/MissingSuper:
96
90
  Enabled: false
@@ -105,12 +99,7 @@ Lint/ParenthesesAsGroupedExpression:
105
99
  - 'spec/features/search_spec.rb'
106
100
  - 'spec/models/blacklight/solr/repository_spec.rb'
107
101
 
108
- # Offense count: 2
109
- Lint/ShadowingOuterLocalVariable:
110
- Exclude:
111
- - 'spec/models/blacklight/configuration_spec.rb'
112
-
113
- # Offense count: 83
102
+ # Offense count: 81
114
103
  # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
115
104
  Metrics/AbcSize:
116
105
  Max: 46
@@ -121,27 +110,27 @@ Metrics/AbcSize:
121
110
  Metrics/BlockLength:
122
111
  Max: 26
123
112
 
124
- # Offense count: 42
113
+ # Offense count: 40
125
114
  # Configuration parameters: AllowedMethods, AllowedPatterns.
126
115
  Metrics/CyclomaticComplexity:
127
- Max: 14
116
+ Max: 13
128
117
 
129
- # Offense count: 78
118
+ # Offense count: 77
130
119
  # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
131
120
  Metrics/MethodLength:
132
121
  Max: 27
133
122
 
134
- # Offense count: 4
123
+ # Offense count: 3
135
124
  # Configuration parameters: CountComments, CountAsOne.
136
125
  Metrics/ModuleLength:
137
- Max: 124
126
+ Max: 114
138
127
 
139
- # Offense count: 8
128
+ # Offense count: 7
140
129
  # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
141
130
  Metrics/ParameterLists:
142
131
  Max: 6
143
132
 
144
- # Offense count: 36
133
+ # Offense count: 33
145
134
  # Configuration parameters: AllowedMethods, AllowedPatterns.
146
135
  Metrics/PerceivedComplexity:
147
136
  Max: 14
@@ -170,7 +159,7 @@ Naming/MethodParameterName:
170
159
  # Offense count: 9
171
160
  # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
172
161
  # SupportedStyles: snake_case, normalcase, non_integer
173
- # AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
162
+ # AllowedIdentifiers: TLS1_1, TLS1_2, capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
174
163
  Naming/VariableNumber:
175
164
  Exclude:
176
165
  - 'spec/lib/blacklight/search_state_spec.rb'
@@ -190,7 +179,7 @@ RSpec/BeforeAfterAll:
190
179
  RSpec/ContextWording:
191
180
  Enabled: false
192
181
 
193
- # Offense count: 138
182
+ # Offense count: 146
194
183
  # Configuration parameters: CountAsOne.
195
184
  RSpec/ExampleLength:
196
185
  Max: 33
@@ -241,7 +230,7 @@ RSpec/MessageChain:
241
230
  - 'spec/presenters/blacklight/field_presenter_spec.rb'
242
231
  - 'spec/views/shared/_user_util_links.html.erb_spec.rb'
243
232
 
244
- # Offense count: 28
233
+ # Offense count: 27
245
234
  # Configuration parameters: EnforcedStyle.
246
235
  # SupportedStyles: have_received, receive
247
236
  RSpec/MessageSpies:
@@ -255,22 +244,22 @@ RSpec/MessageSpies:
255
244
  - 'spec/models/blacklight/suggest_search_spec.rb'
256
245
  - 'spec/presenters/blacklight/field_presenter_spec.rb'
257
246
 
258
- # Offense count: 390
247
+ # Offense count: 401
259
248
  RSpec/MultipleExpectations:
260
249
  Max: 16
261
250
 
262
- # Offense count: 292
251
+ # Offense count: 294
263
252
  # Configuration parameters: AllowSubject.
264
253
  RSpec/MultipleMemoizedHelpers:
265
254
  Max: 14
266
255
 
267
- # Offense count: 399
256
+ # Offense count: 431
268
257
  # Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
269
258
  # SupportedStyles: always, named_only
270
259
  RSpec/NamedSubject:
271
260
  Enabled: false
272
261
 
273
- # Offense count: 60
262
+ # Offense count: 62
274
263
  # Configuration parameters: AllowedGroups.
275
264
  RSpec/NestedGroups:
276
265
  Max: 5
@@ -298,7 +287,7 @@ RSpec/ScatteredLet:
298
287
  Exclude:
299
288
  - 'spec/views/catalog/index.atom.builder_spec.rb'
300
289
 
301
- # Offense count: 20
290
+ # Offense count: 19
302
291
  RSpec/StubbedMock:
303
292
  Exclude:
304
293
  - 'spec/controllers/catalog_controller_spec.rb'
@@ -324,7 +313,7 @@ RSpec/SubjectStub:
324
313
  - 'spec/presenters/blacklight/document_presenter_spec.rb'
325
314
  - 'spec/services/blacklight/search_service_spec.rb'
326
315
 
327
- # Offense count: 80
316
+ # Offense count: 79
328
317
  # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
329
318
  RSpec/VerifiedDoubles:
330
319
  Enabled: false
@@ -337,7 +326,7 @@ Rails/Date:
337
326
  Exclude:
338
327
  - 'spec/models/search_spec.rb'
339
328
 
340
- # Offense count: 20
329
+ # Offense count: 17
341
330
  # Configuration parameters: Include.
342
331
  # Include: app/helpers/**/*.rb
343
332
  Rails/HelperInstanceVariable:
@@ -360,7 +349,7 @@ Rails/OutputSafety:
360
349
  Exclude:
361
350
  - 'app/presenters/blacklight/rendering/join.rb'
362
351
 
363
- # Offense count: 14
352
+ # Offense count: 15
364
353
  Security/Eval:
365
354
  Exclude:
366
355
  - 'spec/models/blacklight/solr/response_spec.rb'
@@ -392,8 +381,10 @@ Style/BlockDelimiters:
392
381
 
393
382
  # Offense count: 52
394
383
  # This cop supports unsafe autocorrection (--autocorrect-all).
395
- # Configuration parameters: EnforcedStyle.
384
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForClasses, EnforcedStyleForModules.
396
385
  # SupportedStyles: nested, compact
386
+ # SupportedStylesForClasses: , nested, compact
387
+ # SupportedStylesForModules: , nested, compact
397
388
  Style/ClassAndModuleChildren:
398
389
  Enabled: false
399
390
 
@@ -418,7 +409,7 @@ Style/DocumentDynamicEvalDefinition:
418
409
  - 'app/builders/blacklight/action_builder.rb'
419
410
  - 'lib/blacklight/configuration/fields.rb'
420
411
 
421
- # Offense count: 133
412
+ # Offense count: 131
422
413
  # Configuration parameters: AllowedConstants.
423
414
  Style/Documentation:
424
415
  Enabled: false
@@ -437,9 +428,9 @@ Style/ExpandPathArguments:
437
428
  - 'lib/generators/blacklight/test_support_generator.rb'
438
429
  - 'lib/generators/blacklight/user_generator.rb'
439
430
 
440
- # Offense count: 16
431
+ # Offense count: 17
441
432
  # This cop supports safe autocorrection (--autocorrect).
442
- # Configuration parameters: MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns.
433
+ # Configuration parameters: MaxUnannotatedPlaceholdersAllowed, Mode, AllowedMethods, AllowedPatterns.
443
434
  # SupportedStyles: annotated, template, unannotated
444
435
  # AllowedMethods: redirect
445
436
  Style/FormatStringToken:
@@ -456,18 +447,17 @@ Style/GuardClause:
456
447
  - 'app/helpers/blacklight/catalog_helper_behavior.rb'
457
448
  - 'lib/blacklight/solr/search_builder_behavior.rb'
458
449
 
459
- # Offense count: 29
450
+ # Offense count: 30
460
451
  # This cop supports safe autocorrection (--autocorrect).
461
452
  Style/IfUnlessModifier:
462
453
  Enabled: false
463
454
 
464
- # Offense count: 6
455
+ # Offense count: 4
465
456
  # This cop supports safe autocorrection (--autocorrect).
466
457
  Style/MultilineIfModifier:
467
458
  Exclude:
468
459
  - 'app/views/catalog/index.atom.builder'
469
460
  - 'lib/blacklight/solr/response/facets.rb'
470
- - 'lib/blacklight/solr/search_builder_behavior.rb'
471
461
 
472
462
  # Offense count: 1
473
463
  # This cop supports safe autocorrection (--autocorrect).
@@ -476,15 +466,7 @@ Style/MultipleComparison:
476
466
  Exclude:
477
467
  - 'lib/blacklight/configuration/context.rb'
478
468
 
479
- # Offense count: 2
480
- # This cop supports unsafe autocorrection (--autocorrect-all).
481
- # Configuration parameters: EnforcedStyle.
482
- # SupportedStyles: literals, strict
483
- Style/MutableConstant:
484
- Exclude:
485
- - 'lib/blacklight/solr/request.rb'
486
-
487
- # Offense count: 9
469
+ # Offense count: 8
488
470
  # This cop supports unsafe autocorrection (--autocorrect-all).
489
471
  # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns.
490
472
  # SupportedStyles: predicate, comparison
@@ -516,13 +498,12 @@ Style/ParenthesesAroundCondition:
516
498
  Exclude:
517
499
  - 'app/views/catalog/_document.atom.builder'
518
500
 
519
- # Offense count: 3
501
+ # Offense count: 1
520
502
  # This cop supports safe autocorrection (--autocorrect).
521
503
  # Configuration parameters: PreferredDelimiters.
522
504
  Style/PercentLiteralDelimiters:
523
505
  Exclude:
524
506
  - 'lib/blacklight/engine.rb'
525
- - 'lib/blacklight/solr/request.rb'
526
507
 
527
508
  # Offense count: 2
528
509
  # This cop supports safe autocorrection (--autocorrect).
@@ -541,20 +522,6 @@ Style/RescueStandardError:
541
522
  - 'lib/blacklight/configuration/fields.rb'
542
523
  - 'lib/railties/blacklight.rake'
543
524
 
544
- # Offense count: 11
545
- # This cop supports unsafe autocorrection (--autocorrect-all).
546
- # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
547
- # AllowedMethods: present?, blank?, presence, try, try!
548
- Style/SafeNavigation:
549
- Exclude:
550
- - 'app/controllers/concerns/blacklight/bookmarks.rb'
551
- - 'app/controllers/concerns/blacklight/controller.rb'
552
- - 'app/services/blacklight/field_retriever.rb'
553
- - 'lib/blacklight.rb'
554
- - 'lib/blacklight/configuration/facet_field.rb'
555
- - 'lib/blacklight/configuration/search_field.rb'
556
- - 'lib/blacklight/solr/search_builder_behavior.rb'
557
-
558
525
  # Offense count: 6
559
526
  # This cop supports safe autocorrection (--autocorrect).
560
527
  # Configuration parameters: AllowAsExpressionSeparator.
@@ -570,7 +537,7 @@ Style/SoleNestedConditional:
570
537
  Exclude:
571
538
  - 'app/controllers/concerns/blacklight/controller.rb'
572
539
 
573
- # Offense count: 32
540
+ # Offense count: 31
574
541
  # This cop supports safe autocorrection (--autocorrect).
575
542
  # Configuration parameters: MinSize.
576
543
  # SupportedStyles: percent, brackets
data/.solr_wrapper.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  # Place any default configuration for solr_wrapper here
2
2
  # port: 8983
3
+ env:
4
+ SOLR_MODULES: analysis-extras
3
5
  collection:
4
6
  dir: lib/generators/blacklight/templates/solr/conf
5
7
  name: blacklight-core
data/README.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  ![CI Workflow](https://github.com/projectblacklight/blacklight/actions/workflows/ruby.yml/badge.svg)
4
4
 
5
+ ## Branches
6
+
7
+ * The `main` branch is currently where we do new development for the upcoming 9.0 release.
8
+ * The `8.x` series is on the [release-8.x](https://github.com/projectblacklight/blacklight/tree/release-8.x) branch
9
+ * The `7.x` series is on the [release-7.x](https://github.com/projectblacklight/blacklight/tree/release-7.x) branch
10
+ * The `6.x` series is on the [release-6.x](https://github.com/projectblacklight/blacklight/tree/release-6.x) branch
11
+
12
+ ## Description
5
13
 
6
14
  Blacklight is an open source Solr user interface discovery platform.
7
15
  You can use Blacklight to enable searching and browsing of your collections.
@@ -53,15 +61,29 @@ Code contributions are always welcome, instructions for contributing can be foun
53
61
  You'll also want some information about how Blacklight expects [Apache Solr](http://lucene.apache.org/solr ) to run, which you can find in [Solr Configuration](https://github.com/projectblacklight/blacklight/wiki/Solr-Configuration#solr-configuration)
54
62
 
55
63
  ## Building the javascript
56
- The javascript is built by npm from sources in `app/javascript` into a bundle
57
- in `app/assets/javascripts/blacklight/blacklight.js`. This file should not be edited
58
- by hand as any changes would be overwritten. When any of the javascript
59
- components in the gem are changed, this bundle should be rebuild with the
60
- following steps:
64
+ The javascript includes some derivative combination files that are built at release time, that can be used by some javascript pipelines. The derivatives are placed at `app/assets/javascripts/blacklight`, and files there should not be edited by hand.
65
+
66
+ When any of the javascript components in the gem are changed, you may have to rebuild these derivative files.
67
+
68
+
61
69
  1. [Install npm](https://www.npmjs.com/get-npm)
62
- 1. run `npm install` to download dependencies
63
- 1. run `npm run prepare` to build the bundle
64
- 1. run `npm publish` to push the javascript package to https://npmjs.org/package/blacklight-frontend
70
+ 1. run `bundle exec rake build:npm`
71
+ (just runs `npm install` to download dependencies and `npm run prepare` to build the bundle)
72
+
73
+
74
+ ## Releasing versions
75
+
76
+ You always need to release both the rubygem and npm package simultaneously. For more information, see [wiki](https://github.com/projectblacklight/blacklight/wiki/How-to-release-a-version)
77
+
78
+ Summary of technical steps:
79
+
80
+ 1. Make sure `./package.json` and `./VERSION` files have correct and matching versions.
81
+ 1. Release ruby gem with `bundle exec rake release`
82
+ 1. Release npm package
83
+ 1. Build derivative products included in release with `bundle exec rake build:npm`
84
+ 1. Publish with `npm publish`.
85
+
86
+
65
87
 
66
88
  ## Using the javascript
67
89
  Blacklight ships with Javascript that can be compiled either by Webpacker or by