-
-
Notifications
You must be signed in to change notification settings - Fork 194
Closed
Description
Roadmap
v5
Breaking changes
- tsconfig.json to be applied to all imported files Transforming JavaScript decorators to the configured target environment ("nodeXX.Y.Z") is not supported yet #393 (comment)
- tsconfig.json to be discovered by closest
tsconfig.json
from entry-file (diverges from tsc behavior but makes more sense with tsx) - Disable source-maps by default https://github.com/privatenumber/tsx/discussions/386
- Review and remove unused exports entry points
- Delete unused
repl.ts
- Delete unused
- Rename
esm
tohook
as Node adds support for CJS in their Hooks API (module: make CJS load from ESM loader nodejs/node#47999)
v4
We're close to hitting 2 million downloads a month on npm 🎉 Thank you everyone! ❤️
I'd like to take this opportunity to communicate what I have in mind next. If there's anything that I missed or needs to be prioritized, please feel free to comment.
ESM Interoperability
- Interop CommonJS from ESM Unable to import a synthetic named export in a CJS file from ESM #67
Optimize dependency transformations
Node v20 support
- ExperimentalWarning: Import assertions are not a stable feature of the JavaScript language #236
-
watch
mode innode.js 20
doesn't watch changes in non-entry files #246 - Wrong line numbers in stack traces when using Node v20 #291
TypeScript parity
-
TypeScript file matching
-
TypeScript resolver
tsconfig.json
- Support multiple tsconfig.json files support multiple
tsconfig
s #265 - Support
jsconfig.json
Read jsconfig.json when running .jsx files? #259 - Monorepo support (multiple TypeScript projects) Resolving tsconfig paths breaks inside node_modules #159 import in referenced typescript project fail to load #96
VSCode debugging
- Add documentation for debugging in VSCode. I believe this is technically already possible, and is just a matter of setting it up. docs: VSCode debugging #399
Watch mode
- Consider changing watcher
watch
mode innode.js 20
doesn't watch changes in non-entry files #246 - Wait for child process to exit fix(watch): respawn process only after exit #244
- Log which files has changed before reloading Add logging to watch function for easier troubleshooting #218
- Change reload command to Ctrl+R so users can still use the stdin
- Align with Node.js
--watch
flag?
REPL
- Support TypeScript in
--eval
flag --eval support #162
Testing
A lot of the tests in tsx are re-testing what's tested in the specific loaders. The scope of the tests can be significantly smaller and focus more on what's not tested.
Node.js support
- Drop Node.js v12, v14, v16
Branding
- Make a website/landing page
- A lot of people are confused when tsx does not have parity with esbuild. They're given the impression that tsx is an esbuild runtime, but tsx actually only uses esbuild to transform TypeScript to JS. The branding needs to change so it's less about esbuild and more about TypeScript.
Monorepo
- I'm not a big fan of monorepos but it might make it easier for others to contribute if the loaders were in the same repo. However, I have some reservations about testing because there's a ton for each component.
- Completed by consolidating to one repo without using a monorepo
Sponsorships
I work on this project on my personal time which is not sustainable. If you find this project useful, please consider showing your appreciation by sponsoring me. Thank you! ❤️
o-alexandrov, azhar1038, 4350pChris, JustPilz, adjsky and 13 morealexnault, jasrusable, nwalters512, sadeghbarati, kuchta and 1 more
Metadata
Metadata
Assignees
Labels
No labels