[loader] Replace renderer CommonJS dependency handling with catalogue resolver #3

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: improve the compatibility path without making CommonJS the preferred first-party plugin format.

Scope:

  • Add PluginDependencyResolver, PluginDependencyContext, and PluginSharedDependencyInfo interfaces.
  • Add a generated workspace CommonJS resolver from the host module catalogue.
  • Add LegacyObjectDependencyResolver as a transition adapter around the current deps object.
  • Update RendererCommunityPluginExecutionHost to resolve bare specifiers through the resolver while preserving local module graph behavior.
  • Add dependency scanner warnings for undeclared shared dependencies.
  • Improve unknown dependency errors with actionable bundle-or-expose guidance.

Acceptance:

  • Existing Obsidian-compatible plugins still load.
  • Generated exact and package-export subpaths resolve correctly.
  • Unknown, private, deprecated, or platform-incompatible modules produce clear diagnostics.
Source: Lapis plugin module loading plan, 2026-06-02. Goal: improve the compatibility path without making CommonJS the preferred first-party plugin format. Scope: - Add PluginDependencyResolver, PluginDependencyContext, and PluginSharedDependencyInfo interfaces. - Add a generated workspace CommonJS resolver from the host module catalogue. - Add LegacyObjectDependencyResolver as a transition adapter around the current deps object. - Update RendererCommunityPluginExecutionHost to resolve bare specifiers through the resolver while preserving local module graph behavior. - Add dependency scanner warnings for undeclared shared dependencies. - Improve unknown dependency errors with actionable bundle-or-expose guidance. Acceptance: - Existing Obsidian-compatible plugins still load. - Generated exact and package-export subpaths resolve correctly. - Unknown, private, deprecated, or platform-incompatible modules produce clear diagnostics.
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#3
No description provided.