feat(scanner): Implement Deno analyzer and associated tests
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled

- Added Deno analyzer with comprehensive metadata and evidence structure.
- Created a detailed implementation plan for Sprint 130 focusing on Deno analyzer.
- Introduced AdvisoryAiGuardrailOptions for managing guardrail configurations.
- Developed GuardrailPhraseLoader for loading blocked phrases from JSON files.
- Implemented tests for AdvisoryGuardrailOptions binding and phrase loading.
- Enhanced telemetry for Advisory AI with metrics tracking.
- Added VexObservationProjectionService for querying VEX observations.
- Created extensive tests for VexObservationProjectionService functionality.
- Introduced Ruby language analyzer with tests for simple and complex workspaces.
- Added Ruby application fixtures for testing purposes.
This commit is contained in:
master
2025-11-12 10:01:54 +02:00
parent 0e8655cbb1
commit babb81af52
75 changed files with 3346 additions and 187 deletions

View File

@@ -457,6 +457,10 @@ public sealed class CommandHandlersTests
&& string.Equals(entry.GetProperty("lockfile").GetString(), "Gemfile.lock", StringComparison.OrdinalIgnoreCase)
&& entry.GetProperty("runtimeEntrypoints").EnumerateArray().Any(value =>
string.Equals(value.GetString(), "app.rb", StringComparison.OrdinalIgnoreCase)));
var observation = document.RootElement.GetProperty("observation");
Assert.Equal("2.5.4", observation.GetProperty("bundlerVersion").GetString());
Assert.Equal(packages.GetArrayLength(), observation.GetProperty("packageCount").GetInt32());
}
finally
{
@@ -495,6 +499,9 @@ public sealed class CommandHandlersTests
"app.rb",
entry.GetProperty("runtimeEntrypoints").EnumerateArray().Select(e => e.GetString() ?? string.Empty),
StringComparer.OrdinalIgnoreCase);
var observation = document.RootElement.GetProperty("observation");
Assert.True(observation.GetProperty("runtimeEdgeCount").GetInt32() >= 1);
}
finally
{