Compare commits

...

14 Commits
v2.5.0 ... v2

Author SHA1 Message Date
Peter Evans
340e629d2f Merge pull request #152 from peter-evans/dev
Add input for draft pull requests
2020-04-04 09:50:05 +09:00
Peter Evans
abc19caa82 Add input for draft pull requests 2020-04-04 09:47:58 +09:00
Peter Evans
3474dda921 Update documentation 2020-04-03 17:26:11 +09:00
Peter Evans
ad11b10aa4 Merge pull request #151 from peter-evans/renovate/jest-monorepo
Update dependency jest to v25.2.7
2020-04-03 17:14:23 +09:00
Renovate Bot
86aa5be8bf Update dependency jest to v25.2.7 2020-04-03 07:58:49 +00:00
Peter Evans
6867319cf3 Merge pull request #149 from peter-evans/renovate/jest-monorepo
Update dependency jest to v25.2.6
2020-04-02 21:58:25 +09:00
Renovate Bot
cc84a2389e Update dependency jest to v25.2.6 2020-04-02 10:36:04 +00:00
Peter Evans
7e7150d0e8 Merge pull request #147 from peter-evans/dev
Default token to github.token
2020-04-01 19:09:39 +09:00
Peter Evans
eb99d45ce6 Default token to github.token 2020-04-01 18:50:53 +09:00
Peter Evans
115b7391e1 Revert "Update documentation"
This reverts commit 628c2d7d35.
2020-03-30 17:36:34 +09:00
Peter Evans
8305970523 Merge pull request #146 from peter-evans/renovate/jest-monorepo
Update dependency jest to v25.2.4
2020-03-30 09:02:53 +09:00
Renovate Bot
32f5c5dd5f Update dependency jest to v25.2.4 2020-03-29 20:05:26 +00:00
Peter Evans
628c2d7d35 Update documentation 2020-03-29 21:34:47 +09:00
Peter Evans
37582e8764 Update documentation 2020-03-29 21:27:56 +09:00
13 changed files with 394 additions and 373 deletions

View File

@@ -13,7 +13,6 @@ jobs:
id: cpr
uses: ./
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Add report file
committer: Peter Evans <peter-evans@users.noreply.github.com>
title: '[Example] Add report file'
@@ -29,6 +28,7 @@ jobs:
milestone: 1
project: Example Project
project-column: To do
draft: false
branch: example-patches
request-to-parent: false
- name: Check outputs

View File

