Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 Typescript rework into 2.0 #1

Merged
merged 23 commits into from
May 23, 2019
Merged

🚀 Typescript rework into 2.0 #1

merged 23 commits into from
May 23, 2019

Conversation

segersniels
Copy link
Owner

@segersniels segersniels commented May 20, 2019

Why

Supdock has been a project that, since I started developing in my spare time, has changed quite a lot.
As a developer I evolved and thus my main coding language has changed quite a lot along the way.

It started off as a very dirty pure Javascript tool that did what it had to do but was slow. So I turned to Golang to rewrite Supdock from scratch to be more enjoyable for frequent daily usage.

Sadly enough as time passed by I stopped using Golang entirely and started developing in Typescript for my new job making Golang a language that I can't keep up with as much as previously.

What does this mean for Supdock

  1. The source code will be a lot more clean and readable than it was in the earliest JS version and even the renewed GO version.
  2. It will be slightly slower again (compared to the Go version) which was the main reason why I moved away from Node.js in the first place. Node.js' child processes like spawn and exec are still quite slow compared to the pure shell variants.
  3. Usage for users will increase again as NPM is a far better place to have Supdock on compared to the Golang alternatives

Upcoming

  1. Finish the rework from JS to TS
  2. Drop commander as it obstructed the passthrough (flags not being recognized by commander when passing to default docker execution) of the old javascript version
  3. Bring over Go Supdock features that weren't in this version yet like system wide docker-compose usage...
  4. Single binary compilation support
  5. npm install returns 🚀

@segersniels segersniels self-assigned this May 20, 2019
@segersniels segersniels merged commit 2d99d58 into master May 23, 2019
@segersniels segersniels deleted the feature/typescript branch May 23, 2019 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant