privatenumber / tsx

⚡️ TypeScript Execute | The easiest way to run TypeScript in Node.js
https://tsx.is
MIT License
9.42k stars 144 forks source link

ci: bump the version of esbuild to support decorator metadata #570

Closed LucasIcarus closed 3 months ago

LucasIcarus commented 3 months ago

close https://github.com/privatenumber/tsx/issues/287 since https://github.com/evanw/esbuild/issues/104 esbuild upgraded to support decorator metadata recently.

Not sure if this change needs more testing or adding a testcase.. for now both pnpm test and CI=1 pnpm test passed.

LucasIcarus commented 3 months ago

btw, the lockfile change looks weird (pnpm version already lock to 9.1.1). It's OK to close this PR and do this version bump through other quick change.

privatenumber commented 3 months ago

This is already upgraded in the development version of tsx (sponsors only).

I haven't released it yet because of the confidence level:

Probably at least half of the work for this feature went into creating a test suite that exercises many of the proposal's edge cases: https://github.com/evanw/decorator-tests. It has given me a reasonable level of confidence that esbuild's initial implementation is acceptable. However, I don't have access to a significant sample of real code that uses JavaScript decorators. If you're currently using JavaScript decorators in a real code base, please try out esbuild's implementation and let me know if anything seems off.

Feel free to test it out.

privatenumber commented 3 months ago

Released in https://github.com/privatenumber/tsx/releases/tag/v4.15.0