Skip to content

Change dynamic imports to use @cardstack/base#5460

Merged
backspace merged 1 commit into
mainfrom
cs-10756-dynamic-imports
Jul 10, 2026
Merged

Change dynamic imports to use @cardstack/base#5460
backspace merged 1 commit into
mainfrom
cs-10756-dynamic-imports

Conversation

@backspace

@backspace backspace commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

This is a continuation of #5452.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Preview deployments

Host Test Results

  1 files  ±    0    1 suites  ±0   8m 17s ⏱️ - 2h 42m 49s
169 tests  - 3 285  164 ✅  - 3 275  5 💤  - 10  0 ❌ ±0 
169 runs   - 3 304  164 ✅  - 3 294  5 💤  - 10  0 ❌ ±0 

Results for commit 55ce796. ± Comparison against earlier commit 059e105.

Realm Server Test Results

    1 files  ±0      1 suites  ±0   10m 51s ⏱️ -54s
1 814 tests ±0  1 814 ✅ ±0  0 💤 ±0  0 ❌ ±0 
1 893 runs  ±0  1 893 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 55ce796. ± Comparison against earlier commit 059e105.

@backspace
backspace force-pushed the cs-10756-dynamic-imports branch from 108b813 to 18dc94d Compare July 9, 2026 19:18
@backspace
backspace force-pushed the cs-10756-base-import-sweep branch 3 times, most recently from 8881bc1 to 3a4b2ab Compare July 9, 2026 23:27
@backspace
backspace force-pushed the cs-10756-dynamic-imports branch from 18dc94d to 94ebce6 Compare July 10, 2026 04:17
@backspace
backspace changed the base branch from cs-10756-base-import-sweep to main July 10, 2026 04:17
@backspace
backspace marked this pull request as ready for review July 10, 2026 13:03
@backspace
backspace force-pushed the cs-10756-dynamic-imports branch from 94ebce6 to 059e105 Compare July 10, 2026 13:25
@backspace
backspace requested a review from a team July 10, 2026 14:50
@habdelra
habdelra requested a review from Copilot July 10, 2026 14:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR continues #5452 by switching runtime loader.import() module identifiers from ${baseRealm.url}… URL strings to the canonical scoped specifiers @cardstack/base/... across the host app and host test suite. This aligns dynamic loading with the @cardstack/base/ realm mapping already configured in the host VirtualNetwork, and avoids having multiple “equivalent” base-realm identifiers in dependency tracking.

Changes:

  • Replaced many loader.import(${baseRealm.url}…) call sites with loader.import('@cardstack/base/…') in unit/integration/acceptance tests and in host runtime code.
  • Removed baseRealm imports where they became unused after the dynamic import changes.
  • Updated test helpers that prime/initialize base-realm modules to use @cardstack/base/... specifiers.

Reviewed changes

