Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap #1

Open
sobolevn opened this issue Nov 30, 2018 · 8 comments
Open

Roadmap #1

sobolevn opened this issue Nov 30, 2018 · 8 comments
Labels
question Further information is requested wontfix This will not be worked on

Comments

@sobolevn
Copy link
Member

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?

  1. We specify grammar that will be used for parsing .env files. I guess we will use ply for that. Here's an example of how we can create a simple grammar: https://github.com/ivelum/djangoql/blob/master/djangoql/ast.py

  2. 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

  1. Than we parse these files with our grammar, we get list of tokens / ast nodes as a result

  2. 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!

@sobolevn sobolevn added question Further information is requested wontfix This will not be worked on labels Nov 30, 2018
@sobolevn
Copy link
Member Author

sobolevn commented Jan 15, 2019

First public release is ready!

Now, we need to concentrate on:

@sobolevn sobolevn pinned this issue Jan 15, 2019
@brunowego
Copy link

@sobolevn homebrew installation will propagate the usage. 👍

@sobolevn
Copy link
Member Author

@brunowego absolutely! Can you please open a new issue for that?

@Levivb
Copy link

Levivb commented Apr 23, 2019

Hey @sobolevn

Do you have an ETA for this roadmap?
Especially #30 and #31 are of interest to me :)

@sobolevn
Copy link
Member Author

@Levivb not really, since I am quite busy on other projects.

But, if you want to contribute, I will highly appreciate that!
I will provide any help from my side.

@sobolevn
Copy link
Member Author

To continue with the new features we first need to setup proper testing for this project: #13 and #12
When the tests will very the baseline we can start with ignoring violation and comment configuration.

@kaelscion welcome on board! You are now a collaborator of this project. 🎉

@leej3
Copy link

leej3 commented Jun 9, 2022

Nice project! Is auto-fixing errors within the scope of this project? This would then match the behavior of other pre-commit hook implementations (like black, isort etc.)

@sobolevn
Copy link
Member Author

I would love to have this merged, but implementing this feature is not on my schedule :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

4 participants