Flake8 plugin to enforce the rules of hooks for ReactPy
Project description
reactpy-flake8
A Flake8 plugin that enforces the "rules of hooks" for ReactPy.
The implementation is based on React's own ESLint plugin for hooks.
Install
pip install reactpy-flake8
Developer Installation
pip install -r requirements.txt
pip install -e .
Run the tests
nox -s test
Errors
| Code | Message |
|---|---|
| REACTPY100 | Hook is defined as a closure |
| REACTPY101 | Hook was used outside component or hook definition |
| REACTPY102 | Hook was used inside a conditional or loop statement |
| REACTPY103 | Hook was used after an early return |
| REACTPY200 | A hook's dependency is not destructured - dependencies should be refered to directly, not via an attribute or key of an object |
| REACTPY201 | Hook dependency args should be a literal list, tuple or None |
| REACTPY202 | Hook dependency is not specified |
Options
All options my be used as CLI flags where _ characters are replaced with -. For
example, exhaustive_hook_deps would become --exhaustive-hook-deps.
| Option | Type | Default | Description |
|---|---|---|---|
exhaustive_hook_deps |
Boolean | False |
Enable REACTPY2** errors (recommended) |
component_decorator_pattern |
Regex | ^(component|[\w\.]+\.component)$ |
The pattern which should match the component decorators. Useful if
you import the @component decorator under an alias.
|
hook_function_pattern |
Regex | ^_*use_\w+$ |
The pattern which should match the name of hook functions. Best used if you
have existing functions with use_* names that are not hooks.
|
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 reactpy_flake8-0.7.0-py3-none-any.whl.
File metadata
- Download URL: reactpy_flake8-0.7.0-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cddd7f768577f5c4d9758b930fc7ed06c2fb512a7b9c49c3613db9da8977121b
|
|
| MD5 |
d374bc0ee352380430ceb2b23d8ca9a6
|
|
| BLAKE2b-256 |
09b8426598b4d7ed5b38aba93ef54d94816f5043647f94f1f340280b8b268c85
|