deno/cli/tsc
Bartek Iwańczuk 795ecfdca6
refactor(lsp): make TS host use CLI snapshot (#28062)
This commit changes the TS host implementation
in the LSP to use the same snapshot as the runtime worker
and web worker use.

This is due to upcoming V8 upgrade that might require
that all isolates in the same process use the exact same
snapshot.
2025-02-11 18:33:04 +01:00
..
dts fix(unstable): add missing rule context types (#28014) 2025-02-11 16:35:16 +01:00
00_typescript.js feat: TypeScript 5.7 (#27857) 2025-01-31 16:07:42 -05:00
97_ts_host.js refactor: remove tsc snapshot (#28056) 2025-02-11 15:36:07 +01:00
98_lsp.js refactor: remove tsc snapshot (#28056) 2025-02-11 15:36:07 +01:00
99_main_compiler.js refactor: remove tsc snapshot (#28056) 2025-02-11 15:36:07 +01: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 fix(check): compiler options from workspace members (#27785) 2025-01-28 10:49:58 -05:00
mod.rs refactor(lsp): make TS host use CLI snapshot (#28062) 2025-02-11 18:33:04 +01:00
README.md feat: TypeScript 5.4 (#23086) 2024-03-26 18:52:57 -04:00

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/