// swift-tools-version: 6.2 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let commonSwiftSettings: [SwiftSetting] = [ .enableExperimentalFeature("StrictConcurrency"), .enableUpcomingFeature("InferIsolatedConformances"), .enableUpcomingFeature("NonisolatedNonsendingByDefault"), .defaultIsolation(nil), .swiftLanguageMode(.v6) ] let package = Package( name: "Meow", platforms: [.iOS(.v18), .macOS(.v15)], products: [ // Products define the executables and libraries a package produces, making them visible to other packages. .library( name: "CatFactsKit", targets: ["CatFactsKit"] ), .library( name: "Root", targets: ["Root"] ) ], dependencies: [ .package(url: "https://github.com/WeTransfer/Mocker", from: "3.0.2"), .package(url: "https://github.com/pointfreeco/swift-composable-architecture", from: "1.23.1"), ], targets: [ // Targets are the basic building blocks of a package, defining a module or a test suite. // Targets can depend on other targets in this package and products from dependencies. .target( name: "CatFactsKit", swiftSettings: commonSwiftSettings ), .target( name: "Root", dependencies: [ "CatFactsKit", .product(name: "ComposableArchitecture", package: "swift-composable-architecture") ], swiftSettings: commonSwiftSettings ), .testTarget( name: "CatFactsKitTests", dependencies: [ "CatFactsKit", "Mocker" ], resources: [ .process("Fixtures") ], swiftSettings: commonSwiftSettings ), ] )