-
Notifications
You must be signed in to change notification settings - Fork 270
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
[Break]: Golfing w/ Performance tuning #120
base: main
Are you sure you want to change the base?
Conversation
dist/index.js 1.41 kB 643 B dist/index.mjs 1.41 kB 633 B dist/index.min.js 1.56 kB 701 B
Any feedback on this? Been a little while :) |
Hey! Thank you for the exploration here. Very interesting! In the interest of ensuring this package is maintainable, readable, and most importantly stable for the millions who depend on it, we're going to be very selective of the PRs that get merged in. Closing this as won't fix, but thank you regardless 🙏 |
I don't know about that @leerob I'd argue this PR address some pretty serious things—stuff I believe should have been merged. Few points;
@leerob I urge you to reconsider this one. |
We will likely not be merging large feature requests at all here, only bug fixes or security vulnerabilities (in my opinion). This library does one thing, and one thing well. I don't believe it's in its ethos to expand further when millions depend on it doing that one thing.
There are tests. On stability: if it's not broken, I don't see a need to introduce risk in merging something new. |
As mentioned at the top of the PR:
The breaking change here can easily be reverted, and you maintain the size reduction & performance win. But I get it – this was just a nice way to express that there's no interest :) no problem |
First off, I apologize for making you wait years to hear back from anyone 😅 There are some still interested in this, which I wasn't sure about due to lack of interest in the PR or related issue. I've had a few folks reach out and ask. I'm happy to open this back up and create an issue, where we can track community interest for this PR. I agree about versioning. I'd say the first iteration of these changes would be without the breaking change, and then a separate PR could introduce that change. What are your thoughts on that? |
Hmm.. so this is a 180 from your previous comments, wherein you said this was a "won't fix" and you ❤️'d my "you're just being nice about having no interest" comment, haha Your suggestion is exactly what I proposed at the top. And I pointed this out again in my recent comment -- the one you ❤️'d -- so I took that to mean you (maybe collectively?) were still not interested in this. The time & lack of response, of course, furthers this impression. It seems to me that the sudden turnaround is only because I published my fork... |
I left a heart because I appreciate you being honest and civil. It's easy to lose the meaning behind a comment, especially when you don't know me at all. So thank you for being honest and open! And yes, I am open to change based on your comment and @maraisr's 😄 I'll be honest as well, there wasn't a collective decision on this. It's mostly myself trying to clean-up random depths of the Vercel GitHub org. So I'm probably just wrong, especially your comment about versioning. You're free to continue forking as well. I will let you decide how you'd like to move this forward. |
Gotcha. Well, I can restore the branch & you could reopen the PR, but TBH I'm kinda done waiting & putting effort into this contribution, so you/someone else is going to have to put in the extra bit of elbow grease to resolve conflicts & revert the parameter change. It's been loud & clear that it wasn't/never was wanted, and that has turned me off on investing anything else here. I'll keep my fork – only because I've already been using it for a year & prefer its API. But again, I'm more than happy for this PR's size & perf improvements to make its way into Even though you ultimately 180'd, I appreciate that you took the time to say something @leerob :) |
I think the reason this PR was never merged is because its doing too many things. I would accept a PR doing these things:
|
I'm sorry – I generally agree with small PRs, but I really don't think that was the case here:
At best, the "multiple formats" feature could have been a separate PR, but it was included here to track/prove the size reduction. Either way, I would have been happy to address any of this between June 2019-2020 had it been raised. TBH I'm still not sure if this (or parts of this) is actually wanted, or if the conversation is only continuing because my fork is public/published, which gave this thread some visibility (sorry for that btw, not intended... just wanted to give proper credit & reference as to why my fork exists). Until I know that answer, I'm not inclined to invest any more time/focus here, but as stated above, I'd still like to make the contribution. I'm not insisting that you accept the PR by any means. A rejection is perfectly acceptable – even an immediate rejection would have been okay! It's your project & I'll accept whatever the decision may be. It's just that after a long wait period, I'm left confused w/ mixed signals. |
I'm not sure how people intend to move this forward, but there is definitely interest. @lukeed, computer science is about science. I'm sorry you had to deal with the whole "if it isn't broken don't fix it" ideology. If you do not intend to continue working on this, I'm happy to pick it up. |
@Nytelife26 he doesn't intend to continue working on it. Instead, he has published his own fork: lukeed/ms. |
This PR adds a few things at once, sorry.
Breaking
boolean
, togglinglong
-mode directlyOf course this can be reverted, and I'm open to it, but don't foresee other options :)
Features
Multiple formats:
module
entry)main
entry – unchanged)unpkg
entry)Made available on
unpkg.com
🎉Chores
prettier
directly – was relying on global installationlint
scriptHere's a before-after of both the module size & the performance:
Before:
After
I have a few other versions locally, ranging from
569B
to487B
, but they had different performance trade-offs. This521B
version feels like the best balance IMO.