Is your feature request related to a problem? Please describe.
When trying to build the project in the Nix sandbox (which has no network access), the build now fails during the dependency fetch phase. Right now the choice is using cURL or npm to fetch deps—neither of which can be used.
Building aside & more practically, mod_invites can be both disabled or point to another endpoint all together meaning there is already 2 cases where these dependencies won’t be used at all making it an minimum a wasteful download.
Describe the solution you'd like
One of
- make a configure/environment variable that that can this block entirely (great for those not opting into
mod_invites)
- detect first that
priv/mod_invites/static/ isn’t empty before trying to run fetchers
- fully vendor the
*.min.* files into the project
- remove the dependencies entirely
4 would be best since what is on that single page should be fairly small/straightforward which would not demand such a dependency chain. Ideally the CSS classes in the code would be semantic so downstream can easily modify or even replace the style sheet entirely.
Describe alternatives you've considered
To try to get the update for Nixpkgs, I need to decide on either running IFD for the POSIX script (which currently doesn’t work, see: #4553) or pull in the entire npm toolchain just to call install for fetching dependencies (manually fetching is infeasible since y’all added SRIs to the assets which would mean a failed dep update wouldn’t be discovered until it fails at runtime—which is likely why the build moved off of relying on OS updates). Neither option is ideal (simple cURL but IFD is slow, or a massive toolchain), but can be done, however… (the actual issue)
Even once I do that to get the dependencies, make must called which will try to run these fetcher regardless anyhow which fail without network access. Which means the makefile will need patching just to use those fetched dependencies. If there were at least an env var to opt out, I could put the files where they are expected to be (not to mention the derivation could now easily opt the user out to reduce the closure size if mod_invites is not used), & everything would run just fine.
Additional context
Add any other context or screenshots about the feature request here.
Is your feature request related to a problem? Please describe.
When trying to build the project in the Nix sandbox (which has no network access), the build now fails during the dependency fetch phase. Right now the choice is using cURL or npm to fetch deps—neither of which can be used.
Building aside & more practically,
mod_invitescan be both disabled or point to another endpoint all together meaning there is already 2 cases where these dependencies won’t be used at all making it an minimum a wasteful download.Describe the solution you'd like
One of
mod_invites)priv/mod_invites/static/isn’t empty before trying to run fetchers*.min.*files into the project4 would be best since what is on that single page should be fairly small/straightforward which would not demand such a dependency chain. Ideally the CSS classes in the code would be semantic so downstream can easily modify or even replace the style sheet entirely.
Describe alternatives you've considered
To try to get the update for Nixpkgs, I need to decide on either running IFD for the POSIX script (which currently doesn’t work, see: #4553) or pull in the entire npm toolchain just to call install for fetching dependencies (manually fetching is infeasible since y’all added SRIs to the assets which would mean a failed dep update wouldn’t be discovered until it fails at runtime—which is likely why the build moved off of relying on OS updates). Neither option is ideal (simple cURL but IFD is slow, or a massive toolchain), but can be done, however… (the actual issue)
Even once I do that to get the dependencies,
makemust called which will try to run these fetcher regardless anyhow which fail without network access. Which means the makefile will need patching just to use those fetched dependencies. If there were at least an env var to opt out, I could put the files where they are expected to be (not to mention the derivation could now easily opt the user out to reduce the closure size ifmod_invitesis not used), & everything would run just fine.Additional context
Add any other context or screenshots about the feature request here.