Skip to content

Using native typescript loader#3267

Merged
RobinTail merged 18 commits into
make-v28from
native-ts-execution
Mar 25, 2026
Merged

Using native typescript loader#3267
RobinTail merged 18 commits into
make-v28from
native-ts-execution

Conversation

@RobinTail

Copy link
Copy Markdown
Owner

Using Node.js 22.18 and higher no longer requires unrun to execute typescript.
Though, it requires .ts extensions (#3055) and verbatimModuleSyntax to enforce type-only imports where implied.

@RobinTail RobinTail added this to the v28 milestone Mar 18, 2026
@RobinTail RobinTail added documentation Improvements or additions to documentation dependencies Pull requests that update a dependency file CI/CD labels Mar 18, 2026
@coderabbitai

coderabbitai Bot commented Mar 18, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 19d21ec7-88ad-4e9d-be8f-ab477e40df11

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch native-ts-execution

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@RobinTail RobinTail changed the title Using native typescript execution and loader instead of unrun. Using native typescript loader Mar 18, 2026
@RobinTail RobinTail marked this pull request as ready for review March 18, 2026 12:32
@pullfrog

pullfrog Bot commented Mar 18, 2026

Copy link
Copy Markdown
Contributor

Review Summary

Reviewed PR #3267: Using native typescript loader

What Changed

  • Added verbatimModuleSyntax: true to tsconfig.json
  • Converted implicit type imports to explicit import type syntax (78 files)
  • Added .ts extensions to relative imports in the example folder
  • Updated Node.js version in CI workflow from 22 to 24

Assessment: LGTM

The implementation is correct:

  • Type imports properly use import type syntax (required by verbatimModuleSyntax)
  • Example code uses .ts extensions for native TypeScript execution
  • Library source code omits extensions (correct for build tooling with noEmit: true)
  • Changes are consistent across the codebase

No actionable issues found.

Pullfrog  | View workflow run | Triggered by Pullfrogpullfrog.com𝕏

Comment thread express-zod-api/src/routing-walker.ts Outdated
@pullfrog

pullfrog Bot commented Mar 18, 2026

Copy link
Copy Markdown
Contributor

Addressed review feedback: Removed the redundant export type { Routing }; re-export from routing-walker.ts. Change pushed and review comment replied to.

Pullfrog  | View workflow run | Triggered by Pullfrogpullfrog.com𝕏

@RobinTail RobinTail left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay

Comment thread express-zod-api/src/documentation.ts Outdated
@pullfrog

pullfrog Bot commented Mar 18, 2026

Copy link
Copy Markdown
Contributor

Fixed the review feedback: Changed the import of Routing in express-zod-api/src/documentation.ts from ./routing-walker to ./routing. The fix has been committed and pushed to the branch.

Pullfrog  | View workflow run | Triggered by Pullfrogpullfrog.com𝕏

@coveralls-official

coveralls-official Bot commented Mar 21, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 100.0%. remained the same
when pulling 3121533 on native-ts-execution
into db876a2 on make-v28.

@RobinTail RobinTail left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reviewed.
this is fine for now.
later can enforce ts extensions globally by removing root tsconfig module customizations (if needed)

@RobinTail RobinTail merged commit 994d600 into make-v28 Mar 25, 2026
11 checks passed
@RobinTail RobinTail deleted the native-ts-execution branch March 25, 2026 22:42
RobinTail added a commit that referenced this pull request May 10, 2026
![Koko Da
Doll](https://metro.co.uk/wp-content/uploads/2023/04/SEI_152850843-60b7-e1682088625316.jpg?quality=90&strip=all&w=646)

[**Koko Da Doll**](https://en.wikipedia.org/wiki/Koko_Da_Doll) (aka
_Rasheeda Williams_) was a 35-year-young Black trans woman, performance
artist, singer, and star
of the acclaimed documentary **Kokomo City**. Born in College Park,
Georgia, she was based in Atlanta and
became a prominent voice for transgender visibility and the rights of
Black trans women.

She was a talented rap artist who released two singles: "Trick" (2020)
and "Bulletproof" (2022).

A song she created was featured on the TV show _The Chi_ in 2023,
showcasing her artistic talents beyond her advocacy work.

Koko was one of four Black trans women featured in the groundbreaking
documentary [**Kokomo City**](https://www.magpictures.com/kokomocity/),
directed by D. Smith. The film premiered at the 2023 Sundance Film
Festival and won both the NEXT Innovator Award and NEXT Audience
Award. It also received the Berlinale Panorama Audience Award.

In the film, Koko spoke openly about her experiences as a sex worker and
the challenges faced by Black trans women. She discussed doing sex work
to avoid homelessness for her mother, sister, and herself.

After the Sundance première, Koko wrote on Instagram:

> _"I will be the reason there's more opportunities and doors opening
for transgender girls."_

She hoped that her participation in the film would help save lives and
create more opportunities for young trans women.

On April 18, 2023, at around 11pm, Koko Da Doll was found dead with a
gunshot wound on a sidewalk near Holmes Shopping
Plaza in Southwest Atlanta. She was 35 years old.

A 17-year-old suspect was arrested on April 27, 2023, on suspicion of
murder, aggravated assault, and possession of a firearm in the
commission of a felony. Atlanta police indicated that a hate crime
investigation was ongoing.

Koko was the 13th trans person killed in the United States in 2023.
Following her death, _Kokomo City_ was dedicated to her memory. She was
honored during the In Memoriam segment at the 2023 BET Awards.

_The New York Times_ described her as someone who _"brims with vitality,
ambition, and insight"_ — a woman who fought tooth and nail for her life
and self-worth.

Her tragic death serves as a stark reminder of the ongoing violence and
discrimination faced by trans women in America.

[AP
News](https://apnews.com/article/koko-da-doll-kokomo-city-killed-transgender-0c02d2c623deffebceaa74912e308609)
·
[AL.com](https://www.al.com/reckon/2023/07/murdered-kokomo-city-star-koko-da-doll-shares-her-hopes-for-young-trans-girls.html)
·
[TDoR](https://tdor.translivesmatter.info/reports/2023/04/18/rasheeda-williams_atlanta-georgia-usa_0c3bc39f)


-------------------------------

Version 28 drops support for Node.js versions below 22.19.0, adds full
Zod 4.4+ compatibility, and makes the Zod plugin an optional peer
dependency — you now need to install `@express-zod-api/zod-plugin`
manually to keep using `.example()`, `.label()`, and similar methods,
while `brand()` is replaced by `.xBrand()` to avoid conflicts with Zod
4.4. Several config properties were renamed for clarity:
`wrongMethodBehavior` → `hintAllowedMethods`, `methodLikeRouteBehavior`
→ `recognizeMethodDependentRoutes`, `shortDescription` → `summary`, and
`noContent` → `noBodySchema`. The `hasSummaryFromDescription` boolean
was replaced with a more flexible `summarizer` function that lets you
customize how endpoint summaries are derived. The automated migration
tool has been updated accordingly, now requiring `eslint@^10.0.0` and
`typescript-eslint@^8.58.0`.

- #3207 
- #3242
- #3267 
- #3268 
- #3287 
- #3294 
- #3299 
- #3300 
- #3301 
- #3302 
- #3303 
- #3310 
- #3313 
- #3334
- #3340
- #3364 (incl. undo of #3357) 
- #3365

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* v28: public option/metadata renames (shortDescription → summary,
wrongMethodBehavior → hintAllowedMethods, methodLikeRouteBehavior →
recognizeMethodDependentRoutes, noContent → noBodySchema) and a
configurable documentation summarizer.

* **Documentation**
* CHANGELOG/README/SECURITY updated with v28 notes, summarizer docs,
migration examples and migration tool link; README shows Zod plugin as
optional and xBrand usage.

* **Chores**
* Zod plugin moved to optional/peer, branding API renamed (.brand →
.xBrand); tooling and Node/module resolution updates.

* **Tests**
* Test suite updated to align with renames, summarizer,
metadata/examples and branding changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant