github realm/SwiftLint 0.57.0
0.57.0: Squeaky Clean Cycle

10 days ago

Breaking

  • The deprecated anyobject_protocol rule has now been removed.
    Martin Redington
    #5769

  • Revert the part of the non_optional_string_data_conversion
    rule that enforces non-failable conversions of Data to UTF-8
    String. This is due to the fact that the data to be converted
    can be arbitrary and especially doesn't need to represent a valid
    UTF-8-encoded string.
    Sam Rayner
    #5263

Experimental

  • None.

Enhancements

  • Add ignore_multiline_type_headers and ignore_multiline_statement_conditions
    options to opening_brace rule to allow opening braces to be on a new line after
    multiline type headers or statement conditions. Rename allow_multiline_func to
    ignore_multiline_function_signatures.
    leonardosrodrigues0
    #3720

  • Add new optional_data_string_conversion rule to enforce
    failable conversions of Data to UTF-8 String.
    Sam Rayner
    #5263

  • The no_magic_numbers rule will now ignore violations in
    SwiftUI's Preview macro.
    Martin Redington
    #5778

Bug Fixes


Using Bazel

With bzlmod:

// Pending BCR update
bazel_dep(name = "swiftlint", version = "0.57.0", repo_name = "SwiftLint")

Without bzlmod, put this in your WORKSPACE:

WORKSPACE
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_apple",
    sha256 = "9e26307516c4d5f2ad4aee90ac01eb8cd31f9b8d6ea93619fc64b3cbc81b0944",
    url = "https://github.com/bazelbuild/rules_apple/releases/download/2.2.0/rules_apple.2.2.0.tar.gz",
)

load(
    "@build_bazel_rules_apple//apple:repositories.bzl",
    "apple_rules_dependencies",
)

apple_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:repositories.bzl",
    "swift_rules_dependencies",
)

swift_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:extras.bzl",
    "swift_rules_extra_dependencies",
)

swift_rules_extra_dependencies()

http_archive(
    name = "SwiftLint",
    sha256 = "82343de268e63d196cf878bd77e88289ec6ea64054d328e92fe1baae18733104",
    url = "https://github.com/realm/SwiftLint/releases/download/0.57.0/bazel.tar.gz",
)

load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos")

swiftlint_repos()

load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps")

swiftlint_deps()

Then you can run SwiftLint in the current directory with this command:

bazel run @SwiftLint//:swiftlint -- --help

Don't miss a new SwiftLint release

NewReleases is sending notifications on new releases.