ts-node was used as a CLI for a handful of TypeScript scripts under
script/. Those now rely on the type stripping built into Node.js instead:
- script/gen-filenames, check-patch-diff, run-clang-tidy and the release
helpers (find-github-release, upload-to-github, github-token, types)
are renamed to .mts and invoked with `node`. They use
import.meta.dirname and explicit .mts / .js specifiers, and
tsconfig.script.json moves to nodenext with verbatimModuleSyntax so
tsc checks them the way Node runs them.
- The documented minimum Node.js for building goes from 22.12 to 22.18,
the first 22.x release with type stripping on by default.
- script/codesign/gen-trust.ts and its trust.xml template are deleted;
nothing has invoked them since generate-identity.sh switched to a
user-scoped keychain in #50058.
- oxfmt, oxlint, lint-staged and .gitattributes learn about .mts.
ts-node itself stays for now because the spec runner still loads specs
through its require hook.
Co-authored-by: Claude <noreply@anthropic.com>