[loader] Bootstrap renderer host import maps #4

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

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

Goal: expose stable host APIs to browser/Electron-renderer ESM plugin module graphs through app-owned import maps.

Scope:

  • Generate or maintain wrapper modules under the workspace plugin-host area.
  • Generate the host import map from the shared catalogue.
  • Add import map bootstrap/manager code and a Vite or HTML transform that injects the map before app/plugin module scripts.
  • Support dev and production URLs, ensuring production entries point at emitted assets.
  • Keep the map host-owned; do not merge arbitrary plugin-defined import maps in v1.

Acceptance:

  • Test modules can import obsidian and selected host modules through the map.
  • Import map loading is early enough for plugin ESM imports.
  • Production build tests verify import map targets exist.
Source: Lapis plugin module loading plan, 2026-06-02. Goal: expose stable host APIs to browser/Electron-renderer ESM plugin module graphs through app-owned import maps. Scope: - Generate or maintain wrapper modules under the workspace plugin-host area. - Generate the host import map from the shared catalogue. - Add import map bootstrap/manager code and a Vite or HTML transform that injects the map before app/plugin module scripts. - Support dev and production URLs, ensuring production entries point at emitted assets. - Keep the map host-owned; do not merge arbitrary plugin-defined import maps in v1. Acceptance: - Test modules can import obsidian and selected host modules through the map. - Import map loading is early enough for plugin ESM imports. - Production build tests verify import map targets exist.
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#4
No description provided.