realm / SwiftLint

A tool to enforce Swift style and conventions.
https://realm.github.io/SwiftLint
MIT License
18.6k stars 2.22k forks source link

`file_types_order` stopped working with partial `order` set #5755

Open username0x0a opened 1 month ago

username0x0a commented 1 month ago

New Issue Checklist

Bug Description

Previously (with 0.53.0) we had the file_types_order configured like this:

file_types_order:
  order: [[SwiftLintFramework.FileType.mainType], [SwiftLintFramework.FileType.previewProvider]]

so that it only checks that the main SwiftUI type is preceding its related PreviewProvider type.

Now after updating to 0.56.1 I just noticed the values naming in the order parameter changed, so I simply updated the config with this setup:

file_types_order:
  order: [[main_type], [preview_provider]]

which should be equivalent to the previous one in new terms. Yet I'm getting a ton of warnings related to other types (like f.e. extensions between classes, structs or whatever) not defined in our configuration. I find this breaking & I'd love to continue using this rule to just check the order of the specified subset of type identifiers.

Curiously, I can't seem to find any note on a change in the changelog diff in the first place so I can't really say when exactly this change happened.

Environment

SimplyDanny commented 1 month ago

Browsing through the Git history I cannot believe a value like SwiftLintFramework.FileType.mainType has ever worked. 😅

Also, that you now suddenly see more warnings doesn't really make sense.

Can you provide a very succinct example with a configuration that doesn't trigger 0.53.0 but 0.56.1? Can you even try how 0.54.0 and 0.55.0 behave?