Copilot reviewed 110 out of 110 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/host/tests/unit/searchable-option-test.ts Use @cardstack/base/* for dynamically imported base modules in the test loader.
packages/host/tests/unit/markdown-helpers-test.ts Drop baseRealm import and use @cardstack/base/markdown-helpers in loader.import().
packages/host/tests/unit/loader-test.ts Update setupCardLogs import thunk to use @cardstack/base/card-api.
packages/host/tests/unit/loader-parallel-prefetch-test.ts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/unit/instance-filter-matcher-test.ts Switch multiple base module dynamic imports to @cardstack/base/*.
packages/host/tests/unit/index-query-engine-test.ts Switch multiple base module dynamic imports to @cardstack/base/*.
packages/host/tests/unit/garbage-collection-test.ts Remove unused baseRealm import; use @cardstack/base/card-api dynamic import.
packages/host/tests/unit/file-def-menu-items-test.ts Remove unused baseRealm import; use @cardstack/base/file-api dynamic import.
packages/host/tests/unit/code-ref-test.ts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/unit/card-def-menu-items-test.ts Remove unused baseRealm import; use @cardstack/base/menu-items dynamic import.
packages/host/tests/unit/box-test.ts Remove unused baseRealm import; use @cardstack/base/card-api dynamic import.
packages/host/tests/unit/ai-function-generation-test.ts Remove unused baseRealm import; switch multiple base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/store-test.gts Remove unused baseRealm import; use @cardstack/base/card-api dynamic imports.
packages/host/tests/integration/store-search-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/searchable-search-doc-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/search-correlation-id-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/resources/search-test.ts Switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/resources/query-field-barrier-test.ts Switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/realm-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/realm-querying-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/realm-indexing-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/phone-number-field-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/message-service-subscription-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/markdown-skill-search-test.gts Remove unused baseRealm import; switch base module dynamic import(s) to @cardstack/base/*.
packages/host/tests/integration/field-support-predicates-test.gts Remove unused baseRealm import; switch base module dynamic import(s) to @cardstack/base/*.
packages/host/tests/integration/field-configuration-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/enum-field-test.gts Remove unused baseRealm import; switch enum dynamic imports to @cardstack/base/enum.
packages/host/tests/integration/email-field-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/text-suggestion-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/serialization-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/serialization-rri-form-audit-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/rich-markdown-field-test.gts Remove unused baseRealm import; switch base module dynamic imports (incl. codemirror editor) to @cardstack/base/*.
packages/host/tests/integration/components/realm-field-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/realm-config-routing-rule-edit-test.gts Switch several base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/query-field-error-sentinel-test.gts Switch base module dynamic imports to @cardstack/base/* and update setupCardLogs.
packages/host/tests/integration/components/preview-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/prerender-serialize-cycle-test.gts Remove unused baseRealm import; switch base module dynamic import(s) to @cardstack/base/*.
packages/host/tests/integration/components/overlay-menu-items-test.gts Switch base module dynamic imports to @cardstack/base/* and update setupCardLogs.
packages/host/tests/integration/components/operator-mode/setup.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/markdown-skill-frontmatter-test.gts Remove unused baseRealm import; switch multiple base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/markdown-preview-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/loading-test.gts Remove unused baseRealm import; update setupCardLogs and other card-api import.
packages/host/tests/integration/components/linksto-singular-js-access-contract-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/linksto-sentinel-roundtrip-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/linksto-many-per-slot-access-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/linksto-many-broken-link-placeholder-test.gts Remove unused baseRealm import; switch base module dynamic import(s) to @cardstack/base/*.
packages/host/tests/integration/components/linksto-error-sentinel-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/linksto-broken-link-placeholder-test.gts Remove unused baseRealm import; switch base module dynamic import(s) to @cardstack/base/*.
packages/host/tests/integration/components/get-relationship-membership-state-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/field-markdown-specialized-test.gts Remove unused baseRealm import; switch many base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/field-markdown-domain-test.gts Remove unused baseRealm import; switch many base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/computed-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/card-info-thumbnail-picker-test.gts Remove unused baseRealm import; switch card-api dynamic import to @cardstack/base/card-api.
packages/host/tests/integration/components/card-delete-test.gts Switch base module dynamic imports to @cardstack/base/* and update setupCardLogs.
packages/host/tests/integration/components/card-def-field-def-relationships-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/card-copy-test.gts Switch base module dynamic imports to @cardstack/base/* and update setupCardLogs.
packages/host/tests/integration/components/card-chooser-test.gts Switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/card-basics-test.gts Remove unused baseRealm import; update dynamic import in setupCardLogs.
packages/host/tests/integration/components/brand-logo-mark-field-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/brand-guide-custom-css-test.gts Remove unused baseRealm import; switch base module dynamic import(s) to @cardstack/base/*.
packages/host/tests/integration/components/brand-guide-attachments-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/components/ai-module-creation-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/skills-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/sending-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/scrolling-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/reasoning-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/past-sessions-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/general-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/file-attachment-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/fallback-models-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/fallback-banner-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/fallback-banner-live-delete-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/debug-message-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/codeblocks-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/components/ai-assistant-panel/binary-upload-dedupe-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/commands/update-room-skills-test.gts Remove unused baseRealm import; switch card-api import to @cardstack/base/card-api.
packages/host/tests/integration/commands/unpublish-realm-test.gts Remove unused baseRealm import; switch command module import to @cardstack/base/command.
packages/host/tests/integration/commands/transform-cards-test.gts Remove unused baseRealm import; switch card-api/string/command imports to @cardstack/base/*.
packages/host/tests/integration/commands/sync-openrouter-models-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/commands/show-card-test.gts Remove unused baseRealm import; switch card-api import to @cardstack/base/card-api.
packages/host/tests/integration/commands/search-command-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/integration/commands/schema-generation-test.gts Remove unused baseRealm import; switch card-api import to @cardstack/base/card-api.
packages/host/tests/integration/commands/publish-realm-test.gts Remove unused baseRealm import; switch command module import to @cardstack/base/command.
packages/host/tests/integration/commands/preview-format-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/commands/migrate-skill-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/commands/create-spec-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/integration/commands/apply-markdown-edit-test.gts Remove unused baseRealm import; update setupCardLogs import thunk.
packages/host/tests/acceptance/workspace-delete-multiple-test.gts Switch base module imports in test setup to @cardstack/base/*.
packages/host/tests/acceptance/theme-card-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/acceptance/prerender-module-test.gts Remove unused baseRealm import; switch card-api import to @cardstack/base/card-api.
packages/host/tests/acceptance/prerender-meta-test.gts Remove unused baseRealm import; switch card-api import to @cardstack/base/card-api.
packages/host/tests/acceptance/prerender-html-test.gts Remove unused baseRealm import; switch card-api import to @cardstack/base/card-api.
packages/host/tests/acceptance/operator-mode-acceptance-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/acceptance/interact-submode/create-file-test.gts Switch cards-grid dynamic import to @cardstack/base/cards-grid.
packages/host/tests/acceptance/host-mode-test.gts Remove unused baseRealm import; switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/acceptance/file-def-test.gts Remove unused baseRealm import; switch multiple base module dynamic imports to @cardstack/base/*.
packages/host/tests/acceptance/code-submode/file-def-navigation-test.gts Switch base module dynamic imports to @cardstack/base/*.
packages/host/tests/acceptance/code-submode/card-playground-test.gts Switch cards-grid dynamic import to @cardstack/base/cards-grid.
packages/host/tests/acceptance/basic-test.gts Switch base module imports in test setup to @cardstack/base/*.
packages/host/tests/helpers/shard-warmup.ts Warmup imports now use @cardstack/base/* instead of ${baseRealm.url}….
packages/host/tests/helpers/render-component.ts Remove unused baseRealm import; switch helper’s cardApi() import to @cardstack/base/card-api.
packages/host/tests/helpers/interact-submode-setup.gts Remove unused baseRealm import; switch multiple base module dynamic imports to @cardstack/base/*.
packages/host/tests/helpers/index.gts Switch helper’s card-api dynamic imports to @cardstack/base/card-api.
packages/host/tests/helpers/base-realm.ts Base realm initializer now imports all base modules via @cardstack/base/*.
packages/host/tests/helpers/adapter.ts Switch card-api dynamic imports to @cardstack/base/card-api.
packages/host/app/tools/get-card-type-schema.ts Switch tool’s card-api dynamic import to @cardstack/base/card-api.
packages/host/app/routes/module.ts Switch internal card-api dynamic imports to @cardstack/base/card-api.
packages/host/app/lib/host-base-tool.ts Switch command module dynamic import to @cardstack/base/command.
packages/host/app/lib/file-def-manager.ts Switch base64-image dynamic import to @cardstack/base/base64-image.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Converts the loader.import call sites that built their specifier from
baseRealm.url template strings to literal @cardstack/base/ specifiers, and
drops the now-unused baseRealm imports. Template strings that construct
fetch URLs or reference values (rather than import specifiers) are
unchanged. Completes the dynamic half of the in-repo import conversion.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@backspace
backspace force-pushed the cs-10756-dynamic-imports branch from 059e105 to 55ce796 Compare July 10, 2026 16:51
@backspace
backspace merged commit bc4d4f7 into main Jul 10, 2026
99 of 101 checks passed
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.

3 participants