blacklight 7.41.0 → 7.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 999d98759b905568ee633ca05e1d7b054564d9bd7467d55e7bf816da365a1941
4
- data.tar.gz: 452085f8079287d578b2141429077134ea68dd9a7da08372971f868acfe28f14
3
+ metadata.gz: 52a04abd135541f36cb96f7e8538c190b034ca08d2a66a52b46bc7ac22c1ee21
4
+ data.tar.gz: 26250b77f584c4b7d7316dd51a86fb465444e30c91f3c3bcd6ff5899a8012b65
5
5
  SHA512:
6
- metadata.gz: c5f9ed2a7d1f1b03b8a1f704a5233eec2aa6885ca2637ef60e315a286e834740388f3c8c203f0cc78b98bc6c9463cf562fcd54bdc5f2e6423c4c2925a26bdc32
7
- data.tar.gz: 78c0f61b1c4d821f084eea9a994947042c7f3afb3c8383ece3f95a44498d227f558256460ef215197e6b776aac52f53158b1e53aaca0267fc774de0c52d5938e
6
+ metadata.gz: b9c4b32a75d4bbefe63e2cb4e54d2e221d110a152014b7150c124950c8a457da8059ab5ed87a0bbe2a7e0d754914abad0457745366a4060b62878284e95076b6
7
+ data.tar.gz: aa0a5810de6e1b1eb19a611061b310e093f57179261c3eff3f8e6a8830cb03ef47f5ce22800f2a9a3653a1867842d12786a1d805ee3d3e26e856c5e85d753574
data/.github/matrix.json CHANGED
@@ -38,6 +38,15 @@
38
38
  "ruby": "3.4",
39
39
  "rails_version": "8.0.2"
40
40
  },
41
+ {
42
+ "ruby": "3.4",
43
+ "rails_version": "8.1.3"
44
+ },
45
+ {
46
+ "ruby": "3.4",
47
+ "rails_version": "8.1.3",
48
+ "bootstrap_version": "~> 4.0"
49
+ },
41
50
  {
42
51
  "ruby": "3.3",
43
52
  "rails_version": "7.1.5.1",
@@ -4,7 +4,7 @@ on:
4
4
  ref:
5
5
  required: false
6
6
  type: string
7
- default: ''
7
+ default: ""
8
8
  description: The branch or reference to run the workflow against
9
9
  jobs:
10
10
  set_matrix:
@@ -43,7 +43,6 @@ jobs:
43
43
  - name: Set up Ruby
44
44
  uses: ruby/setup-ruby@v1
45
45
  with:
46
- bundler: "latest"
47
46
  ruby-version: ${{ matrix.ruby }}
48
47
  - name: Change permissions
49
48
  run: "chmod -f -R o-w /opt/hostedtoolcache/Ruby/3.2.5/x64/lib/ruby/gems/3.2.0/gems | :"
data/.rubocop.yml CHANGED
@@ -1,4 +1,4 @@
1
- require:
1
+ plugins:
2
2
  - rubocop-capybara
3
3
  - rubocop-rails
4
4
  - rubocop-rspec
data/.rubocop_todo.yml CHANGED
@@ -8,12 +8,12 @@
8
8
 
9
9
  # Offense count: 4
10
10
  # This cop supports safe autocorrection (--autocorrect).
11
- Capybara/CurrentPathExpectation:
11
+ Capybara/RSpec/CurrentPathExpectation:
12
12
  Exclude:
13
13
  - 'spec/features/alternate_controller_spec.rb'
14
14
 
15
15
  # Offense count: 20
16
- Capybara/VisibilityMatcher:
16
+ Capybara/RSpec/VisibilityMatcher:
17
17
  Exclude:
18
18
  - 'spec/features/facets_spec.rb'
19
19
  - 'spec/features/search_filters_spec.rb'
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
- dir: lib/generators/blacklight/templates/solr/conf
6
+ dir: lib/generators/blacklight/templates/solr/
5
7
  name: blacklight-core
data/VERSION CHANGED
@@ -1 +1 @@
1
- 7.41.0
1
+ 7.42.0
@@ -40,7 +40,7 @@ module Blacklight::SearchFields
40
40
  # if not set in blacklight_config, defaults to first field listed in #search_field_list
41
41
  # @deprecated
42
42
  def default_search_field
43
- blacklight_config.default_search_field || (Deprecation.silence(Blacklight::SearchFields) { search_field_list.first })
43
+ blacklight_config.default_search_field || Deprecation.silence(Blacklight::SearchFields) { search_field_list.first }
44
44
  end
45
45
  deprecation_deprecate default_search_field: 'Use Blacklight::Configuration#default_search_field'
46
46
  end
data/blacklight.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
25
25
 
26
26
  s.required_ruby_version = '>= 2.7'
27
27
 
28
- s.add_dependency "rails", '>= 6.1', '< 8.1'
28
+ s.add_dependency "rails", '>= 6.1', '< 9'
29
29
  s.add_dependency "globalid"
30
30
  s.add_dependency "jbuilder", '~> 2.7'
31
31
  s.add_dependency "kaminari", ">= 0.15" # the pagination (page 1,2,3, etc..) of our search results
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ pin_all_from File.expand_path("../app/javascript/blacklight", __dir__), under: "blacklight"
@@ -16,20 +16,20 @@ module Blacklight
16
16
 
17
17
  def normalize! _blacklight_config = nil
18
18
  self.field ||= key
19
- self.key ||= self.field
19
+ self.key ||= field
20
20
 
21
21
  self.label ||= default_label
22
22
 
23
23
  self.if = true if self.if.nil?
24
24
  self.unless = false if self.unless.nil?
25
25
 
26
- self.field &&= self.field.to_s
26
+ self.field &&= field.to_s
27
27
 
28
28
  self
29
29
  end
30
30
 
31
31
  def validate!
32
- raise ArgumentError, "Must supply a field name" if self.field.nil?
32
+ raise ArgumentError, "Must supply a field name" if field.nil?
33
33
  end
34
34
 
35
35
  def display_label(context = nil, **options)
@@ -43,10 +43,10 @@ module Blacklight
43
43
  end
44
44
 
45
45
  def default_label
46
- if self.key.respond_to?(:titleize)
47
- self.key.titleize
46
+ if key.respond_to?(:titleize)
47
+ key.titleize
48
48
  else
49
- self.key.to_s.titleize
49
+ key.to_s.titleize
50
50
  end
51
51
  end
52
52
 
@@ -9,13 +9,13 @@ module Blacklight
9
9
  self.field ||= label&.parameterize
10
10
  self.field ||= sort
11
11
 
12
- self.sort ||= self.field
12
+ self.sort ||= field
13
13
 
14
14
  self
15
15
  end
16
16
 
17
17
  def validate!
18
- raise ArgumentError.new, "Must supply a sort string" if self.sort.nil?
18
+ raise ArgumentError.new, "Must supply a sort string" if sort.nil?
19
19
  end
20
20
  end
21
21
  end
@@ -38,13 +38,18 @@ module Blacklight
38
38
  end
39
39
  end
40
40
 
41
- initializer "blacklight.assets.precompile" do
41
+ initializer "blacklight.assets.precompile" do |app|
42
42
  PRECOMPILE_ASSETS = %w(favicon.ico blacklight/blacklight.js blacklight/blacklight.js.map).freeze
43
43
 
44
44
  # When Rails has been generated in API mode, it does not have sprockets available
45
- if Rails.application.config.respond_to?(:assets)
46
- Rails.application.config.assets.precompile += PRECOMPILE_ASSETS
47
- end
45
+ next unless app.config.respond_to?(:assets)
46
+
47
+ app.config.assets.paths << Engine.root.join("app/javascript")
48
+ app.config.assets.precompile += PRECOMPILE_ASSETS
49
+ end
50
+
51
+ initializer "blacklight.importmap", before: "importmap" do |app|
52
+ app.config.importmap.paths << Engine.root.join("config/importmap.rb") if app.config.respond_to?(:importmap)
48
53
  end
49
54
 
50
55
  bl_global_config = OpenStructWithHashAccess.new
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Assets
5
+ class ImportmapGenerator < Rails::Generators::Base
6
+ class_option :'bootstrap-version', type: :string, default: ENV.fetch('BOOTSTRAP_VERSION', '~> 5.1'), desc: "Set the generated app's bootstrap version"
7
+
8
+ # This could be skipped if you want to use webpacker
9
+ def add_javascript_dependencies
10
+ gem 'bootstrap', options[:'bootstrap-version'].presence # in rails 7, only for stylesheets
11
+ gem 'jquery-rails' if bootstrap_4? # Bootstrap 4 has a dependency on jquery
12
+ end
13
+
14
+ def import_javascript_assets
15
+ append_to_file 'config/importmap.rb' do
16
+ <<~CONTENT
17
+ pin "@github/auto-complete-element", to: "https://cdn.skypack.dev/@github/auto-complete-element"
18
+ pin "@popperjs/core", to: "https://ga.jspm.io/npm:@popperjs/core@2.11.6/dist/umd/popper.min.js"
19
+ pin "bootstrap", to: "https://ga.jspm.io/npm:bootstrap@#{(defined?(Bootstrap) && Bootstrap::VERSION) || '5.2.2'}/dist/js/bootstrap.js"
20
+ CONTENT
21
+ end
22
+
23
+ append_to_file 'app/assets/config/manifest.js' do
24
+ <<~CONTENT
25
+ //= link blacklight/manifest.js
26
+ CONTENT
27
+ end
28
+ end
29
+
30
+ def append_blacklight_javascript
31
+ append_to_file 'app/javascript/application.js' do
32
+ <<~CONTENT
33
+ import bootstrap from "bootstrap"
34
+ import githubAutoCompleteElement from "@github/auto-complete-element"
35
+ import Blacklight from "blacklight"
36
+ CONTENT
37
+ end
38
+ end
39
+
40
+ def add_stylesheet
41
+ gem "sassc-rails", "~> 2.1" if Rails.version > '7'
42
+
43
+ create_file 'app/assets/stylesheets/blacklight.scss' do
44
+ <<~CONTENT
45
+ @import 'bootstrap';
46
+ @import 'blacklight/blacklight';
47
+ CONTENT
48
+ end
49
+ end
50
+
51
+ def bootstrap_4?
52
+ options[:'bootstrap-version'].match?(/\A[^0-9]*4\./)
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Assets
5
+ class PropshaftGenerator < Rails::Generators::Base
6
+ def add_package
7
+ if ENV['CI']
8
+ run "yarn add blacklight-frontend:#{Blacklight::Engine.root}"
9
+ else
10
+ run 'yarn add blacklight-frontend'
11
+ end
12
+ end
13
+
14
+ def add_third_party_packages
15
+ run 'yarn add @github/auto-complete-element'
16
+ end
17
+
18
+ def add_package_assets
19
+ append_to_file 'app/assets/stylesheets/application.bootstrap.scss' do
20
+ <<~CONTENT
21
+ @import "blacklight-frontend/app/assets/stylesheets/blacklight/blacklight";
22
+ CONTENT
23
+ end
24
+
25
+ append_to_file 'app/javascript/application.js' do
26
+ <<~CONTENT
27
+ import Blacklight from "blacklight-frontend";
28
+ import githubAutoCompleteElement from "@github/auto-complete-element";
29
+ CONTENT
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,100 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Assets
5
+ class SprocketsGenerator < Rails::Generators::Base
6
+ class_option :'bootstrap-version', type: :string, default: ENV.fetch('BOOTSTRAP_VERSION', '~> 4.0'), desc: "Set the generated app's bootstrap version"
7
+
8
+ def replace_propshaft_with_sprockets
9
+ return if defined?(Sprockets)
10
+
11
+ # Rails 8+ defaults to Propshaft, but Blacklight 7.x JS requires Sprockets
12
+ gsub_file 'Gemfile', /^gem ['"]propshaft['"].*$/, '# \0'
13
+ gem 'sprockets-rails'
14
+ end
15
+
16
+ def add_javascript_dependencies
17
+ gem 'bootstrap', options[:'bootstrap-version'].presence
18
+ gem 'jquery-rails'
19
+ gem 'twitter-typeahead-rails', '0.11.1.pre.corejavascript'
20
+ end
21
+
22
+ def add_sass_support
23
+ gem "sassc-rails", "~> 2.1" if Rails.version > '7'
24
+ end
25
+
26
+ def setup_sprockets_manifest
27
+ if !defined?(Sprockets)
28
+ # Rails 8+ with Propshaft replaced: create Sprockets config from scratch
29
+ directory = File.expand_path('app/assets/config', destination_root)
30
+ FileUtils.mkdir_p(directory)
31
+ create_file 'app/assets/config/manifest.js' do
32
+ <<~CONTENT
33
+ //= link_tree ../images
34
+ //= link_directory ../stylesheets .css
35
+ //= link application.js
36
+ CONTENT
37
+ end
38
+ empty_directory 'app/assets/images'
39
+ elsif defined?(Sprockets::VERSION) && Sprockets::VERSION >= '4'
40
+ append_to_file 'app/assets/config/manifest.js', "\n//= link application.js"
41
+ empty_directory 'app/assets/images'
42
+ end
43
+ end
44
+
45
+ def assets # rubocop:disable Metrics/MethodLength
46
+ create_file 'app/assets/stylesheets/blacklight.scss' do
47
+ <<~CONTENT
48
+ @import 'bootstrap';
49
+ @import 'blacklight/blacklight';
50
+ CONTENT
51
+ end
52
+
53
+ # Ensure application.css is a proper Sprockets manifest that loads blacklight styles
54
+ application_css = File.expand_path('app/assets/stylesheets/application.css', destination_root)
55
+ if File.exist?(application_css)
56
+ content = File.read(application_css)
57
+ unless content.include?('require blacklight')
58
+ create_file 'app/assets/stylesheets/application.css', force: true do
59
+ <<~CONTENT
60
+ /*
61
+ *= require blacklight
62
+ *= require_self
63
+ */
64
+ CONTENT
65
+ end
66
+ end
67
+ end
68
+
69
+ # Ensure this method is idempotent
70
+ return if has_blacklight_assets?
71
+
72
+ create_file 'app/assets/javascripts/application.js' do
73
+ <<~CONTENT
74
+ //= require jquery3
75
+ //= require rails-ujs
76
+
77
+ // Required by Blacklight
78
+ //= require popper
79
+ // Twitter Typeahead for autocomplete
80
+ //= require twitter/typeahead
81
+ //= require bootstrap
82
+ //= require blacklight/blacklight
83
+ CONTENT
84
+ end
85
+ end
86
+
87
+ private
88
+
89
+ def has_blacklight_assets?
90
+ application_js.include?('blacklight/blacklight')
91
+ end
92
+
93
+ def application_js
94
+ path = File.expand_path("app/assets/javascripts/application.js", destination_root)
95
+
96
+ File.exist?(path) ? File.read(path) : ''
97
+ end
98
+ end
99
+ end
100
+ end
@@ -1,94 +1,17 @@
1
1
  # frozen_string_literal: true
2
- module Blacklight
3
- class Assets < Rails::Generators::Base
4
- source_root File.expand_path('../templates', __FILE__)
5
-
6
- class_option :'bootstrap-version', type: :string, default: ENV.fetch('BOOTSTRAP_VERSION', '~> 4.0'), desc: "Set the generated app's bootstrap version"
7
-
8
- # This could be skipped if you want to use webpacker
9
- def add_javascript_dependencies
10
- gem 'bootstrap', options[:'bootstrap-version']
11
- gem 'twitter-typeahead-rails', '0.11.1.pre.corejavascript'
12
- end
13
-
14
- def appease_rails7
15
- return unless Rails.version > '7'
16
-
17
- gem "sassc-rails", "~> 2.1"
18
- end
19
-
20
- # Add sprockets javascript if needed
21
- def create_sprockets_javascript
22
- create_file 'app/assets/javascripts/application.js' do
23
- <<~CONTENT
24
- //= require jquery3
25
- //= require rails-ujs
26
- #{'//= require turbolinks' if Rails.version < '7'}
27
- CONTENT
28
- end
29
- end
30
-
31
- ##
32
- # Remove the empty generated app/assets/images directory. Without doing this,
33
- # the default Sprockets 4 manifest will raise an exception.
34
- def appease_sprockets4
35
- return if !defined?(Sprockets::VERSION) || Sprockets::VERSION < '4' || using_importmap?
36
-
37
- append_to_file 'app/assets/config/manifest.js', "\n//= link application.js\n"
38
- empty_directory 'app/assets/images'
39
- end
40
-
41
- def assets
42
- copy_file "blacklight.scss", "app/assets/stylesheets/blacklight.scss"
43
-
44
- # Ensure this method is idempotent
45
- return if has_blacklight_assets?
46
2
 
47
- gem 'jquery-rails'
48
- contents = "\n//\n// Required by Blacklight\n"
49
- contents += "//= require popper\n"
50
- contents += "// Twitter Typeahead for autocomplete\n"
51
- contents += "//= require twitter/typeahead\n"
52
- contents += "//= require bootstrap\n"
53
- contents += "//= require blacklight/blacklight\n"
3
+ require 'shellwords'
54
4
 
55
- marker = if turbolinks?
56
- '//= require turbolinks'
57
- else
58
- '//= require rails-ujs'
59
- end
60
-
61
- insert_into_file "app/assets/javascripts/application.js", after: marker do
62
- contents
63
- end
64
-
65
- insert_into_file "app/assets/javascripts/application.js", before: '//= require rails-ujs' do
66
- "//= require jquery3\n"
67
- end
68
- end
69
-
70
- private
71
-
72
- def root
73
- @root ||= Pathname(destination_root)
74
- end
75
-
76
- def using_importmap?
77
- @using_importmap ||= root.join('config/importmap.rb').exist?
78
- end
79
-
80
- def turbolinks?
81
- @turbolinks ||= application_js.include?('turbolinks')
82
- end
83
-
84
- def has_blacklight_assets?
85
- application_js.include?('blacklight/blacklight')
86
- end
5
+ module Blacklight
6
+ class AssetsGenerator < Rails::Generators::Base
7
+ class_option :'bootstrap-version', type: :string, default: ENV.fetch('BOOTSTRAP_VERSION', '~> 4.0'), desc: "Set the generated app's bootstrap version"
87
8
 
88
- def application_js
89
- path = File.expand_path("app/assets/javascripts/application.js", destination_root)
9
+ def run_asset_pipeline_specific_generator
10
+ generated_options = "--bootstrap-version='#{Shellwords.escape(options[:'bootstrap-version'])}'" if options[:'bootstrap-version']
90
11
 
91
- File.exist?(path) ? File.read(path) : ''
12
+ # Blacklight 7.x JS is distributed via Sprockets (//= require directives, jQuery, etc.)
13
+ # so we always use the sprockets generator regardless of what Rails defaulted to.
14
+ generate 'blacklight:assets:sprockets', generated_options
92
15
  end
93
16
  end
94
17
  end
@@ -11,7 +11,7 @@ module Blacklight
11
11
  class_option :devise, type: :boolean, default: false, aliases: "-d", desc: "Use Devise as authentication logic."
12
12
  class_option :marc, type: :boolean, default: false, aliases: "-m", desc: "Generate MARC-based demo."
13
13
  class_option :'bootstrap-version', type: :string, default: nil, desc: "Set the generated app's bootstrap version"
14
- class_option :'skip-assets', type: :boolean, default: !defined?(Sprockets), desc: "Skip generating javascript and css assets into the application"
14
+ class_option :'skip-assets', type: :boolean, default: false, desc: "Skip generating javascript and css assets into the application"
15
15
  class_option :'skip-solr', type: :boolean, default: false, desc: "Skip generating solr configurations."
16
16
 
17
17
  desc <<-EOS
@@ -41,7 +41,7 @@ module Blacklight
41
41
 
42
42
  def bundle_install
43
43
  inside destination_root do
44
- Bundler.with_clean_env do
44
+ Bundler.with_unbundled_env do
45
45
  run "bundle install"
46
46
  end
47
47
  end
@@ -23,7 +23,7 @@
23
23
 
24
24
  <dataDir>${solr.data.dir:}</dataDir>
25
25
 
26
- <requestHandler name="search" class="solr.SearchHandler" default="true">
26
+ <requestHandler name="/select" class="solr.SearchHandler" default="true">
27
27
  <!-- default values for query parameters can be specified, these
28
28
  will be overridden by parameters in the request
29
29
  -->
@@ -47,7 +47,6 @@
47
47
  full_title_tsim
48
48
  short_title_tsim
49
49
  alternative_title_tsim
50
- active_fedora_model_ssi
51
50
  title_tsim
52
51
  author_tsim
53
52
  subject_tsim
@@ -84,7 +83,6 @@
84
83
  <str name="facet">true</str>
85
84
  <str name="facet.mincount">1</str>
86
85
  <str name="facet.limit">10</str>
87
- <str name="facet.field">active_fedora_model_ssi</str>
88
86
  <str name="facet.field">subject_ssim</str>
89
87
 
90
88
  <str name="spellcheck">true</str>
@@ -116,7 +114,6 @@
116
114
  full_title_tsim
117
115
  short_title_tsim
118
116
  alternative_title_tsim
119
- active_fedora_model_ssi
120
117
  title_tsim
121
118
  author_tsim
122
119
  subject_tsim
@@ -153,7 +150,6 @@
153
150
  <str name="facet">true</str>
154
151
  <str name="facet.mincount">1</str>
155
152
  <str name="facet.limit">10</str>
156
- <str name="facet.field">active_fedora_model_ssi</str>
157
153
  <str name="facet.field">subject_ssim</str>
158
154
 
159
155
  <str name="spellcheck">true</str>
@@ -257,8 +253,8 @@
257
253
 
258
254
  <requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
259
255
 
260
- <requestDispatcher handleSelect="true" >
261
- <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
256
+ <requestDispatcher>
257
+ <requestParsers multipartUploadLimitInKB="2048" />
262
258
  </requestDispatcher>
263
259
 
264
260
  <requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blacklight-frontend",
3
- "version": "7.41.0",
3
+ "version": "7.42.0",
4
4
  "description": "The frontend code and styles for Blacklight",
5
5
  "main": "app/assets/javascripts/blacklight",
6
6
  "scripts": {
@@ -3,7 +3,7 @@
3
3
  RSpec.describe Blacklight::Base do
4
4
  subject { controller }
5
5
 
6
- let(:controller) { Deprecation.silence(described_class) { (Class.new(ApplicationController) { include Blacklight::Base }).new } }
6
+ let(:controller) { Deprecation.silence(described_class) { Class.new(ApplicationController) { include Blacklight::Base }.new } }
7
7
 
8
8
  describe "#search_state" do
9
9
  subject { controller.send(:search_state) }
@@ -231,8 +231,7 @@ RSpec.describe Blacklight::FacetsHelperBehavior do
231
231
  context "when one of the facet items is rendered as nil" do
232
232
  # An app may override render_facet_item to filter out some undesired facet items by returning nil.
233
233
  before do
234
- allow(helper.method(:render_facet_item)).to receive(:owner).and_return(self.class)
235
- # allow_any_instance_of(Blacklight::FacetItemComponent).to receive(:overridden_helper_methods?).and_return(true)
234
+ allow_any_instance_of Blacklight::FacetItemComponent.to receive(:overridden_helper_methods?).and_return(true) # rubocop:disable RSpec/AnyInstance
236
235
  allow(helper).to receive(:render_facet_item).and_return('<a class="facet-select">Book</a>'.html_safe, nil)
237
236
  end
238
237
 
@@ -11,7 +11,7 @@ class TestAppGenerator < Rails::Generators::Base
11
11
  def run_blacklight_generator
12
12
  say_status("warning", "GENERATING BL", :yellow)
13
13
 
14
- Bundler.with_clean_env do
14
+ Bundler.with_unbundled_env do
15
15
  run "bundle install"
16
16
  end
17
17
  options = '--devise'
@@ -24,7 +24,7 @@ def with_solr
24
24
  # We're being invoked by the app entrypoint script and solr is already up via docker compose
25
25
  if ENV['SOLR_ENV'] == 'docker-compose'
26
26
  yield
27
- elsif system('docker compose -v')
27
+ elsif system('docker compose version')
28
28
  # We're not running `docker compose up' but still want to use a docker instance of solr.
29
29
  begin
30
30
  puts "Starting Solr"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.41.0
4
+ version: 7.42.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
@@ -17,7 +17,7 @@ authors:
17
17
  autorequire:
18
18
  bindir: exe
19
19
  cert_chain: []
20
- date: 2025-05-30 00:00:00.000000000 Z
20
+ date: 2026-06-09 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails
@@ -28,7 +28,7 @@ dependencies:
28
28
  version: '6.1'
29
29
  - - "<"
30
30
  - !ruby/object:Gem::Version
31
- version: '8.1'
31
+ version: '9'
32
32
  type: :runtime
33
33
  prerelease: false
34
34
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,7 +38,7 @@ dependencies:
38
38
  version: '6.1'
39
39
  - - "<"
40
40
  - !ruby/object:Gem::Version
41
- version: '8.1'
41
+ version: '9'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: globalid
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -729,6 +729,7 @@ files:
729
729
  - app/views/shared/_user_util_links.html.erb
730
730
  - blacklight.gemspec
731
731
  - config/i18n-tasks.yml
732
+ - config/importmap.rb
732
733
  - config/locales/blacklight.ar.yml
733
734
  - config/locales/blacklight.ca.yml
734
735
  - config/locales/blacklight.de.yml
@@ -792,6 +793,9 @@ files:
792
793
  - lib/blacklight/solr/response/spelling.rb
793
794
  - lib/blacklight/solr/search_builder_behavior.rb
794
795
  - lib/blacklight/version.rb
796
+ - lib/generators/blacklight/assets/importmap_generator.rb
797
+ - lib/generators/blacklight/assets/propshaft_generator.rb
798
+ - lib/generators/blacklight/assets/sprockets_generator.rb
795
799
  - lib/generators/blacklight/assets_generator.rb
796
800
  - lib/generators/blacklight/controller_generator.rb
797
801
  - lib/generators/blacklight/document_generator.rb
@@ -1012,7 +1016,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1012
1016
  - !ruby/object:Gem::Version
1013
1017
  version: '0'
1014
1018
  requirements: []
1015
- rubygems_version: 3.5.9
1019
+ rubygems_version: 3.4.1
1016
1020
  signing_key:
1017
1021
  specification_version: 4
1018
1022
  summary: Blacklight provides a discovery interface for any Solr (http://lucene.apache.org/solr)