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
│ │ └── SolarSystems.ps1 # Example variable surfaced in generated docs
950
950
│ ├── finally.ps1 # Cleanup script appended to the root module
951
951
│ ├── header.ps1 # Optional header injected at the top of the module
952
-
│ ├── manifest.psd1 (optional) # Source manifest reused when present
952
+
│ ├── manifest.psd1 (optional) # Source manifest reused when present; RequiredModules is not propagated — use #Requires -Modules in function files instead (see "Declaring module dependencies" below)
953
953
│ └── README.md # Module-level docs ingested by Document-PSModule
954
954
```
955
955
956
+
### Declaring module dependencies
957
+
958
+
Module dependencies are declared using [`#Requires -Modules`](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_requires)
959
+
statements at the top of individual PowerShell function files under `src/functions/public/` and `src/functions/private/`.
960
+
The build system ([Build-PSModule](https://github.com/PSModule/Build-PSModule)) collects all `#Requires -Modules`
961
+
declarations across every source file, de-duplicates them, and writes the merged result into the `RequiredModules` field
962
+
of the compiled module manifest.
963
+
964
+
> [!IMPORTANT]
965
+
> Adding `RequiredModules` to `src/manifest.psd1` is **not** supported for this purpose. Those entries are silently
966
+
> ignored by the build — they will not appear in the built manifest. Use `#Requires -Modules` in function files instead.
0 commit comments