Merge pull request #835 from mikepenz/develop

dev -> main
This commit is contained in:
Mike Penz
2022-07-29 13:26:30 +02:00
committed by GitHub
14 changed files with 331 additions and 316 deletions
+4
View File
@@ -16,6 +16,10 @@ on:
- '**.md' - '**.md'
workflow_dispatch: workflow_dispatch:
concurrency:
group: ${{ github.event.pull_request.number }}-check
cancel-in-progress: true
jobs: jobs:
check-dist: check-dist:
runs-on: ubuntu-latest runs-on: ubuntu-latest
+32 -2
View File
@@ -5,6 +5,10 @@ on:
- '*' - '*'
pull_request: pull_request:
concurrency:
group: ${{ github.event.pull_request.number }}-ci
cancel-in-progress: true
jobs: jobs:
build: build:
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
@@ -34,12 +38,38 @@ jobs:
steps: steps:
# the below actions use the local state of the action. please replace `./` with `mikepenz/release-changelog-builder-action@{latest-release}` # the below actions use the local state of the action. please replace `./` with `mikepenz/release-changelog-builder-action@{latest-release}`
# Showcases how to use the action without a prior checkout # Showcases how to use the action without a prior checkout
# Won't support providing a configuration file, as no checkout was done # Since 3.2.0 the configuration can be provided within the `yml` file
- name: "Configuration without Checkout" - name: "Configuration without Checkout"
id: without_checkout id: without_checkout
uses: mikepenz/release-changelog-builder-action@develop uses: mikepenz/release-changelog-builder-action@develop
with: with:
toTag: "v0.0.3" toTag: "v3.1.1"
configurationJson: |
{
"template": "#{{CHANGELOG}}\n\n<details>\n<summary>Uncategorized</summary>\n\n#{{UNCATEGORIZED}}\n</details>",
"categories": [
{
"title": "## 🚀 Features",
"labels": ["feature"]
},
{
"title": "## 🐛 Fixes",
"labels": ["fix"]
},
{
"title": "## 🧪 Tests",
"labels": ["test"]
},
{
"title": "## 💬 Other",
"labels": ["other"]
},
{
"title": "## 📦 Dependencies",
"labels": ["dependencies"]
}
]
}
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+4
View File
@@ -20,6 +20,10 @@ on:
schedule: schedule:
- cron: '41 22 * * 4' - cron: '41 22 * * 4'
concurrency:
group: ${{ github.event.pull_request.number }}-codeql
cancel-in-progress: true
jobs: jobs:
analyze: analyze:
name: Analyze name: Analyze
+43 -3
View File
@@ -103,6 +103,9 @@ Below is a complete example showcasing how to define a build, which is executed
> Note: PRs will only show up in the changelog if assigned one of the default label categories "feature", "fix" or "test" > Note: PRs will only show up in the changelog if assigned one of the default label categories "feature", "fix" or "test"
<details><summary><b>Example</b></summary>
<p>
```yml ```yml
name: 'CI' name: 'CI'
on: on:
@@ -122,11 +125,47 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create Release - name: Create Release
uses: softprops/action-gh-release@v0.1.14 uses: mikepenz/action-gh-release@v0.2.0-a02 #softprops/action-gh-release
with: with:
body: ${{steps.github_release.outputs.changelog}} body: ${{steps.github_release.outputs.changelog}}
``` ```
</p>
</details>
<details><summary><b>Example w/ Configuration</b></summary>
<p>
```yml
jobs:
release:
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- name: Build Changelog
uses: mikepenz/release-changelog-builder-action@v3
with:
configurationJson: |
{
"template": "#{{CHANGELOG}}\n\n<details>\n<summary>Uncategorized</summary>\n\n#{{UNCATEGORIZED}}\n</details>",
"categories": [
{
"title": "## 💬 Other",
"labels": ["other"]
},
{
"title": "## 📦 Dependencies",
"labels": ["dependencies"]
}
]
}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
</p>
</details>
## Customization 🖍️ ## Customization 🖍️
### Note ### Note
@@ -152,7 +191,7 @@ The action supports flexible configuration options to modify vast areas of its b
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
``` ```
> **Warning** It is required to have a `checkout` step prior to the changelog step, to allow the action to discover the configuration file. > **Warning** It is required to have a `checkout` step prior to the changelog step if `configuration` is used, to allow the action to discover the configuration file. Use `configurationJson` as alternative.
This configuration is a `.json` file in the following format. This configuration is a `.json` file in the following format.
@@ -262,6 +301,7 @@ For advanced use cases additional settings can be provided to the action
| **Input** | **Description** | | **Input** | **Description** |
|-------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |-------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `configurationJson` | Provide the configuration directly via the build `yml` file. Please note that `${{}}` has to be written as `#{{}}` within the `yml` file. |
| `configuration` | Relative path, to the `configuration.json` file, providing additional configurations | | `configuration` | Relative path, to the `configuration.json` file, providing additional configurations |
| `outputFile` | Optional relative path to a file to store the resulting changelog in. | | `outputFile` | Optional relative path to a file to store the resulting changelog in. |
| `owner` | The owner of the repository to generate the changelog for | | `owner` | The owner of the repository to generate the changelog for |
@@ -299,7 +339,6 @@ Table of supported placeholders allowed to be used in the `pr_template` configur
| `${{ASSIGNEES}}` | Login names of assigned GitHub users, joined by `,` | | `${{ASSIGNEES}}` | Login names of assigned GitHub users, joined by `,` |
| `${{REVIEWERS}}` | GitHub Login names of specified reviewers, joined by `,`. Requires `fetchReviewers` to be enabled. | | `${{REVIEWERS}}` | GitHub Login names of specified reviewers, joined by `,`. Requires `fetchReviewers` to be enabled. |
| `${{APPROVERS}}` | GitHub Login names of users who approved the PR, joined by `,` | | `${{APPROVERS}}` | GitHub Login names of users who approved the PR, joined by `,` |
| `${{DAYS_SINCE}}` | Days between the 2 releases. Requires `fetchReleaseInformation` to be enabled. |
### Template placeholders ### Template placeholders
@@ -327,6 +366,7 @@ Table of supported placeholders allowed to be used in the `template` and `empty_
| `${{UNCATEGORIZED_COUNT}}` | The count of PRs and changes which were not categorized. No label overlapping with category labels | | | `${{UNCATEGORIZED_COUNT}}` | The count of PRs and changes which were not categorized. No label overlapping with category labels | |
| `${{OPEN_COUNT}}` | The count of open PRs. Will only be fetched if `includeOpen` is configured. | | | `${{OPEN_COUNT}}` | The count of open PRs. Will only be fetched if `includeOpen` is configured. | |
| `${{IGNORED_COUNT}}` | The count of PRs and changes which were specifically ignored from the changelog. | | | `${{IGNORED_COUNT}}` | The count of PRs and changes which were specifically ignored from the changelog. | |
| `${{DAYS_SINCE}}` | Days between the 2 releases. Requires `fetchReleaseInformation` to be enabled. | * |
### Configuration Specification ### Configuration Specification
+2
View File
@@ -5,6 +5,8 @@ branding:
icon: 'award' icon: 'award'
color: 'green' color: 'green'
inputs: inputs:
configurationJson:
description: 'Defines the configuration json. If provided, will be prefered over `configuration`.'
configuration: configuration:
description: 'Defines the relative path to the configuration file.' description: 'Defines the relative path to the configuration file.'
path: path:
Generated Vendored
+30 -10
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+1 -1
View File
File diff suppressed because one or more lines are too long
+158 -273
View File
@@ -21,7 +21,7 @@
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^28.1.6", "@types/jest": "^28.1.6",
"@types/node": "^18.6.1", "@types/node": "^18.6.2",
"@typescript-eslint/parser": "^5.31.0", "@typescript-eslint/parser": "^5.31.0",
"@vercel/ncc": "^0.34.0", "@vercel/ncc": "^0.34.0",
"eslint": "^8.20.0", "eslint": "^8.20.0",
@@ -1259,9 +1259,9 @@
} }
}, },
"node_modules/@octokit/openapi-types": { "node_modules/@octokit/openapi-types": {
"version": "12.10.1", "version": "12.11.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.10.1.tgz", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
"integrity": "sha512-P+SukKanjFY0ZhsK6wSVnQmxTP2eVPPE8OPSNuxaMYtgVzwJZgfGdwlYjf4RlRU4vLEw4ts2fsE2icG4nZ5ddQ==" "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ=="
}, },
"node_modules/@octokit/plugin-paginate-rest": { "node_modules/@octokit/plugin-paginate-rest": {
"version": "2.21.3", "version": "2.21.3",
@@ -1386,11 +1386,11 @@
} }
}, },
"node_modules/@octokit/rest/node_modules/@octokit/plugin-paginate-rest": { "node_modules/@octokit/rest/node_modules/@octokit/plugin-paginate-rest": {
"version": "3.0.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz",
"integrity": "sha512-fvw0Q5IXnn60D32sKeLIxgXCEZ7BTSAjJd8cFAE6QU5qUp0xo7LjFUjjX1J5D7HgN355CN4EXE4+Q1/96JaNUA==", "integrity": "sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==",
"dependencies": { "dependencies": {
"@octokit/types": "^6.39.0" "@octokit/types": "^6.41.0"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 14"
@@ -1444,17 +1444,17 @@
} }
}, },
"node_modules/@octokit/types": { "node_modules/@octokit/types": {
"version": "6.40.0", "version": "6.41.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.40.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
"integrity": "sha512-MFZOU5r8SwgJWDMhrLUSvyJPtVsqA6VnbVI3TNbsmw+Jnvrktzvq2fYES/6RiJA/5Ykdwq4mJmtlYUfW7CGjmw==", "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
"dependencies": { "dependencies": {
"@octokit/openapi-types": "^12.10.0" "@octokit/openapi-types": "^12.11.0"
} }
}, },
"node_modules/@sinclair/typebox": { "node_modules/@sinclair/typebox": {
"version": "0.24.20", "version": "0.24.22",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.22.tgz",
"integrity": "sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ==", "integrity": "sha512-JsBe3cOFpNZ6yjBYnXKhcENWy5qZE3PQZwExQ5ksA/h8qp4bwwxFmy07A6bC2R6qv6+RF3SfrbQTskTwYNTXUQ==",
"dev": true "dev": true
}, },
"node_modules/@sinonjs/commons": { "node_modules/@sinonjs/commons": {
@@ -1594,14 +1594,14 @@
"dev": true "dev": true
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "18.6.1", "version": "18.6.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.1.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.2.tgz",
"integrity": "sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg==" "integrity": "sha512-KcfkBq9H4PI6Vpu5B/KoPeuVDAbmi+2mDBqGPGUgoL7yXQtcWGu2vJWmmRkneWK3Rh0nIAX192Aa87AqKHYChQ=="
}, },
"node_modules/@types/prettier": { "node_modules/@types/prettier": {
"version": "2.6.3", "version": "2.6.4",
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz",
"integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", "integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==",
"dev": true "dev": true
}, },
"node_modules/@types/semver": { "node_modules/@types/semver": {
@@ -1631,14 +1631,14 @@
"dev": true "dev": true
}, },
"node_modules/@typescript-eslint/eslint-plugin": { "node_modules/@typescript-eslint/eslint-plugin": {
"version": "5.30.7", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.31.0.tgz",
"integrity": "sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw==", "integrity": "sha512-VKW4JPHzG5yhYQrQ1AzXgVgX8ZAJEvCz0QI6mLRX4tf7rnFfh5D8SKm0Pq6w5PyNfAWJk6sv313+nEt3ohWMBQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/scope-manager": "5.30.7", "@typescript-eslint/scope-manager": "5.31.0",
"@typescript-eslint/type-utils": "5.30.7", "@typescript-eslint/type-utils": "5.31.0",
"@typescript-eslint/utils": "5.30.7", "@typescript-eslint/utils": "5.31.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"functional-red-black-tree": "^1.0.1", "functional-red-black-tree": "^1.0.1",
"ignore": "^5.2.0", "ignore": "^5.2.0",
@@ -1690,7 +1690,7 @@
} }
} }
}, },
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { "node_modules/@typescript-eslint/scope-manager": {
"version": "5.31.0", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz",
"integrity": "sha512-8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg==", "integrity": "sha512-8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg==",
@@ -1707,7 +1707,33 @@
"url": "https://opencollective.com/typescript-eslint" "url": "https://opencollective.com/typescript-eslint"
} }
}, },
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { "node_modules/@typescript-eslint/type-utils": {
"version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.31.0.tgz",
"integrity": "sha512-7ZYqFbvEvYXFn9ax02GsPcEOmuWNg+14HIf4q+oUuLnMbpJ6eHAivCg7tZMVwzrIuzX3QCeAOqKoyMZCv5xe+w==",
"dev": true,
"dependencies": {
"@typescript-eslint/utils": "5.31.0",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "*"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/@typescript-eslint/types": {
"version": "5.31.0", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.31.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.31.0.tgz",
"integrity": "sha512-/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g==", "integrity": "sha512-/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g==",
@@ -1720,7 +1746,7 @@
"url": "https://opencollective.com/typescript-eslint" "url": "https://opencollective.com/typescript-eslint"
} }
}, },
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { "node_modules/@typescript-eslint/typescript-estree": {
"version": "5.31.0", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.31.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.31.0.tgz",
"integrity": "sha512-3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw==", "integrity": "sha512-3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw==",
@@ -1747,116 +1773,16 @@
} }
} }
}, },
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
"version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz",
"integrity": "sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "5.31.0",
"eslint-visitor-keys": "^3.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "5.30.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz",
"integrity": "sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "5.30.7",
"@typescript-eslint/visitor-keys": "5.30.7"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "5.30.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz",
"integrity": "sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw==",
"dev": true,
"dependencies": {
"@typescript-eslint/utils": "5.30.7",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "*"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/@typescript-eslint/types": {
"version": "5.30.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.30.7.tgz",
"integrity": "sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "5.30.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz",
"integrity": "sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "5.30.7",
"@typescript-eslint/visitor-keys": "5.30.7",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
"semver": "^7.3.7",
"tsutils": "^3.21.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/@typescript-eslint/utils": { "node_modules/@typescript-eslint/utils": {
"version": "5.30.7", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.30.7.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.31.0.tgz",
"integrity": "sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ==", "integrity": "sha512-kcVPdQS6VIpVTQ7QnGNKMFtdJdvnStkqS5LeALr4rcwx11G6OWb2HB17NMPnlRHvaZP38hL9iK8DdE9Fne7NYg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/json-schema": "^7.0.9", "@types/json-schema": "^7.0.9",
"@typescript-eslint/scope-manager": "5.30.7", "@typescript-eslint/scope-manager": "5.31.0",
"@typescript-eslint/types": "5.30.7", "@typescript-eslint/types": "5.31.0",
"@typescript-eslint/typescript-estree": "5.30.7", "@typescript-eslint/typescript-estree": "5.31.0",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0" "eslint-utils": "^3.0.0"
}, },
@@ -1894,12 +1820,12 @@
} }
}, },
"node_modules/@typescript-eslint/visitor-keys": { "node_modules/@typescript-eslint/visitor-keys": {
"version": "5.30.7", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz",
"integrity": "sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw==", "integrity": "sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "5.30.7", "@typescript-eslint/types": "5.31.0",
"eslint-visitor-keys": "^3.3.0" "eslint-visitor-keys": "^3.3.0"
}, },
"engines": { "engines": {
@@ -2386,9 +2312,9 @@
} }
}, },
"node_modules/browserslist": { "node_modules/browserslist": {
"version": "4.21.2", "version": "4.21.3",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
"integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@@ -2400,10 +2326,10 @@
} }
], ],
"dependencies": { "dependencies": {
"caniuse-lite": "^1.0.30001366", "caniuse-lite": "^1.0.30001370",
"electron-to-chromium": "^1.4.188", "electron-to-chromium": "^1.4.202",
"node-releases": "^2.0.6", "node-releases": "^2.0.6",
"update-browserslist-db": "^1.0.4" "update-browserslist-db": "^1.0.5"
}, },
"bin": { "bin": {
"browserslist": "cli.js" "browserslist": "cli.js"
@@ -2470,9 +2396,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001368", "version": "1.0.30001373",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001368.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz",
"integrity": "sha512-wgfRYa9DenEomLG/SdWgQxpIyvdtH3NW8Vq+tB6AwR9e56iOIcu1im5F/wNdDf04XlKHXqIx4N8Jo0PemeBenQ==", "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@@ -2727,9 +2653,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.198", "version": "1.4.206",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.198.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.206.tgz",
"integrity": "sha512-jwqQPdKGeAslcq8L+1SZZgL6uDiIDmTe9Gq4brsdWAH27y7MJ2g9Ue6MyST3ogmSM49EAQP7bype1V5hsuNrmQ==" "integrity": "sha512-h+Fadt1gIaQ06JaIiyqPsBjJ08fV5Q7md+V8bUvQW/9OvXfL2LRICTz2EcnnCP7QzrFTS6/27MRV6Bl9Yn97zA=="
}, },
"node_modules/emittery": { "node_modules/emittery": {
"version": "0.10.2", "version": "0.10.2",
@@ -2744,9 +2670,9 @@
} }
}, },
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
"version": "8.0.0", "version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"dev": true "dev": true
}, },
"node_modules/enhanced-resolve": { "node_modules/enhanced-resolve": {
@@ -3161,12 +3087,6 @@
"eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
} }
}, },
"node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"dev": true
},
"node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": {
"version": "6.3.0", "version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -5893,6 +5813,12 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/string-width/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"node_modules/string.prototype.trimend": { "node_modules/string.prototype.trimend": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
@@ -7604,9 +7530,9 @@
} }
}, },
"@octokit/openapi-types": { "@octokit/openapi-types": {
"version": "12.10.1", "version": "12.11.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.10.1.tgz", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
"integrity": "sha512-P+SukKanjFY0ZhsK6wSVnQmxTP2eVPPE8OPSNuxaMYtgVzwJZgfGdwlYjf4RlRU4vLEw4ts2fsE2icG4nZ5ddQ==" "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ=="
}, },
"@octokit/plugin-paginate-rest": { "@octokit/plugin-paginate-rest": {
"version": "2.21.3", "version": "2.21.3",
@@ -7708,11 +7634,11 @@
} }
}, },
"@octokit/plugin-paginate-rest": { "@octokit/plugin-paginate-rest": {
"version": "3.0.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz",
"integrity": "sha512-fvw0Q5IXnn60D32sKeLIxgXCEZ7BTSAjJd8cFAE6QU5qUp0xo7LjFUjjX1J5D7HgN355CN4EXE4+Q1/96JaNUA==", "integrity": "sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==",
"requires": { "requires": {
"@octokit/types": "^6.39.0" "@octokit/types": "^6.41.0"
} }
}, },
"@octokit/plugin-rest-endpoint-methods": { "@octokit/plugin-rest-endpoint-methods": {
@@ -7750,17 +7676,17 @@
} }
}, },
"@octokit/types": { "@octokit/types": {
"version": "6.40.0", "version": "6.41.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.40.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
"integrity": "sha512-MFZOU5r8SwgJWDMhrLUSvyJPtVsqA6VnbVI3TNbsmw+Jnvrktzvq2fYES/6RiJA/5Ykdwq4mJmtlYUfW7CGjmw==", "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
"requires": { "requires": {
"@octokit/openapi-types": "^12.10.0" "@octokit/openapi-types": "^12.11.0"
} }
}, },
"@sinclair/typebox": { "@sinclair/typebox": {
"version": "0.24.20", "version": "0.24.22",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.22.tgz",
"integrity": "sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ==", "integrity": "sha512-JsBe3cOFpNZ6yjBYnXKhcENWy5qZE3PQZwExQ5ksA/h8qp4bwwxFmy07A6bC2R6qv6+RF3SfrbQTskTwYNTXUQ==",
"dev": true "dev": true
}, },
"@sinonjs/commons": { "@sinonjs/commons": {
@@ -7900,14 +7826,14 @@
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
"version": "18.6.1", "version": "18.6.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.1.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.2.tgz",
"integrity": "sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg==" "integrity": "sha512-KcfkBq9H4PI6Vpu5B/KoPeuVDAbmi+2mDBqGPGUgoL7yXQtcWGu2vJWmmRkneWK3Rh0nIAX192Aa87AqKHYChQ=="
}, },
"@types/prettier": { "@types/prettier": {
"version": "2.6.3", "version": "2.6.4",
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz",
"integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", "integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==",
"dev": true "dev": true
}, },
"@types/semver": { "@types/semver": {
@@ -7937,14 +7863,14 @@
"dev": true "dev": true
}, },
"@typescript-eslint/eslint-plugin": { "@typescript-eslint/eslint-plugin": {
"version": "5.30.7", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.31.0.tgz",
"integrity": "sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw==", "integrity": "sha512-VKW4JPHzG5yhYQrQ1AzXgVgX8ZAJEvCz0QI6mLRX4tf7rnFfh5D8SKm0Pq6w5PyNfAWJk6sv313+nEt3ohWMBQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/scope-manager": "5.30.7", "@typescript-eslint/scope-manager": "5.31.0",
"@typescript-eslint/type-utils": "5.30.7", "@typescript-eslint/type-utils": "5.31.0",
"@typescript-eslint/utils": "5.30.7", "@typescript-eslint/utils": "5.31.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"functional-red-black-tree": "^1.0.1", "functional-red-black-tree": "^1.0.1",
"ignore": "^5.2.0", "ignore": "^5.2.0",
@@ -7963,8 +7889,8 @@
"@typescript-eslint/types": "5.31.0", "@typescript-eslint/types": "5.31.0",
"@typescript-eslint/typescript-estree": "5.31.0", "@typescript-eslint/typescript-estree": "5.31.0",
"debug": "^4.3.4" "debug": "^4.3.4"
}
}, },
"dependencies": {
"@typescript-eslint/scope-manager": { "@typescript-eslint/scope-manager": {
"version": "5.31.0", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz",
@@ -7975,6 +7901,17 @@
"@typescript-eslint/visitor-keys": "5.31.0" "@typescript-eslint/visitor-keys": "5.31.0"
} }
}, },
"@typescript-eslint/type-utils": {
"version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.31.0.tgz",
"integrity": "sha512-7ZYqFbvEvYXFn9ax02GsPcEOmuWNg+14HIf4q+oUuLnMbpJ6eHAivCg7tZMVwzrIuzX3QCeAOqKoyMZCv5xe+w==",
"dev": true,
"requires": {
"@typescript-eslint/utils": "5.31.0",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/types": { "@typescript-eslint/types": {
"version": "5.31.0", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.31.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.31.0.tgz",
@@ -7996,70 +7933,16 @@
"tsutils": "^3.21.0" "tsutils": "^3.21.0"
} }
}, },
"@typescript-eslint/visitor-keys": {
"version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz",
"integrity": "sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg==",
"dev": true,
"requires": {
"@typescript-eslint/types": "5.31.0",
"eslint-visitor-keys": "^3.3.0"
}
}
}
},
"@typescript-eslint/scope-manager": {
"version": "5.30.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz",
"integrity": "sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw==",
"dev": true,
"requires": {
"@typescript-eslint/types": "5.30.7",
"@typescript-eslint/visitor-keys": "5.30.7"
}
},
"@typescript-eslint/type-utils": {
"version": "5.30.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz",
"integrity": "sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw==",
"dev": true,
"requires": {
"@typescript-eslint/utils": "5.30.7",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/types": {
"version": "5.30.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.30.7.tgz",
"integrity": "sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
"version": "5.30.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz",
"integrity": "sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA==",
"dev": true,
"requires": {
"@typescript-eslint/types": "5.30.7",
"@typescript-eslint/visitor-keys": "5.30.7",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
"semver": "^7.3.7",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/utils": { "@typescript-eslint/utils": {
"version": "5.30.7", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.30.7.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.31.0.tgz",
"integrity": "sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ==", "integrity": "sha512-kcVPdQS6VIpVTQ7QnGNKMFtdJdvnStkqS5LeALr4rcwx11G6OWb2HB17NMPnlRHvaZP38hL9iK8DdE9Fne7NYg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/json-schema": "^7.0.9", "@types/json-schema": "^7.0.9",
"@typescript-eslint/scope-manager": "5.30.7", "@typescript-eslint/scope-manager": "5.31.0",
"@typescript-eslint/types": "5.30.7", "@typescript-eslint/types": "5.31.0",
"@typescript-eslint/typescript-estree": "5.30.7", "@typescript-eslint/typescript-estree": "5.31.0",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0" "eslint-utils": "^3.0.0"
}, },
@@ -8083,12 +7966,12 @@
} }
}, },
"@typescript-eslint/visitor-keys": { "@typescript-eslint/visitor-keys": {
"version": "5.30.7", "version": "5.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz",
"integrity": "sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw==", "integrity": "sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.30.7", "@typescript-eslint/types": "5.31.0",
"eslint-visitor-keys": "^3.3.0" "eslint-visitor-keys": "^3.3.0"
} }
}, },
@@ -8482,14 +8365,14 @@
} }
}, },
"browserslist": { "browserslist": {
"version": "4.21.2", "version": "4.21.3",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
"integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
"requires": { "requires": {
"caniuse-lite": "^1.0.30001366", "caniuse-lite": "^1.0.30001370",
"electron-to-chromium": "^1.4.188", "electron-to-chromium": "^1.4.202",
"node-releases": "^2.0.6", "node-releases": "^2.0.6",
"update-browserslist-db": "^1.0.4" "update-browserslist-db": "^1.0.5"
} }
}, },
"bs-logger": { "bs-logger": {
@@ -8538,9 +8421,9 @@
"dev": true "dev": true
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001368", "version": "1.0.30001373",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001368.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz",
"integrity": "sha512-wgfRYa9DenEomLG/SdWgQxpIyvdtH3NW8Vq+tB6AwR9e56iOIcu1im5F/wNdDf04XlKHXqIx4N8Jo0PemeBenQ==" "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ=="
}, },
"chalk": { "chalk": {
"version": "4.1.2", "version": "4.1.2",
@@ -8729,9 +8612,9 @@
} }
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.4.198", "version": "1.4.206",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.198.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.206.tgz",
"integrity": "sha512-jwqQPdKGeAslcq8L+1SZZgL6uDiIDmTe9Gq4brsdWAH27y7MJ2g9Ue6MyST3ogmSM49EAQP7bype1V5hsuNrmQ==" "integrity": "sha512-h+Fadt1gIaQ06JaIiyqPsBjJ08fV5Q7md+V8bUvQW/9OvXfL2LRICTz2EcnnCP7QzrFTS6/27MRV6Bl9Yn97zA=="
}, },
"emittery": { "emittery": {
"version": "0.10.2", "version": "0.10.2",
@@ -8740,9 +8623,9 @@
"dev": true "dev": true
}, },
"emoji-regex": { "emoji-regex": {
"version": "8.0.0", "version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"dev": true "dev": true
}, },
"enhanced-resolve": { "enhanced-resolve": {
@@ -9068,12 +8951,6 @@
"semver": "^6.3.0" "semver": "^6.3.0"
}, },
"dependencies": { "dependencies": {
"emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"dev": true
},
"semver": { "semver": {
"version": "6.3.0", "version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -11061,6 +10938,14 @@
"emoji-regex": "^8.0.0", "emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0", "is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.1" "strip-ansi": "^6.0.1"
},
"dependencies": {
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
}
} }
}, },
"string.prototype.trimend": { "string.prototype.trimend": {
+1 -1
View File
@@ -44,7 +44,7 @@
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^28.1.6", "@types/jest": "^28.1.6",
"@types/node": "^18.6.1", "@types/node": "^18.6.2",
"@typescript-eslint/parser": "^5.31.0", "@typescript-eslint/parser": "^5.31.0",
"@vercel/ncc": "^0.34.0", "@vercel/ncc": "^0.34.0",
"eslint": "^8.20.0", "eslint": "^8.20.0",
+2 -1
View File
@@ -40,11 +40,12 @@ export interface Transformer extends Regex {
export interface Extractor extends Transformer { export interface Extractor extends Transformer {
on_property?: on_property?:
| ('title' | 'author' | 'milestone' | 'body')[] | ('title' | 'author' | 'milestone' | 'body' | 'branch')[]
| 'title' | 'title'
| 'author' | 'author'
| 'milestone' | 'milestone'
| 'body' | 'body'
| 'branch'
| undefined // retrieve the property to extract the value from | undefined // retrieve the property to extract the value from
method?: 'replace' | 'match' | undefined // the method to use to extract the value, `match` will not use the `target` property method?: 'replace' | 'match' | undefined // the method to use to extract the value, `match` will not use the `target` property
on_empty?: string | undefined // in case the regex results in an empty string, this value is gonna be used instead (only for label_extractor currently) on_empty?: string | undefined // in case the regex results in an empty string, this value is gonna be used instead (only for label_extractor currently)
+12 -4
View File
@@ -1,11 +1,13 @@
import * as core from '@actions/core' import * as core from '@actions/core'
import * as github from '@actions/github' import * as github from '@actions/github'
import { import {
parseConfiguration,
resolveConfiguration, resolveConfiguration,
retrieveRepositoryPath, retrieveRepositoryPath,
writeOutput writeOutput
} from './utils' } from './utils'
import {ReleaseNotesBuilder} from './releaseNotesBuilder' import {ReleaseNotesBuilder} from './releaseNotesBuilder'
import {Configuration} from './configuration'
async function run(): Promise<void> { async function run(): Promise<void> {
core.setOutput('failed', false) // mark the action not failed by default core.setOutput('failed', false) // mark the action not failed by default
@@ -17,11 +19,17 @@ async function run(): Promise<void> {
const repositoryPath = retrieveRepositoryPath(inputPath) const repositoryPath = retrieveRepositoryPath(inputPath)
// read in configuration file if possible // read in configuration file if possible
let configuration: Configuration | undefined = undefined
const configurationJson: string = core.getInput('configurationJson', {
trimWhitespace: true
})
if (configurationJson) {
configuration = parseConfiguration(configurationJson)
}
if (!configuration) {
const configurationFile: string = core.getInput('configuration') const configurationFile: string = core.getInput('configuration')
const configuration = resolveConfiguration( configuration = resolveConfiguration(repositoryPath, configurationFile)
repositoryPath, }
configurationFile
)
// read in repository inputs // read in repository inputs
const baseUrl = core.getInput('baseUrl') const baseUrl = core.getInput('baseUrl')
+2
View File
@@ -9,6 +9,7 @@ export interface PullRequestInfo {
title: string title: string
htmlURL: string htmlURL: string
baseBranch: string baseBranch: string
branch?: string
createdAt: moment.Moment createdAt: moment.Moment
mergedAt: moment.Moment | null mergedAt: moment.Moment | null
mergeCommitSha: string mergeCommitSha: string
@@ -227,6 +228,7 @@ const mapPullRequest = (
title: pr.title, title: pr.title,
htmlURL: pr.html_url, htmlURL: pr.html_url,
baseBranch: pr.base.ref, baseBranch: pr.base.ref,
branch: pr.head.ref,
createdAt: moment(pr.created_at), createdAt: moment(pr.created_at),
mergedAt: pr.merged_at ? moment(pr.merged_at) : null, mergedAt: pr.merged_at ? moment(pr.merged_at) : null,
mergeCommitSha: pr.merge_commit_sha || '', mergeCommitSha: pr.merge_commit_sha || '',
+12 -4
View File
@@ -462,12 +462,18 @@ function extractValues(
if (extractor.onProperty !== undefined) { if (extractor.onProperty !== undefined) {
let results: string[] = [] let results: string[] = []
const list: ('title' | 'author' | 'milestone' | 'body' | 'status')[] = const list: (
extractor.onProperty | 'title'
| 'author'
| 'milestone'
| 'body'
| 'status'
| 'branch'
)[] = extractor.onProperty
// eslint-disable-next-line @typescript-eslint/prefer-for-of // eslint-disable-next-line @typescript-eslint/prefer-for-of
for (let i = 0; i < list.length; i++) { for (let i = 0; i < list.length; i++) {
const prop = list[i] const prop = list[i]
let value: string = pr[prop] let value: string | undefined = pr[prop]
if (value === undefined) { if (value === undefined) {
core.warning( core.warning(
`⚠️ the provided property '${extractor.onProperty}' for \`${extractor_usecase}\` is not valid` `⚠️ the provided property '${extractor.onProperty}' for \`${extractor_usecase}\` is not valid`
@@ -514,7 +520,9 @@ function extractValuesFromString(
export interface RegexTransformer { export interface RegexTransformer {
pattern: RegExp | null pattern: RegExp | null
target: string target: string
onProperty?: ('title' | 'author' | 'milestone' | 'body')[] | undefined onProperty?:
| ('title' | 'author' | 'milestone' | 'body' | 'status' | 'branch')[]
| undefined
method?: 'replace' | 'match' | undefined method?: 'replace' | 'match' | undefined
onEmpty?: string | undefined onEmpty?: string | undefined
} }
+17 -6
View File
@@ -67,24 +67,35 @@ export function resolveConfiguration(
/** /**
* Reads in the configuration from the JSON file * Reads in the configuration from the JSON file
*/ */
function readConfiguration(filename: string): Configuration | null { function readConfiguration(filename: string): Configuration | undefined {
let rawdata: string
try { try {
rawdata = fs.readFileSync(filename, 'utf8') const rawdata = fs.readFileSync(filename, 'utf8')
if (rawdata) {
return parseConfiguration(rawdata)
}
} catch (error) { } catch (error) {
core.debug(`Failed to load configuration due to: ${error}`)
}
core.info( core.info(
`⚠️ Configuration provided, but it couldn't be found. Fallback to Defaults.` `⚠️ Configuration provided, but it couldn't be found. Fallback to Defaults.`
) )
return null return undefined
} }
/**
* Parses the configuration from the JSON file
*/
export function parseConfiguration(config: string): Configuration | undefined {
try { try {
const configurationJSON: Configuration = JSON.parse(rawdata) // for compatiblity with the `yml` file we require to use `#{{}}` instead of `${{}}` - replace it here.
const configurationJSON: Configuration = JSON.parse(
config.replace(/#{{/g, '${{')
)
return configurationJSON return configurationJSON
} catch (error) { } catch (error) {
core.info( core.info(
`⚠️ Configuration provided, but it couldn't be parsed. Fallback to Defaults.` `⚠️ Configuration provided, but it couldn't be parsed. Fallback to Defaults.`
) )
return null return undefined
} }
} }