swizzy
Swizzy is a pretty formatter for SwiftLint output. It transforms SwiftLint's standard output into a more readable and stylish format. This project is inspired by snazzy.
Features
- Formats SwiftLint output in a compact and stylish way
- Written in TypeScript for better maintainability and type safety
- Easy integration with existing SwiftLint workflows
- Customizable output formatting
- Works seamlessly with CI/CD pipelines
Installation
npm install -g swizzy
Make sure you have SwiftLint installed:
brew install swiftlint
Usage
Swizzy can be used in two main ways:
Piping SwiftLint Output (Recommended):
Run
swiftlint
with the--reporter json
flag and pipe the output directly toswizzy
. This is the most reliable method.swiftlint lint --reporter json | swizzy
Automatic SwiftLint Execution:
If you run
swizzy
without any piped input, it will attempt to executeswiftlint lint --reporter json
automatically for you. Note: This requiresswiftlint
to be installed and accessible in your system's PATH.swizzy
Options
--help
,-h
: Show help message.--version
,-v
: Show version number.
swizzy --help
swizzy -v
Example in package.json
You can integrate swizzy
into your npm scripts:
{
"scripts": {
"lint": "swiftlint lint --reporter json | swizzy"
}
}
Then run npm run lint
.
Screenshot
Development
To contribute to swizzy, clone the repository and install dependencies:
git clone https://github.com/yourusername/swizzy.git
cd swizzy
npm install
Available scripts:
# Build the project
npm run build
# Run tests
npm test
# Lint code
npm run lint
# Fix linting issues
npm run lint:fix
Testing
To run the basic test case included in the repository (which uses a predefined anonymized JSON file):
cat anonymized_lint.json | node dist/index.js
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -am 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request