Repository navigation
Load TypeScript components from their selected source - #983
Conversation
PR #983: Load TypeScript components from their selected source44 files, +1925 / -177 Scope🔴 PR has 2102 lines changed. Split into focused PRs. 🟡 2102 lines changed. PRs under 400 receive more thorough review. 🟡 44 files changed. Are all changes related? 🟡 Changes span 8 directories. 🟡 PR mixes config and source changes. 🟡 package.json changed without dependency justification. Structural🟡 2 console statements. Oxlint structural signals:
SlopOxlint slop signals:
Static AnalysisOxlint: 65 diagnostics across 9 files (15 rules) no-unused-vars (11): packages/core/src/execute.ts, packages/cli/src/cli.ts CorrectnessNo extraneous code patterns detected. |
Why
TypeScript component edits could execute stale native module bytes, and retained execution could depend on the current direct file. Refs #896.
What changes
Ordinary imports execute selected or retained direct source through a captured ComponentModuleLoader. CLI hosts install their adapter automatically. Programmatic TypeScript callers explicitly install one; absence produces an actionable error. Existing permissions, module namespace behavior, logical origin and invocation-owned cleanup remain required.
How to verify it
The focused Deno, Node/tsx and Bun evidence covers same-path edits and fresh-process retained continuation. Additional focused evidence covers loader installation/capture/absence, native cleanup, denied-write preservation, source CLI hosts, emitted package consumers and the compiled binary. Both original reviewers PASS signed feedback 54b93ea.
Scope
This is the loader prerequisite for the separate REPL.Test delivery. It adds Babel standalone 8.0.7 for in-memory TypeScript transformation and runtime-specific installers.
Risks and limitations
This draft is undergoing delivery verification. Required CI, runner-measured test weights and final Planner metadata/independent verification are still pending. Feedback approval does not establish merge readiness. No merge is requested here.