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

Adding nx-go requires all users and containers of the repo to install go - is there a configuration option for this? #130

Open
creadicted opened this issue Jul 22, 2024 · 2 comments
Labels
help wanted Extra attention is needed type: feature New feature or request

Comments

@creadicted
Copy link

Solution you'd like

Hello!
we use the library to add a single go service the the nx monorepo. The issue is that only a couple of people work on this service and there is no need for all the devs install go. But everyone gets an error if they just want to start one of the apps through nx console. More important also to build some frontend applications we need to install go in the container. Is there a config or option I am missing to skip the requirement?

Is your feature request related to a problem?

No response

Alternatives you've considered

No response

Additional Information

No response

@utarwyn
Copy link
Member

utarwyn commented Aug 6, 2024

Hello! Thank you for the feedback, sorry for the inconvenience.. 😢

This is something I hadn't anticipated when writing the library: currently, it systematically uses Go to generate the graph between projects, an operation that Nx performs at the start of each action.

We could imagine a mode in which the library doesn't crash if Go isn't present, but only ignores projects managed by nx-go.
Maybe it should be the default? something to think about. I'd love to hear any ideas!

@utarwyn utarwyn added type: feature New feature or request help wanted Extra attention is needed labels Aug 6, 2024
@creadicted
Copy link
Author

Hey! Thank you for the response. The plugin, depending on the circumstances, requires changes in many CI/CD steps. Our team was not aware of that (which is not the fault of the plugin), but this creates a lot of friction. The outcome changes depending on what the expectations are. If you focus on Go, you have it as a base dependency everywhere, including local development and CI/CD. The bigger the project and the more people working on it, the bigger the friction and chance that only a hand full of people work with go. I don't think it should be the default since I am the first that complains. But if a documented flag in the projects.json could do the trick, I would be very happy.

How does the plugin call the generate graph command? Maybe a conditional check returning a warning that Go is missing and therefore the graph generation is skipped would be possible instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed type: feature New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants