retejs / rete

JavaScript framework for visual programming
https://retejs.org
MIT License
9.86k stars 647 forks source link

[question] What are the reasons rete isn't written in typescript? #203

Closed dkipp closed 5 years ago

dkipp commented 5 years ago

I'm excited about rete, I was looking every once in a while for something like it. While I was searching, I somehow assumed that a library like this will be written in typescript.

The code looks great, you obviously know what you are doing, so what are your reasons for plain javascript?

I searched, but couldn't find a place where you already wrote about your decision.

Thanks for sharing your work

Ni55aN commented 5 years ago

so what are your reasons for plain javascript?

JavaScript allows to code faster than TypeScript. Moreover, the code base does not increase intensively, so static typing is not really needed

juliandavidmr commented 5 years ago

Hi @Ni55aN, I agree with you to a certain extent. I see that you are using object typing (similar to typescript), and you are even using ".d.ts" files which are updated manually, this can cause a difference in definitions (.d.ts) with respect to the code.

I believe that typescript can help current and future contributors to collaborate effectively by being able to understand the source code as it grows.

It would also make the code more maintainable as it grows.

I propose to update the project to Typescript including the automatic generation of definitions (d.ts).

I propose to update the project to Typescript including the automatic generation of definitions (d.ts). I could do it if you accept this proposal.

Ni55aN commented 5 years ago

I see that you are using object typing

These types are required at runtime (instanceof +throw)

this can cause a difference in definitions (.d.ts) with respect to the code.

Yeah, d.ts is often outdated

It would also make the code more maintainable as it grows.

I agree, but I'm not sure yet whether it is worth switching to TS

Ni55aN commented 5 years ago

I'll investigate the current features and figure out how to rewrite them on TS, and give you feedback

Ni55aN commented 5 years ago

https://github.com/retejs/rete/issues/260