feat(js): expose lightweight ProcessRunner entry - #194
Merged
Conversation
Adding .gitkeep for PR creation (default mode). This file will be removed when the task is complete. Issue: #192
konard
marked this pull request as ready for review
August 11, 2026 10:21
Member
Author
Working session summaryImplemented and finalized PR #194.
Final SHA: This summary was automatically extracted from the AI working session output. |
Member
Author
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (177.8K + 7.5M cached) input tokens, 24.8K output tokens, $10.351603 cost 🤖 Models used:
📎 Log file uploaded as Gist (2886KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
Member
Author
🎉 Auto-mergedThis pull request has been automatically merged by hive-mind.
Auto-merged by hive-mind with --auto-merge flag |
konard
added a commit
that referenced
this pull request
Aug 11, 2026
Resolves three conflicts against main at 0.18.2: - js/package.json: combine the new "require"/"import" export conditions for "." with the "./process-runner" subpath added upstream in #194. The subpath needs no CommonJS wrapper - it exposes only the named export ProcessRunner, which require(esm) already returns directly. - js/README.md: keep both additions - the upstream "Lightweight ProcessRunner entry point" subsection and the new "Module Formats (ESM and CommonJS)" section. - .gitkeep: accept the upstream deletion from 100be07.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #192
Reproduction
Bundling the package root pulls the terminal renderer into the graph and fails on its native binaries:
bunx esbuild 'src/$.mjs' --bundle --platform=node --format=esmThe new public entry bundles successfully:
Root cause
The only package export targeted
src/$.mjs, which unconditionally importsterminal-capture.mjs. Bundlers therefore traversed the optional PTY, xterm, SVG, and GIF feature graph even when a consumer only importedProcessRunner.Changes
command-stream/process-runneras a supported package export.@resvg/resvg-js,@xterm/headless,gifenc, andnode-pty.Verification
bun test js/tests/process-runner-entry.test.mjs --timeout 10000: 2 passed.bun run test: 797 passed, 5 skipped, 0 failed (802 total).bun run lint: passed with one pre-existingprefer-templatewarning.bun run format:check: passed.bun run check:duplication: passed.bun scripts/validate-changeset.mjs: passed.npm pack --dry-run --json: confirmedsrc/process-runner.mjsis included..nodefiles as reported.Language parity
This changes only the JavaScript npm package export graph; the Rust crate has no corresponding npm subpath or eager JavaScript terminal dependency. The PR is marked
parity-exempt.