resources/example/project.json

{
  "ProjectName": "NovaExampleModule",
  "Description": "A working example project that demonstrates how to build, test, package, and upload a small module with NovaModuleTools.",
  "Version": "0.1.0",
  "CopyResourcesToModuleRoot": false,
  "BuildRecursiveFolders": true,
  "SetSourcePath": true,
  "FailOnDuplicateFunctionNames": true,
  "Preamble": [
    "Set-StrictMode -Version Latest",
    "$ErrorActionPreference = 'Stop'"
  ],
  "Manifest": {
    "Author": "NovaModuleTools",
    "PowerShellHostVersion": "7.4",
    "GUID": "b3b4ca64-a274-4768-872d-2b3c8bc12a39",
    "Tags": [
      "Example",
      "NovaModuleTools",
      "PowerShell"
    ],
    "ProjectUri": "https://www.novamoduletools.com/",
    "ReleaseNotes": "https://www.novamoduletools.com/release-notes.html",
    "LicenseUri": "https://www.novamoduletools.com/license.html"
  },
  "Package": {
    "Id": "NovaExampleModule",
    "Types": [
      "NuGet",
      "Zip"
    ],
    "Latest": true,
    "OutputDirectory": {
      "Path": "artifacts/packages",
      "Clean": true
    },
    "PackageFileName": "NovaExampleModule",
    "AddVersionToFileName": true,
    "FileNamePattern": "NovaExampleModule*",
    "Authors": [
      "NovaModuleTools",
      "Example Maintainer"
    ],
    "Description": "Example package metadata and raw upload configuration for NovaExampleModule.",
    "RepositoryUrl": "https://packages.example.test/raw/novamodule/",
    "UploadPath": "stable/latest",
    "Headers": {
      "X-Client-Id": "nova-example",
      "X-Trace-Source": "nova-init-example"
    },
    "Auth": {
      "HeaderName": "Authorization",
      "Scheme": "Bearer",
      "TokenEnvironmentVariable": "NOVA_EXAMPLE_PACKAGE_TOKEN"
    },
    "Repositories": [
      {
        "Name": "ExampleRaw",
        "Url": "https://packages.example.test/raw/novamodule/",
        "UploadPath": "stable/latest",
        "Headers": {
          "X-Repository": "example-raw"
        },
        "Auth": {
          "HeaderName": "Authorization",
          "Scheme": "Bearer",
          "TokenEnvironmentVariable": "NOVA_EXAMPLE_PACKAGE_TOKEN"
        }
      },
      {
        "Name": "ExampleApiKey",
        "Url": "https://packages.example.test/raw/novamodule/alt/",
        "UploadPath": "preview",
        "Headers": {
          "X-Repository": "example-api-key"
        },
        "Auth": {
          "HeaderName": "X-Api-Key",
          "Token": "replace-me-for-local-testing"
        }
      }
    ]
  },
  "Pester": {
    "TestResult": {
      "Enabled": true,
      "OutputFormat": "NUnitXml"
    },
    "Output": {
      "Verbosity": "Detailed"
    }
  }
}