This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of Validator with Swift 6.0 (beta) for macOS (SPM).

Swift 6 data race errors: 4

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/space-code/validator.git
Reference: dev
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/space-code/validator
 * branch            dev        -> FETCH_HEAD
 * [new branch]      dev        -> origin/dev
HEAD is now at 93fd649 Update `CHANGELOG.md` (#12)
Cloned https://github.com/space-code/validator.git
Revision (git rev-parse @):
93fd64941225edcbc846f53c0e740d0124ab8ff5
SUCCESS checkout https://github.com/space-code/validator.git at dev
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/space-code/validator.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/15] Compiling ValidatorCore IValidator.swift
[5/16] Compiling ValidatorCore PrefixValidationRule.swift
[6/16] Compiling ValidatorCore RegexValidationRule.swift
[7/16] Compiling ValidatorCore SuffixValidationRule.swift
[8/16] Compiling ValidatorCore NonEmptyValidationRule.swift
[9/16] Compiling ValidatorCore ValidationResult+Equatable.swift
[10/16] Compiling ValidatorCore ValidationResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Classes/Extensions/String+IValidationError.swift:8:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 6 | import Foundation
 7 |
 8 | extension String: IValidationError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public var message: String { self }
10 | }
[11/16] Compiling ValidatorCore String+IValidationError.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Classes/Extensions/String+IValidationError.swift:8:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 6 | import Foundation
 7 |
 8 | extension String: IValidationError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public var message: String { self }
10 | }
[12/16] Emitting module ValidatorCore
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Classes/Extensions/String+IValidationError.swift:8:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 6 | import Foundation
 7 |
 8 | extension String: IValidationError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public var message: String { self }
10 | }
[13/16] Compiling ValidatorCore IValidationError.swift
[14/16] Compiling ValidatorCore IValidationRule.swift
[15/16] Compiling ValidatorCore LengthValidationRule.swift
[16/16] Compiling ValidatorCore Validator.swift
[17/29] Compiling ValidatorUI IFormFieldManager.swift
[18/30] Compiling ValidatorUI FormField.swift
[19/30] Compiling ValidatorUI IFormField.swift
[20/30] Compiling ValidatorUI FormFieldManager.swift
[21/30] Compiling ValidatorUI UITextField+Validation.swift
[22/30] Compiling ValidatorUI View+Validation.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:11:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import ValidatorCore
10 |
11 | private let validator = Validator()
   |             `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public extension View {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
 6 | // MARK: - Validator
 7 |
 8 | public final class Validator {
   |                    `- note: class 'Validator' does not conform to the 'Sendable' protocol
 9 |     // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
 7 |
 8 | import SwiftUI
 9 | import ValidatorCore
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | private let validator = Validator()
   |             |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | public extension View {
[23/30] Compiling ValidatorUI View+ValidationModifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:11:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import ValidatorCore
10 |
11 | private let validator = Validator()
   |             `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public extension View {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
 6 | // MARK: - Validator
 7 |
 8 | public final class Validator {
   |                    `- note: class 'Validator' does not conform to the 'Sendable' protocol
 9 |     // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
 7 |
 8 | import SwiftUI
 9 | import ValidatorCore
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | private let validator = Validator()
   |             |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | public extension View {
[24/30] Compiling ValidatorUI FormValidationContainter.swift
[25/30] Compiling ValidatorUI IFormValidationContainer.swift
[26/30] Emitting module ValidatorUI
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:41:13: warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
39 | }
40 |
41 | private var kValidationRules: UInt8 = 0
   |             |- warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'kValidationRules' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'kValidationRules' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | private var kValidationHandler: UInt8 = 0
43 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:42:13: warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | private var kValidationRules: UInt8 = 0
42 | private var kValidationHandler: UInt8 = 0
   |             |- warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'kValidationHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'kValidationHandler' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 | private let validator = Validator()
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:44:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
   |             `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
45 |
46 | public extension IUIValidatable {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
 6 | // MARK: - Validator
 7 |
 8 | public final class Validator {
   |                    `- note: class 'Validator' does not conform to the 'Sendable' protocol
 9 |     // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
 7 |
 8 | import Foundation
 9 | import ValidatorCore
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | // MARK: - IUIValidatable
   :
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
   |             |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | public extension IUIValidatable {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:11:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import ValidatorCore
10 |
11 | private let validator = Validator()
   |             `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public extension View {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
 6 | // MARK: - Validator
 7 |
 8 | public final class Validator {
   |                    `- note: class 'Validator' does not conform to the 'Sendable' protocol
 9 |     // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
 7 |
 8 | import SwiftUI
 9 | import ValidatorCore
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | private let validator = Validator()
   |             |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | public extension View {
[27/30] Compiling ValidatorUI FormValidationViewModifier.swift
[28/30] Compiling ValidatorUI ValidationViewModifier.swift
[29/30] Compiling ValidatorUI View+EraseToAnyView.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:41:13: warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
39 | }
40 |
41 | private var kValidationRules: UInt8 = 0
   |             |- warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'kValidationRules' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'kValidationRules' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | private var kValidationHandler: UInt8 = 0
43 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:42:13: warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | private var kValidationRules: UInt8 = 0
42 | private var kValidationHandler: UInt8 = 0
   |             |- warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'kValidationHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'kValidationHandler' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 | private let validator = Validator()
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:44:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
   |             `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
45 |
46 | public extension IUIValidatable {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
 6 | // MARK: - Validator
 7 |
 8 | public final class Validator {
   |                    `- note: class 'Validator' does not conform to the 'Sendable' protocol
 9 |     // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
 7 |
 8 | import Foundation
 9 | import ValidatorCore
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | // MARK: - IUIValidatable
   :
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
   |             |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | public extension IUIValidatable {
[30/30] Compiling ValidatorUI IUIValidatable.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:41:13: warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
39 | }
40 |
41 | private var kValidationRules: UInt8 = 0
   |             |- warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'kValidationRules' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'kValidationRules' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | private var kValidationHandler: UInt8 = 0
43 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:42:13: warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | private var kValidationRules: UInt8 = 0
42 | private var kValidationHandler: UInt8 = 0
   |             |- warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'kValidationHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'kValidationHandler' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 | private let validator = Validator()
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:44:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
   |             `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
45 |
46 | public extension IUIValidatable {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
 6 | // MARK: - Validator
 7 |
 8 | public final class Validator {
   |                    `- note: class 'Validator' does not conform to the 'Sendable' protocol
 9 |     // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
 7 |
 8 | import Foundation
 9 | import ValidatorCore
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | // MARK: - IUIValidatable
   :
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
   |             |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | public extension IUIValidatable {
Build complete! (39.54s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Validator",
  "name" : "Validator",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "ValidatorCore",
      "targets" : [
        "ValidatorCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ValidatorUI",
      "targets" : [
        "ValidatorUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ValidatorUITests",
      "module_type" : "SwiftTarget",
      "name" : "ValidatorUITests",
      "path" : "Tests/ValidatorUITests",
      "sources" : [
        "UnitTests/UITextFieldTests.swift"
      ],
      "target_dependencies" : [
        "ValidatorCore",
        "ValidatorUI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ValidatorUI",
      "module_type" : "SwiftTarget",
      "name" : "ValidatorUI",
      "path" : "Sources/ValidatorUI",
      "product_memberships" : [
        "ValidatorUI"
      ],
      "sources" : [
        "Classes/Extensions/View+EraseToAnyView.swift",
        "Classes/IUIValidatable.swift",
        "Classes/SUI/Extensions/View+Validation.swift",
        "Classes/SUI/Extensions/View+ValidationModifier.swift",
        "Classes/SUI/Managers/FormField/FormField/FormField.swift",
        "Classes/SUI/Managers/FormField/FormField/IFormField.swift",
        "Classes/SUI/Managers/FormField/FormFieldManager/FormFieldManager.swift",
        "Classes/SUI/Managers/FormField/FormFieldManager/IFormFieldManager.swift",
        "Classes/SUI/Managers/FormField/FormValidationContainer/FormValidationContainter.swift",
        "Classes/SUI/Managers/FormField/FormValidationContainer/IFormValidationContainer.swift",
        "Classes/SUI/ViewModifiers/FormValidationViewModifier.swift",
        "Classes/SUI/ViewModifiers/ValidationViewModifier.swift",
        "Classes/UIKit/Extensions/UITextField+Validation.swift"
      ],
      "target_dependencies" : [
        "ValidatorCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ValidatorCoreTests",
      "module_type" : "SwiftTarget",
      "name" : "ValidatorCoreTests",
      "path" : "Tests/ValidatorCoreTests",
      "sources" : [
        "UnitTests/Rules/LengthValidationRuleTests.swift",
        "UnitTests/Rules/NonEmptyValidationRuleTests.swift",
        "UnitTests/Rules/PrefixValidationRuleTests.swift",
        "UnitTests/Rules/RegexValidationRuleTests.swift",
        "UnitTests/Rules/SuffixValidationRuleTests.swift",
        "UnitTests/Validator/ValidationResultTests.swift",
        "UnitTests/Validator/ValidatorTests.swift"
      ],
      "target_dependencies" : [
        "ValidatorCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ValidatorCore",
      "module_type" : "SwiftTarget",
      "name" : "ValidatorCore",
      "path" : "Sources/ValidatorCore",
      "product_memberships" : [
        "ValidatorCore",
        "ValidatorUI"
      ],
      "sources" : [
        "Classes/Core/Interfaces/IValidationError.swift",
        "Classes/Core/Interfaces/IValidationRule.swift",
        "Classes/Core/Models/ValidationResult.swift",
        "Classes/Extensions/String+IValidationError.swift",
        "Classes/Extensions/ValidationResult+Equatable.swift",
        "Classes/Rules/LengthValidationRule.swift",
        "Classes/Rules/NonEmptyValidationRule.swift",
        "Classes/Rules/PrefixValidationRule.swift",
        "Classes/Rules/RegexValidationRule.swift",
        "Classes/Rules/SuffixValidationRule.swift",
        "IValidator.swift",
        "Validator.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.