[loader] Generate shared host module catalogue #2

Open
opened 2026-06-02 08:21:11 +00:00 by steve · 0 comments
Owner

Source: Lapis plugin module loading plan, 2026-06-02.

Goal: replace manually maintained dependency exposure with one allowlisted host-module catalogue that drives ESM, CommonJS, builds, and validation.

Scope:

  • Add scripts/plugin-host-modules.config.json as the source of truth.
  • Add scripts/generate-plugin-host-modules.mjs.
  • Generate host module metadata, import map JSON, CommonJS providers, shared externals, and registry validation metadata.
  • Resolve explicit package exports only for packages allowed by config.
  • Add plugin-host:generate and plugin-host:check scripts and wire the check into CI.

Acceptance:

  • Adding a public host module requires one config edit.
  • Generated outputs are deterministic.
  • Invalid exports, duplicate mappings, unsupported platforms, and accidental wildcard exposure fail generation.
Source: Lapis plugin module loading plan, 2026-06-02. Goal: replace manually maintained dependency exposure with one allowlisted host-module catalogue that drives ESM, CommonJS, builds, and validation. Scope: - Add scripts/plugin-host-modules.config.json as the source of truth. - Add scripts/generate-plugin-host-modules.mjs. - Generate host module metadata, import map JSON, CommonJS providers, shared externals, and registry validation metadata. - Resolve explicit package exports only for packages allowed by config. - Add plugin-host:generate and plugin-host:check scripts and wire the check into CI. Acceptance: - Adding a public host module requires one config edit. - Generated outputs are deterministic. - Invalid exports, duplicate mappings, unsupported platforms, and accidental wildcard exposure fail generation.
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lapis-notes/plugin-registry#2
No description provided.