ProfileSVG.jl icon indicating copy to clipboard operation
ProfileSVG.jl copied to clipboard

[RFC] Use of TypeScript

Open kimikage opened this issue 4 years ago • 1 comments

The interaction features of ProfileSVG are written in JavaScript (ES5). However, I don't like JavaScript very much. On the first day I took over the maintainer, my heart is already going to break by the ES5 code.:tired_face:

The development language candidates are as follows:

  • ES5 (current)
  • ES6 (dropping ES5 support)
  • TypeScript

Of course, even If we use TypeScript, the end users do not need to install the TypeScript compiler.

I'm not going to draw a conclusion right away. The ES5 code will be maintained for the time being.

kimikage avatar Apr 30 '20 13:04 kimikage

I'm a huge fan of ES6! It's modern JS and does not require a build step, which is great! This is especially important for Julia packages, where you probably want to avoid a client-side TS build step, so you would need to keep bundled JS files in source code.

If you do go for TS, I recommend deno bundle over any other build system because of its simplicity.

PS: JavaScript can be really nice, you just need to be able to look past the things people were doing before ES6. 😅 Its interpreter-compiler mix is super advanced and fast, the object syntax is fantastic and I think the promise/async/await concept is a really well thought-out feature.

fonsp avatar Feb 17 '22 23:02 fonsp