-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TypeScript performance #40
Comments
The 2nd video is probably a good 2nd step. You can follow along by starting with this code import "@octokit-next/types-rest-api
import { Octokit } from "@octokit-next/core";
export async function test() {
const octokit = new Octokit({
auth: "token 0000000000000000000000000000000000000001",
});
const responseRepo = await octokit.request("GET /repos/{owner}/{repo}", {
owner: "octokit-fixture-org",
repo: "hello-world",
});
expectType<string>(responseRepo.data.owner.login);
octokit.request("GET /admin/tokens");
}
function expectType<T>(value: T): void {} Then
|
note to self: read these pages carefully |
You might also want to peek at @amcasey's https://github.com/amcasey/ts-analyze-trace which can help narrow down major hot spots from the output of |
There is no TypeScript code, I do write the |
I'm happy with the TypeScript IntelliSense we can provide for different REST API versions in the upcoming Octokit, however the current implementations seems to overwhelm the TypeScript engine. It gets very slow at times, you can see it in the videos I posted at octokit/octokit.js#2127 (comment)
I can understand that TypeScript gets slow, we do work with hundreds of REST API endpoints which are referenced and combined with new definitions for versions other than github.com. But I hope that we can find a way to optimize the speed of the TypeScript lookups to make it usable.
I could really use help with this, as I have no idea how to profile TypeScript when working with VS Code.
To see what I mean, try the following:
npm init -y && npm install @octokit-next/core
Now the import in first line and see how long it takes for TypeScript to catch up with the new types for the
GET /repos/{owner}/{repo}
endpoint.There are other examples that can be seen in the video, but figuring out how we could improve the performance for this particular case would be a great start.
The text was updated successfully, but these errors were encountered: