Repository navigation
feat(vpx): run TypeScript scripts with the vendored oxc-node #2936
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+6,732
−151
Merged
Changes from all commits
Commits
Show all changes
101 commits
Select commit
Hold shift + click to select a range
ad42c43
docs(rfc): run TypeScript scripts with vpx
fengmk2 3e66633
feat(binding): compile vendored oxc-node into the native binding
fengmk2 d4eb80c
feat(cli): add the vpx script loader hooks
fengmk2 98ec66b
feat(vpx): run script files with the oxc-node loader
fengmk2 f97d0bf
feat(cli): ship a project-local vpx bin
fengmk2 850e758
test(vpx): cover script mode in CLI snapshots and document it
fengmk2 80d19b0
docs(rfc): record the vpx script prototype findings
fengmk2 274a362
fix(oxc-node): carry the vendored source changes as a patch
fengmk2 b17fe55
chore(deps): follow Rolldown's @oxc-project/runtime pin
fengmk2 3157566
fix(vpx): register the script hooks from a CommonJS preload
fengmk2 78024e5
feat(vpx): print the Vite+ version for -v/--version
fengmk2 efde533
feat(toolchain): report the vendored oxc-node
fengmk2 632efb3
test(vpx): cover more script-mode cases in CLI snapshots
fengmk2 34d402c
docs(vpx): mark script mode experimental and update the RFC
fengmk2 9a58bee
docs(rfc): use a real word for the mistyped-path example
fengmk2 41d57ae
build: exclude the vendored oxc-node clone from tests, fmt, and tsc
fengmk2 9295497
test(snapshots): redact Windows file URLs to the Unix spelling
fengmk2 77329ad
build(oxc-node): sync the vendored source to v0.1.5
fengmk2 ae75e4e
docs(rfc): record the oxc-node v0.1.5 fixes
fengmk2 90ac0a6
ci: run the oxc-node patch script with node instead of npx tsx
fengmk2 484d870
docs(vpx): keep `.cts` ESM support and link the oxc-node follow-ups
fengmk2 cd182b5
build(oxc-node): sync the vendored source to v0.1.6
fengmk2 858408f
docs(vpx): record the oxc-node v0.1.6 fixes
fengmk2 6a96994
refactor(vpx): simplify the loader, patch tooling, and detection
fengmk2 aa206a3
perf(vpx): use in-thread hooks on Node.js 22.22.3+ and 24.11.1+
fengmk2 08e2abd
docs(rfc): link the oxc-node request for TypeScript dependencies
fengmk2 77ae04c
docs(rfc): compare vpx startup with tsx
fengmk2 3cb251e
docs(rfc): benchmark the large file as ESM too
fengmk2 8e30233
bench: add the vpx script startup benchmark
fengmk2 57c6e75
docs(vpx): document tsconfig selection and the defaults without one
fengmk2 4ae9f52
docs(vpx): split package binaries and scripts into separate sections
fengmk2 ffd703c
docs(vpx): drop the experimental label from script mode
fengmk2 f09f23e
test(vpx): cover JSX customizations in CLI snapshots
fengmk2 b3b6099
docs(vpx): add a JSX section and compare tsconfig handling with tsx
fengmk2 bc6cef4
docs(vpx): note that tsx ignores a lone @jsxImportSource comment
fengmk2 e71c558
docs(vpx): list supported JSX libraries and test Hono's pragma pair
fengmk2 8a0190a
docs(vpx): keep the JSX section library-neutral
fengmk2 505615a
ci(upgrade-deps): keep an oxc-node pin that the latest tag lacks
fengmk2 0451509
build(oxc-node): sync the fix for transforming CommonJS twice
fengmk2 50cb62c
docs(rfc): link the oxc-node issue about extra CommonJS reads
fengmk2 100fa3a
docs(rfc): link the oxc-node issue about extensionless ES modules
fengmk2 cd9394d
docs(rfc): note the Node.js releases with nodejs/node#62920
fengmk2 5050ff0
build(oxc-node): sync the TypeScript dependencies option and extensio…
fengmk2 37a6496
build(oxc-node): sync the fix for extra CommonJS reads
fengmk2 4c9e56c
refactor(vpx): give oxc-node a private helper module name
fengmk2 781e7c7
test(snapshots): redact percent-encoded file URLs
fengmk2 f6cfbb5
perf(vpx): require the binding in the off-thread hooks
fengmk2 9e5a7a5
refactor(vpx): tidy loader comments and reuse helpers
fengmk2 08ab784
docs(rfc): note what package mode costs through the local bin
fengmk2 4f74784
docs(rfc): rerun the Node.js 22.18 benchmark
fengmk2 26fb20d
build(oxc-node): link v0.1.7 without its napi feature and drop the patch
fengmk2 9b0c939
fix(binding): keep the oxcNode forwarders lint-clean
fengmk2 74399b6
test(vpx): retry the edit in the watch snapshot until it restarts
fengmk2 02dd857
docs(vpx): correct how tsx applies tsconfig paths
fengmk2 7966a2b
docs(rfc): bring status, toolchain output, and checklist up to date
fengmk2 7fc85c6
test(vpx): share detection cases between the two CLIs and cover loade…
fengmk2 57bafa9
docs(vpx): add a "Coming from tsx" section and fill RFC gaps from review
fengmk2 ed83b40
fix(vpx): leave bare names after Node.js options to Node.js
fengmk2 8828599
fix(vpx): report a missing explicit path even with --package
fengmk2 a6d696c
feat(vpx): print script-mode help from the local bin without the glob…
fengmk2 c809bde
test(vpx): cover the in-thread hooks on Node.js 22.23
fengmk2 3d275c1
docs(vpx): point agents and `vp --help` to `vpx <file>`
fengmk2 f2eb613
docs(vpx): align the guide and RFC help example with the code
fengmk2 468b92a
fix(vpx): run package mode in the local bin instead of the global vpx
fengmk2 4aa76bf
fix(vpx): hand vp exec the binary the local bin found
fengmk2 8856fe3
fix(vpx): run installed binaries directly from the local bin
fengmk2 dfde76d
chore(deps): regenerate pnpm-lock.yaml after the rebase onto oxc 0.154.0
fengmk2 ad6b713
docs(vpx): condense the RFC to the design as built
fengmk2 f830c7c
docs(vpx): correct where a script process loads the binding
fengmk2 6e79364
docs(vpx): compare the global and local vpx with tsx separately
fengmk2 cfae7c1
docs(vpx): list the tsx differences found in Windows testing
fengmk2 46f3253
fix(vpx): relay IPC through the local bin to the script
fengmk2 1403ce1
docs(vpx): document the differences from tsx found in e2e testing
fengmk2 333087d
chore(deps): sync oxc-node to ed51b8b for the fixes from e2e testing
fengmk2 718a88b
docs(vpx): drop the tsx differences that oxc-node fixed
fengmk2 7437cd7
docs(vpx): list the # specifier difference in the RFC
fengmk2 92f6a1d
chore(deps): sync oxc-node to 1c23b37
fengmk2 4e39ef5
docs(vpx): record the oxc-node fixes from 1c23b37
fengmk2 24c759f
test(snapshots): expose the local vpx bin on Windows
fengmk2 8e3a17b
fix(vpx): keep the script's exit code when the parent closes IPC first
fengmk2 ddf8bdf
test(snapshots): run a .cmd binary through vpx on Windows
fengmk2 3b6fdaa
docs(vpx): note the Windows limits of the local bin
fengmk2 3af61d5
test(snapshots): model the Windows .cmd tool on cmd-shim
fengmk2 9bf5222
refactor(vpx): simplify the loader, the local bin, and the global vpx
fengmk2 122dfd3
fix(vpx): skip the entry-file check after --eval, --print, and --run
fengmk2 06cc9bc
fix(vpx): let Node.js take --test globs and underscore option spellings
fengmk2 e81ee9a
fix(vpx): exec the script in place from the project-local bin on Unix
fengmk2 af99e8c
fix(vpx): resolve runtime helpers for require() on the in-thread hook…
fengmk2 97428cc
fix(vpx): pass the loader's real path to Node.js from the global vpx
fengmk2 d0efe61
fix(vpx): run scripts on the system-first Node.js that vp node selects
fengmk2 2bd29a1
docs(vpx): record the off-thread hook limits and the new loader behavior
fengmk2 23daf2d
fix(vpx): resolve from the working directory when Node.js passes it a…
fengmk2 5d23a14
docs(vpx): link the oxc-node issue behind the directory parent workar…
fengmk2 1abca79
docs(vpx): refresh the startup numbers after the local bin execs in p…
fengmk2 6601fe7
perf(vpx): exec a package binary directly when it can run
fengmk2 18e385a
chore(deps): keep @oxc-project/runtime on Rolldown's pin after the re…
fengmk2 2d68bab
chore(deps): sync oxc-node to ce22828
fengmk2 bd39101
chore(deps): let @oxc-project/runtime follow the latest oxc release a…
fengmk2 1467d49
docs(vpx): bring the RFC up to date
fengmk2 fddc0a7
fix(vpx): die by the child's signal in the local bin's spawn path
fengmk2 7ecedca
fix(vpx): report --tsconfig without a path as a vpx option
fengmk2 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,6 +8,7 @@ dist | |
| rolldown | ||
| rolldown-vite | ||
| vite | ||
| oxc-node | ||
| /crates/vp_global_cli/vp | ||
| .void/ | ||
| .direnv | ||
|
|
||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.