@@ -27,22 +27,20 @@ Create Pull Request action will:
```yml
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
```
You can also pin to a [specific release](https://github.com/peter-evans/create-pull-request/releases) version in the format `@v2.x.x`
### Action inputs
With the exception of `token`, all inputs are **optional**. If not set, sensible default values will be used.
All inputs are **optional**. If not set, sensible default values will be used.
**Note**: If you want pull requests created by this action to trigger an `on: push` or `on: pull_request` workflow then you must use a [Personal Access Token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) instead of the default `GITHUB_TOKEN`. Alternatively, allow the action to [push using SSH](https://github.com/peter-evans/create-pull-request/blob/master/docs/concepts-guidelines.md#push-using-ssh-deploy-keys) by configuring a deploy key.
| Name | Description | Default |
| --- | --- | --- |
| `token` | `GITHUB_TOKEN` or a `repo` scoped [PAT](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line). | |
| `path` | Relative path under `$GITHUB_WORKSPACE` to the repository. | `$GITHUB_WORKSPACE` |
| `token` | `GITHUB_TOKEN` or a `repo` scoped [PAT](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line). | `GITHUB_TOKEN` |
| `path` | Relative path under `GITHUB_WORKSPACE` to the repository. | `GITHUB_WORKSPACE` |
| `commit-message` | The message to use when committing changes. | `[create-pull-request] automated change` |
| `committer` | The committer name and email address in the format `Display Name <email@address.com>`. | Defaults to the GitHub Actions bot user. See [Committer and author](#committer-and-author) for details. |
| `author` | The author name and email address in the format `Display Name <email@address.com>`. | Defaults to the GitHub Actions bot user. See [Committer and author](#committer-and-author) for details. |
@@ -55,8 +53,9 @@ With the exception of `token`, all inputs are **optional**. If not set, sensible
| `milestone` | The number of the milestone to associate this pull request with. | |
| `project` | The name of the project for which a card should be created. Requires `project-column`. | |
| `project-column` | The name of the project column under which a card should be created. Requires `project`. | |
| `draft` | Create a [draft pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests). | `false` |
| `branch` | The branch name. See [Branch naming](#branch-naming) for details. | `create-pull-request/patch` |
| `request-to-parent` | Create the pull request in the parent repository of the checked out fork. | `false` |
| `request-to-parent` | Create the pull request in the parent repository of the checked out fork. See [push pull request branches to a fork](https://github.com/peter-evans/create-pull-request/blob/master/docs/concepts-guidelines.md#push-pull-request-branches-to-a-fork) for details. | `false` |
| `base` | Sets the pull request base branch. | Defaults to the branch checked out in the workflow. |
| `branch-suffix` | The branch suffix type. Valid values are `random`, `timestamp` and `short-commit-hash`. See [Branch naming](#branch-naming) for details. | |
@@ -69,8 +68,6 @@ Note that in order to read the step output the action step must have an id.
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Check outputs
run: |
echo "Pull Request Number - ${{ env.PULL_REQUEST_NUMBER }}"
@@ -120,7 +117,6 @@ In most cases, where the committer and author are the same, just the committer c
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
committer: Peter Evans <peter-evans@users.noreply.github.com>
```
@@ -144,8 +140,6 @@ As well as relying on the action to handle uncommitted changes, you can addition
run: date +%s > report.txt
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
```
## Reference Example
@@ -186,6 +180,7 @@ jobs:
milestone: 1
project: Example Project
project-column: To do
draft: false
branch: example-patches
request-to-parent: false
- name: Check outputs

View File

@@ -3,7 +3,7 @@ description: 'Creates a pull request for changes to your repository in the actio
inputs:
token:
description: 'GITHUB_TOKEN or a repo scoped PAT'
required: true
default: ${{ github.token }}
path:
description: 'Relative path under $GITHUB_WORKSPACE to the repository.'
commit-message:

View File

@@ -4,6 +4,20 @@ from github import Github, GithubException
import os
def string_to_bool(str):
if str is None:
return False
else:
return str.lower() in [
"true",
"1",
"t",
"y",
"yes",
"on",
]
def cs_string_to_list(str):
# Split the comma separated string into a list
l = [i.strip() for i in str.split(",")]
@@ -56,27 +70,31 @@ def create_or_update_pull_request(
team_reviewers,
project_name,
project_column_name,
draft,
request_to_parent,
):
if request_to_parent is None:
request_to_parent = False
else:
request_to_parent = request_to_parent.lower() in ['true', '1', 't', 'y', 'yes', 'on']
github_repo = head_repo = Github(github_token).get_repo(github_repository)
if request_to_parent:
if string_to_bool(request_to_parent):
github_repo = github_repo.parent
if github_repo is None:
raise ValueError("The checked out repository is not a fork. Input 'request-to-parent' should be set to false.")
raise ValueError(
"The checked out repository is not a fork. Input 'request-to-parent' should be set to false."
)
head_branch = f"{head_repo.owner.login}:{branch}"
# Create the pull request
try:
pull_request = github_repo.create_pull(
title=title, body=body, base=base, head=head_branch
title=title,
body=body,
base=base,
head=head_branch,
draft=string_to_bool(draft),
)
print(
f"Created pull request #{pull_request.number} ({head_branch} => {github_repo.owner.login}:{base})"
)
print(f"Created pull request #{pull_request.number} ({head_branch} => {github_repo.owner.login}:{base})")
except GithubException as e:
if e.status == 422:
# A pull request exists for this branch and base
@@ -86,7 +104,9 @@ def create_or_update_pull_request(
)[0]
# Update title and body
pull_request.as_issue().edit(title=title, body=body)
print(f"Updated pull request #{pull_request.number} ({head_branch} => {github_repo.owner.login}:{base})")
print(
f"Updated pull request #{pull_request.number} ({head_branch} => {github_repo.owner.login}:{base})"
)
else:
print(str(e))
raise

View File

@@ -224,5 +224,6 @@ if result["action"] in ["created", "updated"]:
os.environ.get("CPR_TEAM_REVIEWERS"),
os.environ.get("CPR_PROJECT_NAME"),
os.environ.get("CPR_PROJECT_COLUMN_NAME"),
os.environ.get("CPR_DRAFT"),
os.environ.get("CPR_REQUEST_TO_PARENT"),
)

2
dist/index.js vendored
View File

@@ -4274,6 +4274,7 @@ async function run() {
milestone: core.getInput("milestone"),
project: core.getInput("project"),
projectColumn: core.getInput("project-column"),
draft: core.getInput("draft"),
branch: core.getInput("branch"),
request_to_parent: core.getInput("request-to-parent"),
base: core.getInput("base"),
@@ -4296,6 +4297,7 @@ async function run() {
if (inputs.milestone) process.env.CPR_MILESTONE = inputs.milestone;
if (inputs.project) process.env.CPR_PROJECT_NAME = inputs.project;
if (inputs.projectColumn) process.env.CPR_PROJECT_COLUMN_NAME = inputs.projectColumn;
if (inputs.draft) process.env.CPR_DRAFT = inputs.draft;
if (inputs.branch) process.env.CPR_BRANCH = inputs.branch;
if (inputs.request_to_parent) process.env.CPR_REQUEST_TO_PARENT = inputs.request_to_parent;
if (inputs.base) process.env.CPR_BASE = inputs.base;

View File

@@ -162,36 +162,33 @@ How to use SSH (deploy keys) with create-pull-request action:
1. [Create a new SSH key pair](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#generating-a-new-ssh-key) for your repository. Do not set a passphrase.
2. Copy the contents of the public key (.pub file) to a new repository [deploy key](https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys) and check the box to "Allow write access."
3. Add a secret to the repository containing the entire contents of the private key.
4. As shown in the example steps below, use the [`webfactory/ssh-agent`](https://github.com/webfactory/ssh-agent) action to install the private key and clone your repository. Remember to checkout the `base` of your pull request if it's not the default branch, e.g. `git checkout my-branch`.
4. As shown in the example below, configure `actions/checkout` to use the deploy key you have created.
```yml
steps:
- uses: webfactory/ssh-agent@v0.2.0
- uses: actions/checkout@v2
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Checkout via SSH
run: git clone git@github.com:peter-evans/create-pull-request.git .
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
# Make changes to pull request here
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
```
### Push pull request branches to a fork
To enforce security, you can use a dedicated user using [machine account](https://help.github.com/en/github/site-policy/github-terms-of-service#3-account-requirements).
This user has no access to the main repository, it will use their own fork to push code and create the pull request.
Instead of pushing pull request branches to the repository you want to update, you can push them to a fork of that repository.
This allows you to employ the [principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) by using a dedicated user acting as a [machine account](https://help.github.com/en/github/site-policy/github-terms-of-service#3-account-requirements).
This user has no access to the main repository.
It will use their own fork to push code and create the pull request.
1. Create a new github user, then login with this user.
2. fork the repository.
3. create a [Personal Access Token (PAT)](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line).
4. logout and go back to your main user.
5. Add a secret to the repository containing the above PAT.
6. As shown in the example below, switch the git remote to the fork's url after checkout and set the action input `request-on-parent` to `true`.
1. Create a new GitHub user and login.
2. Fork the repository that you will be creating pull requests in.
3. Create a [Personal Access Token (PAT)](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line).
4. Logout and log back in to your main user account.
5. Add a secret to your repository containing the above PAT.
6. As shown in the following example workflow, switch the git remote to the fork's URL after checkout and set the action input `request-on-parent` to `true`.
```yaml
- uses: actions/checkout@v2
@@ -234,8 +231,6 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
```
**Ubuntu container example:**
@@ -259,8 +254,6 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
```
### Creating pull requests on tag push
@@ -294,7 +287,6 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
base: master
- name: Delete tag branch
@@ -322,6 +314,4 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
```

View File

@@ -45,7 +45,6 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: update authors
title: Update AUTHORS
body: Credit new contributors by updating AUTHORS
@@ -78,7 +77,6 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: production-promotion
```
@@ -110,7 +108,6 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: update dependencies
title: Automated Dependency Updates
body: This is an auto-generated PR with dependency updates.
@@ -161,7 +158,6 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Update swagger-ui to ${{ steps.swagger-ui.outputs.release_tag }}
title: Update SwaggerUI to ${{ steps.swagger-ui.outputs.release_tag }}
body: |
@@ -204,7 +200,6 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: update local website copy
title: Automated Updates to Local Website Copy
body: This is an auto-generated PR with website updates.
@@ -299,7 +294,6 @@ jobs:
if: steps.autopep8.outputs.exit-code == 2
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: autopep8 action fixes
title: Fixes by autopep8 action
body: This is an auto-generated PR with fixes by autopep8.
@@ -358,7 +352,6 @@ The recommended method is to use [`set-output`](https://help.github.com/en/githu
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
title: ${{ steps.vars.outputs.pr_title }}
body: ${{ steps.vars.outputs.pr_body }}
```
@@ -374,7 +367,6 @@ Alternatively, [`set-env`](https://help.github.com/en/github/automating-your-wor
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
title: ${{ env.PULL_REQUEST_TITLE }}
body: ${{ env.PULL_REQUEST_BODY }}
```

612
package-lock.json generated
View File

@@ -343,14 +343,14 @@
"dev": true
},
"@jest/console": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/@jest/console/-/console-25.2.3.tgz",
"integrity": "sha512-k+37B1aSvOt9tKHWbZZSOy1jdgzesB0bj96igCVUG1nAH1W5EoUfgc5EXbBVU08KSLvkVdWopLXaO3xfVGlxtQ==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/@jest/console/-/console-25.2.6.tgz",
"integrity": "sha512-bGp+0PicZVCEhb+ifnW9wpKWONNdkhtJsRE7ap729hiAfTvCN6VhGx0s/l/V/skA2pnyqq+N/7xl9ZWfykDpsg==",
"dev": true,
"requires": {
"@jest/source-map": "^25.2.1",
"@jest/source-map": "^25.2.6",
"chalk": "^3.0.0",
"jest-util": "^25.2.3",
"jest-util": "^25.2.6",
"slash": "^3.0.0"
},
"dependencies": {
@@ -407,33 +407,33 @@
}
},
"@jest/core": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.3.tgz",
"integrity": "sha512-Ifz3aEkGvZhwijLMmWa7sloZVEMdxpzjFv3CKHv3eRYRShTN8no6DmyvvxaZBjLalOlRalJ7HDgc733J48tSuw==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.7.tgz",
"integrity": "sha512-Nd6ELJyR+j0zlwhzkfzY70m04hAur0VnMwJXVe4VmmD/SaQ6DEyal++ERQ1sgyKIKKEqRuui6k/R0wHLez4P+g==",
"dev": true,
"requires": {
"@jest/console": "^25.2.3",
"@jest/reporters": "^25.2.3",
"@jest/test-result": "^25.2.3",
"@jest/transform": "^25.2.3",
"@jest/types": "^25.2.3",
"@jest/console": "^25.2.6",
"@jest/reporters": "^25.2.6",
"@jest/test-result": "^25.2.6",
"@jest/transform": "^25.2.6",
"@jest/types": "^25.2.6",
"ansi-escapes": "^4.2.1",
"chalk": "^3.0.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.3",
"jest-changed-files": "^25.2.3",
"jest-config": "^25.2.3",
"jest-haste-map": "^25.2.3",
"jest-message-util": "^25.2.3",
"jest-regex-util": "^25.2.1",
"jest-resolve": "^25.2.3",
"jest-resolve-dependencies": "^25.2.3",
"jest-runner": "^25.2.3",
"jest-runtime": "^25.2.3",
"jest-snapshot": "^25.2.3",
"jest-util": "^25.2.3",
"jest-validate": "^25.2.3",
"jest-watcher": "^25.2.3",
"jest-changed-files": "^25.2.6",
"jest-config": "^25.2.7",
"jest-haste-map": "^25.2.6",
"jest-message-util": "^25.2.6",
"jest-regex-util": "^25.2.6",
"jest-resolve": "^25.2.6",
"jest-resolve-dependencies": "^25.2.7",
"jest-runner": "^25.2.7",
"jest-runtime": "^25.2.7",
"jest-snapshot": "^25.2.7",
"jest-util": "^25.2.6",
"jest-validate": "^25.2.6",
"jest-watcher": "^25.2.7",
"micromatch": "^4.0.2",
"p-each-series": "^2.1.0",
"realpath-native": "^2.0.0",
@@ -513,40 +513,40 @@
}
},
"@jest/environment": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.3.tgz",
"integrity": "sha512-zRypAMQnNo8rD0rCbI9+5xf+Lu+uvunKZNBcIWjb3lTATSomKbgYO+GYewGDYn7pf+30XCNBc6SH1rnBUN1ioA==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.6.tgz",
"integrity": "sha512-17WIw+wCb9drRNFw1hi8CHah38dXVdOk7ga9exThhGtXlZ9mK8xH4DjSB9uGDGXIWYSHmrxoyS6KJ7ywGr7bzg==",
"dev": true,
"requires": {
"@jest/fake-timers": "^25.2.3",
"@jest/types": "^25.2.3",
"jest-mock": "^25.2.3"
"@jest/fake-timers": "^25.2.6",
"@jest/types": "^25.2.6",
"jest-mock": "^25.2.6"
}
},
"@jest/fake-timers": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.3.tgz",
"integrity": "sha512-B6Qxm86fl613MV8egfvh1mRTMu23hMNdOUjzPhKl/4Nm5cceHz6nwLn0nP0sJXI/ue1vu71aLbtkgVBCgc2hYA==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.6.tgz",
"integrity": "sha512-A6qtDIA2zg/hVgUJJYzQSHFBIp25vHdSxW/s4XmTJAYxER6eL0NQdQhe4+232uUSviKitubHGXXirt5M7blPiA==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3",
"jest-message-util": "^25.2.3",
"jest-mock": "^25.2.3",
"jest-util": "^25.2.3",
"@jest/types": "^25.2.6",
"jest-message-util": "^25.2.6",
"jest-mock": "^25.2.6",
"jest-util": "^25.2.6",
"lolex": "^5.0.0"
}
},
"@jest/reporters": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.3.tgz",
"integrity": "sha512-S0Zca5e7tTfGgxGRvBh6hktNdOBzqc6HthPzYHPRFYVW81SyzCqHTaNZydtDIVehb9s6NlyYZpcF/I2vco+lNw==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.6.tgz",
"integrity": "sha512-DRMyjaxcd6ZKctiXNcuVObnPwB1eUs7xrUVu0J2V0p5/aZJei5UM9GL3s/bmN4hRV8Mt3zXh+/9X2o0Q4ClZIA==",
"dev": true,
"requires": {
"@bcoe/v8-coverage": "^0.2.3",
"@jest/console": "^25.2.3",
"@jest/test-result": "^25.2.3",
"@jest/transform": "^25.2.3",
"@jest/types": "^25.2.3",
"@jest/console": "^25.2.6",
"@jest/test-result": "^25.2.6",
"@jest/transform": "^25.2.6",
"@jest/types": "^25.2.6",
"chalk": "^3.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
@@ -556,10 +556,10 @@
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
"istanbul-reports": "^3.0.0",
"jest-haste-map": "^25.2.3",
"jest-resolve": "^25.2.3",
"jest-util": "^25.2.3",
"jest-worker": "^25.2.1",
"jest-haste-map": "^25.2.6",
"jest-resolve": "^25.2.6",
"jest-util": "^25.2.6",
"jest-worker": "^25.2.6",
"node-notifier": "^6.0.0",
"slash": "^3.0.0",
"source-map": "^0.6.0",
@@ -621,9 +621,9 @@
}
},
"@jest/source-map": {
"version": "25.2.1",
"resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.2.1.tgz",
"integrity": "sha512-PgScGJm1U27+9Te/cxP4oUFqJ2PX6NhBL2a6unQ7yafCgs8k02c0LSyjSIx/ao0AwcAdCczfAPDf5lJ7zoB/7A==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.2.6.tgz",
"integrity": "sha512-VuIRZF8M2zxYFGTEhkNSvQkUKafQro4y+mwUxy5ewRqs5N/ynSFUODYp3fy1zCnbCMy1pz3k+u57uCqx8QRSQQ==",
"dev": true,
"requires": {
"callsites": "^3.0.0",
@@ -632,46 +632,45 @@
}
},
"@jest/test-result": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.3.tgz",
"integrity": "sha512-cNYidqERTcT+xqZZ5FPSvji7Bd2YYq9M/VJCEUmgTVRFZRPOPSu65crEzQJ4czcDChEJ9ovzZ65r3UBlajnh3w==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.6.tgz",
"integrity": "sha512-gmGgcF4qz/pkBzyfJuVHo2DA24kIgVQ5Pf/VpW4QbyMLSegi8z+9foSZABfIt5se6k0fFj/3p/vrQXdaOgit0w==",
"dev": true,
"requires": {
"@jest/console": "^25.2.3",
"@jest/transform": "^25.2.3",
"@jest/types": "^25.2.3",
"@jest/console": "^25.2.6",
"@jest/types": "^25.2.6",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
}
},
"@jest/test-sequencer": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.3.tgz",
"integrity": "sha512-trHwV/wCrxWyZyNyNBUQExsaHyBVQxJwH3butpEcR+KBJPfaTUxtpXaxfs38IXXAhH68J4kPZgAaRRfkFTLunA==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.7.tgz",
"integrity": "sha512-s2uYGOXONDSTJQcZJ9A3Zkg3hwe53RlX1HjUNqjUy3HIqwgwCKJbnAKYsORPbhxXi3ARMKA7JNBi9arsTxXoYw==",
"dev": true,
"requires": {
"@jest/test-result": "^25.2.3",
"jest-haste-map": "^25.2.3",
"jest-runner": "^25.2.3",
"jest-runtime": "^25.2.3"
"@jest/test-result": "^25.2.6",
"jest-haste-map": "^25.2.6",
"jest-runner": "^25.2.7",
"jest-runtime": "^25.2.7"
}
},
"@jest/transform": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.3.tgz",
"integrity": "sha512-w1nfAuYP4OAiEDprFkE/2iwU86jL/hK3j1ylMcYOA3my5VOHqX0oeBcBxS2fUKWse2V4izuO2jqes0yNTDMlzw==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.6.tgz",
"integrity": "sha512-rZnjCjZf9avPOf9q/w9RUZ9Uc29JmB53uIXNJmNz04QbDMD5cR/VjfikiMKajBsXe2vnFl5sJ4RTt+9HPicauQ==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"babel-plugin-istanbul": "^6.0.0",
"chalk": "^3.0.0",
"convert-source-map": "^1.4.0",
"fast-json-stable-stringify": "^2.0.0",
"graceful-fs": "^4.2.3",
"jest-haste-map": "^25.2.3",
"jest-regex-util": "^25.2.1",
"jest-util": "^25.2.3",
"jest-haste-map": "^25.2.6",
"jest-regex-util": "^25.2.6",
"jest-util": "^25.2.6",
"micromatch": "^4.0.2",
"pirates": "^4.0.1",
"realpath-native": "^2.0.0",
@@ -733,9 +732,9 @@
}
},
"@jest/types": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-25.2.3.tgz",
"integrity": "sha512-6oLQwO9mKif3Uph3RX5J1i3S7X7xtDHWBaaaoeKw8hOzV6YUd0qDcYcHZ6QXMHDIzSr7zzrEa51o2Ovlj6AtKQ==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-25.2.6.tgz",
"integrity": "sha512-myJTTV37bxK7+3NgKc4Y/DlQ5q92/NOwZsZ+Uch7OXdElxOg61QYc72fPYNAjlvbnJ2YvbXLamIsa9tj48BmyQ==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -806,9 +805,9 @@
}
},
"@types/babel__core": {
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.6.tgz",
"integrity": "sha512-tTnhWszAqvXnhW7m5jQU9PomXSiKXk2sFxpahXvI20SZKu9ylPi8WtIxueZ6ehDWikPT0jeFujMj3X4ZHuf3Tg==",
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz",
"integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==",
"dev": true,
"requires": {
"@babel/parser": "^7.1.0",
@@ -1089,16 +1088,16 @@
"dev": true
},
"babel-jest": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.3.tgz",
"integrity": "sha512-03JjvEwuDrEz/A45K8oggAv+Vqay0xcOdNTJxYFxiuZvB5vlHKo1iZg9Pi5vQTHhNCKpGLb7L/jvUUafyh9j7g==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.6.tgz",
"integrity": "sha512-MDJOAlwtIeIQiGshyX0d2PxTbV73xZMpNji40ivVTPQOm59OdRR9nYCkffqI7ugtsK4JR98HgNKbDbuVf4k5QQ==",
"dev": true,
"requires": {
"@jest/transform": "^25.2.3",
"@jest/types": "^25.2.3",
"@jest/transform": "^25.2.6",
"@jest/types": "^25.2.6",
"@types/babel__core": "^7.1.0",
"babel-plugin-istanbul": "^6.0.0",
"babel-preset-jest": "^25.2.1",
"babel-preset-jest": "^25.2.6",
"chalk": "^3.0.0",
"slash": "^3.0.0"
},
@@ -1169,23 +1168,23 @@
}
},
"babel-plugin-jest-hoist": {
"version": "25.2.1",
"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.1.tgz",
"integrity": "sha512-HysbCQfJhxLlyxDbKcB2ucGYV0LjqK4h6dBoI3RtFuOxTiTWK6XGZMsHb0tGh8iJdV4hC6Z2GCHzVvDeh9i0lQ==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.6.tgz",
"integrity": "sha512-qE2xjMathybYxjiGFJg0mLFrz0qNp83aNZycWDY/SuHiZNq+vQfRQtuINqyXyue1ELd8Rd+1OhFSLjms8msMbw==",
"dev": true,
"requires": {
"@types/babel__traverse": "^7.0.6"
}
},
"babel-preset-jest": {
"version": "25.2.1",
"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.2.1.tgz",
"integrity": "sha512-zXHJBM5iR8oEO4cvdF83AQqqJf3tJrXy3x8nfu2Nlqvn4cneg4Ca8M7cQvC5S9BzDDy1O0tZ9iXru9J6E3ym+A==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.2.6.tgz",
"integrity": "sha512-Xh2eEAwaLY9+SyMt/xmGZDnXTW/7pSaBPG0EMo7EuhvosFKVWYB6CqwYD31DaEQuoTL090oDZ0FEqygffGRaSQ==",
"dev": true,
"requires": {
"@babel/plugin-syntax-bigint": "^7.0.0",
"@babel/plugin-syntax-object-rest-spread": "^7.0.0",
"babel-plugin-jest-hoist": "^25.2.1"
"babel-plugin-jest-hoist": "^25.2.6"
}
},
"balanced-match": {
@@ -1449,9 +1448,9 @@
"dev": true
},
"collect-v8-coverage": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz",
"integrity": "sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ==",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
"integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
"dev": true
},
"collection-visit": {
@@ -1672,9 +1671,9 @@
"dev": true
},
"diff-sequences": {
"version": "25.2.1",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.1.tgz",
"integrity": "sha512-foe7dXnGlSh3jR1ovJmdv+77VQj98eKCHHwJPbZ2eEf0fHwKbkZicpPxEch9smZ+n2dnF6QFwkOQdLq9hpeJUg==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
"integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
"dev": true
},
"doctrine": {
@@ -1934,17 +1933,17 @@
}
},
"expect": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/expect/-/expect-25.2.3.tgz",
"integrity": "sha512-kil4jFRFAK2ySyCyXPqYrphc3EiiKKFd9BthrkKAyHcqr1B84xFTuj5kO8zL+eHRRjT2jQsOPExO0+1Q/fuUXg==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/expect/-/expect-25.2.7.tgz",
"integrity": "sha512-yA+U2Ph0MkMsJ9N8q5hs9WgWI6oJYfecdXta6LkP/alY/jZZL1MHlJ2wbLh60Ucqf3G+51ytbqV3mlGfmxkpNw==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"ansi-styles": "^4.0.0",
"jest-get-type": "^25.2.1",
"jest-matcher-utils": "^25.2.3",
"jest-message-util": "^25.2.3",
"jest-regex-util": "^25.2.1"
"jest-get-type": "^25.2.6",
"jest-matcher-utils": "^25.2.7",
"jest-message-util": "^25.2.6",
"jest-regex-util": "^25.2.6"
},
"dependencies": {
"ansi-styles": {
@@ -2380,9 +2379,9 @@
}
},
"html-escaper": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.1.tgz",
"integrity": "sha512-hNX23TjWwD3q56HpWjUHOKj1+4KKlnjv9PcmBUYKVpga+2cnb9nDx/B1o0yO4n+RZXZdiNxzx6B24C9aNMTkkQ==",
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
"dev": true
},
"http-signature": {
@@ -2739,14 +2738,14 @@
}
},
"jest": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest/-/jest-25.2.3.tgz",
"integrity": "sha512-UbUmyGeZt0/sCIj/zsWOY0qFfQsx2qEFIZp0iEj8yVH6qASfR22fJOf12gFuSPsdSufam+llZBB0MdXWCg6EEQ==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/jest/-/jest-25.2.7.tgz",
"integrity": "sha512-XV1n/CE2McCikl4tfpCY950RytHYvxdo/wvtgmn/qwA8z1s16fuvgFL/KoPrrmkqJTaPMUlLVE58pwiaTX5TdA==",
"dev": true,
"requires": {
"@jest/core": "^25.2.3",
"@jest/core": "^25.2.7",
"import-local": "^3.0.2",
"jest-cli": "^25.2.3"
"jest-cli": "^25.2.7"
},
"dependencies": {
"ansi-styles": {
@@ -2791,21 +2790,21 @@
"dev": true
},
"jest-cli": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.3.tgz",
"integrity": "sha512-T7G0TOkFj0wr33ki5xoq3bxkKC+liwJfjV9SmYIKBozwh91W4YjL1o1dgVCUTB1+sKJa/DiAY0p+eXYE6v2RGw==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.7.tgz",
"integrity": "sha512-OOAZwY4Jkd3r5WhVM5L3JeLNFaylvHUczMLxQDVLrrVyb1Cy+DNJ6MVsb5TLh6iBklB42m5TOP+IbOgKGGOtMw==",
"dev": true,
"requires": {
"@jest/core": "^25.2.3",
"@jest/test-result": "^25.2.3",
"@jest/types": "^25.2.3",
"@jest/core": "^25.2.7",
"@jest/test-result": "^25.2.6",
"@jest/types": "^25.2.6",
"chalk": "^3.0.0",
"exit": "^0.1.2",
"import-local": "^3.0.2",
"is-ci": "^2.0.0",
"jest-config": "^25.2.3",
"jest-util": "^25.2.3",
"jest-validate": "^25.2.3",
"jest-config": "^25.2.7",
"jest-util": "^25.2.6",
"jest-validate": "^25.2.6",
"prompts": "^2.0.1",
"realpath-native": "^2.0.0",
"yargs": "^15.3.1"
@@ -2823,12 +2822,12 @@
}
},
"jest-changed-files": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.2.3.tgz",
"integrity": "sha512-EFxy94dvvbqRB36ezIPLKJ4fDIC+jAdNs8i8uTwFpaXd6H3LVc3ova1lNS4ZPWk09OCR2vq5kSdSQgar7zMORg==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.2.6.tgz",
"integrity": "sha512-F7l2m5n55jFnJj4ItB9XbAlgO+6umgvz/mdK76BfTd2NGkvGf9x96hUXP/15a1K0k14QtVOoutwpRKl360msvg==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"execa": "^3.2.0",
"throat": "^5.0.0"
},
@@ -2925,28 +2924,28 @@
}
},
"jest-config": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.3.tgz",
"integrity": "sha512-UpTNxN8DgmLLCXFizGuvwIw+ZAPB0T3jbKaFEkzJdGqhSsQrVrk1lxhZNamaVIpWirM2ptYmqwUzvoobGCEkiQ==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.7.tgz",
"integrity": "sha512-rIdPPXR6XUxi+7xO4CbmXXkE6YWprvlKc4kg1SrkCL2YV5m/8MkHstq9gBZJ19Qoa3iz/GP+0sTG/PcIwkFojg==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
"@jest/test-sequencer": "^25.2.3",
"@jest/types": "^25.2.3",
"babel-jest": "^25.2.3",
"@jest/test-sequencer": "^25.2.7",
"@jest/types": "^25.2.6",
"babel-jest": "^25.2.6",
"chalk": "^3.0.0",
"deepmerge": "^4.2.2",
"glob": "^7.1.1",
"jest-environment-jsdom": "^25.2.3",
"jest-environment-node": "^25.2.3",
"jest-get-type": "^25.2.1",
"jest-jasmine2": "^25.2.3",
"jest-regex-util": "^25.2.1",
"jest-resolve": "^25.2.3",
"jest-util": "^25.2.3",
"jest-validate": "^25.2.3",
"jest-environment-jsdom": "^25.2.6",
"jest-environment-node": "^25.2.6",
"jest-get-type": "^25.2.6",
"jest-jasmine2": "^25.2.7",
"jest-regex-util": "^25.2.6",
"jest-resolve": "^25.2.6",
"jest-util": "^25.2.6",
"jest-validate": "^25.2.6",
"micromatch": "^4.0.2",
"pretty-format": "^25.2.3",
"pretty-format": "^25.2.6",
"realpath-native": "^2.0.0"
},
"dependencies": {
@@ -3003,15 +3002,15 @@
}
},
"jest-diff": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.2.3.tgz",
"integrity": "sha512-VtZ6LAQtaQpFsmEzps15dQc5ELbJxy4L2DOSo2Ev411TUEtnJPkAMD7JneVypeMJQ1y3hgxN9Ao13n15FAnavg==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.2.6.tgz",
"integrity": "sha512-KuadXImtRghTFga+/adnNrv9s61HudRMR7gVSbP35UKZdn4IK2/0N0PpGZIqtmllK9aUyye54I3nu28OYSnqOg==",
"dev": true,
"requires": {
"chalk": "^3.0.0",
"diff-sequences": "^25.2.1",
"jest-get-type": "^25.2.1",
"pretty-format": "^25.2.3"
"diff-sequences": "^25.2.6",
"jest-get-type": "^25.2.6",
"pretty-format": "^25.2.6"
},
"dependencies": {
"ansi-styles": {
@@ -3067,25 +3066,25 @@
}
},
"jest-docblock": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.2.3.tgz",
"integrity": "sha512-d3/tmjLLrH5fpRGmIm3oFa3vOaD/IjPxtXVOrfujpfJ9y1tCDB1x/tvunmdOVAyF03/xeMwburl6ITbiQT1mVA==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.2.6.tgz",
"integrity": "sha512-VAYrljEq0upq0oERfIaaNf28gC6p9gORndhHstCYF8NWGNQJnzoaU//S475IxfWMk4UjjVmS9rJKLe5Jjjbixw==",
"dev": true,
"requires": {
"detect-newline": "^3.0.0"
}
},
"jest-each": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.2.3.tgz",
"integrity": "sha512-RTlmCjsBDK2c9T5oO4MqccA3/5Y8BUtiEy7OOQik1iyCgdnNdHbI0pNEpyapZPBG0nlvZ4mIu7aY6zNUvLraAQ==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.2.6.tgz",
"integrity": "sha512-OgQ01VINaRD6idWJOhCYwUc5EcgHBiFlJuw+ON2VgYr7HLtMFyCcuo+3mmBvuLUH4QudREZN7cDCZviknzsaJQ==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"chalk": "^3.0.0",
"jest-get-type": "^25.2.1",
"jest-util": "^25.2.3",
"pretty-format": "^25.2.3"
"jest-get-type": "^25.2.6",
"jest-util": "^25.2.6",
"pretty-format": "^25.2.6"
},
"dependencies": {
"ansi-styles": {
@@ -3141,53 +3140,53 @@
}
},
"jest-environment-jsdom": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.3.tgz",
"integrity": "sha512-TLg7nizxIYJafz6tOBAVSmO5Ekswf6Cf3Soseov+mgonXfdYi1I0OZlHlZMJb2fGyXem2ndYFCLrMkwcWPKAnQ==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.6.tgz",
"integrity": "sha512-/o7MZIhGmLGIEG5j7r5B5Az0umWLCHU+F5crwfbm0BzC4ybHTJZOQTFQWhohBg+kbTCNOuftMcqHlVkVduJCQQ==",
"dev": true,
"requires": {
"@jest/environment": "^25.2.3",
"@jest/fake-timers": "^25.2.3",
"@jest/types": "^25.2.3",
"jest-mock": "^25.2.3",
"jest-util": "^25.2.3",
"@jest/environment": "^25.2.6",
"@jest/fake-timers": "^25.2.6",
"@jest/types": "^25.2.6",
"jest-mock": "^25.2.6",
"jest-util": "^25.2.6",
"jsdom": "^15.2.1"
}
},
"jest-environment-node": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.3.tgz",
"integrity": "sha512-Tu/wlGXfoLtBR4Ym+isz58z3TJkMYX4VnFTkrsxaTGYAxNLN7ArCwL51Ki0WrMd89v+pbCLDj/hDjrb4a2sOrw==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.6.tgz",
"integrity": "sha512-D1Ihj14fxZiMHGeTtU/LunhzSI+UeBvlr/rcXMTNyRMUMSz2PEhuqGbB78brBY6Dk3FhJDk7Ta+8reVaGjLWhA==",
"dev": true,
"requires": {
"@jest/environment": "^25.2.3",
"@jest/fake-timers": "^25.2.3",
"@jest/types": "^25.2.3",
"jest-mock": "^25.2.3",
"jest-util": "^25.2.3",
"@jest/environment": "^25.2.6",
"@jest/fake-timers": "^25.2.6",
"@jest/types": "^25.2.6",
"jest-mock": "^25.2.6",
"jest-util": "^25.2.6",
"semver": "^6.3.0"
}
},
"jest-get-type": {
"version": "25.2.1",
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.1.tgz",
"integrity": "sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
"integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
"dev": true
},
"jest-haste-map": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.2.3.tgz",
"integrity": "sha512-pAP22OHtPr4qgZlJJFks2LLgoQUr4XtM1a+F5UaPIZNiCRnePA0hM3L7aiJ0gzwiNIYwMTfKRwG/S1L28J3A3A==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.2.6.tgz",
"integrity": "sha512-nom0+fnY8jwzelSDQnrqaKAcDZczYQvMEwcBjeL3PQ4MlcsqeB7dmrsAniUw/9eLkngT5DE6FhnenypilQFsgA==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"anymatch": "^3.0.3",
"fb-watchman": "^2.0.0",
"fsevents": "^2.1.2",
"graceful-fs": "^4.2.3",
"jest-serializer": "^25.2.1",
"jest-util": "^25.2.3",
"jest-worker": "^25.2.1",
"jest-serializer": "^25.2.6",
"jest-util": "^25.2.6",
"jest-worker": "^25.2.6",
"micromatch": "^4.0.2",
"sane": "^4.0.3",
"walker": "^1.0.7",
@@ -3206,27 +3205,27 @@
}
},
"jest-jasmine2": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.3.tgz",
"integrity": "sha512-x9PEGPFdnkSwJj1UG4QxG9JxFdyP8fuJ/UfKXd/eSpK8w9x7MP3VaQDuPQF0UQhCT0YeOITEPkQyqS+ptt0suA==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.7.tgz",
"integrity": "sha512-HeQxEbonp8fUvik9jF0lkU9ab1u5TQdIb7YSU9Fj7SxWtqHNDGyCpF6ZZ3r/5yuertxi+R95Ba9eA91GMQ38eA==",
"dev": true,
"requires": {
"@babel/traverse": "^7.1.0",
"@jest/environment": "^25.2.3",
"@jest/source-map": "^25.2.1",
"@jest/test-result": "^25.2.3",
"@jest/types": "^25.2.3",
"@jest/environment": "^25.2.6",
"@jest/source-map": "^25.2.6",
"@jest/test-result": "^25.2.6",
"@jest/types": "^25.2.6",
"chalk": "^3.0.0",
"co": "^4.6.0",
"expect": "^25.2.3",
"expect": "^25.2.7",
"is-generator-fn": "^2.0.0",
"jest-each": "^25.2.3",
"jest-matcher-utils": "^25.2.3",
"jest-message-util": "^25.2.3",
"jest-runtime": "^25.2.3",
"jest-snapshot": "^25.2.3",
"jest-util": "^25.2.3",
"pretty-format": "^25.2.3",
"jest-each": "^25.2.6",
"jest-matcher-utils": "^25.2.7",
"jest-message-util": "^25.2.6",
"jest-runtime": "^25.2.7",
"jest-snapshot": "^25.2.7",
"jest-util": "^25.2.6",
"pretty-format": "^25.2.6",
"throat": "^5.0.0"
},
"dependencies": {
@@ -3283,25 +3282,25 @@
}
},
"jest-leak-detector": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.2.3.tgz",
"integrity": "sha512-yblCMPE7NJKl7778Cf/73yyFWAas5St0iiEBwq7RDyaz6Xd4WPFnPz2j7yDb/Qce71A1IbDoLADlcwD8zT74Aw==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.2.6.tgz",
"integrity": "sha512-n+aJUM+j/x1kIaPVxzerMqhAUuqTU1PL5kup46rXh+l9SP8H6LqECT/qD1GrnylE1L463/0StSPkH4fUpkuEjA==",
"dev": true,
"requires": {
"jest-get-type": "^25.2.1",
"pretty-format": "^25.2.3"
"jest-get-type": "^25.2.6",
"pretty-format": "^25.2.6"
}
},
"jest-matcher-utils": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.2.3.tgz",
"integrity": "sha512-ZmiXiwQRVM9MoKjGMP5YsGGk2Th5ncyRxfXKz5AKsmU8m43kgNZirckVzaP61MlSa9LKmXbevdYqVp1ZKAw2Rw==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.2.7.tgz",
"integrity": "sha512-jNYmKQPRyPO3ny0KY1I4f0XW4XnpJ3Nx5ovT4ik0TYDOYzuXJW40axqOyS61l/voWbVT9y9nZ1THL1DlpaBVpA==",
"dev": true,
"requires": {
"chalk": "^3.0.0",
"jest-diff": "^25.2.3",
"jest-get-type": "^25.2.1",
"pretty-format": "^25.2.3"
"jest-diff": "^25.2.6",
"jest-get-type": "^25.2.6",
"pretty-format": "^25.2.6"
},
"dependencies": {
"ansi-styles": {
@@ -3357,14 +3356,13 @@
}
},
"jest-message-util": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.3.tgz",
"integrity": "sha512-DcyDmdO5LVIeS0ngRvd7rk701XL60dAakUeQJ1tQRby27fyLYXD+V0nqVaC194W7fIlohjVQOZPHmKXIjn+Byw==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.6.tgz",
"integrity": "sha512-Hgg5HbOssSqOuj+xU1mi7m3Ti2nwSQJQf/kxEkrz2r2rp2ZLO1pMeKkz2WiDUWgSR+APstqz0uMFcE5yc0qdcg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
"@jest/test-result": "^25.2.3",
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"@types/stack-utils": "^1.0.1",
"chalk": "^3.0.0",
"micromatch": "^4.0.2",
@@ -3425,12 +3423,12 @@
}
},
"jest-mock": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.2.3.tgz",
"integrity": "sha512-xlf+pyY0j47zoCs8zGGOGfWyxxLximE8YFOfEK8s4FruR8DtM/UjNj61um+iDuMAFEBDe1bhCXkqiKoCmWjJzg==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.2.6.tgz",
"integrity": "sha512-vc4nibavi2RGPdj/MyZy/azuDjZhpYZLvpfgq1fxkhbyTpKVdG7CgmRVKJ7zgLpY5kuMjTzDYA6QnRwhsCU+tA==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3"
"@jest/types": "^25.2.6"
}
},
"jest-pnp-resolver": {
@@ -3440,18 +3438,18 @@
"dev": true
},
"jest-regex-util": {
"version": "25.2.1",
"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.1.tgz",
"integrity": "sha512-wroFVJw62LdqTdkL508ZLV82FrJJWVJMIuYG7q4Uunl1WAPTf4ftPKrqqfec4SvOIlvRZUdEX2TFpWR356YG/w==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
"integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
"dev": true
},
"jest-resolve": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.2.3.tgz",
"integrity": "sha512-1vZMsvM/DBH258PnpUNSXIgtzpYz+vCVCj9+fcy4akZl4oKbD+9hZSlfe9RIDpU0Fc28ozHQrmwX3EqFRRIHGg==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.2.6.tgz",
"integrity": "sha512-7O61GVdcAXkLz/vNGKdF+00A80/fKEAA47AEXVNcZwj75vEjPfZbXDaWFmAQCyXj4oo9y9dC9D+CLA11t8ieGw==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"browser-resolve": "^1.11.3",
"chalk": "^3.0.0",
"jest-pnp-resolver": "^1.2.1",
@@ -3512,39 +3510,39 @@
}
},
"jest-resolve-dependencies": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.3.tgz",
"integrity": "sha512-mcWlvjXLlNzgdE9EQxHuaeWICNxozanim87EfyvPwTY0ryWusFZbgF6F8u3E0syJ4FFSooEm0lQ6fgYcnPGAFw==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.7.tgz",
"integrity": "sha512-IrnMzCAh11Xd2gAOJL+ThEW6QO8DyqNdvNkQcaCticDrOAr9wtKT7yT6QBFFjqKFgjjvaVKDs59WdgUhgYnHnQ==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3",
"jest-regex-util": "^25.2.1",
"jest-snapshot": "^25.2.3"
"@jest/types": "^25.2.6",
"jest-regex-util": "^25.2.6",
"jest-snapshot": "^25.2.7"
}
},
"jest-runner": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.3.tgz",
"integrity": "sha512-E+u2Zm2TmtTOFEbKs5jllLiV2fwiX77cYc08RdyYZNe/s06wQT3P47aV6a8Rv61L7E2Is7OmozLd0KI/DITRpg==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.7.tgz",
"integrity": "sha512-RFEr71nMrtNwcpoHzie5+fe1w3JQCGMyT2xzNwKe3f88+bK+frM2o1v24gEcPxQ2QqB3COMCe2+1EkElP+qqqQ==",
"dev": true,
"requires": {
"@jest/console": "^25.2.3",
"@jest/environment": "^25.2.3",
"@jest/test-result": "^25.2.3",
"@jest/types": "^25.2.3",
"@jest/console": "^25.2.6",
"@jest/environment": "^25.2.6",
"@jest/test-result": "^25.2.6",
"@jest/types": "^25.2.6",
"chalk": "^3.0.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.3",
"jest-config": "^25.2.3",
"jest-docblock": "^25.2.3",
"jest-haste-map": "^25.2.3",
"jest-jasmine2": "^25.2.3",
"jest-leak-detector": "^25.2.3",
"jest-message-util": "^25.2.3",
"jest-resolve": "^25.2.3",
"jest-runtime": "^25.2.3",
"jest-util": "^25.2.3",
"jest-worker": "^25.2.1",
"jest-config": "^25.2.7",
"jest-docblock": "^25.2.6",
"jest-haste-map": "^25.2.6",
"jest-jasmine2": "^25.2.7",
"jest-leak-detector": "^25.2.6",
"jest-message-util": "^25.2.6",
"jest-resolve": "^25.2.6",
"jest-runtime": "^25.2.7",
"jest-util": "^25.2.6",
"jest-worker": "^25.2.6",
"source-map-support": "^0.5.6",
"throat": "^5.0.0"
},
@@ -3602,32 +3600,32 @@
}
},
"jest-runtime": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.3.tgz",
"integrity": "sha512-PZRFeUVF08N24v2G73SDF0b0VpLG7cRNOJ3ggj5TnArBVHkkrWzM3z7txB9OupWu7OO8bH/jFogk6sSjnHLFXQ==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.7.tgz",
"integrity": "sha512-Gw3X8KxTTFylu2T/iDSNKRUQXQiPIYUY0b66GwVYa7W8wySkUljKhibQHSq0VhmCAN7vRBEQjlVQ+NFGNmQeBw==",
"dev": true,
"requires": {
"@jest/console": "^25.2.3",
"@jest/environment": "^25.2.3",
"@jest/source-map": "^25.2.1",
"@jest/test-result": "^25.2.3",
"@jest/transform": "^25.2.3",
"@jest/types": "^25.2.3",
"@jest/console": "^25.2.6",
"@jest/environment": "^25.2.6",
"@jest/source-map": "^25.2.6",
"@jest/test-result": "^25.2.6",
"@jest/transform": "^25.2.6",
"@jest/types": "^25.2.6",
"@types/yargs": "^15.0.0",
"chalk": "^3.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
"glob": "^7.1.3",
"graceful-fs": "^4.2.3",
"jest-config": "^25.2.3",
"jest-haste-map": "^25.2.3",
"jest-message-util": "^25.2.3",
"jest-mock": "^25.2.3",
"jest-regex-util": "^25.2.1",
"jest-resolve": "^25.2.3",
"jest-snapshot": "^25.2.3",
"jest-util": "^25.2.3",
"jest-validate": "^25.2.3",
"jest-config": "^25.2.7",
"jest-haste-map": "^25.2.6",
"jest-message-util": "^25.2.6",
"jest-mock": "^25.2.6",
"jest-regex-util": "^25.2.6",
"jest-resolve": "^25.2.6",
"jest-snapshot": "^25.2.7",
"jest-util": "^25.2.6",
"jest-validate": "^25.2.6",
"realpath-native": "^2.0.0",
"slash": "^3.0.0",
"strip-bom": "^4.0.0",
@@ -3687,30 +3685,30 @@
}
},
"jest-serializer": {
"version": "25.2.1",
"resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.2.1.tgz",
"integrity": "sha512-fibDi7M5ffx6c/P66IkvR4FKkjG5ldePAK1WlbNoaU4GZmIAkS9Le/frAwRUFEX0KdnisSPWf+b1RC5jU7EYJQ==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.2.6.tgz",
"integrity": "sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ==",
"dev": true
},
"jest-snapshot": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.3.tgz",
"integrity": "sha512-HlFVbE6vOZ541mtkwjuAe0rfx9EWhB+QXXneLNOP/s3LlHxGQtX7WFXY5OiH4CkAnCc6BpzLNYS9nfINNRb4Zg==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.7.tgz",
"integrity": "sha512-Rm8k7xpGM4tzmYhB6IeRjsOMkXaU8/FOz5XlU6oYwhy53mq6txVNqIKqN1VSiexzpC80oWVxVDfUDt71M6XPOA==",
"dev": true,
"requires": {
"@babel/types": "^7.0.0",
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"@types/prettier": "^1.19.0",
"chalk": "^3.0.0",
"expect": "^25.2.3",
"jest-diff": "^25.2.3",
"jest-get-type": "^25.2.1",
"jest-matcher-utils": "^25.2.3",
"jest-message-util": "^25.2.3",
"jest-resolve": "^25.2.3",
"expect": "^25.2.7",
"jest-diff": "^25.2.6",
"jest-get-type": "^25.2.6",
"jest-matcher-utils": "^25.2.7",
"jest-message-util": "^25.2.6",
"jest-resolve": "^25.2.6",
"make-dir": "^3.0.0",
"natural-compare": "^1.4.0",
"pretty-format": "^25.2.3",
"pretty-format": "^25.2.6",
"semver": "^6.3.0"
},
"dependencies": {
@@ -3767,12 +3765,12 @@
}
},
"jest-util": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.2.3.tgz",
"integrity": "sha512-7tWiMICVSo9lNoObFtqLt9Ezt5exdFlWs5fLe1G4XLY2lEbZc814cw9t4YHScqBkWMfzth8ASHKlYBxiX2rdCw==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.2.6.tgz",
"integrity": "sha512-gpXy0H5ymuQ0x2qgl1zzHg7LYHZYUmDEq6F7lhHA8M0eIwDB2WteOcCnQsohl9c/vBKZ3JF2r4EseipCZz3s4Q==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"chalk": "^3.0.0",
"is-ci": "^2.0.0",
"make-dir": "^3.0.0"
@@ -3831,17 +3829,17 @@
}
},
"jest-validate": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.2.3.tgz",
"integrity": "sha512-GObn91jzU0B0Bv4cusAwjP6vnWy78hJUM8MOSz7keRfnac/ZhQWIsUjvk01IfeXNTemCwgR57EtdjQMzFZGREg==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.2.6.tgz",
"integrity": "sha512-a4GN7hYbqQ3Rt9iHsNLFqQz7HDV7KiRPCwPgo5nqtTIWNZw7gnT8KchG+Riwh+UTSn8REjFCodGp50KX/fRNgQ==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"camelcase": "^5.3.1",
"chalk": "^3.0.0",
"jest-get-type": "^25.2.1",
"jest-get-type": "^25.2.6",
"leven": "^3.1.0",
"pretty-format": "^25.2.3"
"pretty-format": "^25.2.6"
},
"dependencies": {
"ansi-styles": {
@@ -3897,16 +3895,16 @@
}
},
"jest-watcher": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.3.tgz",
"integrity": "sha512-F6ERbdvJk8nbaRon9lLQVl4kp+vToCCHmy+uWW5QQ8/8/g2jkrZKJQnlQINrYQp0ewg31Bztkhs4nxsZMx6wDg==",
"version": "25.2.7",
"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.7.tgz",
"integrity": "sha512-RdHuW+f49tahWtluTnUdZ2iPliebleROI2L/J5phYrUS6DPC9RB3SuUtqYyYhGZJsbvRSuLMIlY/cICJ+PIecw==",
"dev": true,
"requires": {
"@jest/test-result": "^25.2.3",
"@jest/types": "^25.2.3",
"@jest/test-result": "^25.2.6",
"@jest/types": "^25.2.6",
"ansi-escapes": "^4.2.1",
"chalk": "^3.0.0",
"jest-util": "^25.2.3",
"jest-util": "^25.2.6",
"string-length": "^3.1.0"
},
"dependencies": {
@@ -3963,9 +3961,9 @@
}
},
"jest-worker": {
"version": "25.2.1",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.2.1.tgz",
"integrity": "sha512-IHnpekk8H/hCUbBlfeaPZzU6v75bqwJp3n4dUrQuQOAgOneI4tx3jV2o8pvlXnDfcRsfkFIUD//HWXpCmR+evQ==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.2.6.tgz",
"integrity": "sha512-FJn9XDUSxcOR4cwDzRfL1z56rUofNTFs539FGASpd50RHdb6EVkhxQqktodW2mI49l+W3H+tFJDotCHUQF6dmA==",
"dev": true,
"requires": {
"merge-stream": "^2.0.0",
@@ -4582,12 +4580,12 @@
"dev": true
},
"pretty-format": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.3.tgz",
"integrity": "sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w==",
"version": "25.2.6",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz",
"integrity": "sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg==",
"dev": true,
"requires": {
"@jest/types": "^25.2.3",
"@jest/types": "^25.2.6",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -5807,9 +5805,9 @@
"dev": true
},
"v8-to-istanbul": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.2.tgz",
"integrity": "sha512-G9R+Hpw0ITAmPSr47lSlc5A1uekSYzXxTMlFxso2xoffwo4jQnzbv1p9yXIinO8UMZKfAFewaCHwWvnH4Jb4Ug==",
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz",
"integrity": "sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.1",

View File

@@ -31,6 +31,6 @@
"devDependencies": {
"@zeit/ncc": "0.22.0",
"eslint": "6.8.0",
"jest": "25.2.3"
"jest": "25.2.7"
}
}

View File

@@ -4,6 +4,20 @@ from github import Github, GithubException
import os
def string_to_bool(str):
if str is None:
return False
else:
return str.lower() in [
"true",
"1",
"t",
"y",
"yes",
"on",
]
def cs_string_to_list(str):
# Split the comma separated string into a list
l = [i.strip() for i in str.split(",")]
@@ -56,27 +70,31 @@ def create_or_update_pull_request(
team_reviewers,
project_name,
project_column_name,
draft,
request_to_parent,
):
if request_to_parent is None:
request_to_parent = False
else:
request_to_parent = request_to_parent.lower() in ['true', '1', 't', 'y', 'yes', 'on']
github_repo = head_repo = Github(github_token).get_repo(github_repository)
if request_to_parent:
if string_to_bool(request_to_parent):
github_repo = github_repo.parent
if github_repo is None:
raise ValueError("The checked out repository is not a fork. Input 'request-to-parent' should be set to false.")
raise ValueError(
"The checked out repository is not a fork. Input 'request-to-parent' should be set to false."
)
head_branch = f"{head_repo.owner.login}:{branch}"
# Create the pull request
try:
pull_request = github_repo.create_pull(
title=title, body=body, base=base, head=head_branch
title=title,
body=body,
base=base,
head=head_branch,
draft=string_to_bool(draft),
)
print(
f"Created pull request #{pull_request.number} ({head_branch} => {github_repo.owner.login}:{base})"
)
print(f"Created pull request #{pull_request.number} ({head_branch} => {github_repo.owner.login}:{base})")
except GithubException as e:
if e.status == 422:
# A pull request exists for this branch and base
@@ -86,7 +104,9 @@ def create_or_update_pull_request(
)[0]
# Update title and body
pull_request.as_issue().edit(title=title, body=body)
print(f"Updated pull request #{pull_request.number} ({head_branch} => {github_repo.owner.login}:{base})")
print(
f"Updated pull request #{pull_request.number} ({head_branch} => {github_repo.owner.login}:{base})"
)
else:
print(str(e))
raise

View File

@@ -192,7 +192,7 @@ result = coub.create_or_update_branch(repo, repo_url, commit_message, base, bran
if result["action"] in ["created", "updated"]:
# The branch was created or updated
print(f"Pushing pull request branch to '{repo.full_name}/{branch}'")
print(f"Pushing pull request branch to 'origin/{branch}'")
repo.git.push("--force", repo_url, f"HEAD:refs/heads/{branch}")
# Set the base. It would have been 'None' if not specified as an input
@@ -224,5 +224,6 @@ if result["action"] in ["created", "updated"]:
os.environ.get("CPR_TEAM_REVIEWERS"),
os.environ.get("CPR_PROJECT_NAME"),
os.environ.get("CPR_PROJECT_COLUMN_NAME"),
os.environ.get("CPR_DRAFT"),
os.environ.get("CPR_REQUEST_TO_PARENT"),
)

View File

@@ -62,6 +62,7 @@ async function run() {
milestone: core.getInput("milestone"),
project: core.getInput("project"),
projectColumn: core.getInput("project-column"),
draft: core.getInput("draft"),
branch: core.getInput("branch"),
request_to_parent: core.getInput("request-to-parent"),
base: core.getInput("base"),
@@ -84,6 +85,7 @@ async function run() {
if (inputs.milestone) process.env.CPR_MILESTONE = inputs.milestone;
if (inputs.project) process.env.CPR_PROJECT_NAME = inputs.project;
if (inputs.projectColumn) process.env.CPR_PROJECT_COLUMN_NAME = inputs.projectColumn;
if (inputs.draft) process.env.CPR_DRAFT = inputs.draft;
if (inputs.branch) process.env.CPR_BRANCH = inputs.branch;
if (inputs.request_to_parent) process.env.CPR_REQUEST_TO_PARENT = inputs.request_to_parent;
if (inputs.base) process.env.CPR_BASE = inputs.base;