feat(v27): Async loading TypeScript by Integration#3149
Conversation
…tic creator with loadPeer().
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the 📝 WalkthroughWalkthroughThe changes refactor TypeScript compilation API integration to use constructor-based dependency injection instead of dynamic loading, introduce a string-based identifier system to replace TypeScript Identifier objects throughout the codebase, and add an async factory pattern ( Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…criptAPI as a constructor argument.
bfe8bc0 to
2be687a
Compare
|
@coderabbitai please review |
|
@RobinTail, I'll review the changes in this PR for you. ✅ Actions performedReview triggered.
|
<img width="1200" height="630" alt="image" src="https://github.com/user-attachments/assets/5af2b247-bd39-4481-98a4-0ab6586afe49" /> Nikki Kuhnhausen was 17 years young transgender woman. She was murdered by David Bogdanov in 2019. Her body was identified from decayed remains on December 7th, in the Larch Mountain area near Vancouver, Washington. Authorities were able to identify the body from personal effects; subsequent examination showed she died from strangulation. Nikki had previously been missing since June 5th when she left with David Bogdanov, a 25-year-old male she met in Snapchat, who has since been charged with second degree murder. Authorities believe that Bogdanov, looking for a sexual encounter, became enraged upon learning of Nikki's transgender origins. https://katu.com/news/local/missing-vancouver-teen-nikki-kuhnhausen-found-dead-in-remote-clark-county-location-suspect-arrested Transgender women suffer too frequently from transphobic violence and cruelty, being the less protected social group. I'd like to raise an awareness of this problem. Humans should be creators — not killers. But most importantly, I want every transgender girl to have an opportunity to create applications quickly and, in general, learn to write code easily in order to receive job offers and leave dangerously transphobic territories for more favorable and civilized ones, and live happily there. Protect transgender women. ------------------ Version 27 makes `typescript` an optional peer dependency with explicit injection of the manually imported module into the `Integration` class constructor (`new Integration({ typescript, ... })`), or by calling the new async `Integration.create()` factory method for automatic loading. The Zod Plugin now leverages Zod 4.3's inheritable metadata feature, removing the need for `pack()` and `unpack()` helpers while simplifying brand handling by storing brands in standard metadata under `x-brand` property. - #3149 - #3162 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Async Integration.create() factory and optional TypeScript injection for client generation * Zod metadata is inheritable (requires Zod ^4.3.4) * **Breaking Changes** * pack/unpack/setBrand removed; branding exposed as "x-brand" via schema.meta() * Integration constructor now accepts a typescript option and usage may require async create() * **Documentation** * Examples updated for TypeScript injection and async create() usage * **Chores** * Version bumps to v27 beta and updated CI branch targets <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
The better implementation of #3139 using the dynamic
import()instead ofcreateRequire().The new implementation requires either:
typescripttoIntegration::constructor()Integration::create()This is a breaking change.
typescriptbecomes an optional peer dependency. Documentation adjusted accordingly.Summary by CodeRabbit
Documentation
New Features
✏️ Tip: You can customize this high-level summary in your review settings.