Skip to content

Conversation

@kevinramharak
Copy link
Collaborator

Reimplements #138 but for the monorepo setup.

Changes:

  • Addition of a logger and a LogOutputChannel named Pretty TypeScript Errors
  • A measure method for the logger to measure the execution time of certain code paths
  • changes uriStore to Map instead of a Record.
  • a few early returns and moving of statements beyond those returns to do slightly less work if its not needed.
  • move cache size and supported diagnostic sources to constants
  • move the diagnostics event handler to a separate file

I haven't added the logger.measure calls, because I think we should keep that just for development purposes for now. I'm planning on creating an issue template where we can guide the user to add the cpuprofile and our extension log file. But I need to research how that works first. We can add the measurement statements when that is complete.

@yoavbls
Copy link
Owner

yoavbls commented Dec 30, 2025

@kevinramharak Do you want me to look at this already?

@kevinramharak
Copy link
Collaborator Author

@yoavbls I still need to test it properly, but I think its done as for what features its adds.
I want to add an issue template and instructions on how to add the log output to the issue. After that I will tag you for your thoughts.

@kevinramharak
Copy link
Collaborator Author

@yoavbls I think this one is done. I got a little distracted and cleaned up some things I probably shouldn't have touched. If I should roll back something, let me know.

I added logging to what I think are the critical paths where errors should be logged and performance should be measured.

I think the instructions are clear enough, but I'm not 100% sure if the link in the issue template works correctly. We'll have to check once it's merged into main.

It should allow people to upload logs looking like this:

