Files
brass-and-sigil/scripts
Matt Sijbers ed70ff52e9 Deploy-Brass: extend manifest verification to all fields
The previous check covered version, launcherVersion/Url, and a single
sampled self-hosted URL. Expanded to cover every field that has ever
been a foot-gun:

  Required (must always be present and match pack.lock.json):
    name, version, minecraft.version, loader.type, loader.version,
    launcherVersion, launcherUrl

  Optional but consistency-checked: if pack.lock.json declares the
  field, the manifest MUST also have it (and defaultServer must include
  a non-empty ip). Catches the case where someone removes the field
  from pack.lock or Build-Pack drops it silently:
    panelUrl, defaultShader, defaultServer

  files[]: every entry validated for path/url/sha1/size shape; every
  self-hosted (non-CDN) url checked for the expected host. Catches
  partial-update bugs where some URLs migrate hosts but others don't.

URL host checks use the configured $ManifestPublicUrl host as the
source of truth; CDN-hosted mods (modrinth/forgecdn/curseforge) are
intentionally exempt.
2026-05-20 21:37:55 +01:00
..