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

jQTerm 3.0 with TypeScript and ES Modules #805

Open
jcubic opened this issue Jul 4, 2022 · 7 comments
Open

jQTerm 3.0 with TypeScript and ES Modules #805

jcubic opened this issue Jul 4, 2022 · 7 comments
Labels
Milestone

Comments

@jcubic
Copy link
Owner

jcubic commented Jul 4, 2022

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:

  • Renderer - not sure if it will be possible but there can be Canvas Renderer and DOM renderer.
  • ANSI formatting should be able to use the whole screen. It may be a different mode like Less. If there will be rewriting, maybe the architecture can change so you can run real TTY applications like vi or nano inside jQTerm. Something to think about.
@jcubic jcubic added the feature label Jul 4, 2022
@jcubic jcubic added this to the 3.0 milestone Jul 4, 2022
@jcubic
Copy link
Owner Author

jcubic commented Aug 5, 2022

New ASCII Art:

       __ ____ ________                              __
      / // _  /__  ___/__ ___ ______ __ __  __ ___  / /
  __ / // // /  / // _  // _//     // //  \/ // _ \/ /
 /  / // // /  / // ___// / / / / // // /\  // // / /__
 \___//____ \ /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/
           \/                           version {{VER}}

@jcubic
Copy link
Owner Author

jcubic commented Aug 11, 2022

New repo got created: jQTerminal.

@KiddoV
Copy link
Contributor

KiddoV commented Jan 14, 2023

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

@jcubic
Copy link
Owner Author

jcubic commented Jan 15, 2023

@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
Copy link
Contributor

KiddoV commented Jan 15, 2023

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
Copy link
Owner Author

jcubic commented Jan 15, 2023

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
Copy link
Owner Author

jcubic commented Aug 3, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants