{"id":22260782,"url":"https://github.com/hrvadl/pkgcollision","last_synced_at":"2025-03-25T13:25:51.499Z","repository":{"id":257356800,"uuid":"858021006","full_name":"hrvadl/pkgcollision","owner":"hrvadl","description":"Linter to check whether you have variable name collision with imported packages.","archived":false,"fork":false,"pushed_at":"2024-09-16T07:28:09.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T12:24:40.528Z","etag":null,"topics":["collision","collision-detection","go","golang","linter","package","variable"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hrvadl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-16T06:53:20.000Z","updated_at":"2024-09-16T17:47:11.000Z","dependencies_parsed_at":"2024-09-16T08:21:17.401Z","dependency_job_id":"5341f3b4-74af-49cc-8765-4c919e6d5481","html_url":"https://github.com/hrvadl/pkgcollision","commit_stats":null,"previous_names":["hrvadl/pkgcollision"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrvadl%2Fpkgcollision","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrvadl%2Fpkgcollision/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrvadl%2Fpkgcollision/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrvadl%2Fpkgcollision/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hrvadl","download_url":"https://codeload.github.com/hrvadl/pkgcollision/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245469535,"owners_count":20620606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collision","collision-detection","go","golang","linter","package","variable"],"created_at":"2024-12-03T09:09:59.743Z","updated_at":"2025-03-25T13:25:51.465Z","avatar_url":"https://github.com/hrvadl.png","language":"Go","readme":"# pkgcollision\n\npkgcollision is a program to check whether you have variable name collision with the packages you imported.\n\n## Install\n\n```sh\ngo install github.com/hrvadl/pkgcollision/cmd/pkgcollision\n```\n\n## Usage\n\nTo scan all packages run:\n\n```sh\npkgcollision ./...\n```\n\nTo scan specific packages run:\n\n```sh\npkgcollision pkgName\n```\n\n## Example\n\nLet's say you have following code:\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/hrvadl/pkgcollision/internal/app\"\n)\n\nfunc main() {\n\tapp := app.New()\n\tfmt.Println(app)\n}\n```\n\n`pkgcollision` will produce the following output:\n\n```sh\n/Users/vadym.hrashchenko/go/pkgcollision/cmd/pkgcollision/main.go:10:2: found collision with package 'app': app := app.New()\n```\n\n## Rules\n\nIt forbids to name variables with the same name as imported packages. Package name collision can be annoying and can even lead\nto unexpected errors, therefore it'd be better to avoid it.\n\n## Inspired by\n\n- [100 Go mistakes and how to avoid them](https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them)\n\n## TODO\n\n- Add ignore comments\n- Add ignore path options\n- Enhace README.md\n- Add tests\n- More meaningfull error message\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrvadl%2Fpkgcollision","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhrvadl%2Fpkgcollision","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrvadl%2Fpkgcollision/lists"}