Skip to content

Wire loader to support ModuleRegistry alongside ExtensionSpecification#7293

Draft
isaacroldan wants to merge 1 commit into04-14-rename_applicationmodule_to_extensioninstance_old_class_to_specificationbackedextensionfrom
04-14-wire_loader_to_support_moduleregistry_alongside_extensionspecification
Draft

Wire loader to support ModuleRegistry alongside ExtensionSpecification#7293
isaacroldan wants to merge 1 commit into04-14-rename_applicationmodule_to_extensioninstance_old_class_to_specificationbackedextensionfrom
04-14-wire_loader_to_support_moduleregistry_alongside_extensionspecification

Conversation

@isaacroldan
Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

Fixes #0000

WHAT is this pull request doing?

How to test your changes?

Post-release steps

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes
  • I've considered analytics changes to measure impact
  • The change is user-facing, so I've added a changelog entry with pnpm changeset add

Copy link
Copy Markdown
Contributor Author

isaacroldan commented Apr 14, 2026

@isaacroldan isaacroldan force-pushed the 04-14-wire_loader_to_support_moduleregistry_alongside_extensionspecification branch from a9042c2 to 8c23aab Compare April 14, 2026 15:24
@isaacroldan isaacroldan force-pushed the 04-14-rename_applicationmodule_to_extensioninstance_old_class_to_specificationbackedextension branch from afb85b0 to 616f287 Compare April 14, 2026 15:24
@github-actions
Copy link
Copy Markdown
Contributor

Differences in type declarations

We detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:

  • Some seemingly private modules might be re-exported through public modules.
  • If the branch is behind main you might see odd diffs, rebase main into this branch.

New type declarations

We found no new type declarations in this PR

Existing type declarations

packages/cli-kit/dist/public/node/node-package-manager.d.ts
@@ -68,14 +68,6 @@ export declare function packageManagerFromUserAgent(env?: NodeJS.ProcessEnv): Pa
  * @returns The dependency manager
  */
 export declare function getPackageManager(fromDirectory: string): Promise<PackageManager>;
-/**
- * Builds the command and argv needed to execute a local binary using the package manager
- * detected from the provided directory or its ancestors.
- */
-export declare function packageManagerBinaryCommandForDirectory(fromDirectory: string, binary: string, ...binaryArgs: string[]): Promise<{
-    command: string;
-    args: string[];
-}>;
 interface InstallNPMDependenciesRecursivelyOptions {
     /**
      * The dependency manager to use to install the dependencies.

Phase 3a: Add dual-path instance creation to the AppLoader.

- Add ModuleRegistry field to AppLoader
- Update createExtensionInstance to check registry first via
  descriptor.createModule(), falling back to legacy spec path
- Add createModuleFromDescriptor method for the new path
- Widen findEntryPath signature to accept both specs and descriptors
- Add moduleRegistry to ConfigurationLoaderResult type

The registry is currently empty so all instances still use the legacy
SpecificationBackedExtension path. Next PR will migrate actual specs.
@isaacroldan isaacroldan force-pushed the 04-14-rename_applicationmodule_to_extensioninstance_old_class_to_specificationbackedextension branch from 616f287 to 314e17b Compare April 14, 2026 16:36
@isaacroldan isaacroldan force-pushed the 04-14-wire_loader_to_support_moduleregistry_alongside_extensionspecification branch from 8c23aab to f51e497 Compare April 14, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant