Skip to content

Consolekit 5#234

Merged
0xTim merged 21 commits intomainfrom
consolekit-5
Apr 7, 2026
Merged

Consolekit 5#234
0xTim merged 21 commits intomainfrom
consolekit-5

Conversation

@0xTim
Copy link
Copy Markdown
Member

@0xTim 0xTim commented Apr 7, 2026

No description provided.

fpseverino and others added 19 commits May 6, 2025 14:38
- Update package to Swift 6.0, macOS v15
- Remove dependency on SwiftNIO (used only for `NIOLockedValueBox`, replaced by `Mutex`)
- Add Android CI
* Remove `ConsoleKitCommands`

* Rename `ConsoleKitTerminal` to `ConsoleKit`
…210)

* Start migration to Swift Testing

* Remove deprecated

* Update `ActivityIndicator` for async/await

* Add `withActivityIndicator`

* Remove integration tests

* Improve DocC

* Adopt `swift-format`
* Remove Foundation

* Use `Android` instead of `Bionic`

* Add `"InternalImportsByDefault"`

* Add `@preconcurrency` to imports and check `#if canImport(Darwin)`
* Make `stylize` public

* Add `consoleText(_:)` to `Character`

* Update parameter label

* Move activity tests

* Add new `center()` overload

* Add `output(key:value:)

* Improve `output(key:value:)`

* Add `output()` for array of `ConsoleText`

* Add `center()` for a single `ConsoleText`

* Improve `stylized()` name

* Add a lot of tests

* Make the linter happy

* Fix DocC

* Remove `Character.consoleText()`

* Remove test for `Character.consoleText()`

* Rename `stylized()` to `consoleStylized()`

* Remove superfluous APIs

* Remove superfluous tests

* Remove `output(key:value:)`

* Improve APIs

* Revert dumb idea
* Fail the activity indicator when the task fails

* Add a title to CustomActivity

* Fix activity indicator bug

* Remove `@testable`

* Add `titleAfterIndicator` to `CustomActivity`

* Add `withActivityIndicator` convenience wrapper to `ProgressBar`
* Remove `ConsoleFragmentLogger` and add `ConsoleLogger` package trait

* Move `LogRecord` to its own file

* Move `ConsoleLogger` to its own target

* Update README and DocC

* Small fix in DocC

* Move the default `LoggerFragment`s inside an extension

* Revert `ConsoleLoggerExample`

* Enable Windows CI

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Duplicate `TestConsole`, formatting and typo fixes

* Update Sources/ConsoleLogger/ConsoleLogger.swift

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Update Sources/ConsoleLogger/ConsoleLogger.swift

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Update Sources/ConsoleLogger/ConsoleLogger.swift

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Fix tests and `NonisolatedNonsendingByDefault`

---------

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Add Benchmarks for ConsoleLogger

* Address requested changes

* Remove `.gitignore` symlink

* Add `.gitignore` to Benchmarks
* Remove `ConsoleFragmentLogger` and add `ConsoleLogger` package trait

* Move `LogRecord` to its own file

* Move `ConsoleLogger` to its own target

* Update README and DocC

* Small fix in DocC

* Move the default `LoggerFragment`s inside an extension

* Revert `ConsoleLoggerExample`

* Introducing `LoggerFragmentBuilder`

* Enable Windows CI

* Enable Windows CI

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Apply suggestion from @gwynne

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Duplicate `TestConsole`, formatting and typo fixes

* Update Sources/ConsoleLogger/ConsoleLogger.swift

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Update Sources/ConsoleLogger/ConsoleLogger.swift

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Update Sources/ConsoleLogger/ConsoleLogger.swift

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>

* Fix tests and `NonisolatedNonsendingByDefault`

* Add benchmarks for `LoggerFragmentBuilder`

* Fix DocC

* Add DocC article on ConsoleLogger

* Relocate `SpacedFragment`

---------

Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Remove `ConsoleKit` from `ConsoleLogger`

* Enable testing via `ConsoleLoggerPrinter` protocol

* Make `ConsoleLoggerPrinter` public
* Adopt Swift Configuration

* Update to Swift 6.2
* Use supsending clock in ActivityIndicator

* Add test for task cancellation
Remove duplicate Swift features
* Add a default `ConfigReader` to `bootstrapWithConfigReader`

* Add default ConfigReader package trait
* Cherry-pick the update for swift-log 1.11.0 from main
* Add Windows and Android CI
Co-authored-by: Tim Condon <0xTim@users.noreply.github.com>
@0xTim 0xTim requested a review from gwynne as a code owner April 7, 2026 18:15
@0xTim
Copy link
Copy Markdown
Member Author

0xTim commented Apr 7, 2026

@fpseverino any idea what we need to do to get this mergeable?

@fpseverino
Copy link
Copy Markdown
Member

@fpseverino any idea what we need to do to get this mergeable?

I’m away from my machine, so I can’t see the conflicts, but I doubt my Git skills are up to scratch. We removed a lot of code and refactored the repo a lot

@gwynne
Copy link
Copy Markdown
Member

gwynne commented Apr 7, 2026

I can take a whack at it.

# Conflicts:
#	.github/workflows/test.yml
#	Package.swift
#	README.md
#	Sources/ConsoleKit/Terminal/ANSI.swift
#	Sources/ConsoleKit/Terminal/Terminal.swift
#	Sources/ConsoleKitCommands/Async/GenerateAsyncAutocompleteCommand.swift
#	Sources/ConsoleKitCommands/Completion/Completion.swift
#	Sources/ConsoleKitCommands/Completion/GenerateAutocompleteCommand.swift
#	Sources/ConsoleKitCommands/Docs.docc/images/vapor-consolekit-logo.svg
#	Sources/ConsoleKitTerminal/Docs.docc/images/vapor-consolekit-logo.svg
#	Sources/ConsoleKitTerminal/Docs.docc/theme-settings.json
#	Sources/ConsoleKitTerminal/Terminal/Console.swift
#	Sources/ConsoleKitTerminal/Utilities/ConsoleLogger.swift
#	Sources/ConsoleLogger/Docs.docc/theme-settings.json
#	Sources/ConsoleLogger/LoggerFragments/LoggerFragment.swift
#	Tests/AsyncConsoleKitTests/AsyncUtilities.swift
#	Tests/ConsoleKitTests/LoggingTests.swift
#	Tests/ConsoleKitTests/Utilities.swift
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 7, 2026

Codecov Report

❌ Patch coverage is 73.61419% with 119 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.03%. Comparing base (32ad16d) to head (c5c26f3).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...ces/ConsoleKit/Terminal/readpassphrase_linux.swift 0.00% 24 Missing ⚠️
...ources/ConsoleLogger/ConsoleLogger+bootstrap.swift 0.00% 23 Missing ⚠️
...ources/ConsoleKit/Activity/ActivityIndicator.swift 70.83% 14 Missing ⚠️
Sources/ConsoleKit/Clear/Console+Ephemeral.swift 51.85% 13 Missing ⚠️
Sources/ConsoleKit/Terminal/Terminal.swift 25.00% 12 Missing ⚠️
Sources/ConsoleKit/Activity/ProgressBar.swift 33.33% 10 Missing ⚠️
...ConsoleLogger/LoggerFragments/LoggerFragment.swift 87.14% 9 Missing ⚠️
Sources/ConsoleLogger/ConsoleLogger.swift 87.03% 7 Missing ⚠️
Sources/ConsoleKit/Terminal/ANSI.swift 75.00% 2 Missing ⚠️
Sources/ConsoleLogger/ConsoleLoggerPrinter.swift 33.33% 2 Missing ⚠️
... and 2 more
Additional details and impacted files
@@             Coverage Diff             @@
##             main     #234       +/-   ##
===========================================
+ Coverage   45.88%   71.03%   +25.15%     
===========================================
  Files          46       29       -17     
  Lines        1700      877      -823     
===========================================
- Hits          780      623      -157     
+ Misses        920      254      -666     
Files with missing lines Coverage Δ
Sources/ConsoleKit/Activity/ActivityBar.swift 100.00% <100.00%> (ø)
Sources/ConsoleKit/Activity/CustomActivity.swift 100.00% <100.00%> (ø)
Sources/ConsoleKit/Activity/LoadingBar.swift 8.69% <100.00%> (ø)
Sources/ConsoleKit/Clear/Console+Clear.swift 0.00% <ø> (ø)
Sources/ConsoleKit/Input/Console+Ask.swift 100.00% <ø> (ø)
Sources/ConsoleKit/Input/Console+Choose.swift 100.00% <100.00%> (ø)
Sources/ConsoleKit/Input/Console+Confirm.swift 100.00% <100.00%> (ø)
Sources/ConsoleKit/Input/Console+Input.swift 100.00% <100.00%> (ø)
Sources/ConsoleKit/Output/Console+Center.swift 100.00% <100.00%> (ø)
Sources/ConsoleKit/Output/Console+Output.swift 100.00% <100.00%> (ø)
... and 19 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@0xTim 0xTim merged commit ebd3ee6 into main Apr 7, 2026
20 of 23 checks passed
@0xTim 0xTim deleted the consolekit-5 branch April 7, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants