-
-
Notifications
You must be signed in to change notification settings - Fork 10
Roadmap #1
Description
Purpose
The main idea of this project is to lint .env files like this one: https://github.com/wemake-services/wemake-django-template/blob/master/%7B%7Bcookiecutter.project_name%7D%7D/config/.env.template
Architecture
This should be an installable python package. We usually use poetry for that. Here's an example: https://github.com/wemake-services/wemake-python-styleguide/blob/master/pyproject.toml
How does the linting process work?
-
We specify grammar that will be used for parsing
.envfiles. I guess we will useplyfor that. Here's an example of how we can create a simple grammar: https://github.com/ivelum/djangoql/blob/master/djangoql/ast.py -
We read files that are specified by user
1.1 I will have an extra look about how LSP protocol works, so this plugin can latter be easily integrated with vscode / sublime / etc
-
Than we parse these files with our grammar, we get list of tokens / ast nodes as a result
-
Than we perform checks on these tokens / nodes, like we do in https://github.com/wemake-services/wemake-python-styleguide/blob/master/wemake_python_styleguide/visitors/base.py
Technical decisions
I suggest to target python3.6 and python3.7. Or two latest versions of python in the future.
I suggest to use https://github.com/wemake-services/wemake-python-styleguide and mypy for linting
I suggest to use pytest for tests
I suggest to use sphinx for docs
Team
Currently we have:
Anyone is welcome!