Skip to content

baiwusanyu-c/pr-checker

Repository files navigation

πŸš€ PR-Checker

Detect and update your Pull Requests in batches, it contains a browser extension with cli

English | δΈ­ζ–‡

Features

  • ⚑️Check whether the PR submitted by you needs to be updated according to the warehouse
  • ☘ Choose to update your submitted PR by command according to the repository
  • πŸ”₯️ Check whether all PR under your account need to be updated with one click of the command
  • 🌷 Choose to update all PR under your account by command

How to use BROWSER EXTENSIONS

It's very easy to use, you just need to install
https://chrome.google.com/webstore/detail/pr-checker/gjalikalkhmfboaleppagmeflcfbjiej

BROWSER EXTENSIONS Screenshot

Detect and update your Pull Requests in batches

Detect and update your Pull Requests in batches

How to use CLI?

1.Install

pnpm install pr-checker --global

or

npm install pr-checker --global

or

yarn install pr-checker --global

2.Run command to use pr-checker

  • Set up your GitHub token

Please set GitHub Token for the first use

pr-checker -t #<GH_TOKEN> // set github token
  • Please set your GitHub username for the first use.

For v1.1.1 and lower versions, you need to set the GitHub username for the first use Versions above v1.1.1 will automatically set the username according to the GitHub Token

pr-checker -u #<GH_USERNAME> // set github username
  • Run the run command to check your pr
pr-checker run

3. Select type

? Detect all Repo's PR? Β» - Use arrow-keys. Return to submit.
>   All Repo
    Detect the PR of a certain Repo

4. Select Repo (if you choose Detect the PR of a certain Repo)

? Please select a Repo Β» - Use arrow-keys. Return to submit.
>   baiwusanyu-c/pr-checker
    vuejs/core
    mistjs/vite-plugin-copy-files

After that, the PR will be checked to see if it can be updated

βœ” Please select a Repo β€Ί vuejs/core
[pr-checker]:Checking PR by vuejs/core......
[pr-checker]:βœ” Check PR #7525 completed
[pr-checker]:βœ” Check PR #7502 completed
[pr-checker]:βœ” Check PR #7557 completed
[pr-checker]:βœ” Check PR #7004 completed
[pr-checker]:βœ” Check PR #7457 completed

5. Select PR to update

? Please select the PR that needs to be updated β€Ί 
β—―   <can`t merge:no update>: [vuejs/core]-[#7942] -> feat(custom-element): Custom element...
β—―   <can`t merge:no update>: [vuejs/core]-[#7901] -> fix(runtime-dom): TransitionGroup do...
β—―   <can`t merge:no update>: [vuejs/core]-[#7891] -> refactor(server-renderer): slotScope...
β—―   <can`t merge:no update>: [vuejs/core]-[#7837] -> fix(runtime-core): `to` changes duri...
β—―   <can`t merge:no update>: [vuejs/core]-[#7803] -> feat(compiler-sfc): support props na...
β—―   <can`t merge:no update>: [vuejs/core]-[#7776] -> fix(hydration): Use decodeHtml when ...
β—―   <can`t merge:no update>: [vuejs/core]-[#7730] -> fix(compiler-core): using v-once ins...
β—―   <can`t merge:no update>: [vuejs/core]-[#7716] -> fix(runtime-core): fix error when v-...
β—―   <can`t merge:no update>: [vuejs/core]-[#7557] -> fix(compiler-ssr): TransitionGroup o...
β—―   <can`t merge:no update>: [vuejs/core]-[#7541] -> fix(runtime-dom): `transitionGroup` ...
β—―   <can`t merge:no update>: [vuejs/core]-[#7525] -> feat(runtime-dom): custom element su...
β—―   <can`t merge:no update>: [vuejs/core]-[#7502] -> fix(server-renderer): getSSRProps ca...
β—―   <can`t merge:no update>: [vuejs/core]-[#7475] -> fix(runtime-dom): undefined cssvars ...

After the last update is completed, those that do not meet the update conditions (such as code conflicts) will be deemed unable to be automatically updated.

√ Update PR by vuejs/core......
βœ” All PR updates completed
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     
β”‚ number β”‚ can merge β”‚ success β”‚ repo         β”‚ title                                                                                          β”‚     
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     
β”‚ #7662  β”‚ false     β”‚ false   β”‚ <vuejs/core> β”‚ feat(customElement): Additional event arguments of CustomEvent                                 β”‚     
β”‚ #7557  β”‚ false     β”‚ false   β”‚ <vuejs/core> β”‚ fix(compiler-ssr): TransitionGroup owns style-scoped properties on SSR                         β”‚     
β”‚ #7541  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(runtime-dom): `transitionGroup` can render `:slotted` styles                               β”‚     
β”‚ #7525  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ feat(runtime-dom): custom element support v-model                                              β”‚     
β”‚ #7502  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(server-renderer): getSSRProps can get exposed property                                     β”‚     
β”‚ #7475  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(runtime-dom): undefined cssvars should not be bound to the element                         β”‚     
β”‚ #7457  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(runtime-core): boolean type and string type problem during props normalization process     β”‚     
β”‚ #7434  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(runtime-core): Select elements can preserve data types when stringified                    β”‚     
β”‚ #7344  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(runtime): CSSVars can work with Teleport                                                   β”‚     
β”‚ #7341  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(runtime-core): Fix cssvars reporting error when teleport is disabled                       β”‚     
β”‚ #7266  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(runtime-core): Correct update renders both old and new dynamic child node arrays are empty β”‚     
β”‚ #7151  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(suspense): In nested slots suspense should return to pending state                         β”‚     
β”‚ #7108  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(compiler-core): custom directive to empty string syntax error in ssr(#6283 )               β”‚     
β”‚ #7004  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(runtime-dom): `v-model` can update correctly when the element is an input of type number   β”‚     
β”‚ #6783  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ fix(runtime-core):transition missing root node warning used in prod #6752                      β”‚     
β”‚ #6224  β”‚ true      β”‚ true    β”‚ <vuejs/core> β”‚ feat(runtime-core): Update rendering error caused by shallow copy #6221                        β”‚     
β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  

Other

-v | --version

Display version message

pr-checker -v

-h | --help

Display help message

-m | --mode

Use rebase mode or merge mode, the default value is rebase mode

In rebase mode, you can choose a repository or directly rebase all your submitted pr It will call /repos/${repoName}/pulls/${prNumber}/update-branch.

In merge mode, it's an experimental feature . You can merge on repositories you own (except fork repositories) It will call /repos/${repoName}/pulls/${prNumber}/merge. A typical usage scenario is batch processing pr of dependabot (the function of adding to merge queue has not yet been completed). In addition, since the github api does not support importing pr to the merge queue, I used the queue for round-robin requests, so it is not guaranteed that all pr can be successfully merged

pr-checker run -m merge | rebase

CLI Screenshot

Detect and update your Pull Requests in batches

Detect and update your Pull Requests in batches

Detect and update your Pull Requests in batches

Thanks