importas icon indicating copy to clipboard operation
importas copied to clipboard

Using importas within golangci-lint w/ both no-unaliased and no-extra-aliases fails

Open johndlong opened this issue 2 years ago • 1 comments

Looking to leverage both no-unaliased and no-extra-aliased flags in golangci-lint, and end up getting results where un-aliased imports start giving problematic results. Ideally we'd have the restrictions provided by both the flags (consistent, always-defined aliases; rejecting any new aliases that aren't described)

linters-settings:
  importas:
    no-unaliased: true
    no-extra-aliases: true
    alias:
...

Which results in a number of issues, where even standard libraries act as if they have an alias but not in the config:

import "time" has alias "" which is not part of config (importas)
        "time"

johndlong avatar Jul 17 '23 22:07 johndlong

To add a bit more detail what the behavior should be in that case:

  • only the packages listed with an alias should always have the alias and never be imported without aliases.

That makes it easier to copy code snippets around between files with those aliases.

nightlyone avatar Jul 27 '23 14:07 nightlyone