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

Bring project back to life #143

Open
2 of 8 tasks
MarcoScabbiolo opened this issue Apr 16, 2020 · 13 comments
Open
2 of 8 tasks

Bring project back to life #143

MarcoScabbiolo opened this issue Apr 16, 2020 · 13 comments

Comments

@MarcoScabbiolo
Copy link

MarcoScabbiolo commented Apr 16, 2020

I've couldn't help but notice this project is not in good shape, the builds are failing and many helpful PRs are not being merged. This is a very helpful and widely used project, and usually a must have for CLIs.

I'm willing to invest time into bringing this project back to life and have it well maintained.

Here are some things that I think should be done:

I don't think any breaking changes are needed for all of this as long as the surface API is used, and not any internals.

@SamVerschueren what do you think about this? I can work on all of this in a separate branch.

@vsnthdev
Copy link

if @SamVerschueren agrees. This would be awesome 👌
Looking forward to having a better version of listr 😃

@SamVerschueren
Copy link
Owner

Can I get some time to come with an appropriate response. Could definitely use some help from others!

@ghengeveld
Copy link

Happy to see people are picking up the bat here. I would personally love to see some sort of pluggable core so things like observables and streams become plugins rather than core features. Not all authors (myself included) need that stuff.

I have prior experience setting up a monorepo for this kind of purpose. I'm maintaining a project that uses Lerna and Yarn workspaces for this, along with relative-deps.

@SamVerschueren
Copy link
Owner

Hi, and sorry for the slow response. Some things in my personal life changed the last year so I wasn't so active in the open source community anymore.

I would really like some help from other people. @LitoMore already fixed the tests and switched to GitHub actions to run the tests. He asked if he could help triage issues and solve some open PRs which I would really love to see. I'll try to help as well.

Rewriting in TypeScript is definitely something I want to do as well. But first I believe we should solve some low-hanging fruit issues and PRs.

I don't want to switch from jest to AVA. I use AVA for all my open source work and I like it.

Making listr a monorepo is definitely something we can consider, I use lerna at my job as well so definitely worth looking into it bringing everything together.

Thanks to everyone who wants to help get this project going! 🙏

@MarcoScabbiolo
Copy link
Author

MarcoScabbiolo commented Apr 29, 2020

Great to see you want to go in this direction @SamVerschueren .
I agree it should be a priority to solve long-standing issues and merge PRs before starting any refactors.
Can you consider giving permissions to more people so we/they can help you with PRs and Issues?

@LitoMore
Copy link
Collaborator

LitoMore commented Apr 30, 2020

@MarcoScabbiolo Thank you for your offer! By the way, you can still help out with all this without being a maintainer though!

@MarcoScabbiolo
Copy link
Author

Sure can and will, it was just a suggestion, and needs not to be me the one assigned the permissions.

@MarcoScabbiolo
Copy link
Author

MarcoScabbiolo commented May 2, 2020

I don't want to switch from jest to AVA. I use AVA for all my open source work and I like it.

AVA's support for TypeScript is cumbersome compared to jest's . On top of that, jest, babel and ts align themselves very well when working with monorepos. The 3 of them allowing for both workspace, project and reusable configurations. AVA lacks support for monorepos AFAIK.

@MarcoScabbiolo
Copy link
Author

By the way listr2 is already out there (version 1.0 is 2 months old) but still hasn't taken off, although lint-staged has already switched to it. It is written in TS. It would be great to join efforts with @cenk1cenk2 and have him help with the "official" listr so it doesn't branch out.

@SamVerschueren
Copy link
Owner

I'm definitely open to collaborate with @cenk1cenk2!

@cenk1cenk2
Copy link

Hearing that @SamVerschueren is on-board is great news. The basic bones of the project are still the same and I tried to not change much in the sense of not breaking backward compatibility since I was already relying on it. While some TLC was needed to expand it in my own use case, I butchered it so much that I could not justify creating a pull request to the original project that seemed acceptable in my mind. Therefore, if the end result will give this beautiful project more life in the upcoming years, I will be happy to chip in whatever way I can.

The only two things I was thinking about to change that can break backward compatibility is putting the renderer options into their own options key and push observables to a peer dependency. Since verbose renderer does not need keys like collapse and such I think it is a wise idea to isolate the options on per renderer basis, but there shall be some typescript trickery to be done for not losing the autocomplete functionality while for my use case I added some more options directly to the task wrapper which will even complicate things more. The peer dependency one is a bit trickier since the task needs to detect whether the given task is an instance of observable.

@SamVerschueren
Copy link
Owner

@cenk1cenk2 I want to extract the rendering options to their own key as well. Shortly after I did it like it is now, I already had regret that I did it this way. So that would definitely be an improvement.

@sarink
Copy link

sarink commented Feb 12, 2021

Listr2 really needs to be pointed out in the readme

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

No branches or pull requests

7 participants