With HMR, installing, enabling, disabling and removing bundles take effect live. Each profile recomposition compares the loaded modules below the profile directory and its linked targets with disk, stops the plugins whose files changed, and recomposes the profile through app-boot's recomposeProfile(): the rows the next generation drops are removed first, the latest runtime resolution is published once, and the generation is applied and judged. Afterwards HMR evicts the modules below the mappings the recomposition dropped. - app-boot: recomposeProfile(); PluginPackages.resolution; ResolutionRestartRequired; the resolver accepts in-place version changes and relinks, and relocates Node's cached link real paths. - plugin-manager: with HMR, installBundle refuses an installed package (already-installed), so an upgrade is a removal and an installation; every restart-required result carries a restartReason; removal uses the registry the package was installed from. - ui-plugin-manager: the Official Update removes and then installs; restart prompts name their reason.
230 lines
7.9 KiB
JSON
230 lines
7.9 KiB
JSON
{
|
|
"extends": "../../tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"rootDir": ".",
|
|
"outDir": "lib/types",
|
|
"jsx": "react-jsx",
|
|
"lib": [
|
|
"ES2024",
|
|
"DOM",
|
|
"DOM.Iterable"
|
|
],
|
|
"types": [
|
|
"node"
|
|
]
|
|
},
|
|
"include": [
|
|
"src",
|
|
"tests"
|
|
],
|
|
// The web e2e lane (scaffold + replay specs) boots the host spine and reads
|
|
// its Context merges — host-plane programs, checked in tsconfig.host.json;
|
|
// this client-registered project must not also hold them (one program
|
|
// cannot see both sides of the cordis Context merges).
|
|
"exclude": [
|
|
"tests/collapse-timing.e2e.ts",
|
|
"tests/notice-wake-tail.e2e.ts",
|
|
"tests/chat-flow-layout.e2e.ts",
|
|
"tests/layout-bottom.e2e.ts",
|
|
"tests/shortcuts-desktop.e2e.ts",
|
|
"tests/shortcuts-workspace.e2e.ts",
|
|
"tests/shortcuts-panels.e2e.ts",
|
|
"tests/shortcuts-fixed.e2e.ts",
|
|
"tests/shortcuts.e2e.ts",
|
|
"tests/composer-shortcuts.e2e.ts",
|
|
"tests/default-product-isolation.e2e.ts",
|
|
"tests/diff-context.e2e.ts",
|
|
"tests/code-card-layout.e2e.ts",
|
|
"tests/code-language.snapshot.ts",
|
|
"tests/scaffold.ts",
|
|
"tests/connection-recovery.e2e.ts",
|
|
"tests/server-restart.e2e.ts",
|
|
"tests/voice-input.e2e.ts",
|
|
"tests/cot-translation.e2e.ts",
|
|
"tests/cot-translation-paid.e2e.ts",
|
|
"tests/voice-setup.e2e.ts",
|
|
"tests/voice-download.e2e.ts",
|
|
"tests/prefix-proxy.ts",
|
|
"tests/auto-review-fixture.ts",
|
|
"tests/scaffold-generation.spec.ts",
|
|
"tests/scaffold-hermetic.e2e.ts",
|
|
"tests/startup-rpc-budget.e2e.ts",
|
|
"tests/minimal-preset.snapshot.ts",
|
|
"tests/message-feedback-protocol.snapshot.ts",
|
|
"tests/preset-migration.snapshot.ts",
|
|
"tests/subagent-fork-schedule.snapshot.ts",
|
|
"tests/live-interactions.e2e.ts",
|
|
"tests/question-composer.e2e.ts",
|
|
"tests/approval-composer.e2e.ts",
|
|
"tests/ptc-escalation.e2e.ts",
|
|
"tests/standalone-string-editor.e2e.ts",
|
|
"tests/official-subagent-bundle.e2e.ts",
|
|
"tests/plan-control-row.e2e.ts",
|
|
"tests/plan-review.e2e.ts",
|
|
"tests/steering.e2e.ts",
|
|
"tests/navigation-panes.e2e.ts",
|
|
"tests/shell-command-details.e2e.ts",
|
|
"tests/terminal-command-browser.ts",
|
|
"tests/focus-rings.e2e.ts",
|
|
"tests/chat-scroll-fixture.ts",
|
|
"tests/trajectory-virtualization.e2e.ts",
|
|
"tests/lifecycle-chrome.e2e.ts",
|
|
"tests/reasoning-preview.e2e.ts",
|
|
"tests/details-session-lifecycle.e2e.ts",
|
|
"tests/sessionless-header.e2e.ts",
|
|
"tests/document-preview.e2e.ts",
|
|
"tests/excel-opc.e2e.ts",
|
|
"tests/office-fixture.ts",
|
|
"tests/sidebar-browser.e2e.ts",
|
|
"tests/jobs-menu-layering.e2e.ts",
|
|
"tests/plugin-config.e2e.ts",
|
|
"tests/input-plugin-extensions.e2e.ts",
|
|
"tests/plugin-manager.e2e.ts",
|
|
"tests/schedule-header.e2e.ts",
|
|
"tests/worktree-opt-in.e2e.ts",
|
|
"tests/session-inspector.e2e.ts",
|
|
"tests/shared-inspector.e2e.ts",
|
|
"tests/devtools-frontend.e2e.ts",
|
|
"tests/inspector-panels.e2e.ts",
|
|
"tests/inspector-source-build.e2e.ts",
|
|
"tests/plugin-install-cancel.e2e.ts",
|
|
"tests/plugin-install-approve.e2e.ts",
|
|
"tests/plugin-hmr-lifecycle.e2e.ts",
|
|
"tests/plugin-install-registry.e2e.ts",
|
|
"tests/plugin-install-github.e2e.ts",
|
|
"tests/client-plugin-live.e2e.ts",
|
|
"tests/draft-initialization.e2e.ts",
|
|
"tests/settings-chrome.e2e.ts",
|
|
"tests/session-log-upload.e2e.ts",
|
|
"tests/caption-overlays.e2e.ts",
|
|
"tests/settings-appearance.e2e.ts",
|
|
"tests/menu-material.e2e.ts",
|
|
"tests/desktop-locale.e2e.ts",
|
|
"tests/settings-import.e2e.ts",
|
|
"tests/desktop-updates.e2e.ts",
|
|
"tests/developer-tools-settings.e2e.ts",
|
|
"tests/models-settings.e2e.ts",
|
|
"tests/deepseek-messages-settings.e2e.ts",
|
|
"tests/deepseek-messages-chat.e2e.ts",
|
|
"tests/models-settings-recovery.e2e.ts",
|
|
"tests/default-model.e2e.ts",
|
|
"tests/model-menu-observer.e2e.ts",
|
|
"tests/default-workspace.e2e.ts",
|
|
"tests/new-session-refused.e2e.ts",
|
|
"tests/github-ready-review.e2e.ts",
|
|
"tests/streaming-fence-highlight.e2e.ts",
|
|
"tests/declared-reasoning.e2e.ts",
|
|
"tests/onboarding-deepseek-config.e2e.ts",
|
|
"tests/onboarding-native.e2e.ts",
|
|
"tests/desktop-onboarding.e2e.ts",
|
|
"tests/bonus-notice.e2e.ts",
|
|
"tests/account-login.e2e.ts",
|
|
"tests/onboarding-usable-provider.e2e.ts",
|
|
"tests/remote-settings.e2e.ts",
|
|
"tests/public-mount.e2e.ts",
|
|
"tests/workspace-new-session-folding.e2e.ts",
|
|
"tests/workspace-management.e2e.ts",
|
|
"tests/workspace-recency.e2e.ts",
|
|
"tests/session-unarchive.e2e.ts",
|
|
"tests/session-archive-active.e2e.ts",
|
|
"tests/replay-round-trip.e2e.ts",
|
|
"tests/session-replay-reload.e2e.ts",
|
|
"tests/hmr-live.e2e.ts",
|
|
"tests/preview-boot.e2e.ts",
|
|
"tests/seeded-history.e2e.ts",
|
|
"tests/stats-paged-history.e2e.ts",
|
|
"tests/sidebar-scrollbar.e2e.ts",
|
|
"tests/sidebar-title-hover-scroll.e2e.ts",
|
|
"tests/rail-search-expand.e2e.ts",
|
|
"tests/conversation-column-overflow.e2e.ts",
|
|
"tests/ptc-round.e2e.ts",
|
|
"tests/present.e2e.ts",
|
|
"tests/present-svg.e2e.ts",
|
|
"tests/composer-draft-scroll.e2e.ts",
|
|
"tests/composer-focus.e2e.ts",
|
|
"tests/composer-placeholder.e2e.ts",
|
|
"tests/context-meter.e2e.ts",
|
|
"tests/cordis-tool-round.e2e.ts",
|
|
"tests/web-search-round.e2e.ts",
|
|
"tests/file-upload-round.e2e.ts",
|
|
"tests/message-actions.e2e.ts",
|
|
"tests/open-in-app-ssh.e2e.ts",
|
|
"tests/fork-mid-turn.e2e.ts",
|
|
"tests/message-feedback.e2e.ts",
|
|
"tests/markdown-images.e2e.ts",
|
|
"tests/markdown-file-links.e2e.ts",
|
|
"tests/user-text-secret-mask.e2e.ts",
|
|
"tests/reference-composer.e2e.ts",
|
|
"tests/markdown-wide-table.e2e.ts",
|
|
"tests/thinking-markdown.e2e.ts",
|
|
"tests/math-rendering.e2e.ts",
|
|
"tests/markdown-cjk-strong.e2e.ts",
|
|
"tests/markdown-inline-code-links.e2e.ts",
|
|
"tests/clickable-links-gallery.e2e.ts",
|
|
"tests/queue-actions.e2e.ts",
|
|
"tests/idle-submission-handoff.e2e.ts",
|
|
"tests/cold-blank-session.e2e.ts",
|
|
"tests/blank-writer-reuse.e2e.ts",
|
|
"tests/blank-preset-reuse.e2e.ts",
|
|
"tests/queue-image.e2e.ts",
|
|
"tests/skill-invocation-policy.e2e.ts",
|
|
"tests/skill-user-invoke.e2e.ts",
|
|
"tests/permission-policy-context.e2e.ts",
|
|
"tests/access-confirmation.e2e.ts",
|
|
"tests/agent-preset-selection.e2e.ts",
|
|
"tests/agent-preset-authoring.e2e.ts",
|
|
"tests/shipped-composition.e2e.ts",
|
|
"tests/schedule-after.e2e.ts",
|
|
"tests/feedback-command.e2e.ts",
|
|
"tests/feedback-release.e2e.ts",
|
|
"tests/agent-team-panel.e2e.ts",
|
|
"tests/sidebar-right.e2e.ts",
|
|
"tests/sidebar-terminal.e2e.ts",
|
|
"tests/startup-auto-selection.e2e.ts",
|
|
"tests/changed-files-turn.e2e.ts",
|
|
"tests/produced-file-mentions.e2e.ts",
|
|
"tests/goal-bar.e2e.ts",
|
|
"tests/goal-command-presentation.e2e.ts",
|
|
"tests/subagent-conversation.e2e.ts",
|
|
"tests/subagent-interrupt.e2e.ts",
|
|
"tests/subagent-interrupt-ui.e2e.ts",
|
|
"tests/sidebar-subagent-activity.e2e.ts",
|
|
"tests/background-job-list.e2e.ts",
|
|
"tests/live-job-stream.e2e.ts",
|
|
"tests/auto-review-approval.e2e.ts",
|
|
"tests/auto-review-denial.e2e.ts",
|
|
"tests/bash-abort-row.e2e.ts",
|
|
"tests/skill-tool-row.e2e.ts",
|
|
"tests/tool-details.e2e.ts",
|
|
"tests/turn-tail-actions.e2e.ts",
|
|
"tests/goal-multi-turn-actions.e2e.ts",
|
|
"tests/chat-scroll-fixture.ts",
|
|
"tests/chat-scroll-contract.e2e.ts",
|
|
"tests/chat-long-interactions.e2e.ts",
|
|
"tests/chat-continuous-conversation.e2e.ts",
|
|
"tests/composer-tab-geometry.e2e.ts",
|
|
"tests/window-drag-coverage.e2e.ts",
|
|
"tests/complex-history.perf.ts",
|
|
"tests/pwsh-terminal.e2e.ts",
|
|
"tests/workflow-run.e2e.ts"
|
|
],
|
|
"references": [
|
|
{ "path": "../../packages/experimental/auto-review" },
|
|
{
|
|
"path": "../../packages/client/store"
|
|
},
|
|
{
|
|
"path": "../../packages/client/web"
|
|
},
|
|
{
|
|
"path": "../../packages/client/modules"
|
|
},
|
|
{
|
|
"path": "../../packages/test-support/client-runtime"
|
|
},
|
|
{
|
|
"path": "../../packages/test-support/remote-mock"
|
|
}
|
|
]
|
|
}
|