Introduce ApplicationModule base class, ModuleDescriptor, and ModuleRegistry#7291
Draft
isaacroldan wants to merge 1 commit intomainfrom
Draft
Conversation
Contributor
Author
This was referenced Apr 14, 2026
Draft
8e4a90d to
e215bc7
Compare
…egistry Phase 1 of the ExtensionSpecification → ApplicationModule refactor. - Create ApplicationModule abstract base class that will replace ExtensionInstance. All shared instance state and infrastructure methods (build pipeline, file watching, handle/uid computation, bundling) live on the base class. Subclasses override behavior methods (appModuleFeatures, deployConfig, etc.) - Create ModuleDescriptor interface for pre-instantiation concerns (type lookup, schema contribution, config parsing, instance factory). This replaces ExtensionSpecification for the pre-instantiation registry. - Create ModuleRegistry class to hold descriptors and provide type lookup, schema building, and remote spec merging. - Make ExtensionInstance extend ApplicationModule for backward compatibility. It delegates identity/behavior to the existing ExtensionSpecification, preserving the current API surface for all consuming files. - Move shared types (ExtensionFeature, AssetIdentifier, Asset, etc.) to application-module.ts as canonical location; re-export from specification.ts for backward compat. No consumer changes - all 513 model tests and 488 service tests pass.
e215bc7 to
273a501
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

WHY are these changes introduced?
Fixes #0000
WHAT is this pull request doing?
How to test your changes?
Post-release steps
Checklist
pnpm changeset add