Skip to content

Release 1.0.0 #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 43 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
3e64926
feat: NavigationStacks
maximkrouk Nov 12, 2023
9efe414
feat(wip): API improvements & Tests
maximkrouk Nov 13, 2023
7f75684
feat(wip): API Improvements & Tests
maximkrouk Nov 15, 2023
5b0422e
feat: API Improvements, tests and bug fixes
maximkrouk Dec 16, 2023
eeb8172
feat(CI): Update script
maximkrouk Dec 16, 2023
24bd60c
cleanup: Remove warnings
maximkrouk Dec 16, 2023
e64b46e
feat: Explicit swizzling
maximkrouk Dec 16, 2023
8656b20
feat(wip): Example
maximkrouk Dec 16, 2023
1bf95e8
feat(CI): Update script
maximkrouk Dec 16, 2023
8516e08
Update README.md
maximkrouk Dec 17, 2023
57849b5
Update README.md
maximkrouk Dec 17, 2023
6cee35f
Update README.md
maximkrouk Dec 18, 2023
8f9215c
fix(Tests): Add `bootstrap()` call to tests
maximkrouk Dec 19, 2023
9576f50
fix: Destination inheritance API
maximkrouk Dec 19, 2023
844dd5e
feat: API & Performance Improvements
maximkrouk Dec 19, 2023
45dda86
feat: API Improvements
maximkrouk Dec 22, 2023
2a3ef1c
feat: Update Example
maximkrouk Dec 22, 2023
99565b2
feat(Example): Modularization
maximkrouk Dec 23, 2023
5c01ec3
fix: App build and launch
maximkrouk Dec 23, 2023
eb498dc
fix: Add missing ObservableState conformance
maximkrouk Dec 23, 2023
674edc1
[wip] feat(docs):Add project structure graph
maximkrouk Dec 23, 2023
8022d81
[wip] feat: Model improvements
maximkrouk Dec 28, 2023
c2e65ad
[wip] feat: Model improvements
maximkrouk Dec 29, 2023
01824e8
feat: Delegate actions and API integration
maximkrouk Dec 30, 2023
9c975ec
fix: Sync back TweetDetail state
maximkrouk Dec 30, 2023
e2043a8
feat: ProfileTabController
maximkrouk Dec 30, 2023
a73cca6
feat(TweetsListFeature): Content placeholder
maximkrouk Dec 30, 2023
bbf8063
feat: API Improvements
maximkrouk Dec 31, 2023
97881a2
feat: RoutingController macro improvements
maximkrouk Dec 31, 2023
dd6a47e
feat: RoutingController macro improvements
maximkrouk Dec 31, 2023
854a540
fix: navigationDestination duplicates removal
maximkrouk Dec 31, 2023
aa71724
feat: Improve Destinations initialization
maximkrouk Dec 31, 2023
67a26a1
feat: Improve Destinations initialization
maximkrouk Dec 31, 2023
c08cc89
feat: Improve Destinations initialization
maximkrouk Dec 31, 2023
178e9d9
feat(Example): Basic TweetReply implementation
maximkrouk Dec 31, 2023
23464ec
feat: TweetReplyFeature initial integration
maximkrouk Jan 1, 2024
34291b8
feat: presentationDestination initial implementation
maximkrouk Jan 3, 2024
fc685e7
feat: Add todo warnings for presentaitonDestination
maximkrouk Jan 3, 2024
698c653
feat(Example): Presentation integration
maximkrouk Jan 3, 2024
b966574
feat: PresentationDestination
maximkrouk Jan 17, 2024
7130c2b
Update README.md
maximkrouk Jan 17, 2024
a4c3b87
cleanup: Refactor duplicate routes removal
maximkrouk Jan 17, 2024
9f697d8
fix: Presentation
maximkrouk Jan 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/package.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
34 changes: 34 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: CI

on:
push:
branches:
- main
pull_request:
branches:
- '*'

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
library-swift-latest:
name: Library
if: |
!contains(github.event.head_commit.message, '[ci skip]') &&
!contains(github.event.head_commit.message, '[ci skip test]') &&
!contains(github.event.head_commit.message, '[ci skip library-swift-latest]')
runs-on: macos-13
timeout-minutes: 30
strategy:
matrix:
config:
- debug
- release
steps:
- uses: actions/checkout@v4
- name: Select Xcode 15.1
run: sudo xcode-select -s /Applications/Xcode_15.1.app
- name: Run tests
run: make CONFIG=debug test-library
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ xcuserdata/
DerivedData/
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
Package.resolved
/.swiftpm
5 changes: 5 additions & 0 deletions .spi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
version: 1
builder:
- platform: ios
documentation_targets: [CombineNavigation]
swift_version: 5.9
66 changes: 66 additions & 0 deletions .swiftpm/xcode/xcshareddata/xcschemes/CombineNavigation.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1520"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "CombineNavigation"
BuildableName = "CombineNavigation"
BlueprintName = "CombineNavigation"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "CombineNavigation"
BuildableName = "CombineNavigation"
BlueprintName = "CombineNavigation"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

66 changes: 66 additions & 0 deletions Example/.swiftpm/xcode/xcshareddata/xcschemes/APIClient.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1500"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "APIClient"
BuildableName = "APIClient"
BlueprintName = "APIClient"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "APIClient"
BuildableName = "APIClient"
BlueprintName = "APIClient"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
66 changes: 66 additions & 0 deletions Example/.swiftpm/xcode/xcshareddata/xcschemes/AppUI.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1500"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AppUI"
BuildableName = "AppUI"
BlueprintName = "AppUI"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AppUI"
BuildableName = "AppUI"
BlueprintName = "AppUI"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1500"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "CombineNavigationExample"
BuildableName = "CombineNavigationExample"
BlueprintName = "CombineNavigationExample"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "CombineNavigationExample"
BuildableName = "CombineNavigationExample"
BlueprintName = "CombineNavigationExample"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Loading