@@ -50,15 +50,6 @@ flowchart TD
5050
5151 S --> T["5. Installed Module<br/>MyModule/1.0.0/<br/>├── MyModule.psd1<br/>├── lib/net8.0/ ← only best TFM<br/>└── runtimes/win-x64/ ← only matching RID"]
5252
53- click A "src/code/InstallPSResource.cs#L147" "InstallPSResource.cs — cmdlet parameters"
54- click C "src/code/InstallHelper.cs#L1181" "InstallHelper.TryExtractToDirectory()"
55- click D3 "src/code/InstallHelper.cs#L1394" "InstallHelper.GetCurrentFramework()"
56- click D4 "src/code/InstallHelper.cs#L1289" "InstallHelper.GetBestLibFramework()"
57- click E3 "src/code/RuntimeIdentifierHelper.cs#L204" "RuntimeIdentifierHelper.DetectRuntimeIdentifier()"
58- click J "src/code/RuntimePackageHelper.cs#L83" "RuntimePackageHelper.ShouldIncludeEntry()"
59- click O "src/code/InstallHelper.cs#L1358" "InstallHelper.ShouldIncludeLibEntry()"
60- click S "src/code/InstallHelper.cs#L1709" "InstallHelper.DeleteExtraneousFiles()"
61-
6253 style K fill:#2d6a2d,color:#fff
6354 style I fill:#2d6a2d,color:#fff
6455 style N fill:#2d6a2d,color:#fff
@@ -69,6 +60,19 @@ flowchart TD
6960 style T fill:#1a3d5c,color:#fff
7061```
7162
63+ ### Code References
64+
65+ | Diagram Step | Method | File |
66+ | ---| ---| ---|
67+ | Cmdlet parameters | ` SkipRuntimeFiltering ` , ` RuntimeIdentifier ` , ` TargetFramework ` | [ InstallPSResource.cs#L147] ( src/code/InstallPSResource.cs#L147 ) |
68+ | TryExtractToDirectory | Entry point for filtered extraction | [ InstallHelper.cs#L1181] ( src/code/InstallHelper.cs#L1181 ) |
69+ | GetCurrentFramework | Auto-detect TFM from ` RuntimeInformation.FrameworkDescription ` | [ InstallHelper.cs#L1394] ( src/code/InstallHelper.cs#L1394 ) |
70+ | GetBestLibFramework | ` FrameworkReducer.GetNearest() ` for lib/ selection | [ InstallHelper.cs#L1289] ( src/code/InstallHelper.cs#L1289 ) |
71+ | ShouldIncludeLibEntry | Filter lib/ entries against best TFM | [ InstallHelper.cs#L1358] ( src/code/InstallHelper.cs#L1358 ) |
72+ | DetectRuntimeIdentifier | Auto-detect RID from OS + architecture | [ RuntimeIdentifierHelper.cs#L204] ( src/code/RuntimeIdentifierHelper.cs#L204 ) |
73+ | ShouldIncludeEntry | Filter runtimes/ entries against target RID | [ RuntimePackageHelper.cs#L83] ( src/code/RuntimePackageHelper.cs#L83 ) |
74+ | DeleteExtraneousFiles | Cleanup: remove NuGet packaging artifacts | [ InstallHelper.cs#L1709] ( src/code/InstallHelper.cs#L1709 ) |
75+
7276## Dependency Parsing (TFM-Aware)
7377
7478``` mermaid
@@ -86,14 +90,18 @@ flowchart TD
8690 F -->|".NET 8 (PS 7.4)"| G["Select net8.0 group<br/>→ 0 dependencies<br/>(APIs are inbox)"]
8791 F -->|".NET Framework 4.7.2 (PS 5.1)"| H["Select net472 group<br/>→ 2 dependencies<br/>(System.Memory, System.Buffers)"]
8892
89- click C "src/code/LocalServerApiCalls.cs#L958" "LocalServerApiCalls.GetHashtableForNuspec()"
90- click D "src/code/PSResourceInfo.cs#L618" "PSResourceInfo.TryConvertFromJson()"
91- click E "src/code/PSResourceInfo.cs#L1704" "PSResourceInfo.ParseNuspecDependencyGroups()"
92-
9393 style G fill:#2d6a2d,color:#fff
9494 style H fill:#c47a20,color:#fff
9595```
9696
97+ ### Code References
98+
99+ | Diagram Step | Method | File |
100+ | ---| ---| ---|
101+ | GetHashtableForNuspec | ` NuspecReader ` parses .nuspec for local repos | [ LocalServerApiCalls.cs#L958] ( src/code/LocalServerApiCalls.cs#L958 ) |
102+ | TryConvertFromJson | Parses V3 JSON dependency groups for remote repos | [ PSResourceInfo.cs#L618] ( src/code/PSResourceInfo.cs#L618 ) |
103+ | ParseNuspecDependencyGroups | TFM-aware group selection via ` FrameworkReducer ` | [ PSResourceInfo.cs#L1704] ( src/code/PSResourceInfo.cs#L1704 ) |
104+
97105## Before vs After
98106
99107``` mermaid
@@ -138,5 +146,5 @@ flowchart LR
138146 L1["linux-musl-x64"] --> L2["linux-x64"] --> L3["linux"] --> U["unix"] --> ANY
139147 O1["osx.12-arm64"] --> O2["osx-arm64"] --> O3["osx"] --> U
140148
141- click W1 "src/code/RuntimeIdentifierHelper.cs#L301" "BuildCompatibleRidList()"
149+
142150```
0 commit comments