Go Package Mapper
 
 
Go to file
jolheiser b26f95ab49
ci/woodpecker/push/goreleaser Pipeline was successful Details
ci/woodpecker/tag/goreleaser Pipeline was successful Details
Fix version (#11)
Co-authored-by: jolheiser <john.olheiser@gmail.com>
Reviewed-on: #11
2022-07-25 04:43:32 +00:00
.woodpecker Update for goreleaser (#10) 2022-07-25 03:49:44 +00:00
cmd/gpm Update for goreleaser (#10) 2022-07-25 03:49:44 +00:00
docker Update for goreleaser (#10) 2022-07-25 03:49:44 +00:00
internal Update for goreleaser (#10) 2022-07-25 03:49:44 +00:00
.gitignore Initial commit 2020-02-18 23:18:36 -06:00
.goreleaser.yaml Fix version (#11) 2022-07-25 04:43:32 +00:00
DOCS.md Update for goreleaser (#10) 2022-07-25 03:49:44 +00:00
LICENSE Rewrite (#7) 2021-02-28 13:04:05 +08:00
README.md Refactor (#9) 2021-11-03 04:37:57 +00:00
client.go Update for goreleaser (#10) 2022-07-25 03:49:44 +00:00
docs.go Update for goreleaser (#10) 2022-07-25 03:49:44 +00:00
go.mod Update for goreleaser (#10) 2022-07-25 03:49:44 +00:00
go.sum Update for goreleaser (#10) 2022-07-25 03:49:44 +00:00
package.go Update for goreleaser (#10) 2022-07-25 03:49:44 +00:00

README.md

GPM

Go Package Mapping

Motivation

I personally use a lot of nice libraries in Go, but every time I start a new project I have to go hunting for import paths again!

Enter GPM, a glorified mapping of simple names to go-get imports.

For example, I use urfave/cli for all of my CLI projects. I've used it enough times to remember the import path, but let's say I didn't.
Using either a GPM server or local config, I can instead gpm get cli which finds cli in my map and runs go get github.com/urfave/cli/v2.

Commands

  • add - Add a local package
  • remove - Remove a local package
  • list - List local packages
  • config - Change local configuration
  • get - Get a list of packages
    • e.g. gpm get zerolog survey bbolt cli chi to get all the modules needed for gpm itself (assuming the map resolves to the same packages)
  • server - Start a gpm server

Server

gpm will call out to a gpm server to find a package.
This makes it much simpler to have a central library of packages rather than exporting and importing between environments.

Want to run your own server? It's very easy! This CLI comes packaged with the server inside, simply run gpm server to start up a GPM server.
Remember to set a --token!
Put it behind your favorite reverse proxy, and it's ready to go!

License

MIT