Sobre el proyecto
SwiftLint es una herramienta popular de código abierto para hacer cumplir el estilo y las convenciones del código Swift, basada libremente en la Guía de Estilo Swift de GitHub (ahora archivada). Hace cumplir reglas generalmente aceptadas por la comunidad Swift, como se describe en guías de estilo populares como la Guía de Estilo Swift de Kodeco.
La herramienta incluye más de 200 reglas, predominantemente basadas en SwiftSyntax, con algunas reglas que se conectan a Clang y SourceKit para obtener información de tipos. Las reglas se pueden configurar mediante un archivo .swiftlint.yml, y las reglas individuales se pueden deshabilitar en línea usando comentarios (por ejemplo, // swiftlint:disable nombre_regla). Las reglas opt-in están deshabilitadas por defecto y deben habilitarse explícitamente.
SwiftLint admite múltiples métodos de instalación: Swift Package Manager (como complemento de comando o complemento de herramienta de compilación), dependencia de paquete de Xcode, Homebrew, CocoaPods, Mint, Bazel, instalador .pkg precompilado y compilación desde el código fuente. También proporciona una imagen Docker para uso en contenedores.
Las opciones de integración incluyen complementos de herramienta de compilación de Xcode y fases de script de ejecución, Visual Studio Code mediante la extensión vscode-swiftlint, la acción swiftlint de Fastlane, enlaces de pre-commit de Git y MegaLinter para agregación de CI. La herramienta se puede ejecutar desde la línea de comandos con subcomandos para linting, análisis, generación de documentación, listado de reglas y operaciones de línea base.
SwiftLint se conecta a SourceKit, lo que le permite funcionar en varias versiones de Swift sin incluir un compilador completo. Admite múltiples cadenas de herramientas Swift mediante variables de entorno y anulaciones de cadena de herramientas de Xcode. El proyecto se mantiene activamente, con contribuciones fomentadas a través de solicitudes de extracción, y se adhiere al Código de Conducta del Pacto de Colaboradores.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.