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.
|
# build plus test ships with the engine package.
|
||||||
opt_in_rules:
|
opt_in_rules:
|
||||||
- force_unwrapping
|
- force_unwrapping
|
||||||
|
# Adopted from the canonical rules-swift opt-in set.
|
||||||
|
- empty_count
|
||||||
|
- explicit_init
|
||||||
|
- first_where
|
||||||
|
- sorted_first_last
|
||||||
|
- unused_import
|
||||||
disabled_rules:
|
disabled_rules:
|
||||||
# Suggests Foundation's String(bytes:encoding:); PureXML is Foundation-free, so
|
# Suggests Foundation's String(bytes:encoding:); PureXML is Foundation-free, so
|
||||||
# String(decoding:as:) from the standard library is the correct conversion.
|
# String(decoding:as:) from the standard library is the correct conversion.
|
||||||
- optional_data_string_conversion
|
- optional_data_string_conversion
|
||||||
|
# rules-swift disables todo; PureXML tracks TODOs in issues, not the linter.
|
||||||
|
- todo
|
||||||
excluded:
|
excluded:
|
||||||
- .build
|
- .build
|
||||||
- DerivedData
|
- DerivedData
|
||||||
|
|||||||
@ -25,6 +25,11 @@ Project-specific overrides:
|
|||||||
The broader rule files are retained for detailed guidance. When they include
|
The broader rule files are retained for detailed guidance. When they include
|
||||||
generic examples, apply the PureXML-specific overrides above.
|
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
|
(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