diff --git a/package.json b/package.json index 5ca7d4c..15ab327 100644 --- a/package.json +++ b/package.json @@ -3,18 +3,18 @@ "private": true, "packageManager": "pnpm@10.18.1", "scripts": { - "swift:doctor": "tsswift doctor --path swiftapp/SocialIO.xcodeproj", - "swift:emulators": "tsswift emulators --path swiftapp/SocialIO.xcodeproj", - "swift:build": "tsswift build --path swiftapp/SocialIO.xcodeproj", - "swift:build:macos": "tsswift build --path swiftapp/SocialIO.xcodeproj --platform macos", - "swift:test": "tsswift test --path swiftapp/SocialIO.xcodeproj", - "swift:run": "tsswift run --path swiftapp/SocialIO.xcodeproj", - "swift:launch": "tsswift launch --path swiftapp/SocialIO.xcodeproj", - "swift:command:inbox": "tsswift command --path swiftapp/SocialIO.xcodeproj --route socialio://mailbox/inbox", - "swift:screenshots:ios": "tsswift screenshots --path swiftapp/SocialIO.xcodeproj --platform ios", - "swift:screenshots:ipad": "tsswift screenshots --path swiftapp/SocialIO.xcodeproj --platform ipad", - "swift:screenshots:macos": "tsswift screenshots --path swiftapp/SocialIO.xcodeproj --platform macos", - "swift:review": "tsswift review --path swiftapp/SocialIO.xcodeproj" + "swift:doctor": "tsswift doctor --path swift/SocialIO.xcodeproj", + "swift:emulators": "tsswift emulators --path swift/SocialIO.xcodeproj", + "swift:build": "tsswift build --path swift/SocialIO.xcodeproj", + "swift:build:macos": "tsswift build --path swift/SocialIO.xcodeproj --platform macos", + "swift:test": "tsswift test --path swift/SocialIO.xcodeproj", + "swift:run": "tsswift run --path swift/SocialIO.xcodeproj", + "swift:launch": "tsswift launch --path swift/SocialIO.xcodeproj", + "swift:command:inbox": "tsswift command --path swift/SocialIO.xcodeproj --route socialio://mailbox/inbox", + "swift:screenshots:ios": "tsswift screenshots --path swift/SocialIO.xcodeproj --platform ios", + "swift:screenshots:ipad": "tsswift screenshots --path swift/SocialIO.xcodeproj --platform ipad", + "swift:screenshots:macos": "tsswift screenshots --path swift/SocialIO.xcodeproj --platform macos", + "swift:review": "tsswift review --path swift/SocialIO.xcodeproj" }, "devDependencies": { "@git.zone/tsswift": "0.3.0" diff --git a/readme.md b/readme.md index 6523845..588ad66 100644 --- a/readme.md +++ b/readme.md @@ -14,7 +14,7 @@ Multiplatform SwiftUI mail client scaffold for macOS, iPadOS, and iOS. ## Open the project 1. Install/select full Xcode on this Mac. -2. Open `swiftapp/SocialIO.xcodeproj`. +2. Open `swift/SocialIO.xcodeproj`. 3. Build the `SocialIO` scheme for: - `My Mac` - an iPad simulator @@ -35,7 +35,7 @@ corepack pnpm swift:launch corepack pnpm swift:review ``` -This repo now uses `@git.zone/tsswift` with project config in `swiftapp/.smartconfig.json`. +This repo now uses `@git.zone/tsswift` with project config in `swift/.smartconfig.json`. - `build` targets macOS, iPhone Simulator, and iPad Simulator in parallel - `test` targets macOS, which matches the current test bundle setup @@ -46,9 +46,9 @@ This repo now uses `@git.zone/tsswift` with project config in `swiftapp/.smartco Useful direct commands: ```bash -corepack pnpm exec tsswift prefer-emulator --path swiftapp/SocialIO.xcodeproj --platform ios --udid -corepack pnpm exec tsswift prefer-emulator --path swiftapp/SocialIO.xcodeproj --platform ipad --udid -corepack pnpm exec tsswift command --path swiftapp/SocialIO.xcodeproj --route 'socialio://open?thread=launch-copy&message=launch-copy-2' +corepack pnpm exec tsswift prefer-emulator --path swift/SocialIO.xcodeproj --platform ios --udid +corepack pnpm exec tsswift prefer-emulator --path swift/SocialIO.xcodeproj --platform ipad --udid +corepack pnpm exec tsswift command --path swift/SocialIO.xcodeproj --route 'socialio://open?thread=launch-copy&message=launch-copy-2' ``` ## App control contract @@ -105,7 +105,7 @@ corepack pnpm swift:screenshots:ipad corepack pnpm swift:screenshots:macos ``` -The route list now lives in `swiftapp/Automation/ui-screenshot-routes.txt`. +The route list now lives in `swift/Automation/ui-screenshot-routes.txt`. ## Standard UI review loop @@ -122,7 +122,7 @@ That flow now: - builds and captures a macOS review pass - saves the review set to `/tmp/socialio-ui-review/ios`, `/tmp/socialio-ui-review/ipad`, and `/tmp/socialio-ui-review/macos` -Simulator selection is now handled through `tsswift emulators` and `tsswift prefer-emulator`, and the chosen devices are written into `swiftapp/.smartconfig.json`. +Simulator selection is now handled through `tsswift emulators` and `tsswift prefer-emulator`, and the chosen devices are written into `swift/.smartconfig.json`. The macOS capture path still needs Accessibility and Screen Recording permission for the terminal app that runs the command, because `tsswift` positions the app window before each screenshot. diff --git a/swiftapp/.smartconfig.json b/swift/.smartconfig.json similarity index 100% rename from swiftapp/.smartconfig.json rename to swift/.smartconfig.json diff --git a/swiftapp/Automation/ui-screenshot-routes.txt b/swift/Automation/ui-screenshot-routes.txt similarity index 100% rename from swiftapp/Automation/ui-screenshot-routes.txt rename to swift/Automation/ui-screenshot-routes.txt diff --git a/swiftapp/SocialIO.xcodeproj/project.pbxproj b/swift/SocialIO.xcodeproj/project.pbxproj similarity index 100% rename from swiftapp/SocialIO.xcodeproj/project.pbxproj rename to swift/SocialIO.xcodeproj/project.pbxproj diff --git a/swiftapp/SocialIO.xcodeproj/xcshareddata/xcschemes/SocialIO.xcscheme b/swift/SocialIO.xcodeproj/xcshareddata/xcschemes/SocialIO.xcscheme similarity index 100% rename from swiftapp/SocialIO.xcodeproj/xcshareddata/xcschemes/SocialIO.xcscheme rename to swift/SocialIO.xcodeproj/xcshareddata/xcschemes/SocialIO.xcscheme diff --git a/swiftapp/Sources/App/AppControlService.swift b/swift/Sources/App/AppControlService.swift similarity index 100% rename from swiftapp/Sources/App/AppControlService.swift rename to swift/Sources/App/AppControlService.swift diff --git a/swiftapp/Sources/App/AppNavigationCommand.swift b/swift/Sources/App/AppNavigationCommand.swift similarity index 100% rename from swiftapp/Sources/App/AppNavigationCommand.swift rename to swift/Sources/App/AppNavigationCommand.swift diff --git a/swiftapp/Sources/App/AppViewModel.swift b/swift/Sources/App/AppViewModel.swift similarity index 100% rename from swiftapp/Sources/App/AppViewModel.swift rename to swift/Sources/App/AppViewModel.swift diff --git a/swiftapp/Sources/App/SocialIOApp.swift b/swift/Sources/App/SocialIOApp.swift similarity index 100% rename from swiftapp/Sources/App/SocialIOApp.swift rename to swift/Sources/App/SocialIOApp.swift diff --git a/swiftapp/Sources/Core/Models/MailModels.swift b/swift/Sources/Core/Models/MailModels.swift similarity index 100% rename from swiftapp/Sources/Core/Models/MailModels.swift rename to swift/Sources/Core/Models/MailModels.swift diff --git a/swiftapp/Sources/Core/Services/MockMailService.swift b/swift/Sources/Core/Services/MockMailService.swift similarity index 100% rename from swiftapp/Sources/Core/Services/MockMailService.swift rename to swift/Sources/Core/Services/MockMailService.swift diff --git a/swiftapp/Sources/Features/Mail/MailRootView.swift b/swift/Sources/Features/Mail/MailRootView.swift similarity index 100% rename from swiftapp/Sources/Features/Mail/MailRootView.swift rename to swift/Sources/Features/Mail/MailRootView.swift diff --git a/swiftapp/Tests/AppNavigationCommandTests.swift b/swift/Tests/AppNavigationCommandTests.swift similarity index 100% rename from swiftapp/Tests/AppNavigationCommandTests.swift rename to swift/Tests/AppNavigationCommandTests.swift diff --git a/swiftapp/Tests/AppViewModelTests.swift b/swift/Tests/AppViewModelTests.swift similarity index 100% rename from swiftapp/Tests/AppViewModelTests.swift rename to swift/Tests/AppViewModelTests.swift