jcubic / jquery.terminal

jQuery Terminal Emulator - JavaScript library for creating web-based terminals with custom commands
https://terminal.jcubic.pl
MIT License
3.11k stars 571 forks source link

jQTerm 3.0 with TypeScript and ES Modules #805

Open jcubic opened 2 years ago

jcubic commented 2 years ago

I have an idea for a new feature for jQuery Terminal

I'm writing this down so it will be official. I plan to rewrite the library in TypeScript and split the big file into modules. The architecture and API will not change but it will be a major version 3.0.

The library will also be renamed to jQTerm. I'm not yet sure what to do with old code, I may duplicate the repo and archive this one.

The main task that needs to be done before migrating to TS will be to create jQ small library that will be an integral part of jQTerm. It will just be every piece of jQuery that is used by the library, or maybe I will use cash for this (maybe I will fork it and add all the missing pieces). There was an attempt of getting rid of jQuery in #730 but this will be rewritten so I think it will be ok to use something more lightweight.

Ideas:

jcubic commented 2 years ago

New ASCII Art:

       __ ____ ________                              __
      / // _  /__  ___/__ ___ ______ __ __  __ ___  / /
  __ / // // /  / // _  // _//     // //  \/ // _ \/ /
 /  / // // /  / // ___// / / / / // // /\  // // / /__
 \___//____ \ /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/
           \/                           version {{VER}}
jcubic commented 2 years ago

New repo got created: jQTerminal.

KiddoV commented 1 year ago

It's weird that you will name it as jQTerminal, because it will not using jQuery anymore. 😅

jcubic commented 1 year ago

@KiddoV do you have a better name? I can't name it Terminal.js. It needs to be unique and something that was not used before, and it needs to be similar to jQuery Terminal (I think it would be better to be similar at least).

KiddoV commented 1 year ago

IDK. I think it's just not a good name for long term. As everyone is moving their library away from jQuery. I see some libs out there would name differently when they have some major changes in their libs.

I have some good names to think off: tsTerminal, moduleTerminal or even with your nickname cubicTerminal, etc.

Anyway, it's your library, and you name it whatever you like. People will still know it from the old JQuery Terminal lib if you just have to make a note on top of the old repo. Just something to think about so you won't regret in the future when this lib get more popular.

jcubic commented 1 year ago

The reason why it's jQTerm (or jQTerminal) is because I can't use jQueryTerminal that would be silly. And I want it to be a reference to old code. It would be confusing to have version 3.0 on the library that was just created.

jcubic commented 1 year ago

I decided to change the name to pure-terminal. I renamed the repo a while ago. And claimed the npm package.