Prepare Lildra 0.3.1 Web Store submission

This commit is contained in:
git
2026-07-27 21:16:04 +10:00
parent 3b2626a044
commit 6ddda00eb3
21 changed files with 502 additions and 2 deletions
+50
View File
@@ -0,0 +1,50 @@
param(
[string]$Root = (Split-Path -Parent $PSScriptRoot)
)
$ErrorActionPreference = "Stop"
$manifest = Get-Content -Raw -LiteralPath (Join-Path $Root "manifest.json") | ConvertFrom-Json
$version = $manifest.version
$outputDir = Join-Path $Root "store-assets\ready-to-upload"
$package = Join-Path $outputDir "Lildra-v$version-chrome-web-store.zip"
$stage = Join-Path $Root ".store-package-staging"
if (Test-Path -LiteralPath $stage) {
throw "Staging directory already exists: $stage"
}
New-Item -ItemType Directory -Force -Path (Join-Path $stage "icons") | Out-Null
try {
Copy-Item -LiteralPath (Join-Path $Root "manifest.json"), (Join-Path $Root "background.js"), (Join-Path $Root "lildra.js") -Destination $stage
foreach ($size in 16, 32, 48, 128) {
Copy-Item -LiteralPath (Join-Path $Root "icons\LildraLogo$size.png") -Destination (Join-Path $stage "icons")
}
if (Test-Path -LiteralPath $package) { Remove-Item -LiteralPath $package }
Compress-Archive -Path (Join-Path $stage "*") -DestinationPath $package -CompressionLevel Optimal
} finally {
if (Test-Path -LiteralPath $stage) { Remove-Item -LiteralPath $stage -Recurse -Force }
}
Add-Type -AssemblyName System.IO.Compression.FileSystem
$zip = [System.IO.Compression.ZipFile]::OpenRead($package)
try {
$inventory = @($zip.Entries | ForEach-Object { $_.FullName.Replace("\", "/") })
if ($inventory -notcontains "manifest.json") { throw "manifest.json is not at the ZIP root" }
$expected = @(
"manifest.json", "background.js", "lildra.js",
"icons/LildraLogo16.png", "icons/LildraLogo32.png",
"icons/LildraLogo48.png", "icons/LildraLogo128.png"
)
if (Compare-Object $expected $inventory) { throw "Unexpected ZIP inventory" }
} finally {
$zip.Dispose()
}
$hash = Get-FileHash -Algorithm SHA256 -LiteralPath $package
[pscustomobject]@{
Path = $package
Size = (Get-Item -LiteralPath $package).Length
SHA256 = $hash.Hash
Inventory = $inventory -join ", "
}