Spaces:
Runtime error
Runtime error
| $ErrorActionPreference = "Stop" | |
| $projectRoot = Split-Path -Parent $PSScriptRoot | |
| $extensionDir = Join-Path $projectRoot "extension" | |
| $artifactsDir = Join-Path $projectRoot "artifacts" | |
| $unpackedDir = Join-Path $artifactsDir "dark-pattern-nlp-auditor-unpacked" | |
| $outputPath = Join-Path $artifactsDir "dark-pattern-nlp-auditor-extension.zip" | |
| if (-not (Test-Path -LiteralPath $extensionDir)) { | |
| throw "Extension directory not found: $extensionDir" | |
| } | |
| New-Item -ItemType Directory -Path $artifactsDir -Force | Out-Null | |
| $artifactsFullPath = [System.IO.Path]::GetFullPath($artifactsDir).TrimEnd("\") + "\" | |
| $unpackedFullPath = [System.IO.Path]::GetFullPath($unpackedDir) | |
| if (-not $unpackedFullPath.StartsWith($artifactsFullPath, [System.StringComparison]::OrdinalIgnoreCase)) { | |
| throw "Refusing to replace unpacked directory outside artifacts: $unpackedFullPath" | |
| } | |
| if (Test-Path -LiteralPath $unpackedDir) { | |
| Remove-Item -LiteralPath $unpackedDir -Recurse -Force | |
| } | |
| New-Item -ItemType Directory -Path $unpackedDir -Force | Out-Null | |
| Copy-Item -Path (Join-Path $extensionDir "*") -Destination $unpackedDir -Recurse -Force | |
| $manifestPath = Join-Path $unpackedDir "manifest.json" | |
| if (-not (Test-Path -LiteralPath $manifestPath)) { | |
| throw "Packaged extension is missing manifest.json: $manifestPath" | |
| } | |
| Get-Content -Raw -LiteralPath $manifestPath | ConvertFrom-Json | Out-Null | |
| if (Test-Path -LiteralPath $outputPath) { | |
| Remove-Item -LiteralPath $outputPath -Force | |
| } | |
| Compress-Archive -Path (Join-Path $unpackedDir "*") -DestinationPath $outputPath | |
| Write-Output "Load unpacked folder: $unpackedDir" | |
| Write-Output "ZIP package: $outputPath" | |