chore(rules): align lint config and pointer with canonical rules-swift
Make public/rules-swift the canonical source (per project direction) and adopt its opt-in lint rules that PureXML lacked: empty_count, explicit_init, first_where, sorted_first_last, unused_import, plus its todo disable. All pass with zero violations on the existing sources. PureXML keeps its coherent, stricter tuning where the canon is a self-described 'starting point': force_unwrapping/force_try/force_cast = error (safety), and trailing commas mandated in both swiftformat (--commas always) and swiftlint (mandatory_comma) to resolve the canon's formatter-adds vs linter-flags mismatch. docs/rules/README.md now points at public/rules-swift and documents the tuning.
This commit is contained in:
parent
d046189ad6
commit
c6f305357c
@ -5,10 +5,18 @@
|
||||
# build plus test ships with the engine package.
|
||||
opt_in_rules:
|
||||
- force_unwrapping
|
||||
# Adopted from the canonical rules-swift opt-in set.
|
||||
- empty_count
|
||||
- explicit_init
|
||||
- first_where
|
||||
- sorted_first_last
|
||||
- unused_import
|
||||
disabled_rules:
|
||||
# Suggests Foundation's String(bytes:encoding:); PureXML is Foundation-free, so
|
||||
# String(decoding:as:) from the standard library is the correct conversion.
|
||||
- optional_data_string_conversion
|
||||
# rules-swift disables todo; PureXML tracks TODOs in issues, not the linter.
|
||||
- todo
|
||||
excluded:
|
||||
- .build
|
||||
- DerivedData
|
||||
|
||||
@ -25,6 +25,11 @@ Project-specific overrides:
|
||||
The broader rule files are retained for detailed guidance. When they include
|
||||
generic examples, apply the PureXML-specific overrides above.
|
||||
|
||||
Canonical Swift rules live at `/Volumes/Code/DeveloperExt/private/rules-swift`
|
||||
Canonical Swift rules live at `/Volumes/Code/DeveloperExt/public/rules-swift`
|
||||
(especially `validation-rules.md` and `parsing-rules.md`). Prefer that source
|
||||
when `docs/rules/` copies drift.
|
||||
when `docs/rules/` copies drift. PureXML's committed `.swiftlint.yml` and
|
||||
`.swiftformat` are the coherent project tuning of that canon: they adopt its
|
||||
opt-in rule set and shared formatter directives, keep stricter safety
|
||||
(`force_unwrapping`/`force_try`/`force_cast` = error), and resolve the canon's
|
||||
`--commas always` vs default-`trailing_comma` mismatch by mandating trailing
|
||||
commas in both tools.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user