Skip to content

Commit

Permalink
Add packages individually
Browse files Browse the repository at this point in the history
  • Loading branch information
taylor-steve committed Oct 1, 2024
1 parent f3eaaf1 commit aef96c8
Show file tree
Hide file tree
Showing 13 changed files with 93 additions and 69,907 deletions.
23,158 changes: 2 additions & 23,156 deletions app/assets/javascripts/spotlight/spotlight.esm.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion app/assets/javascripts/spotlight/spotlight.esm.js.map

Large diffs are not rendered by default.

23,258 changes: 52 additions & 23,206 deletions app/assets/javascripts/spotlight/spotlight.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion app/assets/javascripts/spotlight/spotlight.js.map

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions app/javascript/spotlight/core.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import Blacklight from "blacklight-frontend";
import Blacklight from "blacklight-frontend"
import SirTrevor from "sir-trevor"

const Spotlight = function() {
var buffer = [];
Expand Down Expand Up @@ -26,7 +27,7 @@ const Spotlight = function() {

// This allows us to configure Spotlight in app/views/layouts/base.html.erb
window.Spotlight = Spotlight

window.SirTrevor = SirTrevor
export default Spotlight

Blacklight.onLoad(function() {
Expand Down
30 changes: 27 additions & 3 deletions lib/generators/spotlight/assets/propshaft_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,14 @@ class PropshaftGenerator < Rails::Generators::Base
DESCRIPTION

def install_dependencies
copy_file 'package.json', 'package.json'
copy_file 'package.json', 'package.json' unless File.exist?('package.json')
run 'yarn add @hotwired/turbo-rails'
run 'yarn add clipboard'
run 'yarn add jquery'
run 'yarn add jquery-serializejson'
run 'yarn add leaflet'
run 'yarn add leaflet-iiif'
run 'yarn add sir-trevor'
run 'yarn install'
end

Expand All @@ -28,6 +35,11 @@ def add_blacklight_frontend

def add_bootstrap
run "yarn add bootstrap@\"~#{bootstrap_yarn_version}\""
if bootstrap4?
run 'yarn add popper.js'
else
run 'yarn add @popperjs/core'
end
end

def install_gems
Expand Down Expand Up @@ -62,12 +74,20 @@ def add_frontend
end

def add_javascript
copy_file 'assets/spotlight.js', 'app/javascript/application.js', force: true
gsub_file 'app/javascript/application.js', 'import "controllers"', '// import "controllers"'

append_to_file 'app/javascript/application.js', "\n// Bootstrap\nimport * as Bootstrap from 'bootstrap'\n"

if Blacklight::VERSION.start_with?('7')
append_to_file 'app/javascript/application.js', "\n// Blacklight\nimport \"blacklight-frontend/app/assets/javascripts/blacklight/blacklight.js\"\n"
end

append_to_file 'app/javascript/application.js', "\n// Spotlight\nimport Spotlight from \"spotlight-frontend\"\n"
end

def add_stylesheets
copy_file 'assets/application.sass.scss', 'app/assets/stylesheets/application.sass.scss', force: true
copy_file 'assets/spotlight.scss', 'app/assets/stylesheets/spotlight.scss'
append_to_file 'app/assets/stylesheets/application.sass.scss', "\n@import \"spotlight\";\n"
end

# This resolves a bundling issue with bootstrap/popper on esbuild.
Expand All @@ -84,6 +104,10 @@ def bootstrap_yarn_version
options[:'bootstrap-version'].match(/(\d+(\.\d+)*)/)[0]
end

def bootstrap4?
bootstrap_yarn_version.start_with?('4')
end

# Yarn link was including so many files (and a circular reference) that Propshaft was having a bad time.
def link_spotlight_frontend
empty_directory 'node_modules/spotlight-frontend'
Expand Down

This file was deleted.

13 changes: 0 additions & 13 deletions lib/generators/spotlight/templates/assets/spotlight.js

This file was deleted.

8 changes: 0 additions & 8 deletions lib/generators/spotlight/templates/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
{
"dependencies": {
"@hotwired/turbo-rails": "^8.0.4",
"@popperjs/core": "2.11.8",
"clipboard": "^2.0.11",
"jquery": "^3.7.1",
"jquery-serializejson": "^3.2.1",
"leaflet-iiif": "^3.0.0",
"leaflet": "^1.9.4",
"sass": "^1.77.7"
},
"devDependencies": {
"esbuild": "^0.23.1"
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
"jquery": "^3.7.1",
"jquery-serializejson": "^3.2.1",
"leaflet": "^1.9.4",
"leaflet-iiif": "^3.0.0"
"leaflet-iiif": "^3.0.0",
"sir-trevor": "^0.8.2"
}
}
6 changes: 4 additions & 2 deletions rollup.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ const external = [
'clipboard',
'jquery-serializejson',
'jquery',
'leaflet'
'leaflet',
'sir-trevor'
]
const globals = {
'blacklight-frontend': 'Blacklight',
clipboard: 'Clipboard',
jquery: 'jQuery',
leaflet: 'L'
leaflet: 'L',
'sir-trevor': 'SirTrevor'
}

let includePathOptions = {
Expand Down
2 changes: 1 addition & 1 deletion template.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
bootstrap_version = ENV.fetch('BOOTSTRAP_VERSION', '4')

# Add gem dependencies to the application
gem 'blacklight', ' ~> 7.0'
gem 'blacklight', ' ~> 7.38'
gem 'blacklight-spotlight', ENV['SPOTLIGHT_GEM'] ? { path: ENV['SPOTLIGHT_GEM'] } : { github: 'projectblacklight/spotlight' }
gem 'sidekiq'
gem 'bootstrap_form', /(\d)(?:\.\d){0,2}/.match(bootstrap_version)[1].to_i == 5 ? '~> 5.4' : '~> 4.5'
Expand Down
Loading

0 comments on commit aef96c8

Please sign in to comment.