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

Anyone willing to help this project forward? #247

Open
WebReflection opened this issue Nov 1, 2023 · 8 comments
Open

Anyone willing to help this project forward? #247

WebReflection opened this issue Nov 1, 2023 · 8 comments

Comments

@WebReflection
Copy link
Owner

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:

  • make this project "locked" for its own users (no issues, no PRs, nothing, I just work on it when and if I have time)
  • find other maintainers that just stick with the contribution docs and don't waste time with stuff that ain't needed (like change linter rules, make everything .ts or anything that is not moving really the project further, just churn no current issue needs)

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

Havunen commented Nov 1, 2023

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

pkra commented Nov 2, 2023

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

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

Havunen commented Nov 2, 2023

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

drschwabe commented Dec 4, 2023

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

rglover commented Dec 23, 2023

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

@WebReflection
Copy link
Owner Author

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

WebReflection commented Jan 22, 2024

@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:

  • this project is not about testing ... to be honest, this project is already so hybrid in perf and goals (compared to its birth) I ended up writing a way thinner layer that smokes LinkeDOM performance, it's within latest uhtml/dom project export
  • this project would never have (under my radar) hundred classes to instanceof against ... use localName, use tagName, don't register everything because 90% of the dom behaves pretty much like the base Element class and instanceof for div with no special meaning or use cases was never a goal of this project
  • if this project will end up like a JSDOM substitute this project won't have anymore any reason to exist
  • if the fast path is kept fast (parse and produce SSR friendly code) then we're aligned ... as example, a few of your PRs where about extra stuff that doesn't bother bootstrap, parsing, or layout creation ... we can stretch those cases as we please as there's still something useful for tests or Workers or not browser based scenarios, but only when perf are not on the critical path these are good things to land ... in other cases I've always been skeptic

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!

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

5 participants