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

Use Typescript instead of Javascript #32

Open
2 tasks done
corrrso opened this issue Jan 29, 2025 · 7 comments
Open
2 tasks done

Use Typescript instead of Javascript #32

corrrso opened this issue Jan 29, 2025 · 7 comments
Labels
enhancement New feature or request

Comments

@corrrso
Copy link

corrrso commented Jan 29, 2025

Before submitting an issue, please check the following

  • I have searched for similar issues (both open and closed) and cannot find a duplicate
  • I agree to follow the Code of Conduct

Motivation

First of all, excellent work with the startup of this project, brilliant idea and I love how quickly you managed to pull together a first MVP.

I think the extension has the potential to become bigger and bigger with time, if you get enough attention from other devs. I would love to contribute too, I am full stack engineer that worked a lot with web tech.

That said, I think the extension will get easier to work on (especially if many people will) if we pivot to Typescript while in the early stages.

I would also make a point on using React for the UI for the same reason (many contributors would more easily find a standard), but I appreciate this is secondary, since the extension is quite simple, for now. Even if it could help, for example, to have some navigation and the settings page inside the extension popup itself instead of opening a new page.

Solution

I would be more than glad to work on this on a secondary branch and then raise a PR when I'm at a decent point with the conversion to Typescript. Later, then, I could have a look at using React, but maybe other people have other opinions on this.

ClintonCAT version

0.0.3

Platform

  • OS:
  • Browser:

Anything else?

No response

@corrrso corrrso added the enhancement New feature or request label Jan 29, 2025
@WayneKeenan
Copy link
Owner

WayneKeenan commented Jan 29, 2025

Thank you so much for this.

A terse dump of my thoughts:

  • Use TypeScript: 100% Absolutely yes! (I like the path of least surprise, especially at runtime)

  • React: I don't want to complicate the parameters of the core logic to the point that it requires a 3rd party library to manage the supporting UI complexity.

  • Working on a separate re-implementation 100% go for it!

  • But, sorry there's a but, as I don't want to hinder expression or contributions, this is so early I would like to share a logical architecture/plan I have in my mind first.

Hope that make sense
Thanks again.

@jaredcat
Copy link

If the UI gets complex, it's worth using something like React or Vue to handle it.
I was creating a simple extension and didn't want to use React for the same reason, and once it got even slightly complicated I kind of regretted not using a UI library to help manage the complexity.

@corrrso
Copy link
Author

corrrso commented Jan 29, 2025

Exactly. Every project starts as a simple one, until it's not anymore. I don't understand the fear in "depending on 3rd party for the UI". We're not talking about a new trend that just came out.

The only point I would have against React is that it might reduce the pool of potential contributors, but it would greatly benefit UI uniformity in the long run.

React can wait. Glad to move forward with Typescript in the meantime

@WayneKeenan
Copy link
Owner

There is no fear, KISS

@WayneKeenan
Copy link
Owner

I think there's an assumption that the config will have to become sprawling mess of engine options.

Stop planning for the future that doesn't exist.

@WayneKeenan
Copy link
Owner

WayneKeenan commented Jan 30, 2025

At the end of the day this extension is intended for the mass market consumers who use a web browser to purchase products like your: nan, grandad, mum, dad and others, not the tiny amount of developers seeing this.

It has to be "tap and unwrap" => so has to work out of the box by default; it will never be customised by the general public.

@WayneKeenan
Copy link
Owner

WayneKeenan commented Jan 30, 2025

That does allude to be being a bit smarter about false positives, but, my goal is to be as simple as possible, like an ad block but with a bit of toast.

Repository owner deleted a comment from BSD-Yassin Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants