kyriesent / node-rtsp-stream

Stream any RTSP stream and output to websocket for consumption by jsmpeg (https://github.com/phoboslab/jsmpeg). HTML5 streaming video! Requires ffmpeg.
MIT License
451 stars 166 forks source link

Suggestion: Convert from coffeescript to Typescript or ES6 for additional community involvement #19

Closed ajbogh closed 5 years ago

ajbogh commented 5 years ago

There are a ton of Javascript developers in the NodeJS and frontend world that would support a project like this. Coffeescript can be confusing to use when compared to regular JS. Not only is it an entirely different syntax, it doesn't even use the same variables (@ instead of this). It's also a rarely used language in professional environments, as most people are migrating toward Typescript for strongly typed languages.

Suggestion:

I'm creating this issue now, with the hopes that I can offer a PR later (a sort of TODO). I'd be happy if someone can take it.

Reference comment in PR https://github.com/kyriesent/node-rtsp-stream/pull/16#issuecomment-441404930

kyriesent commented 5 years ago

@ajbogh I'm happy moving this over to JS now. When I started this project ES6 wasn't out the gate yet, but with the improvements they've made to scoping and async handling it's probably about time to move this over.

My only concern with TypeScript is that, like all transpiled languages, it may suffer a similar fate to CoffeeScript in a few years, and if we're going to make the move I'd rather only make it once. I also don't have any current experience in it, so that's a thing.

I understand that either move would be a lot of work, and I'm not currently in a position to put it in. That being said, I'm impressed with how much work you've already put into this, and I'm very thankful for that. If you are interested in making a language change PR, let me know before you get started so that we can talk about it!

ajbogh commented 5 years ago

I'll look into addressing this after #20 gets merged.

kyriesent commented 5 years ago

Finally moved the codebase over to vanilla JS. Closing.