feat(manifest): add socket manifest dotnet (1.1.126, Coana 15.5.6)#1375
Open
Jeppe Fredsgaard Blaabjerg (jfblaa) wants to merge 1 commit into
Open
feat(manifest): add socket manifest dotnet (1.1.126, Coana 15.5.6)#1375Jeppe Fredsgaard Blaabjerg (jfblaa) wants to merge 1 commit into
socket manifest dotnet (1.1.126, Coana 15.5.6)#1375Jeppe Fredsgaard Blaabjerg (jfblaa) wants to merge 1 commit into
Conversation
Add a `socket manifest dotnet` command that generates a Socket facts file (`.socket.facts.json`) from a .NET project by delegating to the Coana CLI's `manifest dotnet` command (which runs a bundled NuGet/MSBuild resolver for SDK-style and legacy `packages.config` projects), mirroring the existing gradle/sbt/maven facts flows. Includes detection of `*.csproj`/`*.fsproj`/ `*.vbproj`/`*.sln` project/solution files, `socket manifest auto` wiring, the `socket manifest setup` configurator, socket.json defaults, and `--dotnet-opts` / `--bin` pass-through. Unlike the JVM tools, the .NET resolver has no configuration filters, so `--include-configs`/`--exclude-configs` are intentionally not exposed; only `--ignore-unresolved` and `--dotnet-opts` apply. Bump Coana CLI to 15.5.6, which adds the `manifest dotnet` command this delegates to.
ee925e3 to
18f7e65
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new
socket manifest dotnetcommand that generates a Socket facts file (.socket.facts.json) from a .NET project, mirroring themaven/gradle/scala (sbt)facts flows. socket-cli delegates to the Coana CLI'smanifest dotnetcommand, which runs a bundled NuGet/MSBuild resolver (SDK-style projects via RestoreRunner, legacypackages.configreading); socket-cli only constructs the args and verifies the emitted facts file.This ships as the 1.1.126 release: the feature plus the Coana bump it depends on.
What's included
cmd-manifest-dotnet.mts— facts-only. Flags:--bin(defaults todotneton PATH),--dotnet-opts,--ignore-unresolved,--verbose. Reads defaults fromsocket.jsonlike the other tools.convert-dotnet-to-facts.mts— thin delegate to the sharedrunCoanaManifestFacts(widened to acceptecosystem: 'dotnet'/--dotnet-opts).*.csproj/*.fsproj/*.vbproj/*.slnat the directory root indetect-manifest-actions.mts, wired intosocket manifest auto..NETchoice +setupDotnetin thesocket manifest setupconfigurator.dotnetentry insocket.jsonmanifest defaults.@coana-tech/cli15.5.5 → 15.5.6, which adds themanifest dotnetcommand this delegates to.Design note: no config filters
Unlike the JVM generators, Coana's
runDotnetdoes not consume--include-configs/--exclude-configs(.NET resolution has no equivalent of Gradle/Maven configurations). To avoid advertising no-op flags, the dotnet command intentionally omits them and exposes only--ignore-unresolved(which still applies via the generic unresolved-dependency policy) and--dotnet-opts.Verification
pnpm build:dist:src,pnpm check:tsc,biome format, eslint all clean.cmd-manifest-dotnet.test.mts(help + dry-run); updatedcmd-manifest.test.mtssnapshot; full unit suite passes (1337 tests).manifest-scripts/dotnet/Coana.Dotnet.Manifest.dllat the path the runner resolves (so real users don't hit an empty-graph asset-path miss).Follows #1373 (maven), now merged.
Note
Medium Risk
New manifest path spawns
dotnet/Coana and shapes scan SBOM inputs; behavior is beta and follows existing facts generators, with dependency on the Coana 15.5.6 bundle.Overview
Release 1.1.126 adds
socket manifest dotnet[beta], which writes.socket.facts.jsonfor .NET repos by delegating to Coana’smanifest dotnet(NuGet/MSBuild via thedotnethost). Flags include--bin,--dotnet-opts, and--ignore-unresolved;--include-configs/--exclude-configsare omitted on purpose for .NET.The same release wires dotnet (and maven, where present in the branch) into
socket manifest auto,manifest setup, andsocket.jsondefaults, with root-level detection for*.csproj/*.sln(and related extensions).parseBuildToolOptscentralizes quoted parsing for--gradle-opts,--sbt-opts,--maven-opts, and--dotnet-opts.@coana-tech/cliis bumped to 15.5.6.Reviewed by Cursor Bugbot for commit ee925e3. Configure here.