Skip to content

Rename ApplicationModule to ExtensionInstance, old class to SpecificationBackedExtension#7292

Draft
isaacroldan wants to merge 1 commit into04-14-introduce_applicationmodule_base_class_moduledescriptor_and_moduleregistryfrom
04-14-rename_applicationmodule_to_extensioninstance_old_class_to_specificationbackedextension
Draft

Rename ApplicationModule to ExtensionInstance, old class to SpecificationBackedExtension#7292
isaacroldan wants to merge 1 commit into04-14-introduce_applicationmodule_base_class_moduledescriptor_and_moduleregistryfrom
04-14-rename_applicationmodule_to_extensioninstance_old_class_to_specificationbackedextension

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-introduce_applicationmodule_base_class_moduledescriptor_and_moduleregistry branch from 8e4a90d to e215bc7 Compare April 14, 2026 15:24
@isaacroldan isaacroldan force-pushed the 04-14-rename_applicationmodule_to_extensioninstance_old_class_to_specificationbackedextension branch 2 times, most recently from 616f287 to 314e17b Compare April 14, 2026 16:36
@isaacroldan isaacroldan force-pushed the 04-14-introduce_applicationmodule_base_class_moduledescriptor_and_moduleregistry branch from e215bc7 to 273a501 Compare April 14, 2026 16:36
…tionBackedExtension

Phase 2 of the refactor: make ExtensionInstance the base class name.

- Rename ApplicationModule class to ExtensionInstance (the base class)
- Rename old ExtensionInstance class to SpecificationBackedExtension
- Re-export ExtensionInstance from extension-instance.ts so all 76+
  importing files continue working with zero changes
- Update loader to use new SpecificationBackedExtension(...)
- Update test files to use new SpecificationBackedExtension(...)
- Replace direct .specification.X accesses with instance getters:
  .specification.identifier -> .type
  .specification.experience -> .experience
  .specification.buildConfig -> .buildConfig
- Add optional specification? property on base class for backward compat

2088 tests pass across 209 files.
@isaacroldan isaacroldan force-pushed the 04-14-introduce_applicationmodule_base_class_moduledescriptor_and_moduleregistry branch from 273a501 to a2ae333 Compare April 16, 2026 14:45
@isaacroldan isaacroldan force-pushed the 04-14-rename_applicationmodule_to_extensioninstance_old_class_to_specificationbackedextension branch from 314e17b to 5f66361 Compare April 16, 2026 14:45
@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/ui.d.ts
@@ -328,6 +328,7 @@ interface RenderTasksOptions {
 /**
  * Runs async tasks and displays their progress to the console.
  * @example
+ * ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  * Installing dependencies ...
  */
 export declare function renderTasks<TContext>(tasks: Task<TContext>[], { renderOptions, noProgressBar }?: RenderTasksOptions): Promise<TContext>;
@@ -345,6 +346,7 @@ export interface RenderSingleTaskOptions<T> {
  * @param options.renderOptions - Optional render configuration
  * @returns The result of the task
  * @example
+ * ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  * Loading app ...
  */
 export declare function renderSingleTask<T>({ title, task, onAbort, renderOptions, }: RenderSingleTaskOptions<T>): Promise<T>;

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