Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
6183abf
Port 'go to type definition' tests (#1883)
gabritto Oct 15, 2025
2ad9453
Fix panic in `getTokenAtPosition` for JSDoc type assertions (#1846)
Copilot Oct 16, 2025
0f6b0a7
Don’t look in JSExportAssignment and CommonJSExport for nodes (#1886)
andrewbranch Oct 16, 2025
49e5285
Fix link in native preview platform packages (#1838)
jakebailey Oct 17, 2025
20b1482
fix(1880): No error message for JSDoc type parsing (#1881)
a-tarasyuk Oct 17, 2025
7a4a79f
Add vscode editor issue template (#1893)
mjbvz Oct 17, 2025
5207eb8
Add "Report Issue" button to TSGO status bar commands (#1889)
Copilot Oct 17, 2025
80e287b
fix(1898): adjust location handling in find-refs (#1901)
a-tarasyuk Oct 18, 2025
30cbd10
Fix panic of empty string in type reference directive (#1908)
Twacqwq Oct 20, 2025
7ee8b4e
Consistently error on full circle of circular import aliases (#1904)
ahejlsberg Oct 20, 2025
da8e4e0
Fix panic in textDocument/onTypeFormatting when tokenAtPosition is ni…
Copilot Oct 20, 2025
fe0cafa
Update submodule (#1913)
andrewbranch Oct 20, 2025
0a61d1a
Disable create-cache.yml in forks (#1912)
jakebailey Oct 20, 2025
55cbead
Forbid platform specific package uses in agnostic files (#1911)
jakebailey Oct 21, 2025
62fcda7
Fix JSDoc comment formatting with tab indentation (#1900)
Copilot Oct 21, 2025
d491e60
Clear local baseline dir in hereby test (#1921)
jakebailey Oct 22, 2025
58d4391
Unskip passing fourslash test (#1922)
jakebailey Oct 22, 2025
0874642
Support auto-import completion fourslash tests, fix bugs (#1917)
andrewbranch Oct 22, 2025
fc800a7
Fix JSX indentation in JavaScript output (#1792)
Copilot Oct 22, 2025
80d537a
Implement printAllHelp to fix `tsgo --all` producing no output (#1843)
Copilot Oct 22, 2025
e866aa9
Bump the github-actions group across 1 directory with 2 updates (#1909)
dependabot[bot] Oct 22, 2025
80cbbd9
Ensure os package is forbidden in lint (#1924)
jakebailey Oct 22, 2025
48b739c
Speed up levenshteinWithMax by reusing buffers (#1823)
jakebailey Oct 22, 2025
cfbb8b4
Fix incorrect formatting for comments inside multi-line argument list…
Copilot Oct 22, 2025
0d152d3
Handle nil end position in getMappedLocation (#1920)
jakebailey Oct 22, 2025
5d349b6
Fix formatter adding extra space at end of line without trailing newl…
Copilot Oct 22, 2025
06a7b84
Fix vscode issue template (#1934)
mjbvz Oct 22, 2025
5cb55d4
userpreferences parsing/ls config handing (#1729)
iisaduan Oct 22, 2025
42241ec
Plumb through TokenFlagsSingleQuote; use for auto import quote detect…
andrewbranch Oct 22, 2025
71b47c4
Invalidate caches on batches of 1000+ watch changes (#1869)
andrewbranch Oct 23, 2025
18eabdd
Create clickable links in quick info from @link JSDoc tags (#1935)
ahejlsberg Oct 23, 2025
def283d
Don't report errors on `{@link foo.bar}` references (#1941)
ahejlsberg Oct 23, 2025
8bf36dd
Fix crash in `invocationErrorRecovery` function (#1944)
ahejlsberg Oct 23, 2025
5c2cafa
Fix leading source file comment emit bugs (#1945)
jakebailey Oct 24, 2025
2a2e04d
Implement selection ranges (#1939)
jakebailey Oct 24, 2025
0487292
Fix porting bug in isArgumentAndStartLineOverlapsExpressionBeingCalle…
jakebailey Oct 24, 2025
d461fad
Add Range to Hover (#1489)
Copilot Oct 24, 2025
b7840c2
Properly handle hovering on `this` (#1953)
ahejlsberg Oct 25, 2025
33eeaf3
Bump the github-actions group across 1 directory with 2 updates (#1959)
dependabot[bot] Oct 27, 2025
f0ca632
Fixed document highlight for reference directive (#1951)
johnfav03 Oct 27, 2025
bf70757
Several fixes to JS typing of functions and methods (#1960)
ahejlsberg Oct 27, 2025
a4fa408
Update submodule, port 6.0 options defaults (#1961)
andrewbranch Oct 27, 2025
4874e98
Reapply #1951 and #1960 after bad merge (#1964)
jakebailey Oct 28, 2025
ca68e0b
Update submodule with ES5 removals (#1963)
jakebailey Oct 28, 2025
4037f3a
Actually transform KindCommonJSExport in declaration emit (#1962)
weswigham Oct 28, 2025
6642b0a
Quick Info fixes (#1971)
ahejlsberg Oct 29, 2025
b278afd
Fix various named enum types (#1973)
jakebailey Oct 29, 2025
24b38de
Move change tracker, converters, utils to separate packages (#1977)
andrewbranch Oct 29, 2025
179ff49
Consistent rules for mixing `@type`, `@param`, `@return`, `@template`…
ahejlsberg Oct 30, 2025
d891e4f
Check for identifier before obtaining text of name (#1984)
ahejlsberg Oct 30, 2025
8ac3092
Respect client capabilities for diagnostics (#1980)
jakebailey Oct 30, 2025
4705d38
Store explicitly declared members ahead of inherited members (#1987)
ahejlsberg Oct 30, 2025
71a622f
Add --checkers to control number of checkers per Program (#1985)
jakebailey Oct 31, 2025
10186e0
Export all types referenced through other exported APIs, enforce (#1978)
jakebailey Oct 31, 2025
691b316
Switch custom runners from mariner-2.0 to azure-linux-3 (#1989)
jakebailey Oct 31, 2025
363ffa1
Use `LocationLink` in go to definition (#1884)
gabritto Oct 31, 2025
128ea7d
Use a different set of commands to detect fourslash test updates (#1923)
jakebailey Oct 31, 2025
fef4d68
Skip erasableSyntaxOnly checks for JavaScript files (#1956)
Copilot Oct 31, 2025
240b101
Update submodule for new cherry-picks (#1996)
jakebailey Oct 31, 2025
6fb55b7
Port TypeScript PR #62604: Propagate variance reliability (#1916)
Copilot Nov 1, 2025
82039b6
Only export `@typedef` type aliases in modules (#1999)
ahejlsberg Nov 2, 2025
d67385b
Bump github/codeql-action from 4.31.0 to 4.31.2 in the github-actions…
dependabot[bot] Nov 3, 2025
13d3e19
Hoist @typedef and @import tags to containing scopes that permit them…
ahejlsberg Nov 3, 2025
fd94be3
Remove concept of "unsupported extensions", clean up test skips (#2004)
jakebailey Nov 3, 2025
e84065c
Update golangci-lint, fix issues, modernize (#1981)
jakebailey Nov 3, 2025
ae5d110
Implement more handling of client capabilities (#1998)
jakebailey Nov 3, 2025
2ba0e47
Add docs to signature help (#2009)
jakebailey Nov 3, 2025
0c8895b
Fix unused identifier diags, LSP tag diags (#2007)
jakebailey Nov 3, 2025
a27091b
fix(2015): abstract property created, overshadowing override (#2016)
a-tarasyuk Nov 4, 2025
a7db811
Always check refCount after acquiring lock (#1986)
andrewbranch Nov 4, 2025
7f832a8
Delete resolver unit tests (#2008)
jakebailey Nov 4, 2025
3649a9c
Fix missing parent for `Expression` in `TypeParameterDeclaration` (#2…
ahejlsberg Nov 4, 2025
3d247ef
Add missing nil check in `getCompletionItemActions` (#2018)
ahejlsberg Nov 4, 2025
84d64f6
Fix crash in find-all-refs on `exports.xxx` in .js file (#2023)
ahejlsberg Nov 5, 2025
4916e22
Properly include JSX attributes in find-all-references (#2025)
ahejlsberg Nov 5, 2025
a5ad4f1
Fix crash by removing `getNameFromImportDeclaration` in favor of `Nod…
ahejlsberg Nov 6, 2025
e8d7a1e
Fix losing options from command line in watch mode (#2024)
haoqixu Nov 6, 2025
f60eb37
Add issue investigator agent (#2030)
andrewbranch Nov 6, 2025
37d1a5e
Switch 1ESPT pipelines to 1ESPT-AzureLinux3 (#2031)
jakebailey Nov 6, 2025
db968bc
Port inlay hints (#1705)
gabritto Nov 7, 2025
ffa30a7
Split "use strict" into separate transformer, fix bugs with prologues…
jakebailey Nov 7, 2025
b794761
Use a more cross-architecture-friendly devcontainer image. (#2034)
DanielRosenwasser Nov 7, 2025
97756ce
Fix nil pointer dereference in range formatting (#1993)
Copilot Nov 8, 2025
7c19676
Port missing `checkJs` logic (#2046)
ahejlsberg Nov 10, 2025
4a929db
Ignore reparsed nodes when determining external module indicator (#2044)
jakebailey Nov 10, 2025
f5c70b2
Fix various fuzzer-caught crashes in the parser (#2038)
jakebailey Nov 10, 2025
ea4e944
Fix moduleDetection for node18, fix __esModule in detect=force (#2045)
jakebailey Nov 10, 2025
579f1e6
Fix panic in syncmap on loading nil (#2056)
haoqixu Nov 11, 2025
8fdec88
Use accessors on `Node` instead of casts and field accesses (#2052)
ahejlsberg Nov 11, 2025
3e97dac
Add locks on concurrent alias following checker accesses under increm…
weswigham Nov 11, 2025
90bc90f
Don't add `export` modifier to `JSTypeAliasDeclaration` from `@callba…
ahejlsberg Nov 11, 2025
b17a2c6
Introduce GetECMALineOfPosition to avoid unused rune counting (#2065)
jakebailey Nov 12, 2025
ed6e33f
Don't add `export` modifier to `KindCommonJSExport` reparsed nodes (#…
ahejlsberg Nov 12, 2025
fad2aa0
Fix panic in inlay hints for tuple types (#2040)
Copilot Nov 12, 2025
35a5221
Accurately recognize fourslash test as submodule (#2068)
gabritto Nov 12, 2025
336dda7
Implement auto-import code actions, port tests and fix some bugs (#2053)
jakebailey Nov 12, 2025
beeea27
Port tsc --init (#2033)
haoqixu Nov 12, 2025
a44d96f
Make CheckerPool iteration concurrent by default (#2070)
weswigham Nov 12, 2025
a64cbd3
Use Microsoft build of Go in CI (#2069)
jakebailey Nov 12, 2025
866dd59
Detect Windows junctions with GetFileAttributesEx (#2013)
jakebailey Nov 12, 2025
16aa7b5
Fix CI cache workflow (#2071)
jakebailey Nov 12, 2025
61246af
Use information from contextual type in hovers/quick info (#2073)
DanielRosenwasser Nov 13, 2025
dedfbd9
fix(2074): No quick info on function and other similar tokens (#2078)
a-tarasyuk Nov 13, 2025
944083a
Unify locks used on checkers between exclusive pool borrows and EmitR…
weswigham Nov 13, 2025
bbaa0f5
Port non-baseline diagnostics tests (#2079)
gabritto Nov 13, 2025
bbde564
Use SkipTrivia instead of GetRangeOfTokenAtPosition where possible (#…
jakebailey Nov 14, 2025
a99b7f2
Move unreachable checks to checker, allowing more AST reuse (#2067)
jakebailey Nov 14, 2025
44821b4
Fix scanning of valid surrogate pairs (#2032)
haoqixu Nov 14, 2025
2459249
Fix misplaced parentheses in `Checker.isIndirectCall` (#2093)
ahejlsberg Nov 14, 2025
4329af4
Various agent mode updates (#2094)
jakebailey Nov 14, 2025
cea534e
Handle configuration changes in LSP for 'typescript.*' options. (#2088)
DanielRosenwasser Nov 14, 2025
7ebe277
Fix nil pointer dereference in getAdjustedLocation for type-only expo…
Copilot Nov 14, 2025
77ea74f
Fix nil pointer dereference in code actions when diagnostic code is n…
Copilot Nov 14, 2025
dd043f4
Fully resolve LSP client caps to non-pointers, pass by context (#2095)
jakebailey Nov 14, 2025
05f4d69
Fix hover on `module.exports` (#2098)
ahejlsberg Nov 15, 2025
d7d7aa4
Accept and document jsdoc diffs, round 1 (#1426)
sandersn Nov 17, 2025
08bc24d
Port baseline diagnostics tests (#2097)
gabritto Nov 17, 2025
26434e1
Clean up disk space in CI before running (#2103)
jakebailey Nov 17, 2025
645ba45
Add GOBIN to PATH in CI (#2105)
jakebailey Nov 17, 2025
a820457
Make client requests type safe, unmarshal (#2099)
jakebailey Nov 17, 2025
c846370
Display inherited JSDoc documentation in quick info (#2111)
ahejlsberg Nov 17, 2025
8da7fc7
Sort failingTests and manualTests in en-US (#2113)
jakebailey Nov 17, 2025
c9d2894
fix(2047): Incomplete declaration emit of callback tag with no return…
a-tarasyuk Nov 17, 2025
2f16c3c
Fix canHaveSyntheticDefault (#2101)
jakebailey Nov 17, 2025
7593f9e
Misc fixes (#2112)
jakebailey Nov 17, 2025
6e4164e
chore: fix incorrect function name in comment (#2109)
weifangc Nov 18, 2025
7cf22f6
Fix typedef binding with CJS `exports=` (#826)
sandersn Nov 18, 2025
5bec4c3
Provide Program diagnostics as push diags in tsconfig.json (#2118)
jakebailey Nov 18, 2025
03a0636
Update dependencies (#2116)
jakebailey Nov 18, 2025
c36c210
Remove copilot-setup-steps env var (#2124)
jakebailey Nov 19, 2025
b33ab79
Fix panic on negative parameterIndex in type predicate flow analysis …
Copilot Nov 19, 2025
183d674
Port tests for go to implementation and diff definitions tests (#2130)
gabritto Nov 20, 2025
c6c346e
Partially fix multi-checker diagnostics consistency (#2134)
ahejlsberg Nov 20, 2025
45c3cec
Implement reportStyleChecksAsWarnings (#2132)
jakebailey Nov 20, 2025
e027a2a
Include docs on resolved client caps (#2135)
jakebailey Nov 20, 2025
4b4977a
Fix dynamic import grammar check (#2138)
jakebailey Nov 20, 2025
63b00de
Refine LSP with our own types, generate more stuff (#2141)
jakebailey Nov 21, 2025
6ba0ed7
Display all symbol meanings in quick info (#2144)
ahejlsberg Nov 21, 2025
66ab80d
Multiproject requests like find all refs, rename and workspace symbol…
sheetalkamat Nov 21, 2025
733dc6a
Add stringer-alike String methods to non-string LSP enums (#2148)
jakebailey Nov 22, 2025
746dcca
Enable localization (#2123)
jakebailey Nov 22, 2025
e34615c
Port workspace symbols tests (#2146)
gabritto Nov 24, 2025
bd7c18d
Update readme, issue template (#2140)
jakebailey Nov 24, 2025
417387a
Ignore config port (#1755)
sheetalkamat Nov 25, 2025
d1be94b
fix(2157): jsdocfunction param is inferred as implicit any when direc…
a-tarasyuk Nov 25, 2025
3e070ad
Merge remote-tracking branch 'upstream/main' into merge_main
bartlomieju Nov 28, 2025
4bb6839
fixes after merge
bartlomieju Nov 28, 2025
383bd1c
some more fixes
bartlomieju Nov 28, 2025
2a56c07
more errors
bartlomieju Nov 28, 2025
a402000
builds
bartlomieju Nov 28, 2025
bebece4
fmt
nathanwhit Dec 1, 2025
2ae7535
fix nil pointer deref
nathanwhit Dec 1, 2025
f9baefa
fix error messages
nathanwhit Dec 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .custom-gcl.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# yaml-language-server: $schema=https://golangci-lint.run/jsonschema/custom-gcl.jsonschema.json

version: v2.5.0
version: v2.6.2

destination: ./_tools

Expand Down
17 changes: 13 additions & 4 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/universal
// README at: https://github.com/devcontainers/templates/tree/main/src/go
{
"name": "TypeScript Compiler Development",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/universal:2-linux",

"image": "mcr.microsoft.com/devcontainers/go:2-1.25-bookworm",
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
"features": {
"ghcr.io/devcontainers/features/node:1": {
"version": "lts",
"pnpmVersion": "latest",
"nvmVersion": "latest"
},
"ghcr.io/devcontainers-extra/features/dprint-asdf:2": {
"version": "latest"
},
"ghcr.io/devcontainers/features/rust:1": {}
},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
Expand Down
4 changes: 2 additions & 2 deletions .dprint.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@
// Note: if adding new languages, make sure settings.template.json is updated too.
// Also, if updating typescript, update the one in package.json.
"plugins": [
"https://plugins.dprint.dev/typescript-0.95.11.wasm",
"https://plugins.dprint.dev/json-0.20.0.wasm",
"https://plugins.dprint.dev/typescript-0.95.12.wasm",
"https://plugins.dprint.dev/json-0.21.0.wasm",
"https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.1.wasm",
"https://plugins.dprint.dev/exec-0.6.0.json@a054130d458f124f9b5c91484833828950723a5af3f8ff2bd1523bd47b83b364"
]
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/02-behavior-difference.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Behavior Difference
about: tsgo produces different results than TypeScript 5.8
about: tsgo produces different results than TypeScript 5.9
title: ''
labels: ''
assignees: ''
Expand All @@ -11,6 +11,6 @@ assignees: ''

<!-- Share a repository link or a code sample -->

## Behavior with `typescript@5.8`
## Behavior with `typescript@5.9`

## Behavior with `tsgo`
48 changes: 48 additions & 0 deletions .github/ISSUE_TEMPLATE/03-vscode-editor-issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: 'VS Code Editor Issue'
description: 'Issue using tsgo in VS Code'
labels: 'Domain: Editor'
assignees: []
body:
- type: input
id: extension_version
attributes:
label: Extension Version
description: The version of the TypeScript (native preview) extension
placeholder: '0.20251016.x'
validations:
required: true
- type: input
id: vscode_version
attributes:
label: VS Code Version
description: The version of the VS Code you are using
placeholder: '1.105.x'
validations:
required: true
- type: input
id: os_version
attributes:
label: Operating system Version
description: Your operating system and version
validations:
required: true
- type: textarea
id: steps
attributes:
label: 'Steps to reproduce'
description: |
Information about how to reproduce the issue and expected behavior
value: |
1.
2.
3.
validations:
required: true
- type: textarea
id: bug_info
attributes:
label: 'Issue'
description: |
Information about the bug, such as expected vs actual behavior
validations:
required: true
File renamed without changes.
50 changes: 41 additions & 9 deletions .github/actions/setup-go/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ description: Setup Go

inputs:
go-version:
description: Go version range to set up.
default: '>=1.25.0'
description: Go version to set up in go-install.ps1 format
default: 'go1.25'
create:
description: Create the cache
default: 'false'
Expand All @@ -18,19 +18,51 @@ runs:
steps:
- name: Install Go
id: install-go
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ inputs.go-version }}
cache: false
shell: pwsh
run: |
# https://github.com/microsoft/go-infra/blob/main/goinstallscript/powershell/go-install.ps1
${{ github.action_path }}/go-install.ps1 -Version ${{ inputs.go-version }} -GitHubActionsPath
$goVersionOutput = go version
Write-Host $goVersionOutput
# Extract version like "1.23.4" from "go version go1.23.4 windows/amd64"
if ($goVersionOutput -match 'go version go([\d\.]+)') {
$exactVersion = $matches[1]
"go-version=$exactVersion" >> $env:GITHUB_OUTPUT
Write-Host "Exact Go version: $exactVersion"
} else {
Write-Error "Failed to parse Go version from: $goVersionOutput"
exit 1
}
- name: Verify Microsoft Go
shell: pwsh
run: |
$goPath = (Get-Command go).Source
Write-Host "Go executable path: $goPath"
if ($goPath -notlike "*microsoft-go*") {
Write-Error "Go installation is not from microsoft-go. Path: $goPath"
exit 1
}
Write-Host "✓ Verified: Microsoft Go is active"
- name: Add GOBIN to PATH
shell: bash
run: |
GOBIN=$(go env GOBIN)
if [ -z "$GOBIN" ]; then
GOBIN="$(go env GOPATH)/bin"
fi
echo "$GOBIN" >> $GITHUB_PATH
# Avoid hardcoding the cache keys more than once.
- name: Get cache info
shell: bash
id: cache-info
env:
MODULES_KEY: go-modules-${{ runner.os }}-${{ steps.install-go.outputs.go-version }}-${{ hashFiles('**/go.sum', '**/.custom-gcl.yml') }}
LINT_KEY: golangci-lint-${{ runner.os }}-${{ steps.install-go.outputs.go-version }}-${{ hashFiles('**/go.sum', '**/.custom-gcl.yml') }}
BUILD_KEY: go-build-cache-${{ runner.os }}-${{ steps.install-go.outputs.go-version }}
MODULES_KEY: go-modules-${{ runner.os }}-msft-${{ steps.install-go.outputs.go-version }}-${{ hashFiles('**/go.sum', '**/.custom-gcl.yml') }}
LINT_KEY: golangci-lint-${{ runner.os }}-msft-${{ steps.install-go.outputs.go-version }}-${{ hashFiles('**/go.sum', '**/.custom-gcl.yml') }}
BUILD_KEY: go-build-cache-${{ runner.os }}-msft-${{ steps.install-go.outputs.go-version }}
run: |
echo "modules-key=$MODULES_KEY" >> $GITHUB_OUTPUT
echo "lint-key=$LINT_KEY" >> $GITHUB_OUTPUT
Expand Down
Loading