You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repo uses [Go 1.25 or higher](https://go.dev/dl/), [Rust 1.85 or higher](https://www.rust-lang.org/tools/install), [Node.js with npm](https://nodejs.org/), and [`hereby`](https://www.npmjs.com/package/hereby).
6
+
7
+
For tests and code generation, this repo contains a git submodule to the main TypeScript repo pointing to the commit being ported.
8
+
When cloning, you'll want to clone with submodules:
If you have already cloned the repo, you can initialize the submodule with:
15
+
16
+
```sh
17
+
git submodule update --init --recursive
18
+
```
19
+
20
+
With the submodule in place and `npm ci`, you can run tasks via `hereby`, similar to the TypeScript repo:
21
+
22
+
```sh
23
+
hereby build # Build the tsgo binary (not required for tests)
24
+
hereby test# Run tests
25
+
hereby format # Format the code
26
+
hereby lint # Run linters
27
+
hereby install-tools # Install additional tools such as linters
28
+
hereby generate # Generate all Go code (e.g. diagnostics, committed to repo)
29
+
```
30
+
31
+
Additional tasks are a work in progress.
32
+
33
+
`hereby` is not required to work on the repo; the regular `go` tooling (e.g., `go build`, `go test ./...`) will work as expected.
34
+
`hereby` tasks are provided as a convenience for those familiar with the TypeScript repo.
35
+
36
+
### Running `tsgo`
37
+
38
+
After running `hereby build`, you can run `built/local/tsgo`, which behaves mostly the same as `tsc`.
39
+
40
+
### LSP Server
41
+
42
+
To debug and run the VS Code extension without installing it globally:
43
+
44
+
* Run VS Code in the repo workspace (`code .`)
45
+
* Copy `.vscode/launch.template.json` to `.vscode/launch.json`
46
+
* <kbd>F5</kbd> (or `Debug: Start Debugging` from the command palette)
47
+
48
+
This will launch a new VS Code instance which uses the Corsa LS as the backend. If correctly set up, you should see "tsgo" in the status bar when a TypeScript or JavaScript file is open:
49
+
50
+

Copy file name to clipboardExpand all lines: README.md
+12-62Lines changed: 12 additions & 62 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,75 +21,25 @@ To use this, set this in your VS Code settings:
21
21
}
22
22
```
23
23
24
-
## How to Build and Run
25
-
26
-
This repo uses [Go 1.25 or higher](https://go.dev/dl/), [Rust 1.85 or higher](https://www.rust-lang.org/tools/install), [Node.js with npm](https://nodejs.org/), and [`hereby`](https://www.npmjs.com/package/hereby).
27
-
28
-
For tests and code generation, this repo contains a git submodule to the main TypeScript repo pointing to the commit being ported.
29
-
When cloning, you'll want to clone with submodules:
If you have already cloned the repo, you can initialize the submodule with:
36
-
37
-
```sh
38
-
git submodule update --init --recursive
39
-
```
40
-
41
-
With the submodule in place and `npm ci`, you can run tasks via `hereby`, similar to the TypeScript repo:
42
-
43
-
```sh
44
-
hereby build # Verify that the project builds
45
-
hereby test# Run all tests
46
-
hereby install-tools # Install additional tools such as linters
47
-
hereby lint # Run all linters
48
-
hereby format # Format all code
49
-
hereby generate # Generate all Go code (e.g. diagnostics, committed to repo)
50
-
```
51
-
52
-
Additional tasks are a work in progress.
53
-
54
-
`hereby` is not required to work on the repo; the regular `go` tooling (e.g., `go build`, `go test ./...`) will work as expected.
55
-
`hereby` tasks are provided as a convenience for those familiar with the TypeScript repo.
56
-
57
-
### Running `tsgo`
58
-
59
-
After running `hereby build`, you can run `built/local/tsgo`, which behaves mostly the same as `tsc`.
60
-
61
-
### Running LSP Prototype
62
-
63
-
To debug and run the VS Code extension without installing it globally:
64
-
65
-
* Run VS Code in the repo workspace (`code .`)
66
-
* Copy `.vscode/launch.template.json` to `.vscode/launch.json`
67
-
* <kbd>F5</kbd> (or `Debug: Start Debugging` from the command palette)
68
-
69
-
This will launch a new VS Code instance which uses the Corsa LS as the backend. If correctly set up, you should see "tsgo" in the status bar when a TypeScript or JavaScript file is open:
This is still a work in progress and is not yet at full feature parity with TypeScript. Bugs may exist. Please check this list carefully before logging a new issue or assuming an intentional change.
77
27
78
28
| Feature | Status | Notes |
79
29
|---------|--------|-------|
80
-
| Program creation | done | Same files and module resolution as TS5.8. Not all resolution modes supported yet. |
81
-
| Parsing/scanning | done | Exact same syntax errors as TS5.8 |
82
-
| Commandline and `tsconfig.json` parsing | mostly done |Entry point slightly different for now|
83
-
| Type resolution | done | Same types as TS5.8|
84
-
| Type checking | done | Same errors, locations, and messages as TS5.8. Types printback in errors may display differently (in progress)|
85
-
| JavaScript-specific inference and JS Doc | not ready|-|
30
+
| Program creation | done | Same files and module resolution as TS 5.8. Not all resolution modes supported yet. |
31
+
| Parsing/scanning | done | Exact same syntax errors as TS 5.8 |
0 commit comments