`--working-directory` has no effect since 0.65.0
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 88/100
Direzione di ricerca
Inizia da LintOrAnalyzeCommand.run(_:) e riproduci il problema con il comando SwiftLint e la configurazione forniti. Verifica quando la directory di lavoro viene ripristinata rispetto al linting, quindi verifica che --working-directory trovi ~/a/.swiftlint.yml e sopprima la violazione di identifier_name senza modificare il comportamento quando l’opzione è assente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
New Issue Checklist
- I've Updated SwiftLint to the latest version.
- I've searched for existing GitHub issues.
Bug Description
--working-directory no longer takes effect. The configuration file is still looked up in the directory SwiftLint was started from, so it is not found and SwiftLint silently falls back to the default configuration.
mkdir -p ~/a/b
printf 'disabled_rules:\n - identifier_name\n' > ~/a/.swiftlint.yml
printf 'enum Size {\n case m\n}\n' > ~/a/b/Bad.swift
cd ~/a/b
swiftlint lint --working-directory ~/a --no-cache --quiet ~/a/b/Bad.swift
~/a/.swiftlint.yml disables identifier_name, so 0.64.1 and earlier report nothing. 0.65.0, 0.65.1 and main report:
~/a/b/Bad.swift:2:10: error: Identifier Name Violation: Enum element name 'm' should be between 3 and 40 characters long (identifier_name)
The defer restoring the directory in LintOrAnalyzeCommand.run(_:) is scoped to the if let workingDirectory block, so it fires at that block's closing brace, before linting starts. It was added in #6048. Moving it to the function's scope, with the restore target held in an optional so that the directory is only restored when the option actually moved it, would fix it without changing anything when the option is not passed. I'm happy to open a PR.
This mainly hurts the SwiftPM plugins, which run from the package directory and need the option to reach a .swiftlint.yml above it.
Environment
- SwiftLint version 0.65.1 (0.65.0 and
mainare also affected, 0.64.1 and earlier are not) - Xcode 26.5
- Installation method used: official
SwiftLintBinary.artifactbundlerelease - Configuration file:
disabled_rules:
- identifier_name
No nested configurations.
- Lingua principale
- Swift
- Stelle
- 19.8k
- Fork
- 2.3k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di realm/SwiftLint
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
`duplicate_imports` deletes `@testable import X` when `import X` is also presentForse già presa @Akhrameev l’ha presa 47 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
discussion enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
realm/SwiftLint#6622 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
vscode-swiftlint repository is archivedForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertadocumentation question
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
realm/SwiftLint#6541 · 3 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di realm/SwiftLint
Issue simili
-
🎉 Add GinkgoForse già presa @usual2970 l’ha presa oggi. Apertaaddition
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
jaywcjlove/awesome-mac#4442 ·
I maintainer di solito rispondono entro 1 giorno
-
[feat] 홈 화면에서 보이는 경기 수 수정Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
DeveloperAcademy-POSTECH/2026-C6-A03-KIIKICK-iOS#76 ·
I maintainer di solito rispondono entro 1 giorno
-
[java] TestClassWithoutTestCases: document that abstract classes and interfaces are not checkedAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
VictorKildahl/cra#302 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno