I do this daily and believe me when I say that I’d trade my kidney for the ability to use TS natively. This looks good on paper but jsdoc notation has lots of flaws and you literally can’t do some things with it. Also, it doesn’t check if the function actually does the thing you described so it needs manual review every time it’s changed.
Comment on Big projects are ditching TypeScript… wtf? - The Code Report
scorpionix@feddit.de 1 year ago
I haven’t dealt with a larger JS/Node Project in a while, but I like this approach to using TS features in JS.
iFarmGolems@lemmy.world 1 year ago
plistig@feddit.de 1 year ago
That approach was mentioned in the video.
cactusupyourbutt@lemmy.world 1 year ago
so he does all of this because he dislikes transpiling because supposedly it makes debugging etc harder? does he know about sourcemaps?
he also says he doesnt like type information in his code, so he adda them as comments. the type information is still there, how is this an improvement?
scorpionix@feddit.de 1 year ago
The issue with transpiling is that the code that’s running in production is not necessarily the one that’s been tested. A source map doesn’t fix that.
atheken@programming.dev 1 year ago
I loathe this line of reasoning. It’s like saying “unless you wrote assembly, compiling your code could change what it does.”
Guess what, the CPU reorders/ellides assembly, too! You can’t trust anything!
pivot_root@lemmy.world 1 year ago
Haha, what is this, the 90s?
Assembled instructions aren’t even the lowest non-hardware stage in instruction execution. There’s proprietary microcode sitting a level below your typical x86 ISA.
pivot_root@lemmy.world 1 year ago
Unless someone is using some language extensions, transpiling from TS to an ECMAScript module using the
ESNext
target merely drops the type annotations.If not running the exact same code being developed is an issue, it’s an easy fix.
Miaou@jlai.lu 1 year ago
Ugh? Of course it is. Why shouldn’t it be?
scorpionix@feddit.de 1 year ago
Because Browsers can’t run Typescript, they run JavaScript. That’s why the intermediate conversion step isneededd.