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
fix(entrypoints): repoint decorator rules at Jedi's real resolution paths
Every shipped decorator rule matched the framework's public re-export
path (flask.Flask.route, fastapi.FastAPI.get, celery.Celery.task,
click.command, ...) but PyDecorator.qualified_name is Jedi's DEFINITION
path (flask.sansio.scaffold.Scaffold.route,
fastapi.applications.FastAPI.get, celery.app.base.Celery.task,
click.decorators.command, ...), so none of them ever matched a real
app. Verified each pattern against the installed package via
jedi.Script.infer(...).full_name.
Also:
- add a django: block (bases: django.views.generic.* dispatch) so a
Django project reports frameworks_detected: ["django"] instead of
[] -- base-class matching resolves against the module's own import
table, not Jedi's definition path, so the public spelling is
correct there.
- normalize detect.py's case handling: imported package names are now
lowercased alongside the already-lowercased manifest names, and
detect: values are lowercased before the membership check, so
detect: [Flask] matches a real `import flask`.
- reject unknown top-level rules.yml keys (e.g. the not-yet-implemented
declared: block) instead of silently ignoring them.
0 commit comments