Skip to content

Registry: env constraints (env:emdash, env:astro) end-to-end with admin compatibility warning #1031

Closed

Description

@ascorbic

Plugins shouldn't install on hosts they don't support. The lexicon
already defines release.requires for env:emdash, env:astro,
and (forward-compat) future env keys.

Parent: #1026

CLI

  • release.requires in the manifest, keyed by env:*, value is a
    semver range string. Validated at parse time against the semver
    range grammar.
  • Embedded in the release record at publish.

Admin

  • Resolve runtime env values from the running EmDash install
    (already available via emdash.version and the Astro version from
    the integration).
  • RegistryPluginDetail.tsx: if any requires entry doesn't
    satisfy the running env, show a warning notice ("This plugin
    requires Astro ≥4.16; you're on 4.12. Upgrade Astro before
    installing.") and disable the Install button.
  • Server-side: install handler refuses with ENV_INCOMPATIBLE if
    any requires entry doesn't satisfy. Belt-and-braces vs admin
    bypassing the UI gate.

Acceptance

  • CLI publishes a release with env:emdash and env:astro constraints.
  • Admin disables install when host doesn't satisfy the constraints.
  • Server refuses install with ENV_INCOMPATIBLE when bypassed.
  • Compatible constraints install cleanly.

Activity

  1. added a commit that references this issue on May 31, 2026
    60c0b2e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions