Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

nx-go/nx-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

143 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

nx-go logo

Go Nx plugin

First-class support of Go in a Nx workspace

GitHub release Nx version npm Downloads LICENSE Quality Gate Status

Important

v4.0.0-beta is now available! πŸŽ‰
This version brings support for Nx 21+. We look forward to your feedback in #176.

Features

  • πŸš€ Generate Go applications and libraries in seconds within your Nx workspace
  • ⚑ Zero-config setup – Automatic task inference for projects with go.mod
  • πŸ’¨ Blazing-fast tasks – Optimized caching with smart inputs and outputs
  • 🀝 Community friendly – Integration with recognized community projects such as Air
  • πŸ—ƒοΈ Reliable – Use official Go commands in the background

πŸš€ Getting started

You need to have a stable version of Go installed on your machine. And.. you are ready!

Generate a Nx workspace with Go support

npx create-nx-workspace go-workspace --preset=@nx-go/nx-go

Add to an exisiting workspace

nx add @nx-go/nx-go

Migrate to latest version

nx migrate @nx-go/nx-go

Want to try the beta?

# Install it manually in your Nx workspace
npm install -D @nx-go/nx-go@beta
nx g @nx-go/nx-go:init

# Migrate if already using nx-go
nx migrate @nx-go/nx-go@beta

Don't want to use a multi-module Go workspace?

The plugin configures a multi-module Go workspace by default, to simplify project management and improve the quality of the Nx graph. If you don't want to take advantage of this feature, you can use generator convert-to-one-mod after the plugin installation. Generators will automatically adapt to your configuration.

nx g @nx-go/nx-go:convert-to-one-mod

Convert to inferred tasks

You need to have a multi-module Go workspace to use inferred tasks.
Convert existing projects from executor-based to inferred task configuration:

nx g infer-targets

πŸ“– Generators & executors

Generators

Executors

Tip

You can use nx list @nx-go/nx-go to see list capabilities.

Want to try out these capabilities quickly? Visit our playground!

Need more customization? A plugin configuration is also available.

🧩 Compatibility

nx-go version Nx version
4.x 20.x to 22.x
3.x 17.x to 20.x
2.x 13.x to 16.x
1.x < 13.x

This plugin is only tested on stable versions of Go, older versions does not receive support. However, you can expect a fair degree of compatibility. Please note that multi-module Go workspaces require Go 1.18 or later.

Contributors

Utarwyn
Bram Borggreve

Creator
Utarwyn
Maxime Malgorn

Maintainer

Licensed under MIT