entrygraph 0.1.47__tar.gz → 0.1.49__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {entrygraph-0.1.47 → entrygraph-0.1.49}/PKG-INFO +1 -1
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/_version.py +2 -2
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/pipeline/scanner.py +10 -1
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_indexer.py +14 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_lang.py +11 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/.github/workflows/ci.yml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/.github/workflows/release.yml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/.gitignore +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/LICENSE +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/README.md +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/RELEASING.md +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/pyproject.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/__main__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/api.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/cli/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/cli/main.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/cli/render.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/data/sinks/csharp.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/data/sinks/go.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/data/sinks/java.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/data/sinks/javascript.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/data/sinks/lib_javascript.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/data/sinks/lib_python.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/data/sinks/php.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/data/sinks/python.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/data/sinks/ruby.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/data/sinks/rust.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/db/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/db/engine.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/db/meta.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/db/models.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/db/queries.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/base.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/configs.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/csharp.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/golang.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/java.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/javascript.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/php.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/python.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/ruby.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/entrypoints/rust.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/frameworks.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/manifests.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/detect/taint.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/errors.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/base.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/csharp.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/golang.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/ir.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/java.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/javascript.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/php.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/python.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/registry.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/ruby.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/extract/rust.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/fs/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/fs/hashing.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/fs/lang.py +4 -4
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/fs/walker.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/graph/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/graph/adjacency.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/graph/cte.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/graph/scoring.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/kinds.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/parsing/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/parsing/parsers.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/parsing/queries.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/pipeline/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/pipeline/worker.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/pipeline/writer.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/py.typed +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/csharp/calls.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/csharp/definitions.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/csharp/imports.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/go/calls.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/go/definitions.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/go/imports.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/java/calls.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/java/definitions.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/java/imports.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/javascript/calls.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/javascript/definitions.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/javascript/imports.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/php/calls.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/php/definitions.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/php/imports.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/python/calls.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/python/definitions.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/python/imports.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/ruby/calls.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/ruby/definitions.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/ruby/imports.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/rust/calls.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/rust/definitions.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/queries/rust/imports.scm +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/resolve/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/resolve/externals.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/resolve/hierarchy.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/resolve/resolver.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/resolve/symbol_table.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/src/entrygraph/results.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/conftest.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/csharp/aspnet_app/Controllers/ReportsController.cs +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/csharp/aspnet_app/Program.cs +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/csharp/aspnet_app/Services/ReportService.cs +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/csharp/aspnet_app/app.csproj +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/csharp/minimalapi_app/Program.cs +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/csharp/minimalapi_app/app.csproj +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/go/gin_app/go.mod +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/go/gin_app/main.go +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/go/gin_app/service.go +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/go/nethttp_app/go.mod +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/go/nethttp_app/main.go +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/java/methodref_app/pom.xml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/java/methodref_app/src/main/java/com/example/App.java +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/java/spring_app/pom.xml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/java/spring_app/src/main/java/com/example/Application.java +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/java/spring_app/src/main/java/com/example/ReportRunner.java +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/java/spring_app/src/main/java/com/example/ReportService.java +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/java/spring_app/src/main/java/com/example/UserController.java +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/javascript/commonjs_app/server.js +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/javascript/express_app/package.json +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/javascript/express_app/src/routes.js +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/javascript/express_app/src/services.js +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/php/laravel_app/app/Http/Controllers/ReportController.php +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/php/laravel_app/artisan +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/php/laravel_app/composer.json +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/php/laravel_app/routes/web.php +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/chained_sinks/app.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/flask_app/app/__init__.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/flask_app/app/db.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/flask_app/app/routes.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/flask_app/app/services.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/flask_app/cli.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/flask_app/requirements.txt +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/fuzzy_sink/app.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/heal_fidelity/caller.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/heal_fidelity/worker.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/may_continue/app.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/sanitizer/app.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/python/taint_source/handler.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/ruby/sinatra_app/Gemfile +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/ruby/sinatra_app/app.rb +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/ruby/sinatra_app/services/runner.rb +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/rust/axum_app/Cargo.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/rust/axum_app/src/handlers.rs +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/rust/axum_app/src/main.rs +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/rust/axum_callback_app/Cargo.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/rust/axum_callback_app/src/main.rs +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/rust/scoped_sink_app/Cargo.toml +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/rust/scoped_sink_app/src/main.rs +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_api.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_cli.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_commonjs.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_csharp_callbacks.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_cte_bounds.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_engine_pragmas.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_entrypoint_expansion.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_entrypoints.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_entrypoints_csharp.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_entrypoints_go.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_entrypoints_javascript.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_entrypoints_php.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_entrypoints_ruby.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_entrypoints_rust.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_extract_csharp.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_extract_go.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_extract_java.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_extract_javascript.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_extract_php.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_extract_python.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_extract_ruby.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_extract_rust.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_frameworks.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_fuzzy_sink.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_go_callbacks.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_hardening.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_heal_fidelity.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_incremental.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_java_callbacks.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_manifests.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_may_continue.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_models.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_pool.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_reachability.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_registry_cache.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_render.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_resolver.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_rust_callbacks.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_rust_scoped_sinks.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_sanitizer_languages.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_scoring.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_sink_catalog.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_taint.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_taint_sanitizers.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_taint_sources.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/tests/test_walker.py +0 -0
- {entrygraph-0.1.47 → entrygraph-0.1.49}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: entrygraph
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.49
|
|
4
4
|
Summary: Language-agnostic code graph: query symbols, entrypoints, and source-to-sink call paths from a SQLite index
|
|
5
5
|
Project-URL: Repository, https://github.com/brettbergin/entrygraph
|
|
6
6
|
Author-email: Brett Bergin <brettberginbc@yahoo.com>
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.1.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
21
|
+
__version__ = version = '0.1.49'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 1, 49)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -442,6 +442,15 @@ def _write_symbols(session, extractions, file_id_by_path, alloc, table):
|
|
|
442
442
|
module_id = alloc.take(Symbol)
|
|
443
443
|
module_ids[path] = module_id
|
|
444
444
|
table.add_module(x.module_path, module_id, x.language)
|
|
445
|
+
# A module spans its whole file. The extractor doesn't record a line count,
|
|
446
|
+
# so approximate the last line from the furthest span of any extracted
|
|
447
|
+
# symbol/import/reference (>= 1 = start_line). This keeps the module row
|
|
448
|
+
# inside the end_line >= start_line invariant instead of the old end_line=0
|
|
449
|
+
# (#44), while covering all of the file's content.
|
|
450
|
+
line_spans = [s.span.end_line for s in x.symbols]
|
|
451
|
+
line_spans += [r.span.end_line for r in x.references]
|
|
452
|
+
line_spans += [i.span.end_line for i in x.imports]
|
|
453
|
+
module_end_line = max(line_spans, default=1)
|
|
445
454
|
symbol_rows.append(
|
|
446
455
|
{
|
|
447
456
|
"id": module_id,
|
|
@@ -451,7 +460,7 @@ def _write_symbols(session, extractions, file_id_by_path, alloc, table):
|
|
|
451
460
|
"qname": x.module_path,
|
|
452
461
|
"parent_id": None,
|
|
453
462
|
"start_line": 1,
|
|
454
|
-
"end_line":
|
|
463
|
+
"end_line": module_end_line,
|
|
455
464
|
"start_col": 0,
|
|
456
465
|
"signature": None,
|
|
457
466
|
"docstring": None,
|
|
@@ -105,6 +105,20 @@ def test_import_edges(indexed):
|
|
|
105
105
|
assert "app.services" in imports
|
|
106
106
|
|
|
107
107
|
|
|
108
|
+
def test_module_symbols_satisfy_span_invariant(indexed):
|
|
109
|
+
# Module rows used to be written with end_line=0 < start_line=1 (#44). Every
|
|
110
|
+
# module symbol must now satisfy end_line >= start_line and span real content.
|
|
111
|
+
engine, _ = indexed
|
|
112
|
+
with Session(engine) as s:
|
|
113
|
+
modules = s.execute(select(Symbol).where(Symbol.kind == SymbolKind.MODULE)).scalars().all()
|
|
114
|
+
assert modules # the flask fixture has several modules
|
|
115
|
+
for m in modules:
|
|
116
|
+
assert m.start_line == 1
|
|
117
|
+
assert m.end_line >= m.start_line
|
|
118
|
+
# at least one module spans past line 1 (files have content)
|
|
119
|
+
assert any(m.end_line > 1 for m in modules)
|
|
120
|
+
|
|
121
|
+
|
|
108
122
|
def test_reindex_is_idempotent(indexed):
|
|
109
123
|
engine, first = indexed
|
|
110
124
|
second = index_repository(FLASK_APP, engine)
|
|
@@ -20,6 +20,17 @@ def test_new_language_extensions():
|
|
|
20
20
|
assert {"csharp", "php", "rust"} <= EXTRACTABLE
|
|
21
21
|
|
|
22
22
|
|
|
23
|
+
def test_not_extracted_group_is_not_in_extractable():
|
|
24
|
+
# The "recognized but not extracted" extensions must genuinely lack extractors;
|
|
25
|
+
# cs/rs/php were mis-grouped under that comment despite having extractors (#48).
|
|
26
|
+
from entrygraph.fs.lang import _EXTENSION_MAP
|
|
27
|
+
|
|
28
|
+
not_extracted = {"c", "cpp", "kotlin", "swift", "scala"}
|
|
29
|
+
assert not (not_extracted & EXTRACTABLE)
|
|
30
|
+
for ext in (".cs", ".rs", ".php", ".phtml"):
|
|
31
|
+
assert _EXTENSION_MAP[ext] in EXTRACTABLE
|
|
32
|
+
|
|
33
|
+
|
|
23
34
|
def test_filename_detection():
|
|
24
35
|
assert detect_language("Gemfile") == "ruby"
|
|
25
36
|
assert detect_language("subdir/Rakefile") == "ruby"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -30,18 +30,18 @@ _EXTENSION_MAP = {
|
|
|
30
30
|
".rb": "ruby",
|
|
31
31
|
".rake": "ruby",
|
|
32
32
|
".gemspec": "ruby",
|
|
33
|
+
".cs": "csharp",
|
|
34
|
+
".rs": "rust",
|
|
35
|
+
".php": "php",
|
|
36
|
+
".phtml": "php",
|
|
33
37
|
# recognized but not extracted — kept for honest stats
|
|
34
38
|
".c": "c",
|
|
35
39
|
".h": "c",
|
|
36
40
|
".cpp": "cpp",
|
|
37
41
|
".cc": "cpp",
|
|
38
42
|
".hpp": "cpp",
|
|
39
|
-
".cs": "csharp",
|
|
40
|
-
".rs": "rust",
|
|
41
43
|
".kt": "kotlin",
|
|
42
44
|
".swift": "swift",
|
|
43
|
-
".php": "php",
|
|
44
|
-
".phtml": "php",
|
|
45
45
|
".scala": "scala",
|
|
46
46
|
".sh": "shell",
|
|
47
47
|
".bash": "shell",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/csharp/aspnet_app/Services/ReportService.cs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{entrygraph-0.1.47 → entrygraph-0.1.49}/tests/fixtures/javascript/express_app/src/services.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|