Peekaboo/peekaboo-cli/Package.swift
Peter Steinberger 17e73f12f2 Revert to AsyncParsableCommand with parse-as-library
- Remove problematic AsyncAdapter that was causing continuation leaks
- Use AsyncParsableCommand directly with @main attribute
- Add -parse-as-library flag to Package.swift to enable @main
- This fixes the Swift continuation leak issue

Note: Integration tests still timeout in CI environment, likely due to
screen capture permissions or environment differences. The CLI works
correctly when run directly.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 12:09:43 +01:00

37 lines
967 B
Swift

// swift-tools-version: 6.0
import PackageDescription
let package = Package(
name: "peekaboo",
platforms: [
.macOS(.v15)
],
products: [
.executable(
name: "peekaboo",
targets: ["peekaboo"]
)
],
dependencies: [
.package(url: "https://github.com/apple/swift-argument-parser", from: "1.0.0")
],
targets: [
.executableTarget(
name: "peekaboo",
dependencies: [
.product(name: "ArgumentParser", package: "swift-argument-parser")
],
swiftSettings: [
.enableExperimentalFeature("StrictConcurrency"),
.unsafeFlags(["-parse-as-library"])
]
),
.testTarget(
name: "peekabooTests",
dependencies: ["peekaboo"],
swiftSettings: [
.enableExperimentalFeature("StrictConcurrency")
]
)
]
)