Matteo Collina 7dd79a3370
docs: add Node.js 22+ native TypeScript type stripping support (#2347)
* docs: add Node.js 22+ native TypeScript type stripping support

Update transports.md to document Node.js 22.6.0+ native type stripping
support for TypeScript transports. Add comprehensive test coverage to
verify TypeScript transports work with native type stripping.

Changes:
- Document Node.js 22.6.0+ type stripping feature with version-specific
  instructions (flag required for 22.6-22.17, default in 22.18+/23.6+)
- Clarify that .mts extension is required for TypeScript ESM modules
- Note that type stripping is not available in Node.js 20.x
- Reorganize TypeScript compatibility section with clear distinction
  between native type stripping, TS-Node (legacy), and transpilation
- Add test fixture: to-file-transport-native.mts
- Add comprehensive test suite: native-type-stripping.test.mjs
  - Tests single transport with absolute path
  - Tests single transport with file URL
  - Tests multiple transports
  - Automatically skips on Node.js < 22

All tests pass on Node.js 22+.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor: use top-level test() instead of nested await t.test()

Refactor native-type-stripping.test.mjs to use top-level test() calls
instead of nested await t.test() pattern, following the project's
test conventions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: clarify .ts extension can be used with type: module

Add note that .ts extension can be used as an alternative to .mts
when package.json has "type": "module", with the caveat that this
requires the entire application to use ESM.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: clarify what TSM is and add links to TS-Node and TSM

Add links to TS-Node and TSM documentation, and clarify that TSM
refers to the TypeScript Module Loader (tsm) which is not currently
supported for Pino transports.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: address review feedback

- Remove mention of Node.js 23.6.0+ (not actively supported)
- Add Node.js 24.0.0+ to version requirements
- Change examples from app.js to app.ts for consistency

Addresses review comments from @kibertoad

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-17 09:28:42 -08:00
..
2022-06-01 08:27:43 +02:00
2024-03-12 18:36:24 -04:00
2025-09-15 12:37:48 -04:00
2024-12-10 06:31:04 -05:00
2024-04-27 22:42:57 +02:00
2024-03-12 18:36:24 -04:00