Prints out linting errors found in inline cloudformation lambda code
Project description
🚀 cfn-inline-lambda-linter
cfn-inline-lambda-linter is a powerful and lightweight tool for linting inline Lambda functions embedded in AWS CloudFormation templates. Optimize your Lambda code, catch potential issues, and enforce best practices effortlessly.
✨ Features
🔍 Automatic Detection: Scans YAML/JSON templates to identify inline Lambda functions.
⚡ Lightning-Fast Linting: Validates syntax, enforces standards, and identifies anti-patterns.
🛠 Customizable Rules: Extend with your own linting rules to suit your project needs.
📦 CI/CD Ready: Seamlessly integrate into any CI/CD pipeline.
📈 Future-Proof: Built with extensibility and AWS updates in mind.
🛠 Installation
Install via pip:
pip install cfn-inline-lambda-linter
Or Install the latest development version:
pip install git+https://github.com/saad1998/cfn-inline-lambda-linter.git
🚀 Quick Start
Lint a CloudFormation Template
cfn_lambda_lint lint template.yaml
Pass args to Lint
cfn_lambda_lint lint template.yaml --args "--max-line-length=88 --ignore=E203,W503"
🎣 Pre-Commit Hook Integration
Ensure your code is always clean and adheres to best practices by integrating cfn-inline-lambda-linter as a pre-commit hook!
Why Use This Hook?
- Automatic linting: Detect and resolve CloudFormation template issues effortlessly.
- Error prevention: Catch inline Lambda errors before deployment.
- Productivity boost: Spend less time debugging and more time building.
Setting Up the Pre-Commit Hook
-
Install
pre-commitglobally (if not already installed):pip install pre-commit
-
Add the following to your project's
.pre-commit-config.yamlfile:repos: - repo: https://github.com/saad1998/cfn-inline-lambda-linter rev: v0.1.0 # Replace with the latest version hooks: - id: cfn-inline-lambda-linter files: template.yaml
-
Install the pre-commit hook in your local repository:
pre-commit install -
Test it by running pre-commit on all files:
pre-commit run --all-files
How It Works
Once the hook is configured, every time you try to commit changes:
- The hook will automatically scan your CloudFormation templates containing inline Lambda code.
- Errors or warnings will be highlighted, ensuring only high-quality configurations are committed.
Customize the Hook
You can pass arguments to the hook by modifying .pre-commit-config.yaml:
repos:
- repo: https://github.com/saad1998/cfn-inline-lambda-linter
rev: v0.1.0
hooks:
- id: cfn-inline-lambda-linter
files: template.yaml
args: ["--args=--max-line-length=88 --ignore=E203,W503"]
🎉 You're All Set!
Your project is now equipped with an automated linter that ensures CloudFormation templates and inline Lambda code are always error-free before committing.
🌟 Why Choose Us?
- Developer-Friendly: Clean output with actionable messages.
- AWS Focused: Tailored specifically for AWS Lambda in CloudFormation.
- Open Source: Free forever, with a growing community of contributors.
🤝 Contributing
We ❤️ contributions! But at the moment it has been paused. It will be resumed when we have published our Contributing.md guide.
🗺 Roadmap
✅ Add support for nested templates. ✅ Add linting support for lambda functions written in other languages. 🚧 Advanced static analysis for Lambda functions. 🔜 Enhanced logging for CI/CD pipelines.
📝 License
This project is licensed under the MIT License. See the LICENSE file for details.
🎉 Show Your Support
Give a ⭐ if this project helps you improve your CloudFormation workflows!
📧 Contact
Got questions or suggestions? Open an issue here.
"Code smarter, not harder!"
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cfn_inline_lambda_linter-0.1.1.tar.gz.
File metadata
- Download URL: cfn_inline_lambda_linter-0.1.1.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.9.18 Linux/5.15.167.4-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da135933465a447df4f7d53a457ea24106cf1ccbbde26cddefa9f9debb94f54c
|
|
| MD5 |
0f6abf3f6ba6c81110f901ae5cf30c92
|
|
| BLAKE2b-256 |
06b19c550e9610b094e70f30159e1e90cc564207446968de4837eda76404d706
|
File details
Details for the file cfn_inline_lambda_linter-0.1.1-py3-none-any.whl.
File metadata
- Download URL: cfn_inline_lambda_linter-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.9.18 Linux/5.15.167.4-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02e61a45e215b3c8360aed6202f61b25223afe35afab6f3d70732a9f49073aec
|
|
| MD5 |
05a8e264adc9cb1160f3eef175ae37cd
|
|
| BLAKE2b-256 |
8f3dfc6f32c8cb94599d8db63644f8c5f5303c46361ea8cd169d69b9722de3f7
|