Example of log output
2026-01-03 19:43:28.839 [info] activating
2026-01-03 19:43:45.961 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.046ms
2026-01-03 19:43:45.962 [trace] task onDidChangeDiagnostics took 0.117ms
2026-01-03 19:43:46.397 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.079ms
2026-01-03 19:43:46.398 [trace] task onDidChangeDiagnostics took 0.117ms
2026-01-03 19:43:46.903 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.038ms
2026-01-03 19:43:46.904 [trace] task onDidChangeDiagnostics took 0.064ms
2026-01-03 19:43:46.960 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.140ms
2026-01-03 19:43:46.960 [trace] task onDidChangeDiagnostics took 0.189ms
2026-01-03 19:43:47.431 [info] task formatDiagnostic(`Property 'country' is missing in type '{ street: string; city: string; }' but required in type '{ street: string; city: string; country: string; }'.`) took 164.091ms
2026-01-03 19:43:47.431 [trace] task formatDiagnostic(`Property 'user' is missing in type '{ person: { username: string; email: string; }; }' but required in type '{ user: { name: string; email: `${string}@${string}.${string}`; age: number; }; }'.`) took 6.815ms
2026-01-03 19:43:47.432 [trace] task formatDiagnostic(`Object literal may only specify known properties, and 'firstName' does not exist in type 'Animal'.`) took 1.934ms
2026-01-03 19:43:47.432 [trace] task formatDiagnostic(`Catch clause variable type annotation must be 'any' or 'unknown' if specified.`) took 1.458ms
2026-01-03 19:43:47.432 [trace] task formatDiagnostic(`'john' is declared but its value is never read.`) took 0.374ms
2026-01-03 19:43:47.432 [trace] task formatDiagnostic(`'getPerson' is declared but its value is never read.`) took 0.394ms
2026-01-03 19:43:47.432 [debug] registering hover provider for language id: typescript
2026-01-03 19:43:47.432 [info] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 176.170ms
2026-01-03 19:43:47.432 [info] task onDidChangeDiagnostics took 176.189ms
2026-01-03 19:43:48.002 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.216ms
2026-01-03 19:43:48.002 [trace] task onDidChangeDiagnostics took 0.258ms
2026-01-03 19:43:48.585 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.150ms
2026-01-03 19:43:48.585 [trace] task onDidChangeDiagnostics took 0.193ms
2026-01-03 19:43:49.169 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.095ms
2026-01-03 19:43:49.169 [trace] task onDidChangeDiagnostics took 0.126ms
2026-01-03 19:43:49.747 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.174ms
2026-01-03 19:43:49.747 [trace] task onDidChangeDiagnostics took 0.226ms
2026-01-03 19:43:50.313 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.105ms
2026-01-03 19:43:50.313 [trace] task onDidChangeDiagnostics took 0.132ms
2026-01-03 19:43:50.885 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.123ms
2026-01-03 19:43:50.885 [trace] task onDidChangeDiagnostics took 0.157ms
2026-01-03 19:43:51.463 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.075ms
2026-01-03 19:43:51.464 [trace] task onDidChangeDiagnostics took 0.096ms
2026-01-03 19:43:52.046 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.105ms
2026-01-03 19:43:52.046 [trace] task onDidChangeDiagnostics took 0.133ms
2026-01-03 19:43:52.628 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.180ms
2026-01-03 19:43:52.628 [trace] task onDidChangeDiagnostics took 0.223ms
2026-01-03 19:43:53.206 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.146ms
2026-01-03 19:43:53.206 [trace] task onDidChangeDiagnostics took 0.208ms
2026-01-03 19:43:53.780 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.062ms
2026-01-03 19:43:53.781 [trace] task onDidChangeDiagnostics took 0.080ms
2026-01-03 19:43:54.362 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.114ms
2026-01-03 19:43:54.362 [trace] task onDidChangeDiagnostics took 0.145ms
2026-01-03 19:43:54.941 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.125ms
2026-01-03 19:43:54.941 [trace] task onDidChangeDiagnostics took 0.295ms
2026-01-03 19:43:55.514 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.140ms
2026-01-03 19:43:55.514 [trace] task onDidChangeDiagnostics took 0.173ms
2026-01-03 19:43:56.089 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.106ms
2026-01-03 19:43:56.089 [trace] task onDidChangeDiagnostics took 0.158ms
2026-01-03 19:43:56.675 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.071ms
2026-01-03 19:43:56.675 [trace] task onDidChangeDiagnostics took 0.095ms
2026-01-03 19:43:57.255 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.159ms
2026-01-03 19:43:57.256 [trace] task onDidChangeDiagnostics took 0.196ms
2026-01-03 19:43:57.830 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.083ms
2026-01-03 19:43:57.830 [trace] task onDidChangeDiagnostics took 0.109ms
2026-01-03 19:43:58.408 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.105ms
2026-01-03 19:43:58.408 [trace] task onDidChangeDiagnostics took 0.137ms
2026-01-03 19:43:58.980 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.160ms
2026-01-03 19:43:58.980 [trace] task onDidChangeDiagnostics took 0.201ms
2026-01-03 19:43:59.565 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.158ms
2026-01-03 19:43:59.566 [trace] task onDidChangeDiagnostics took 0.197ms
2026-01-03 19:44:00.133 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.227ms
2026-01-03 19:44:00.133 [trace] task onDidChangeDiagnostics took 0.263ms
2026-01-03 19:44:00.702 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.104ms
2026-01-03 19:44:00.702 [trace] task onDidChangeDiagnostics took 0.131ms
2026-01-03 19:44:01.269 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.052ms
2026-01-03 19:44:01.269 [trace] task onDidChangeDiagnostics took 0.074ms
2026-01-03 19:44:01.837 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.266ms
2026-01-03 19:44:01.837 [trace] task onDidChangeDiagnostics took 0.313ms
2026-01-03 19:44:02.405 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.127ms
2026-01-03 19:44:02.405 [trace] task onDidChangeDiagnostics took 0.164ms
2026-01-03 19:44:02.986 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.091ms
2026-01-03 19:44:02.986 [trace] task onDidChangeDiagnostics took 0.119ms
2026-01-03 19:44:03.555 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.077ms
2026-01-03 19:44:03.556 [trace] task onDidChangeDiagnostics took 0.102ms
2026-01-03 19:44:04.124 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.097ms
2026-01-03 19:44:04.124 [trace] task onDidChangeDiagnostics took 0.126ms
2026-01-03 19:44:04.708 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.250ms
2026-01-03 19:44:04.709 [trace] task onDidChangeDiagnostics took 0.331ms
2026-01-03 19:44:05.288 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.092ms
2026-01-03 19:44:05.288 [trace] task onDidChangeDiagnostics took 0.121ms
2026-01-03 19:44:05.869 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.089ms
2026-01-03 19:44:05.869 [trace] task onDidChangeDiagnostics took 0.117ms
2026-01-03 19:44:06.442 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.094ms
2026-01-03 19:44:06.443 [trace] task onDidChangeDiagnostics took 0.124ms
2026-01-03 19:44:07.015 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.100ms
2026-01-03 19:44:07.015 [trace] task onDidChangeDiagnostics took 0.133ms
2026-01-03 19:44:07.584 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.130ms
2026-01-03 19:44:07.585 [trace] task onDidChangeDiagnostics took 0.166ms
2026-01-03 19:44:08.174 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.104ms
2026-01-03 19:44:08.174 [trace] task onDidChangeDiagnostics took 0.132ms
2026-01-03 19:44:08.750 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.090ms
2026-01-03 19:44:08.750 [trace] task onDidChangeDiagnostics took 0.115ms
2026-01-03 19:44:09.317 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.101ms
2026-01-03 19:44:09.317 [trace] task onDidChangeDiagnostics took 0.129ms
2026-01-03 19:44:09.889 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.103ms
2026-01-03 19:44:09.889 [trace] task onDidChangeDiagnostics took 0.129ms
2026-01-03 19:44:10.464 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.137ms
2026-01-03 19:44:10.464 [trace] task onDidChangeDiagnostics took 0.244ms
2026-01-03 19:44:11.041 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.111ms
2026-01-03 19:44:11.041 [trace] task onDidChangeDiagnostics took 0.144ms
2026-01-03 19:44:11.626 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.163ms
2026-01-03 19:44:11.626 [trace] task onDidChangeDiagnostics took 0.203ms
2026-01-03 19:44:12.193 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.136ms
2026-01-03 19:44:12.193 [trace] task onDidChangeDiagnostics took 0.183ms
2026-01-03 19:44:12.776 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.088ms
2026-01-03 19:44:12.776 [trace] task onDidChangeDiagnostics took 0.112ms
2026-01-03 19:44:13.346 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.107ms
2026-01-03 19:44:13.346 [trace] task onDidChangeDiagnostics took 0.136ms
2026-01-03 19:44:13.917 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.096ms
2026-01-03 19:44:13.917 [trace] task onDidChangeDiagnostics took 0.124ms
2026-01-03 19:44:14.480 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.090ms
2026-01-03 19:44:14.480 [trace] task onDidChangeDiagnostics took 0.113ms
2026-01-03 19:44:15.062 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.147ms
2026-01-03 19:44:15.062 [trace] task onDidChangeDiagnostics took 0.180ms
2026-01-03 19:44:15.630 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.083ms
2026-01-03 19:44:15.631 [trace] task onDidChangeDiagnostics took 0.108ms
2026-01-03 19:44:16.203 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.109ms
2026-01-03 19:44:16.204 [trace] task onDidChangeDiagnostics took 0.139ms
2026-01-03 19:44:16.779 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.136ms
2026-01-03 19:44:16.779 [trace] task onDidChangeDiagnostics took 0.166ms
2026-01-03 19:44:17.346 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.127ms
2026-01-03 19:44:17.346 [trace] task onDidChangeDiagnostics took 0.158ms
2026-01-03 19:44:17.930 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.087ms
2026-01-03 19:44:17.930 [trace] task onDidChangeDiagnostics took 0.112ms
2026-01-03 19:44:18.508 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.082ms
2026-01-03 19:44:18.508 [trace] task onDidChangeDiagnostics took 0.114ms
2026-01-03 19:44:19.092 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.085ms
2026-01-03 19:44:19.092 [trace] task onDidChangeDiagnostics took 0.110ms
2026-01-03 19:44:19.673 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.088ms
2026-01-03 19:44:19.674 [trace] task onDidChangeDiagnostics took 0.111ms
2026-01-03 19:44:20.256 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.130ms
2026-01-03 19:44:20.256 [trace] task onDidChangeDiagnostics took 0.157ms
2026-01-03 19:44:20.836 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.084ms
2026-01-03 19:44:20.836 [trace] task onDidChangeDiagnostics took 0.122ms
2026-01-03 19:44:21.399 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.133ms
2026-01-03 19:44:21.399 [trace] task onDidChangeDiagnostics took 0.156ms
2026-01-03 19:44:21.965 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.090ms
2026-01-03 19:44:21.965 [trace] task onDidChangeDiagnostics took 0.114ms
2026-01-03 19:44:22.135 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.ts took 0.042ms
2026-01-03 19:44:22.135 [trace] task diagnostics for: git:/d:/Projects/open-source/pretty-ts-errors/examples/errors.ts.git?{"path":"d:\\Projects\\open-source\\pretty-ts-errors\\examples\\errors.ts","ref":""} took 0.005ms
2026-01-03 19:44:22.135 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.034ms
2026-01-03 19:44:22.135 [trace] task onDidChangeDiagnostics took 0.107ms
2026-01-03 19:44:22.291 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.022ms
2026-01-03 19:44:22.291 [trace] task onDidChangeDiagnostics took 0.043ms
2026-01-03 19:44:22.600 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.050ms
2026-01-03 19:44:22.600 [trace] task onDidChangeDiagnostics took 0.070ms
2026-01-03 19:44:23.179 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.069ms
2026-01-03 19:44:23.179 [trace] task onDidChangeDiagnostics took 0.096ms
2026-01-03 19:44:23.250 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.068ms
2026-01-03 19:44:23.251 [trace] task onDidChangeDiagnostics took 0.095ms
2026-01-03 19:44:23.817 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.040ms
2026-01-03 19:44:23.817 [trace] task onDidChangeDiagnostics took 0.058ms
2026-01-03 19:44:24.391 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.139ms
2026-01-03 19:44:24.391 [trace] task onDidChangeDiagnostics took 0.169ms
2026-01-03 19:44:24.756 [trace] task formatDiagnostic(`Object literal may only specify known properties, and 'person' does not exist in type '{ user: { name: string; email: string; age: number; }; }'.`) took 5.866ms
2026-01-03 19:44:24.756 [trace] task formatDiagnostic(`Object literal may only specify known properties, and 'firstName' does not exist in type 'JSAnimal'.`) took 2.152ms
2026-01-03 19:44:24.756 [debug] registering hover provider for language id: javascript
2026-01-03 19:44:24.756 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 8.395ms
2026-01-03 19:44:24.756 [trace] task onDidChangeDiagnostics took 8.405ms
2026-01-03 19:44:25.331 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.082ms
2026-01-03 19:44:25.332 [trace] task onDidChangeDiagnostics took 0.105ms
2026-01-03 19:44:25.918 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.133ms
2026-01-03 19:44:25.918 [trace] task onDidChangeDiagnostics took 0.161ms
2026-01-03 19:44:26.499 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.135ms
2026-01-03 19:44:26.499 [trace] task onDidChangeDiagnostics took 0.164ms
2026-01-03 19:44:27.075 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.230ms
2026-01-03 19:44:27.076 [trace] task onDidChangeDiagnostics took 0.285ms
2026-01-03 19:44:27.649 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.103ms
2026-01-03 19:44:27.649 [trace] task onDidChangeDiagnostics took 0.127ms
2026-01-03 19:44:28.231 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.115ms
2026-01-03 19:44:28.231 [trace] task onDidChangeDiagnostics took 0.145ms
2026-01-03 19:44:28.805 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.123ms
2026-01-03 19:44:28.806 [trace] task onDidChangeDiagnostics took 0.150ms
2026-01-03 19:44:29.380 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.175ms
2026-01-03 19:44:29.380 [trace] task onDidChangeDiagnostics took 0.205ms
2026-01-03 19:44:29.972 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.133ms
2026-01-03 19:44:29.972 [trace] task onDidChangeDiagnostics took 0.224ms
2026-01-03 19:44:30.540 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.090ms
2026-01-03 19:44:30.540 [trace] task onDidChangeDiagnostics took 0.112ms
2026-01-03 19:44:31.122 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.073ms
2026-01-03 19:44:31.123 [trace] task onDidChangeDiagnostics took 0.095ms
2026-01-03 19:44:31.451 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.064ms
2026-01-03 19:44:31.451 [trace] task onDidChangeDiagnostics took 0.080ms
2026-01-03 19:44:31.515 [trace] task diagnostics for: git:/d:/Projects/open-source/pretty-ts-errors/examples/errors.js.git?{"path":"d:\\Projects\\open-source\\pretty-ts-errors\\examples\\errors.js","ref":""} took 0.018ms
2026-01-03 19:44:31.516 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.080ms
2026-01-03 19:44:31.516 [trace] task onDidChangeDiagnostics took 0.149ms
2026-01-03 19:44:31.599 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.042ms
2026-01-03 19:44:31.599 [trace] task onDidChangeDiagnostics took 0.070ms
2026-01-03 19:44:31.671 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.js took 0.089ms
2026-01-03 19:44:31.672 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.072ms
2026-01-03 19:44:31.672 [trace] task onDidChangeDiagnostics took 0.200ms
2026-01-03 19:44:31.855 [trace] task formatDiagnostic(`Cannot find module 'vue-router' or its corresponding type declarations.`) took 3.010ms
2026-01-03 19:44:31.855 [trace] task formatDiagnostic(`Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'.
  Type 'string | number' is not assignable to type 'number'.
    Type 'string' is not assignable to type 'number'.`) took 3.598ms
2026-01-03 19:44:31.855 [trace] task formatDiagnostic(`'param' is declared but its value is never read.`) took 0.369ms
2026-01-03 19:44:31.855 [debug] registering hover provider for language id: vue
2026-01-03 19:44:31.855 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 7.420ms
2026-01-03 19:44:31.855 [trace] task onDidChangeDiagnostics took 7.433ms
2026-01-03 19:44:32.056 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.111ms
2026-01-03 19:44:32.056 [trace] task onDidChangeDiagnostics took 0.142ms
2026-01-03 19:44:32.131 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.200ms
2026-01-03 19:44:32.131 [trace] task onDidChangeDiagnostics took 0.229ms
2026-01-03 19:44:32.704 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.108ms
2026-01-03 19:44:32.704 [trace] task onDidChangeDiagnostics took 0.134ms
2026-01-03 19:44:33.288 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.108ms
2026-01-03 19:44:33.288 [trace] task onDidChangeDiagnostics took 0.134ms
2026-01-03 19:44:33.857 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.057ms
2026-01-03 19:44:33.857 [trace] task onDidChangeDiagnostics took 0.076ms
2026-01-03 19:44:34.433 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.097ms
2026-01-03 19:44:34.433 [trace] task onDidChangeDiagnostics took 0.122ms
2026-01-03 19:44:35.006 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.185ms
2026-01-03 19:44:35.007 [trace] task onDidChangeDiagnostics took 0.215ms
2026-01-03 19:44:35.590 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.119ms
2026-01-03 19:44:35.590 [trace] task onDidChangeDiagnostics took 0.144ms
2026-01-03 19:44:36.174 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.097ms
2026-01-03 19:44:36.174 [trace] task onDidChangeDiagnostics took 0.123ms
2026-01-03 19:44:36.756 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.076ms
2026-01-03 19:44:36.756 [trace] task onDidChangeDiagnostics took 0.096ms
2026-01-03 19:44:37.323 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.319ms
2026-01-03 19:44:37.323 [trace] task onDidChangeDiagnostics took 0.625ms
2026-01-03 19:44:37.919 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.107ms
2026-01-03 19:44:37.919 [trace] task onDidChangeDiagnostics took 0.133ms
2026-01-03 19:44:38.507 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.182ms
2026-01-03 19:44:38.507 [trace] task onDidChangeDiagnostics took 0.223ms
2026-01-03 19:44:39.089 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.136ms
2026-01-03 19:44:39.090 [trace] task onDidChangeDiagnostics took 0.168ms
2026-01-03 19:44:39.671 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.259ms
2026-01-03 19:44:39.671 [trace] task onDidChangeDiagnostics took 0.298ms
2026-01-03 19:44:40.245 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.106ms
2026-01-03 19:44:40.245 [trace] task onDidChangeDiagnostics took 0.134ms
2026-01-03 19:44:40.823 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.183ms
2026-01-03 19:44:40.823 [trace] task onDidChangeDiagnostics took 0.228ms
2026-01-03 19:44:41.392 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.076ms
2026-01-03 19:44:41.392 [trace] task onDidChangeDiagnostics took 0.096ms
2026-01-03 19:44:41.973 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.140ms
2026-01-03 19:44:41.973 [trace] task onDidChangeDiagnostics took 0.176ms
2026-01-03 19:44:50.141 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.118ms
2026-01-03 19:44:50.141 [trace] task onDidChangeDiagnostics took 0.162ms
2026-01-03 19:44:53.448 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.183ms
2026-01-03 19:44:53.448 [trace] task onDidChangeDiagnostics took 0.212ms
2026-01-03 19:44:53.690 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.097ms
2026-01-03 19:44:53.690 [trace] task onDidChangeDiagnostics took 0.125ms
2026-01-03 19:44:54.276 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.149ms
2026-01-03 19:44:54.276 [trace] task onDidChangeDiagnostics took 0.183ms
2026-01-03 19:44:54.522 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.136ms
2026-01-03 19:44:54.522 [trace] task onDidChangeDiagnostics took 0.171ms
2026-01-03 19:44:54.630 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.121ms
2026-01-03 19:44:54.631 [trace] task onDidChangeDiagnostics took 0.150ms
2026-01-03 19:44:54.798 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.118ms
2026-01-03 19:44:54.798 [trace] task onDidChangeDiagnostics took 0.152ms
2026-01-03 19:44:55.031 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.084ms
2026-01-03 19:44:55.031 [trace] task onDidChangeDiagnostics took 0.103ms
2026-01-03 19:44:55.149 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.179ms
2026-01-03 19:44:55.150 [trace] task onDidChangeDiagnostics took 0.242ms
2026-01-03 19:44:55.718 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.101ms
2026-01-03 19:44:55.718 [trace] task onDidChangeDiagnostics took 0.129ms
2026-01-03 19:44:56.293 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.138ms
2026-01-03 19:44:56.293 [trace] task onDidChangeDiagnostics took 0.213ms
2026-01-03 19:44:57.252 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.115ms
2026-01-03 19:44:57.252 [trace] task onDidChangeDiagnostics took 0.171ms
2026-01-03 19:44:57.516 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.045ms
2026-01-03 19:44:57.516 [trace] task onDidChangeDiagnostics took 0.063ms
2026-01-03 19:44:57.753 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.096ms
2026-01-03 19:44:57.753 [trace] task onDidChangeDiagnostics took 0.123ms
2026-01-03 19:44:57.861 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.142ms
2026-01-03 19:44:57.861 [trace] task onDidChangeDiagnostics took 0.178ms
2026-01-03 19:44:58.097 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.068ms
2026-01-03 19:44:58.097 [trace] task onDidChangeDiagnostics took 0.089ms
2026-01-03 19:44:58.343 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.077ms
2026-01-03 19:44:58.343 [trace] task onDidChangeDiagnostics took 0.098ms
2026-01-03 19:44:58.442 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.217ms
2026-01-03 19:44:58.443 [trace] task onDidChangeDiagnostics took 0.260ms
2026-01-03 19:45:00.298 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.136ms
2026-01-03 19:45:00.298 [trace] task onDidChangeDiagnostics took 0.168ms
2026-01-03 19:45:00.539 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.069ms
2026-01-03 19:45:00.539 [trace] task onDidChangeDiagnostics took 0.095ms
2026-01-03 19:45:00.771 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.093ms
2026-01-03 19:45:00.771 [trace] task onDidChangeDiagnostics took 0.118ms
2026-01-03 19:45:00.880 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.088ms
2026-01-03 19:45:00.880 [trace] task onDidChangeDiagnostics took 0.120ms
2026-01-03 19:45:01.207 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.048ms
2026-01-03 19:45:01.207 [trace] task onDidChangeDiagnostics took 0.069ms
2026-01-03 19:45:01.454 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.083ms
2026-01-03 19:45:01.454 [trace] task onDidChangeDiagnostics took 0.110ms
2026-01-03 19:45:01.586 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.101ms
2026-01-03 19:45:01.586 [trace] task onDidChangeDiagnostics took 0.132ms
2026-01-03 19:45:18.389 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.097ms
2026-01-03 19:45:18.389 [trace] task onDidChangeDiagnostics took 0.134ms
2026-01-03 19:45:18.457 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.098ms
2026-01-03 19:45:18.457 [trace] task onDidChangeDiagnostics took 0.125ms
2026-01-03 19:45:22.240 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/examples.type took 0.127ms
2026-01-03 19:45:22.241 [trace] task diagnostics for: git:/d:/Projects/open-source/pretty-ts-errors/examples/examples.type.git?{"path":"d:\\Projects\\open-source\\pretty-ts-errors\\examples\\examples.type","ref":""} took 0.009ms
2026-01-03 19:45:22.241 [trace] task onDidChangeDiagnostics took 0.186ms
2026-01-03 19:45:22.630 [trace] task diagnostics for: file:///d:/Projects/open-source/pretty-ts-errors/examples/errors.vue took 0.078ms
2026-01-03 19:45:22.630 [trace] task onDidChangeDiagnostics took 0.108ms

Testing it, I again noticed that the onDidChangeDiagnostics fires a lot, with actual "new" diagnostics from the TypeScript compiler, even when there are no changes. But the performance seems to be slightly improved since the last time I checked (#104 (comment)). I think update the dependencies and some of the refactoring have helped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants