Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ jobs:
runs-on: ubuntu-latest
name: test (ruby ${{ matrix.ruby }} / rails ${{ matrix.rails_version }} ${{ matrix.additional_name }})
strategy:
fail-fast: false
matrix:
ruby: ["3.3"]
rails_version: ["7.0.8.4", "7.1.3.4", "7.2.0"]
Expand Down Expand Up @@ -64,6 +65,7 @@ jobs:
additional_engine_cart_rails_options: --api --skip-yarn
additional_name: "/ API"
env:
RSPEC_SEED: 49059
RAILS_VERSION: ${{ matrix.rails_version }}
SOLR_VERSION: ${{ matrix.solr_version || 'latest' }}
VIEW_COMPONENT_VERSION: ${{ matrix.view_component_version }}
Expand Down
52 changes: 29 additions & 23 deletions lib/generators/blacklight/assets/importmap_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,6 @@ module Assets
class ImportmapGenerator < Rails::Generators::Base
class_option :'bootstrap-version', type: :string, default: ENV.fetch('BOOTSTRAP_VERSION', '~> 5.3'), desc: "Set the generated app's bootstrap version"

# This could be skipped if you want to use webpacker
def add_javascript_dependencies
gem 'bootstrap', options[:'bootstrap-version'].presence # in rails 7, only for stylesheets
end

def import_javascript_assets
append_to_file 'config/importmap.rb' do
<<~CONTENT
Expand Down Expand Up @@ -45,27 +40,38 @@ def append_blacklight_javascript
end

def add_stylesheet
if File.exist? 'app/assets/stylesheets/application.bootstrap.scss'
if ENV['CI']
run "yarn add file:#{Blacklight::Engine.root}"
else
run "yarn add blacklight-frontend@#{Blacklight::VERSION}"
end
return generate_with_sassc_rails unless used_bootstrap_css?

append_to_file 'app/assets/stylesheets/application.bootstrap.scss' do
<<~CONTENT
@import "blacklight-frontend/app/assets/stylesheets/blacklight/blacklight";
CONTENT
end
if ENV['CI']
run "yarn add file:#{Blacklight::Engine.root}"
else
gem "sassc-rails", "~> 2.1"
run "yarn add blacklight-frontend@#{Blacklight::VERSION}"
end

append_to_file 'app/assets/stylesheets/application.bootstrap.scss' do
<<~CONTENT
@import "blacklight-frontend/app/assets/stylesheets/blacklight/blacklight";
CONTENT
end
end

private

# Did they generate the rails app with `--css bootstrap' ?
def used_bootstrap_css?
File.exist? 'app/assets/stylesheets/application.bootstrap.scss'
end

create_file 'app/assets/stylesheets/blacklight.scss' do
<<~CONTENT
@import 'bootstrap';
@import 'blacklight/blacklight';
CONTENT
end
def generate_with_sassc_rails
gem "sassc-rails", "~> 2.1"
# This could be skipped if you want to use shakapacker or cssbunding-rails
gem 'bootstrap', options[:'bootstrap-version'].presence

create_file 'app/assets/stylesheets/blacklight.scss' do
<<~CONTENT
@import 'bootstrap';
@import 'blacklight/blacklight';
CONTENT
end
end
end
Expand Down
2 changes: 2 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@
# --seed 1234
config.order = :random

config.seed = ENV['RSPEC_SEED'] if ENV['RSPEC_SEED']

# Seed global randomization in this process using the `--seed` CLI option.
# Setting this allows you to use `--seed` to deterministically reproduce
# test failures related to randomization by passing the same `--seed` value
Expand Down
Loading