Commit Graph
15 Commits
Author SHA1 Message Date
Danny Mösch efaf900d50 Use URL enumerator 2026-01-24 22:13:56 +01:00
Danny Mösch 450d51c8d2 Rename property 2026-01-24 22:13:56 +01:00
Danny Mösch da36dfd679 Use variable for system drive 2026-01-24 22:13:56 +01:00
Danny Mösch f96d7d9e73 Assume absolute path patterns 2026-01-24 22:13:56 +01:00
Danny Mösch 4b12699ebe Extend basic globbing on Windows 2026-01-24 22:13:56 +01:00
Danny Mösch 6c1ae86eb3 Use URL for file paths throughout the code base
# Conflicts:
#	Source/SwiftLintFramework/Extensions/FileManager+SwiftLint.swift
#	Tests/IntegrationTests/ConfigPathResolutionTests.swift
2026-01-24 22:13:56 +01:00
Saleem AbdulrasoolandRoman Lavrov 3c7c1e6ae1 Fix Windows path handling in various places
An assortment of fixes that improve the test coverage on Windows. With
this set, local testing reveals 1 failure (RemoteCycleDetection) and
another set of test failures due to Windows globbing not matching the
POSIX semantics.

Co-authored-by: Roman Lavrov <roman.lavrov@thebrowser.company>
2026-01-24 22:13:56 +01:00
Danny Mösch 2e78f40e54 Use directory enumerator to collect and exclude files at the same time (#6366) 2025-12-17 19:47:21 +01:00
Danny Mösch ac701c088c Improve performance of excluded files filter (#6342)
The current algorithm is like "collect all included files and subtract all excluded files".
Collecting all included and all excluded files relies on the file system. This can become slow
when the patterns used to exclude files resolve to a large number of files.

The new approach only collects all lintable files and checks them against the exclude patterns.
This can be done by in-memory string-regex-match and does therefore not require file system accesses.
The new implementation also no longer traverses directories that already match an exclude pattern.

(cherry picked from commit 152355e36f)
2025-12-07 15:58:23 +01:00
Saleem AbdulrasoolandDanny Mösch 562ec8f369 Correct incorrect handling of file paths (#6355)
`URL.path` is not a usable rendering of the path. `URL.path` represents
the URI path. If the path is meant to be consumable as a file path, the
file system representation (aka FSR) must be retrieved.

This improves the file path handling and makes additional tests now
pass.

Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2025-12-01 22:02:12 +01:00
CopilotandSimplyDanny 038135e14d Enable prefer_key_path rule (#6331)
Co-authored-by: SimplyDanny <16365760+SimplyDanny@users.noreply.github.com>
2025-10-31 16:58:41 +00:00
Nandhini Subramani 4cca8280f6 Add test count to JUnit reporter (#6319) 2025-10-25 16:57:51 +02:00
Nandhini Subramani 6619ca9c10 Add isolation parameter to modifier_order rule (#6316) 2025-10-22 09:40:45 +02:00
Danny Mösch 4065fc8437 Enable upcoming feature MemberImportVisibility (#6286) 2025-10-08 08:12:05 +02:00
Danny Mösch ad793d1c5b Add new test module for tests requiring file system access (#6276)
These tests can especially not run in parallel.
2025-10-03 23:05:15 +02:00