You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As the repository further contains samples for Terraform, Dockerfile(s), NodeJS and others introducing additional linters will help accelerate PR reviews and approvals.
It will also reduce our dependency conflicts as pylint, asteroid, yamllint etc can be removed from our requirements files.
You need to have NodeJS and Docker installed on your computer to run MegaLinter locally with MegaLinter Runner.
Enable the following linters:
CLOUDFORMATION_CFN_LINT
DOCKERFILE_HADOLINT
JSON_JSONLINT
JSON_PRETTIER
JAVASCRIPT_STANDARD
MARKDOWN_MARKDOWN_TABLE_FORMATTER
JSON_V8R
TERRAFORM_TFLINT
YAML_YAMLLINT
SPELL_MISSPELL
The linters above can be implemented with minimal style fixes to our code.
In future separate Pull Requests
Enabling the items below (and potentially more) will require more re-formatting. In an effort to keep Pull Requests easier to review, I'd like to split the below additions up into individual PR's:
Why
In an effort to improve maintainability we've recently introduced:
cfn-lint
Feat 464: Implement cfn-lint #466yamllint
Fix 463 introduce yamllint to improve code consistency #470 Fix yamllint findings #482editorconf
Refactor line length and minor code style changes throughout ADF #490 Chore: Add editorconfig to repo #483As the repository further contains samples for Terraform, Dockerfile(s), NodeJS and others introducing additional linters will help accelerate PR reviews and approvals.
It will also reduce our dependency conflicts as
pylint
,asteroid
,yamllint
etc can be removed from our requirements files.Proposal
I'm proposing to introduce megalinter.
Why MegaLinter
Projects need to contain clean code, in order to avoid technical debt, that makes evolutive maintenance harder and time consuming.
By using code formatters and code linters, you ensure that your code base is easier to read and respects best practices
Plan
Implementing this requires multiple steps.
In the first Pull request I plan to include:
Enable the following linters:
CLOUDFORMATION_CFN_LINT
DOCKERFILE_HADOLINT
JSON_JSONLINT
JSON_PRETTIER
JAVASCRIPT_STANDARD
MARKDOWN_MARKDOWN_TABLE_FORMATTER
JSON_V8R
TERRAFORM_TFLINT
YAML_YAMLLINT
SPELL_MISSPELL
The linters above can be implemented with minimal style fixes to our code.
In future separate Pull Requests
Enabling the items below (and potentially more) will require more re-formatting. In an effort to keep Pull Requests easier to review, I'd like to split the below additions up into individual PR's:
BASH_EXEC
BASH_SHELLCHECK
EDITORCONFIG_CHECKER
(Pending merge of: Refactor line length and minor code style changes throughout ADF #490)MaxLineLength
PYTHON_BLACK
PYTHON_ISORT
PYTHON_PYLINT
( Requires updates to pylintrc )samples/
which is currently excluded from pylint.MARKDOWN_MARKDOWNLINT
MARKDOWN_MARKDOWN_LINK_CHECK
REPOSITORY_SECRETLINT
The text was updated successfully, but these errors were encountered: