Languages
Swift
Code Analysis
.deepsource.toml
This section covers .deepsource.toml
configuration specific to the swift
analyzer. Please make sure to read the general configuration guide first.
name
- Type: String
- Presence: mandatory
- Description: Shortcode of the analyzer.
- Example:
enabled
- Type: Boolean
- Presence: optional
- Description: Toggle whether this analyzer should be run.
- Example:
meta
- Type: Table
- Presence: optional
- Description: Any supported metadata to pass to the analyzer.
- Example:
swift_version
- Type: String
- Presence: optional
- Description: The version of Swift that is used by your project. This information is used by the analyzer to report issues only relevant for the mentioned version.
- Default Value: “5.8”
- Example:
skip_doc_coverage
- Type: Array
- Presence: optional
- Description: Specify which artifacts to skip when detecting documentation issues and calculating documentation coverage.
- Available Values:
function
,method
,class
,protocol
,struct
,enum
function
- Ignore function definitionsmethod
- Ignore method definitionsclass
- Ignore class definitionsprotocol
- Ignore protocol definitionsstruct
- Ignore struct definitionsenum
- Ignore enum definitions
- Default Value: []
- Example:
cyclomatic_complexity_threshold
- Type: String
- Presence: optional
- Description: Specify the acceptable risk category for your project as the threshold. All functions with complexity beyond this threshold will raise an issue. For example, setting the threshold to
low
will flag all functions that have a cyclomatic complexity of more than5
, while setting the threshold tocritical
will not flag any function. - Available Values:
low
,medium
,high
,very-high
andcritical
Risk category | Cyclomatic complexity range | Recommended action |
---|---|---|
low | 1-5 | No action is needed. |
medium | 6-15 | Review and monitor. |
high | 16-25 | Review and refactor. Recommended to add detailed comments if the function absolutely needs to be kept as it is. |
very-high | 26-50 | Refactor to reduce the complexity. |
critical | >50 | Must refactor this. This can make the code untestable and very difficult to understand. |
- Default Value:
high
- Example:
Sample config
Code Coverage
The Swift analyzer supports LCOV format coverage reports. Here’s how to generate and report a coverage report:
Code Formatter (Transformer)
swift-format
Transform all incoming Swift code with swift-format, a tool for formatting Swift code.
This section covers .deepsource.toml
configuration specific to the swift-format
transformer. Please make sure to read the general configuration guide first.
name
- Type: String
- Presence: mandatory
- Description: Shortcode of this transformer.
- Example:
enabled
- Type: Boolean
- Presence: optional
- Description: Toggle whether this transformer should be run.
- Example:
Sample transformer config
Vulnerability Scanning
Vulnerability scanning is not supported for Swift projects at this time.