onivim / oni

Oni: Modern Modal Editing - powered by Neovim
https://www.onivim.io
MIT License
11.35k stars 299 forks source link

Upgrade TypeScript to 2.4.1 #519

Closed bryphe closed 7 years ago

bryphe commented 7 years ago

Looks like there were several breaking changes in this upgrade (lots of compilation errors to be fixed). These will need to be manually addressed.

keforbes commented 7 years ago

The compilation errors are actually https://github.com/Microsoft/TypeScript/issues/16772, which can be resolved by also updating ts-loader. So typescript: 2.4.1 and ts-loader: 2.2.2. I was going to submit a Pull Request with this fix but Oni currently doesn't build due to an unrelated error:

ERROR in ./browser/src/Plugins/Api/Oni.ts
Class 'Oni' incorrectly implements interface 'Api'

I didn't want to submit a Pull Request with a broken build so I decided to just document the fix here.

bryphe commented 7 years ago

Thanks for the investigation, @keforbes ! That helps a lot - I didn't see that issue. I'll take a shot at it and see what's going on with that error.

bryphe commented 7 years ago

Temporarily reverting this change, because it looks like there is a regression or a change in the completion behavior after < in .tsx files.

For example, if I'm typing in NeovimSurface.tsx:

export class NeovimSurface extends React.PureComponent<R|

I'd expect completion to pop open. However, it seems that at least this case and a few others are broken after upgrading to TypeScript 2.4.1, and the completion dialog does not open in this case.

Need to check: