WebReflection / linkedom

A triple-linked lists based DOM implementation.
https://webreflection.medium.com/linkedom-a-jsdom-alternative-53dd8f699311
ISC License
1.66k stars 80 forks source link

Anyone willing to help this project forward? #247

Open WebReflection opened 11 months ago

WebReflection commented 11 months ago

I think this project works awesomely for anything I need it to do, but I am afraid I am a full time contractor and, before that, a full time dad of a 21 months old child that leaves me pretty much zero extra time to deal with bugs, PRs reviews, publish, release related things, and so on ... I also don't want to abandon this project because I think it's pretty cool and robust enough for SSR related tasks, but it's clear that many keep trying to use this to test things or pretend this project is like JSDOM and behave like a browser ... I have two options:

As summary: is anyone willing to jump in? All I can do is to guarantee that any question around any current decision can be answered, while maintainers can help this project forward while I do completely different things in my daily job which has nothing to do with LinkeDOM improvements ... what do you think? Any volunteer?

Havunen commented 11 months ago

I could try to help, but my time is also very limited.

I recently started exploring different approaches to speed up jest tests and one of the reasons why it is slow is JsDOM. JsDOM tries to fulfill the html specification, but what I need is javascript API for HTML operations, not the full API but the basics should work so it could be used as testing environment. The difficult stuff could be mocked out or anything which would make it slower.

I initially started building my own library and then I found this project which was very useful, great project!

Here is the jest plugin I'm working on: https://github.com/Havunen/jest-environment-linkedom

pkra commented 11 months ago

While I'm more of a bystander, I thought that it might be useful to write something.

I've been using linkedom as my daily driver for well over a year now, doing SSR-ish things, replacing jsdom. I ran into 4 bugs in that time, 1 of which was 3rd party. You kindly fixed them which I'm very grateful for (and even the 3rd party one was eventually fixed by someone).

I really like how clearly you communicate your approach in the project. I have always been able to do what I needed to do using linkedom. In fact, if I ran into issues, resolving it usually improved my code.

WebReflection commented 11 months ago

@Havunen

Here is the jest plugin I'm working on:

that's the thing ... I don't have time for this project right now, I have even less time to "check other projects out".

You landed a few PRs so I'll try this evening or over the weekend to have a look and if I like that, I'd be happy to add you as contributor ... does this sound reasonable to you?

Havunen commented 11 months ago

You landed a few PRs so I'll try this evening or over the weekend to have a look and if I like that, I'd be happy to add you as contributor ... does this sound reasonable to you?

Ok. Sounds good to me.

drschwabe commented 10 months ago

Am still using uhtml-ssr... so perhaps this library could benefit from some additional documentation to help people like me who are curious (and sometimes lazy) about migrating/integrating from WebReflection's existing libs like uhtml or even lit-html

I feel like linkedom has minor issue of branding and context for when you first land and start reading the readme (as noted). Perhaps there should be a full end to end practical example to help people understand.

Now that doesn't the address the issue of Andrea's lack of time resources avail on this but I just wanted to highlight my biased perspective and where I see the project needing help; like everyone am lacking time too but love the work you do Andrea and would jump at the opportunity to help and hack on things as best I can even if it is something like tutorials and documentation.

If someone wants to start a branch ie- 'tutorial' with a rough draft "linkedom TODO app" for example then I would be happy to proofread and test-drive it so that we can work towards having that in master for people to try.

rglover commented 9 months ago

Would a sponsorship allow you to prioritize work on this as time allows?

WebReflection commented 9 months ago

@rglover I am a full time and a full time contractor so while I'd love to have sponsorship behind this project, I am not using (yet?) daily with the current work I do and I still wouldn't solve the problem of finding time. If the sponsorship would guarantee long-term full time work on this everything would be different, of course, but I've never belied such sponsorship exists for OSS with very rare and exceptional exceptions to this usual fact. Thanks for asking though, I've tried before to live out of sponsorships and it's been overly underwhelming despite many great people that supported me with all they could, but that ain't enough and big companies that use my software very rarely supported my work too.

WebReflection commented 8 months ago

@Havunen my apologies for such delay and come back but I've merged all your MRs except this one which felt a bit off ... maybe you missed the guideline on how to contribute, which is my bad not being too visible, but in particular this part.

I really loved other contributions you made and they are all live and published at this point but one thing I'd like to make it clear:

If everything I've written in here makes sense to you, and I am open to discuss any of these points but so far those have been my "yay" and "nope" drivers, I would be more than happy to add you as contributor as clearly you got the flow: add a feature in the esm folder, add a test to keep code-coverage high and preserve expectations, PR and ship 🥳

Looking forward for any answer to this but if everything is good and clear, I am basically announcing you as a LinkeDOM official contributor and I am going to give you full admin privileges 👍

edit that, of course, only if you're still interested ... and also apologies for various edits in the post, I write too fast and my English is often too bad!