IntuneDiff.psd1

@{
    RootModule           = 'IntuneDiff.psm1'
    ModuleVersion        = '1.1.2'
    GUID                 = '8a4f3c2e-1d6b-4a9f-9c5d-2e7b1a3f8c0d'
    Author               = 'Sandy Zeng'
    CompanyName          = 'IntuneDiff'
    Copyright            = '(c) 2026 Sandy Zeng. All rights reserved. All rights reserved. Source-available. See LICENSE.'
    Description          = 'A WPF GUI tool for comparing Microsoft Intune configuration policies and device settings. PowerShell companion to IntuneDiff.com.'

    PowerShellVersion    = '7.0'
    CompatiblePSEditions = @('Core')

    # No external module dependencies. Authentication is pure PowerShell
    # (OAuth 2.0 Auth Code + PKCE on a loopback HttpListener); Graph calls
    # use Invoke-RestMethod directly.
    RequiredModules      = @()

    FileList             = @(
        'IntuneDiff.psd1',
        'IntuneDiff.psm1',
        'LICENSE',
        'Assets\buy-me-coffee-button.png',
        'Assets\favicon.ico',
        'Assets\intune-diff-logo.png',
        'Assets\linkedin-icon.svg',
        'Data\configurationCategories.json',
        'Data\ReleaseNotes.txt',
        'Private\Auth\Connect-GraphSession.ps1',
        'Private\Auth\Disconnect-GraphSession.ps1',
        'Private\Auth\Test-GraphConnection.ps1',
        'Private\Graph\Get-DevicePolicyAssignmentsData.ps1',
        'Private\Graph\Get-IntunePolicyList.ps1',
        'Private\Graph\Get-PolicySettingsBatch.ps1',
        'Private\Graph\Get-PolicySettingsData.ps1',
        'Private\Graph\Invoke-GraphBatchRequest.ps1',
        'Private\Graph\Invoke-IntuneDiffRequest.ps1',
        'Private\Logic\Compare-AgainstBaseline.ps1',
        'Private\Logic\ConvertTo-ExtractedSettings.ps1',
        'Private\Logic\ConvertTo-IntuneSettingInstance.ps1',
        'Private\Logic\Format-SettingValue.ps1',
        'Private\Logic\Get-AsrRules.ps1',
        'Private\Logic\Get-CategoryHierarchy.ps1',
        'Private\UI\MainWindow.xaml.ps1',
        'Private\UI\New-HtmlReport.ps1',
        'Private\UI\Show-AcceptConditionsDialog.ps1',
        'Private\UI\Show-MainWindow.ps1',
        'Private\UI\Test-ModuleUpdate.ps1',
        'Public\Start-IntuneDiff.ps1'
    )

    FunctionsToExport    = @('Start-IntuneDiff')
    CmdletsToExport      = @()
    VariablesToExport    = @()
    AliasesToExport      = @()

    PrivateData          = @{
        PSData = @{
            Tags         = @('Intune', 'MDM', 'Policies', 'EndpointManager')
            LicenseUri   = 'https://github.com/sandytsang/IntuneDiff/blob/main/LICENSE'
            ProjectUri   = 'https://github.com/sandytsang/IntuneDiff'
            ReleaseNotes = '1.1.2: Fixed ADMX toggle settings so child sub-options (e.g. "Do not apply during periodic background processing", "Process even if the Group Policy objects have not changed") now nest under their parent setting ("Configure registry policy processing") instead of appearing as separate top-level entries. The fix is generic and applies to all toggle-style ADMX settings whose children share the parent category. 1.1.1: Removed all external module dependencies. Replaced MSAL/Microsoft.Graph.Authentication with a pure-PowerShell OAuth 2.0 Auth Code + PKCE flow on a loopback HttpListener (auth flow credit: Ugur Koc). Graph calls now use Invoke-RestMethod directly. Sign-in prompts (success/warning) now reliably surface above the browser window after authentication.'
        }
    }
}