Files
SwiftGen/DEPENDENCIES.md

52 lines
1.8 KiB
Markdown

Use this file to track all dependencies required by this project.
## Added via SPM
### Difference
- Used for our tests, to easily check the difference between large structures of data.
- License: [MIT](https://github.com/krzysztofzablocki/Difference/blob/master/LICENSE)
### Kanna
- Added because the XML parser provided by Foundation is quite old and non-swifty, and doesn't have any XPath support.
- Mainly used by the SwiftGenKit parsers such as Colors, CoreData and IB.
- License: [MIT](https://github.com/tid-kijyun/Kanna/blob/master/LICENSE)
### Komondor
- Used to manage Git commit hooks, to run tasks such as linting the codebase.
- License: [MIT](https://github.com/shibapm/Komondor/blob/master/LICENSE)
### PathKit
- Used throughout the app for a type-safe, swifty way to access the filesystem.
- License: [BSD 2-Clause](https://github.com/kylef/PathKit/blob/master/LICENSE)
### Stencil
- Templating engine used to render built-in or user provided templates.
- License: [BSD 2-Clause](https://github.com/stencilproject/Stencil/blob/master/LICENSE)
### StencilSwiftKit
- Additional tags/filters for Stencil, developed and maintained by the SwiftGen project.
- License: [MIT](https://github.com/SwiftGen/StencilSwiftKit/blob/stable/LICENCE)
### swift-argument-parser
- Added to have access to a swifty way of defining CLI commands and options.
- License: [Apache 2.0](https://github.com/apple/swift-argument-parser/blob/main/LICENSE.txt)
### Yams
- Added because there's no built-in YAML parser, used for parsing the configuration file and for the YAML/JSON parser.
- License: [MIT](https://github.com/jpsim/Yams/blob/master/LICENSE)
## Other dependencies
### SwiftLint
- Added to enforce a code style throughout the project, and avoid some bad coding decisions.
- License: [MIT](https://github.com/realm/SwiftLint/blob/master/LICENSE)