From 32c37c6f300ab650e6d3e2070385af032d1a8dd4 Mon Sep 17 00:00:00 2001 From: Christophe Vila Date: Fri, 22 May 2026 12:19:36 +0200 Subject: [PATCH] feat: scaffold MyPassCore Swift Package - Add MyPassCore local Swift Package with directory structure for Models, KDBX, TOTP, Keychain, AutoFill, and Session modules - Add KeePassKit as git submodule (Vendor/KeePassKit) with SPM wrapper Package.swift since upstream has no native SPM support - Delete SwiftData boilerplate Item.swift from main app target Co-Authored-By: Claude Sonnet 4.6 --- .gitmodules | 3 +++ MyPass/Item.swift | 18 ------------------ MyPassCore/Package.swift | 26 ++++++++++++++++++++++++++ Vendor/KeePassKit | 1 + 4 files changed, 30 insertions(+), 18 deletions(-) create mode 100644 .gitmodules delete mode 100644 MyPass/Item.swift create mode 100644 MyPassCore/Package.swift create mode 160000 Vendor/KeePassKit diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..ef973db --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Vendor/KeePassKit"] + path = Vendor/KeePassKit + url = https://github.com/mstarke/KeePassKit diff --git a/MyPass/Item.swift b/MyPass/Item.swift deleted file mode 100644 index 58cfef2..0000000 --- a/MyPass/Item.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// Item.swift -// MyPass -// -// Created by Christophe Vila on 21/05/2026. -// - -import Foundation -import SwiftData - -@Model -final class Item { - var timestamp: Date - - init(timestamp: Date) { - self.timestamp = timestamp - } -} diff --git a/MyPassCore/Package.swift b/MyPassCore/Package.swift new file mode 100644 index 0000000..fd1f405 --- /dev/null +++ b/MyPassCore/Package.swift @@ -0,0 +1,26 @@ +// swift-tools-version: 5.9 +import PackageDescription + +let package = Package( + name: "MyPassCore", + platforms: [.iOS(.v17), .macOS(.v14)], + products: [ + .library(name: "MyPassCore", targets: ["MyPassCore"]), + ], + dependencies: [ + .package(path: "../Vendor/KeePassKit"), + ], + targets: [ + .target( + name: "MyPassCore", + dependencies: [ + .product(name: "KeePassKit", package: "KeePassKit"), + ] + ), + .testTarget( + name: "MyPassCoreTests", + dependencies: ["MyPassCore"], + resources: [.copy("Fixtures")] + ), + ] +) diff --git a/Vendor/KeePassKit b/Vendor/KeePassKit new file mode 160000 index 0000000..4dbd8cd --- /dev/null +++ b/Vendor/KeePassKit @@ -0,0 +1 @@ +Subproject commit 4dbd8cd7bc21bc3a548af5fbde3973a9d962967a