Download Latest Version 0.59.1_ Crisp Spring Clean source code.tar.gz (845.8 kB)
Email in envelope

Get an email when there's a new version of SwiftLint

Home / 0.58.1
Name Modified Size InfoDownloads / Week
Parent folder
SwiftLintBinary.artifactbundle.zip 2025-01-15 40.9 MB
bazel.tar.gz 2025-01-15 477.2 kB
bazel.tar.gz.sha256 2025-01-15 116 Bytes
portable_swiftlint.zip 2025-01-15 11.0 MB
SwiftLint.pkg 2025-01-15 11.0 MB
swiftlint_linux.zip 2025-01-15 30.0 MB
0.58.1_ New Year_s Fresh Fold source code.tar.gz 2025-01-15 831.9 kB
0.58.1_ New Year_s Fresh Fold source code.zip 2025-01-15 1.2 MB
README.md 2025-01-15 3.5 kB
Totals: 9 Items   95.3 MB 0

Breaking

  • If you are referring to the swiftlint binary from an Artifact Bundle consumed via Swift Package Manager in an Xcode Run Script Build Phase, make sure to update the path from

bash "$SWIFT_PACKAGE_DIR"/swiftlintplugins/SwiftLintBinary/SwiftLintBinary.artifactbundle/swiftlint-*/bin/swiftlint

to

bash "$SWIFT_PACKAGE_DIR"/swiftlintplugins/SwiftLintBinary/SwiftLintBinary.artifactbundle/swiftlint-*-macos/bin/swiftlint

in order to make Xcode use the binary built for macOS.
SimplyDanny #5954

  • Revert changes to improve performance when exclude patterns resolve to a large set of files. While resolving files indeed got much faster in certain setups, it leads to missed exclusions for nested configurations and when the linted folder is not the current folder.
    SimplyDanny #5953

Experimental

  • None.

Enhancements

  • None.

Bug Fixes

  • Fix redundant_sendable correction by removing a remaining trailing comma as well when Sendable was last.
    SimplyDanny #5952

  • Remove lints for redundant_sendable on protocols, where Sendable is not redundant.
    riley-williams #5958

  • Add ib_segue_action to default configuration of type_contents_order rule on the same level as ib_action to define and document a standard position.
    SimplyDanny #5524


Using Bazel

With bzlmod:

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

Without bzlmod, put this in your WORKSPACE:

WORKSPACE :::python 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 = "94b2c63592859e0fc60f53ff4002b9ceb87fb712106ce250548261860d8a9575", url = "https://github.com/realm/SwiftLint/releases/download/0.58.1/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:

:::console
bazel run @SwiftLint//:swiftlint -- --help
Source: README.md, updated 2025-01-15