realm / realm/SwiftLint

`allow_zero_lintable_files: true` doesn't work when added to a parent config that's loaded by a child config

Open
#6,240 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Swift
Stars
19.7k
Forks
2.3k
Avg merge
1d 1h
Merged PRs (30d)
11

Description

New Issue Checklist
Bug Description

Hi, allow_zero_lintable_files: true doesn't work when added to a parent config that's loaded by a child config.
It only works if allow_zero_lintable_files: true is specified in the child config.

$ swiftlint lint --config Foo/Bar/.swiftlint.yml --force-exclude --no-cache --quiet Foo/Bar/Tests/DeepLinkParserTests.swift
Error: No lintable files found at paths: 'Foo/Bar/Tests/DeepLinkParserTests.swift'
Environment
  • SwiftLint version (run swiftlint version to be sure)
    0.61.0

  • Xcode version (run xcodebuild -version to be sure)

Xcode 16.4
Build version 16F6
  • Installation method used (Homebrew, CocoaPods, building from source, etc)
    Universal macOS Binary

  • Configuration file:

# Foo/Bar/.swiftlint.yml

parent_config: ../../.swiftlint_base.yml

excluded:
  - Tests
# .swiftlint_base.yml

allow_zero_lintable_files: true

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with swiftlint lint using Foo/Bar/.swiftlint.yml and the parent .swiftlint_base.yml shown in the report. Start at the configuration-loading and merging path for parent_config, then add a regression test covering allow_zero_lintable_files inherited from the parent. Done means the command no longer reports that no lintable files were found.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.