💌📯 Updates! #2247
Replies: 13 comments 12 replies
-
I'm very excited about getting some much needed love back into this library. @gr2m we've discussed it in the past and am with you 100% on decomposing Nock into separate libs. |
Beta Was this translation helpful? Give feedback.
-
This is exciting! Thanks @gr2m for your detailed, wonderful update. Best of luck. |
Beta Was this translation helpful? Give feedback.
-
Heads up: I'll be live coding on |
Beta Was this translation helpful? Give feedback.
-
Day 2I started of the day by completing the new issue forms for bug reports and feature requests. When you use one of the templates, you will now see a form. And I added a link to discussions for questions: https://github.com/nock/nock/issues/new/choose After that I dove into the No need to watch the 5h, it's really not that interesting :) But I'll try to make it a regular thing. Feel free to pop in & out on Sundays, around noon - 5pm US pacific time. I started the work on a The most relevant learnings from this session
Let me know if you have any questions :) See you next week Budget⏳ I used up 6:52h out of the 30h budget |
Beta Was this translation helpful? Give feedback.
-
Day 3Before starting the coding session on After that I worked on the I streamed my refactoring work again, you can see the videos at I accomplished a few things today:
I prepared another issue for next week: gr2m/helpdesk#55. I'm pretty sure I'll work the entire show through the existing tests and make as many of the pass again as possible. I'll try to resist any refactoring until all tests are passing again. Once all tests are passing again, we accomplished the most minimal goal of refactoring But I am still optimistic that I manage to end up with a separate Budget⏳ I used up 15:09h out of the 30h budget |
Beta Was this translation helpful? Give feedback.
-
Day 4I continued working on the failing tests and got about 50% of the tests to pass. I checked of the files that are now passing in this issue: gr2m/helpdesk#55 I streamed my refactoring work again, you can see the video at https://www.twitch.tv/videos/1218606526 One thing that become clear to me today is that we should name the intercept module Another thing I cleaned up today was the use of the I prepared an issue for the next week, see you then: gr2m/helpdesk#56 Budget⏳ I used up 18:36h out of the 30h budget |
Beta Was this translation helpful? Give feedback.
-
Day 5I took a fun detour today. I learned about @moll's I definitely recommend everyone to check it out, it's very elegant! I'm not sure if it covers all use cases that Two things that stand out in
I ended up rewriting Andri's module as a native ES Module just for the fun of it: You can find some notes and link to the recording of this session at gr2m/helpdesk#57 Budget⏳ This one's on me. Budget status remains at 18:36h out of 30h |
Beta Was this translation helpful? Give feedback.
-
Day 6I got back to working on I streamed my refactoring work again, you can see the video at https://www.twitch.tv/videos/1231751326 I ran into a few breaking changes
After working on Budget⏳ I used up 22:46h out of the 30h budget |
Beta Was this translation helpful? Give feedback.
-
Day 7I managed to make the remaining two tests pass quite quickly at the beginning of today's show However, nock's recorder logic was still using the old intercept logic, not my new module. So I spent about 4h of refactoring the current recorder to make it use the new module and work towards making the same tests pass, again. I think I got the intercept module at a point where it can be used to record the real request and response instead of intercepting, but I did not yet manage to make all the tests pass. Unfortunately I used up all the available budget. We have extra budget of ~6h in our collective, but I want to keep that to fund the review of the massive change for one of the other maintainers, and leave some extra hours for follow up items in case anything comes up that cannot be easily fixed. I suggest that I keep track of time, I assume I'll need another 6-12h. If we find another sponsor that we can fund that work retroactively. If not, 🤷🏼 it's on me. Budget🚨⏳ I used up 30:43h out of the 30h budget |
Beta Was this translation helpful? Give feedback.
-
Day 8All tests are passing, and all code except a single branch is covered The remaining branch was cover by a test that I had to skip for now, in which we call One breaking change that is that a request has to be send before There are two remaining failing tests that I've currently skipped about the I'm not sure if it makes sense to move forward with the current code where the intercept logic is already isolated, but more complicated than it has to be, or if we should try to use the Mitm-inspired interception logic instead. I'll be very busy the next 3 weeks, but I might have a look into it in-between things. Budget🚨⏳ I used up 35:30h out of the 30h budget |
Beta Was this translation helpful? Give feedback.
-
A general overview might be nice! You covered so much ground. Thanks for this work, Gregor. |
Beta Was this translation helpful? Give feedback.
-
I see the program you have worked on and it is amazing, it is the capacity building for others to key in and step up the best in them. |
Beta Was this translation helpful? Give feedback.
-
Hey just a quick update: I had to take a break from my work on refactoring nock due to several significant life events. I had to step back from pretty much all my Open Source work. Things are getting better now and I hope to find time for nock soon. I'm very much looking forward to it, it's a great creative output. |
Beta Was this translation helpful? Give feedback.
-
A while ago nock received a generous donation by Coinbase on https://opencollective.com/nock. We used some of the funds for ongoing maintenance, but most of it remained untouched.
18 days ago I suggested to my fellow maintainers @mastermatt, @paulmelnikow, and @RichardLitt that I could work on
nock
throughout November and December using $3,000 of the available funds.My stated goal:
@mastermatt and @RichardLitt support my suggestion, we didn't yet hear back from @paulmelnikow
Today was my first day! I plan to mostly work on Sundays on nock. Here is a summary of what I did today:
Next steps
@nock/intercept
- hook into Node's APIs for native request interception@nock/queue
- not sure about the naming yet, but basically this should hold the logic about how interceptors are added and "used"@nock/recorder
- basically all of Nock BackNotes
Most of the remaining pull requests are related to the recorder or Nock Back. The problem of the current @nock maintainers is that none of us currently use this feature. My hope is that once we I complete the decomposition of
nock
into smaller modules, we can also onboard new maintainers for specific aspects of nock, so people who care and depend on the recorder and Nock Back can help maintain it and have a say in how it evolves. @kibertoad offered to help already: #1494 (comment)For reference, the pull requests are:
Anyone interested in helping to make nock work nicely with http2? I don't know what the implications are right now, but we can discuss here: #1625
Next steps
nock
into smaller modules. It's something I did with great success with for @octokit, and I'm looking forward to split upnock
's code base into smaller modules and to hopefully onboard new maintainers that care about certain aspects of nock, such as the recorder.Budget
⏳ I used up 1:57h out of the 30h budget
Beta Was this translation helpful? Give feedback.
All reactions