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

How does spago use bower? #838

Closed
jgarte opened this issue Jan 15, 2022 · 11 comments
Closed

How does spago use bower? #838

jgarte opened this issue Jan 15, 2022 · 11 comments

Comments

@jgarte
Copy link

jgarte commented Jan 15, 2022

Hi,

Would someone be able to give me a high level overview of how spago depends on and uses bower?

I'm currently reading Bower.hs.

I would just like to have a big picture understanding (forest for the trees) so that I can be more informed reading the source code.

Any help is greatly appreciated.

@f-f
Copy link
Member

f-f commented Jan 17, 2022

@jgarte what's your use case?

Spago uses Bower in various ways when running the spago version command, in preparation for publishing a library. This is the most legacy part of the codebase and we're not interested in fixing it, as the new Registry is about to ship with a new publishing method that doesn't depend on Bower.

@jgarte
Copy link
Author

jgarte commented Jan 17, 2022

@jgarte what's your use case?

Hi @f-f , I'm a GNU GUIX maintainer and I'm trying to check bower off of the list of things I would need to account for in packaging spago. I wasn't sure if spago directly depended on bower or not. Packaging bower for upstream Guix would be no easy task because of Guix's commitment to accounting for all the dependencies in the dependency trail.

Spago uses Bower in various ways when running the spago version command, in preparation for publishing a library. This is the most legacy part of the codebase and we're not interested in fixing it, as the new Registry is about to ship with a new publishing method that doesn't depend on Bower.

Do you have an idea of when the new Registry will ship with a new publishing method that doesn't depend on Bower?

That's great to know. Thanks for the reply and info. Much appreciated

@thomashoneyman
Copy link
Member

Do you have an idea of when the new Registry will ship with a new publishing method that doesn't depend on Bower?

Spago won't be able to drop Bower for at least a year from the date that the Registry ships, as we're providing compatibility with Bower during the transition phase.

Is it possible to package Spago without packaging Bower also? After all, the vast majority of Spago usage is done without the library documentation publishing workflow done via Bower.

@jgarte
Copy link
Author

jgarte commented Jan 17, 2022

Do you have an idea of when the new Registry will ship with a new publishing method that doesn't depend on Bower?

Spago won't be able to drop Bower for at least a year from the date that the Registry ships, as we're providing compatibility with Bower during the transition phase.

Is it possible to package Spago without packaging Bower also? After all, the vast majority of Spago usage is done without the library documentation publishing workflow done via Bower.

Yup, that's the next thing I was thinking of. I'll just package spago and get bower another way. Maybe using nix or npm (unless there is a canonical way for getting bower when using purescript?).

Can I use spago currently without bower if I avoid certain features or is it dependent for vital features of spago?

@thomashoneyman
Copy link
Member

thomashoneyman commented Jan 17, 2022

(unless there is a canonical way for getting bower when using purescript?)

Almost everyone gets bower via NPM, but it can be retrieved via Nix too.

Can I use spago currently without bower if I avoid certain features or is it dependent for vital features of spago?

If you aren't publishing a library, then you can use Spago without Bower.

@jgarte
Copy link
Author

jgarte commented Jan 17, 2022

Can I use spago currently without bower if I avoid certain features or is it dependent for vital features of spago?

If you aren't publishing a library, then you can use Spago without Bower.

Oh, that's good to know! Thanks a lot. I can wait a year to publish a library ;) or just get bower some other way that is not with guix. Thanks again for the insight.

@f-f
Copy link
Member

f-f commented Jan 17, 2022

Thank you @jgarte! And feel free to add Guix to the installation methods if this package is going to be available for all Guix users 🙂

@jgarte
Copy link
Author

jgarte commented Jan 17, 2022

Thank you @jgarte! And feel free to add Guix to the installation methods if this package is going to be available for all Guix users slightly_smiling_face

I'll make sure to add it once spago gets accepted into upstream GNU Guix.

Now, I'm off to start packaging it :) Thanks for all the help! So much appreciated

@jgarte jgarte closed this as completed Jan 17, 2022
@BonfaceKilz
Copy link

Here we are, 1 year later, trying to install spago in GNU Guix. @jgarte how'd you set-up spago in GNU Guix?

@jgarte
Copy link
Author

jgarte commented Jan 25, 2024

¯_(ツ)_/¯

@f-f
Copy link
Member

f-f commented Jan 26, 2024

FYI the new spago does not depend on bower anymore, and it's a javascript thing that gets published on NPM. So if Guix has a way to get npm packages in, then this should be straightforward.

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