Conversation
Also changes the `request` call, since this doesn't seem to expect two arguments.
|
👋 Hi! Thank you for this contribution! Just to let you know, our GitHub SDK team does a round of issue and PR reviews twice a week, every Monday and Friday! We have a process in place for prioritizing and responding to your input. Because you are a part of this community please feel free to comment, add to, or pick up any issues/PRs that are labeled with |
|
This is definitely not the first stab at this, see #492 |
|
As for request being passed to itself, it was added as part of the following commit f10aa37 Switching away from Bottleneck would really be appreciated, but I don't know of any alternatives that offer the same functionality |
Sorry, yes, I only noticed that after I opened this PR. Would you be happy to proceed with/review this PR or do you prefer updating/merging #492?
Looks like the specific commit added all of Broadly, we are using this plugin in https://github.com/github/codeql-action and have run into some limitations for our usage that we would like to make some improvements for here, rather than just implementing something for ourselves. |
|
I'm fine either way. Thank you for the PR. These repositories are in dire need of some love. |
wolfy1339
left a comment
There was a problem hiding this comment.
Use interface declaration merging so that the types for the plugin can propogate to the Octokit constructor, and some other small points
Co-authored-by: wolfy1339 <4595477+wolfy1339@users.noreply.github.com>
|
It looks good to me, I'll test it further a little later |
I have investigated this a bit and traced this down to a bug in the const collection = new Hooks.Collection();
async function wrappee(options) {
console.info("In wrappee");
console.log(options);
}
collection.wrap("test", (fn, opts) => {
console.info("In first wrapper");
console.log(opts);
fn({...opts, first: true });
});
collection.wrap("test", (fn, opts) => {
console.info("In second wrapper");
console.log(opts);
fn({...opts, second: true });
});
await collection("test", wrappee, {});outputs: In our case, that means that it doesn't matter what we call This binds the initial I have opened a PR there to fix this: gr2m/before-after-hook#125 |
wolfy1339
left a comment
There was a problem hiding this comment.
After testing, everything seems to work just fine
gr2m
left a comment
There was a problem hiding this comment.
thanks for taking the time, looks great to me! I'm looking at your other PR as well
| declare module "@octokit/core/types" { | ||
| interface OctokitOptions { | ||
| retry?: RetryOptions; | ||
| } | ||
| } |
|
🎉 This PR is included in version 8.1.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Adds typings throughout and resolves #43.
This should not change the behaviour of the plugin in any way.
A few notes:
requestWithGraphqlErrorHandling, I was surprised to see thatrequestis called with itself as an argument (await request(request, options)) which doesn't seem to line up with the type thatrequestgets fromoctokit.hook.wrap("request", ...). I removed it and it didn't seem to break anything in the tests, but maybe I am missing some good reason why that was there before.bottlenecklibrary doesn't appear to be maintained and, while there is a commit in the repo there which adds typings forbottleneck/light, those are unreleased. I added some minimal typings for it in this PR, but in the long-term it would probably be good to move to something that is still maintained.Closes #492
Closes #110
Pull request checklist
Does this introduce a breaking change?
Please see our docs on breaking changes to help!