Might as well not use TypeScript
Forreal. Even a bespoke inferred return type is better than any 9 times out of 10.
This is the only reason I haven’t pushed my team to switch. I’m worried too many of them will be OP.
Just as irritating as seeing people use linters only to have a lot of files with @ts-ignore all over the place… Like why even bother?
oh you’ve got a private variable that I want to use? No worries, (foo as any)[‘secret’].
using
any
is actually much worse than using TS, because you’re basically telling the compiler “don’t help me here”… at least with JS the IDE is gonna help you… :/tbh I don’t remember why I’m using TypeScript
Cause otherwise it’s plain JS :/
I don’t follow, stamping every function with
: any
lets you merge the branch and deploy it… trying to properly type everything extends the initial migration time likely to a level where management just says no.Use a combination of
allowJs
andts-ignore
, do progressive enhancement, and convert your codebase file by file. Addingany
everywhere literally turns off type checking altogether codebase wide, including type inference. It also means a huge PR that’s both just noise that needs to be fixed later, and messes with your git history (good luck getting anything useful out ofblame
orbisect
now).Just getting a green build doesn’t mean things are okay. You’re worse off than before doing that.
I disagree that you’re worse off (the core of my comment was that even a shitty migration encourages better practices)… but I wasn’t super familiar with TS hinting - using ts-ignore would be preferable.
Personally, I mostly work in PHP and we use a similar system. Strict typing is default off so we’ve slowly propagated
declare(strict_types=1);
to enable compile and runtime checking on a per file basis.
That’s the joke