3003: Remove rollup-typescript r=matklad a=matklad
It seems like just calling typescript directly is simpler and more reliable?
@Veetaha what do you think about this approach?
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2959: Rework how we send diagnostics to client r=matklad a=kiljacken
The previous way of sending from the thread pool suffered from stale diagnostics due to being canceled before we could clear the old ones.
The key change is moving to sending diagnostics from the main loop thread, but doing all the hard work in the thread pool. This should provide the best of both worlds, with little to no of the downsides.
This should hopefully fix a lot of issues, but we'll need testing in each individual issue to be sure.
Co-authored-by: Emil Lauridsen <mine809@gmail.com>
The previous way of sending from the thread pool suffered from stale
diagnostics due to being canceled before we could clear the old ones.
The key change is moving to sending diagnostics from the main loop
thread, but doing all the hard work in the thread pool. This should
provide the best of both worlds, with little to no of the downsides.
This should hopefully fix a lot of issues, but we'll need testing in
each individual issue to be sure.
2991: vscode: updated rollup typescript so it typechecks the bundle r=Veetaha a=Veetaha
See [this happy update](https://github.com/rollup/plugins/blob/master/packages/typescript/CHANGELOG.md#v300) from `@rollup/typescript-plugin` changelog)
I also added a utility script to view the latest dependencies versions (`dry-run` variant) and update them in batch. Beware, that it bumps versions even if the major version of them has changed (for updating only within one major version there is a cli option, but I didn't want add a whole bunch of scripts)
Some of the dependencies major versions are out of date:
```
~/my/projects/rust-analyzer/editors/code (feature/refactoring-vscode-ext) $ npm run bump-deps:dry-run
> rust-analyzer@0.1.0 bump-deps:dry-run /home/veetaha/my/projects/rust-analyzer/editors/code
> npm-check-updates
Checking /home/veetaha/my/projects/rust-analyzer/editors/code/package.json
[====================] 16/16 100%
jsonc-parser ^2.1.0 → ^2.2.0
@rollup/plugin-commonjs ^11.0.1 → ^11.0.2
@rollup/plugin-node-resolve ^6.1.0 → ^7.1.0
@types/node ^12.12.25 → ^13.7.0
rollup ^1.30.1 → ^1.31.0
tslint ^5.20.1 → ^6.0.0
vsce ^1.71.0 → ^1.72.0
```
Co-authored-by: Veetaha <gerzoh1@gmail.com>
2989: vscode extension: migrate from any to unknown where possible r=Veetaha a=Veetaha
`unknown` type is the stricter version of `any` and it should always be prefered (like `const` over `let`).
It lets you assign any value to it, but doesn't let you carry out arbitrary operations on them without an explicit type check (like `typeof unknownValue === 'string'`).
Co-authored-by: Veetaha <gerzoh1@gmail.com>
The extra allocation for message should not matter here at all, but
using a static string is just as ergonomic, if not more, and there's
no reason to write deliberately slow code