Skip to content
This repository was archived by the owner on Jan 15, 2025. It is now read-only.

reactive-python/reactpy-flake8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1d3354a · Jun 21, 2023

History

52 Commits
Sep 17, 2022
Apr 15, 2023
Sep 15, 2022
Apr 15, 2023
Jul 18, 2020
Jul 18, 2020
Jul 18, 2020
Jun 21, 2023
Apr 15, 2023
Aug 23, 2022
Aug 23, 2022
Sep 15, 2022
Apr 30, 2023

Repository files navigation

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
RPY100 Hook is defined as a closure
RPY101 Hook was used outside component or hook definition
RPY102 Hook was used inside a conditional or loop statement
RPY103 Hook was used after an early return
RPY200 A hook's dependency is not destructured - dependencies should be refered to directly, not via an attribute or key of an object
RPY201 Hook dependency args should be a literal list, tuple or None
RPY202 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.

About

Flake8 plugin for enforcing the rules of hooks for ReactPy

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages