Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generated manifest.js is broken #2995

Open
mephillips-durham opened this issue Nov 21, 2023 · 4 comments
Open

Generated manifest.js is broken #2995

mephillips-durham opened this issue Nov 21, 2023 · 4 comments

Comments

@mephillips-durham
Copy link
Contributor

If you bootstrap a new Rails application, following the instructions in README.md then the generated app/assets/config/manifest.js is broken in two ways.

Firstly, two of the lines are concatenated, and secondly the "link application.js" line causes a DoubleLinkError as noted by @jcoyne in #2896

The full file, as generated is

//= link_tree ../images
//= link_directory ../stylesheets .css

//= link application.js

//= link spotlight/manifest.js
//= link openseadragon-assets

//= link blacklight_gallery/manifest.js//= link_tree ../../javascript .js
//= link_tree ../../../vendor/javascript .js

I don't know whether the fault is in Spotlight itself, or in a related gem like Blacklight gallery (which is mentioned in the penultimate line, where there is a newline missing).

@dnoneill
Copy link
Contributor

I am getting a very similar issue when following instructions in https://github.com/projectblacklight/spotlight?tab=readme-ov-file#installation. See attached screenshot. I am using Rails 7.0.8.1, Ruby 3.3.0
Screenshot 2024-03-18 at 3 03 13 PM

@dnoneill
Copy link
Contributor

dnoneill commented Apr 9, 2024

@hudajkhan and I looked into this and wasn't able to fix. The problem is two fold.

  1. //= link blackligh_gallery/manifest.js is on the same line as //=link_tree ../../javascript .js. They need to be separate lines to work.
  2. there are two application.js files being imported. One located in app/assets/javascripts/application.js and the other app/javascript/application.js

It looks like the importer deletes one of the application.js files but it ends up popping back up. @jcoyne @cbeer any ideas?

@jcoyne
Copy link
Member

jcoyne commented Apr 9, 2024

No idea. I haven't worked on this in years. It's probably due to the churn in how Rails has packaged assets from 4-7, and how Blacklight is dealing with that and how Spotlight hasn't seen a lot of attention.

@corylown
Copy link
Contributor

corylown commented Aug 14, 2024

The DoubleLinkError does not occur when generating the test app (seems to have been fixed in 176837f) where remove_file 'app/javascript/application.js' was added to the generator. However, I think that during app generation following the installation instructions (SKIP_TRANSLATION=1 rails new app-name -m https://raw.githubusercontent.com/projectblacklight/spotlight/main/template.rb), the app/javascript/application.js doesn't exist yet when remove_file is executed and gets added later, possible because of the order in which bundle install is run. However, I think this may be fixed when we add support for importmaps to Spotlight, which is work in progress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants