deno/cli/tsc
David Sherret 6aaed850b8
fix(check): improve node types handling (#31677)
1. Always injects node types when someone has a `node:` import (like
before, so this isn't dependent on the lib setting... which fixes the
linked issue)
2. Handles someone doing `/// <reference lib="node" />`. Previously this
was slightly broken.

*
c5cb3b27ac
* https://github.com/denoland/typescript-go/pull/18

Closes https://github.com/denoland/deno/issues/31649
2025-12-20 11:17:45 +01:00
..
dts fix(cli): add streams as transferable types (#31586) 2025-12-12 11:29:05 +01:00
go fix(check): improve node types handling (#31677) 2025-12-20 11:17:45 +01:00
00_typescript.js fix(check): improve node types handling (#31677) 2025-12-20 11:17:45 +01:00
97_ts_host.js feat(unstable): typescript-go integration for deno check (#30920) 2025-10-20 09:59:54 -07:00
98_lsp.js fix(check): support "moduleResolution": "bundler" in compiler options (#30603) 2025-09-04 17:45:50 +01:00
99_main_compiler.js fix(check): handle workspace members having different jsx import sources and importing each other (#31654) 2025-12-18 21:54:21 -05:00
_analyze_types_node.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
compiler.d.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
diagnostics.rs feat(unstable): typescript-go integration for deno check (#30920) 2025-10-20 09:59:54 -07:00
go.rs fix(check): handle workspace members having different jsx import sources and importing each other (#31654) 2025-12-18 21:54:21 -05:00
js.rs fix(check): handle workspace members having different jsx import sources and importing each other (#31654) 2025-12-18 21:54:21 -05:00
mod.rs fix(check): improve node types handling (#31677) 2025-12-20 11:17:45 +01:00
README.md

tsc

This directory contains the typescript compiler and a small compiler host for the runtime snapshot.

How to upgrade TypeScript.

The files in this directory are mostly from the TypeScript repository. We currently (unfortunately) have a rather manual process for upgrading TypeScript. It works like this currently:

  1. Checkout denoland/TypeScript repo in a separate directory.
  2. Add Microsoft/TypeScript as a remote and fetch its latest tags
  3. Checkout a new branch based on this tag.
  4. Cherry pick the custom commit we made in a previous release to the new one.
  5. This commit has a "deno.ts" file in it. Read the instructions in it.
  6. Copy typescript.js into Deno repo.
  7. Copy d.ts files into dts directory.
  8. Review the copied files, removing and reverting what's necessary

So that might look something like this:

git clone https://github.com/denoland/TypeScript.git
cd typescript
git remote add upstream https://github.com/Microsoft/TypeScript
git fetch upstream
git checkout v3.9.7
git checkout -b branch_v3.9.7
git cherry pick <previous-release-branch-commit-we-did>
npm install
npx hereby
rsync built/local/typescript.js ~/src/deno/cli/tsc/00_typescript.js
rsync --exclude=protocol.d.ts --exclude=tsserverlibrary.d.ts --exclude=typescriptServices.d.ts built/local/*.d.ts ~/src/deno/cli/tsc/dts/