Merge pull request #237 from mikepenz/develop

dev -> main
This commit is contained in:
Mike Penz
2021-03-16 15:58:08 +01:00
committed by GitHub
10 changed files with 297 additions and 197 deletions
+12 -4
View File
@@ -37,7 +37,9 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Echo Configuration without Checkout Changelog - name: Echo Configuration without Checkout Changelog
run: echo "${{steps.without_checkout.outputs.changelog}}" env:
CHANGELOG: ${{ steps.without_checkout.outputs.changelog }}
run: echo "CHANGELOG"
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@@ -52,7 +54,9 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Echo Minimal Configuration Changelog - name: Echo Minimal Configuration Changelog
run: echo "${{steps.minimal_release.outputs.changelog}}" env:
CHANGELOG: ${{ steps.minimal_release.outputs.changelog }}
run: echo "$CHANGELOG"
# Showcases a more complex configuration, providing a configuration, and specifically referencing owner, repo, from and to tag # Showcases a more complex configuration, providing a configuration, and specifically referencing owner, repo, from and to tag
- name: "Complex Configuration" - name: "Complex Configuration"
@@ -67,7 +71,9 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
- name: Echo Complex Configuration Changelog - name: Echo Complex Configuration Changelog
run: echo "${{steps.complex_release.outputs.changelog}}" env:
CHANGELOG: ${{ steps.complex_release.outputs.changelog }}
run: echo "CHANGELOG"
# Showcases the capability to generate the changelog for an external repository provided # Showcases the capability to generate the changelog for an external repository provided
- name: "External Repo Configuration" - name: "External Repo Configuration"
@@ -82,7 +88,9 @@ jobs:
token: ${{ secrets.PERSONAL_TOKEN }} token: ${{ secrets.PERSONAL_TOKEN }}
- name: Echo External Repo Configuration Changelog - name: Echo External Repo Configuration Changelog
run: echo "${{steps.external_changelog.outputs.changelog}}" env:
CHANGELOG: ${{ steps.external_changelog.outputs.changelog }}
run: echo "$CHANGELOG"
release: release:
if: startsWith(github.ref, 'refs/tags/') if: startsWith(github.ref, 'refs/tags/')
+1 -1
View File
@@ -105,7 +105,7 @@ jobs:
steps: steps:
- name: Build Changelog - name: Build Changelog
id: github_release id: github_release
uses: mikepenz/release-changelog-builder-action@main uses: mikepenz/release-changelog-builder-action@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+35
View File
@@ -81,6 +81,41 @@ nhoelzl
`) `)
}) })
it('Should match generated changelog and replace all occurrences (refs)', async () => {
const configuration = resolveConfiguration(
'',
'configs_test/configuration_replace_all_placeholders.json'
)
const releaseNotes = new ReleaseNotes(octokit, {
owner: 'mikepenz',
repo: 'release-changelog-builder-action',
fromTag: '5ec7a2d86fe9f43fdd38d5e254a1117c8a51b4c3',
toTag: 'fa3788c8c4b3373ef8424ce3eb008a5cd07cc5aa',
failOnError: false,
commitMode: false,
configuration: configuration
})
const changeLog = await releaseNotes.pull()
console.log(changeLog)
expect(changeLog).toStrictEqual(`## 🧪 Tests
[CI] Specify Test Case
[CI] Specify Test Case
10
https://github.com/mikepenz/release-changelog-builder-action/pull/10
2020-10-16T13:59:36.000Z
mikepenz
mikepenz
test
1.0.0
- specify test case
mikepenz, nhoelzl
nhoelzl
`)
})
it('Should match ordered ASC', async () => { it('Should match ordered ASC', async () => {
const configuration = resolveConfiguration( const configuration = resolveConfiguration(
'', '',
@@ -0,0 +1,3 @@
{
"pr_template": "${{TITLE}}\n${{TITLE}}\n${{NUMBER}}\n${{URL}}\n${{MERGED_AT}}\n${{AUTHOR}}\n${{AUTHOR}}\n${{LABELS}}\n${{MILESTONE}}\n${{BODY}}\n${{ASSIGNEES}}\n${{REVIEWERS}}"
}
Generated Vendored
+23 -23
View File
@@ -504,7 +504,7 @@ class PullRequests {
(firstPR.merged_at && fromDate.isAfter(moment_1.default(firstPR.merged_at))) || (firstPR.merged_at && fromDate.isAfter(moment_1.default(firstPR.merged_at))) ||
mergedPRs.length >= maxPullRequests) { mergedPRs.length >= maxPullRequests) {
if (mergedPRs.length >= maxPullRequests) { if (mergedPRs.length >= maxPullRequests) {
core.info(`⚠️ Reached 'maxPullRequests' count ${maxPullRequests}`); core.warning(`⚠️ Reached 'maxPullRequests' count ${maxPullRequests}`);
} }
// bail out early to not keep iterating on PRs super old // bail out early to not keep iterating on PRs super old
return sortPullRequests(mergedPRs, true); return sortPullRequests(mergedPRs, true);
@@ -1163,13 +1163,13 @@ function buildChangelog(prs, config, options) {
core.info(`✒️ Wrote ${ignoredPrs.length} ignored pull requests down`); core.info(`✒️ Wrote ${ignoredPrs.length} ignored pull requests down`);
// fill template // fill template
let transformedChangelog = config.template || configuration_1.DefaultConfiguration.template; let transformedChangelog = config.template || configuration_1.DefaultConfiguration.template;
transformedChangelog = transformedChangelog.replace('${{CHANGELOG}}', changelog); transformedChangelog = transformedChangelog.replace(/\${{CHANGELOG}}/g, changelog);
transformedChangelog = transformedChangelog.replace('${{UNCATEGORIZED}}', changelogUncategorized); transformedChangelog = transformedChangelog.replace(/\${{UNCATEGORIZED}}/g, changelogUncategorized);
transformedChangelog = transformedChangelog.replace('${{IGNORED}}', changelogIgnored); transformedChangelog = transformedChangelog.replace(/\${{IGNORED}}/g, changelogIgnored);
// fill other placeholders // fill other placeholders
transformedChangelog = transformedChangelog.replace('${{CATEGORIZED_COUNT}}', categorizedPrs.length.toString()); transformedChangelog = transformedChangelog.replace(/\${{CATEGORIZED_COUNT}}/g, categorizedPrs.length.toString());
transformedChangelog = transformedChangelog.replace('${{UNCATEGORIZED_COUNT}}', uncategorizedPrs.length.toString()); transformedChangelog = transformedChangelog.replace(/\${{UNCATEGORIZED_COUNT}}/g, uncategorizedPrs.length.toString());
transformedChangelog = transformedChangelog.replace('${{IGNORED_COUNT}}', ignoredPrs.length.toString()); transformedChangelog = transformedChangelog.replace(/\${{IGNORED_COUNT}}/g, ignoredPrs.length.toString());
transformedChangelog = fillAdditionalPlaceholders(transformedChangelog, options); transformedChangelog = fillAdditionalPlaceholders(transformedChangelog, options);
core.info(`️ Filled template`); core.info(`️ Filled template`);
return transformedChangelog; return transformedChangelog;
@@ -1177,10 +1177,10 @@ function buildChangelog(prs, config, options) {
exports.buildChangelog = buildChangelog; exports.buildChangelog = buildChangelog;
function fillAdditionalPlaceholders(text, options) { function fillAdditionalPlaceholders(text, options) {
let transformed = text; let transformed = text;
transformed = transformed.replace('${{OWNER}}', options.owner); transformed = transformed.replace(/\${{OWNER}}/g, options.owner);
transformed = transformed.replace('${{REPO}}', options.repo); transformed = transformed.replace(/\${{REPO}}/g, options.repo);
transformed = transformed.replace('${{FROM_TAG}}', options.fromTag); transformed = transformed.replace(/\${{FROM_TAG}}/g, options.fromTag);
transformed = transformed.replace('${{TO_TAG}}', options.toTag); transformed = transformed.replace(/\${{TO_TAG}}/g, options.toTag);
return transformed; return transformed;
} }
exports.fillAdditionalPlaceholders = fillAdditionalPlaceholders; exports.fillAdditionalPlaceholders = fillAdditionalPlaceholders;
@@ -1190,16 +1190,16 @@ function haveCommonElements(arr1, arr2) {
function fillTemplate(pr, template) { function fillTemplate(pr, template) {
var _a, _b, _c; var _a, _b, _c;
let transformed = template; let transformed = template;
transformed = transformed.replace('${{NUMBER}}', pr.number.toString()); transformed = transformed.replace(/\${{NUMBER}}/g, pr.number.toString());
transformed = transformed.replace('${{TITLE}}', pr.title); transformed = transformed.replace(/\${{TITLE}}/g, pr.title);
transformed = transformed.replace('${{URL}}', pr.htmlURL); transformed = transformed.replace(/\${{URL}}/g, pr.htmlURL);
transformed = transformed.replace('${{MERGED_AT}}', pr.mergedAt.toISOString()); transformed = transformed.replace(/\${{MERGED_AT}}/g, pr.mergedAt.toISOString());
transformed = transformed.replace('${{AUTHOR}}', pr.author); transformed = transformed.replace(/\${{AUTHOR}}/g, pr.author);
transformed = transformed.replace('${{LABELS}}', ((_a = pr.labels) === null || _a === void 0 ? void 0 : _a.join(', ')) || ''); transformed = transformed.replace(/\${{LABELS}}/g, ((_a = pr.labels) === null || _a === void 0 ? void 0 : _a.join(', ')) || '');
transformed = transformed.replace('${{MILESTONE}}', pr.milestone || ''); transformed = transformed.replace(/\${{MILESTONE}}/g, pr.milestone || '');
transformed = transformed.replace('${{BODY}}', pr.body); transformed = transformed.replace(/\${{BODY}}/g, pr.body);
transformed = transformed.replace('${{ASSIGNEES}}', ((_b = pr.assignees) === null || _b === void 0 ? void 0 : _b.join(', ')) || ''); transformed = transformed.replace(/\${{ASSIGNEES}}/g, ((_b = pr.assignees) === null || _b === void 0 ? void 0 : _b.join(', ')) || '');
transformed = transformed.replace('${{REVIEWERS}}', ((_c = pr.requestedReviewers) === null || _c === void 0 ? void 0 : _c.join(', ')) || ''); transformed = transformed.replace(/\${{REVIEWERS}}/g, ((_c = pr.requestedReviewers) === null || _c === void 0 ? void 0 : _c.join(', ')) || '');
return transformed; return transformed;
} }
function transform(filled, transformers) { function transform(filled, transformers) {
@@ -5774,7 +5774,7 @@ const Endpoints = {
} }
}; };
const VERSION = "4.13.2"; const VERSION = "4.13.5";
function endpointsToMethods(octokit, endpointsMap) { function endpointsToMethods(octokit, endpointsMap) {
const newMethods = {}; const newMethods = {};
@@ -6100,7 +6100,7 @@ var pluginRequestLog = __nccwpck_require__(8883);
var pluginPaginateRest = __nccwpck_require__(4193); var pluginPaginateRest = __nccwpck_require__(4193);
var pluginRestEndpointMethods = __nccwpck_require__(3044); var pluginRestEndpointMethods = __nccwpck_require__(3044);
const VERSION = "18.3.2"; const VERSION = "18.3.5";
const Octokit = core.Octokit.plugin(pluginRequestLog.requestLog, pluginRestEndpointMethods.restEndpointMethods, pluginPaginateRest.paginateRest).defaults({ const Octokit = core.Octokit.plugin(pluginRequestLog.requestLog, pluginRestEndpointMethods.restEndpointMethods, pluginPaginateRest.paginateRest).defaults({
userAgent: `octokit-rest.js/${VERSION}` userAgent: `octokit-rest.js/${VERSION}`
Generated Vendored
+1 -1
View File
File diff suppressed because one or more lines are too long
+179 -131
View File
@@ -11,25 +11,25 @@
"@actions/core": "^1.2.6", "@actions/core": "^1.2.6",
"@actions/exec": "^1.0.4", "@actions/exec": "^1.0.4",
"@actions/github": "^4.0.0", "@actions/github": "^4.0.0",
"@octokit/rest": "^18.3.2", "@octokit/rest": "^18.3.5",
"@types/semver": "^7.3.4", "@types/semver": "^7.3.4",
"moment": "^2.29.1", "moment": "^2.29.1",
"semver": "^7.3.4" "semver": "^7.3.4"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^26.0.19", "@types/jest": "^26.0.19",
"@types/node": "^14.14.31", "@types/node": "^14.14.35",
"@typescript-eslint/parser": "^4.16.1", "@typescript-eslint/parser": "^4.18.0",
"@vercel/ncc": "^0.27.0", "@vercel/ncc": "^0.27.0",
"eslint": "^7.21.0", "eslint": "^7.22.0",
"eslint-plugin-github": "^4.1.1", "eslint-plugin-github": "^4.1.2",
"eslint-plugin-jest": "^24.1.5", "eslint-plugin-jest": "^24.3.1",
"jest": "^26.6.3", "jest": "^26.6.3",
"jest-circus": "^26.6.3", "jest-circus": "^26.6.3",
"js-yaml": "^4.0.0", "js-yaml": "^4.0.0",
"prettier": "2.2.1", "prettier": "2.2.1",
"ts-jest": "^26.5.3", "ts-jest": "^26.5.3",
"typescript": "^4.2.2" "typescript": "^4.2.3"
} }
}, },
"node_modules/@actions/core": { "node_modules/@actions/core": {
@@ -991,9 +991,9 @@
} }
}, },
"node_modules/@octokit/openapi-types": { "node_modules/@octokit/openapi-types": {
"version": "5.2.2", "version": "5.3.2",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-5.2.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-5.3.2.tgz",
"integrity": "sha512-b3nHy/0uufJJsaZERwZM0syLRO6gfr6vvBPLewQxBKzzbhGDx1ygTyoELMNADD7mIPPzGMqbfdCeJTSeZueZwA==" "integrity": "sha512-NxF1yfYOUO92rCx3dwvA2onF30Vdlg7YUkMVXkeptqpzA3tRLplThhFleV/UKWFgh7rpKu1yYRbvNDUtzSopKA=="
}, },
"node_modules/@octokit/plugin-paginate-rest": { "node_modules/@octokit/plugin-paginate-rest": {
"version": "2.9.1", "version": "2.9.1",
@@ -1015,11 +1015,11 @@
} }
}, },
"node_modules/@octokit/plugin-rest-endpoint-methods": { "node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "4.13.2", "version": "4.13.5",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.13.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.13.5.tgz",
"integrity": "sha512-pnn0lGE05nqZ+EZuZgJBffJ4QRAlrlvg3LBFjCKHqUUWCI3PMqZ8kPJOxFj0R3B3D5hoGambtEIpCnaRD6nRJw==", "integrity": "sha512-kYKcWkFm4Ldk8bZai2RVEP1z97k1C/Ay2FN9FNTBg7JIyKoiiJjks4OtT6cuKeZX39tqa+C3J9xeYc6G+6g8uQ==",
"dependencies": { "dependencies": {
"@octokit/types": "^6.11.2", "@octokit/types": "^6.12.2",
"deprecation": "^2.3.1" "deprecation": "^2.3.1"
}, },
"peerDependencies": { "peerDependencies": {
@@ -1052,22 +1052,22 @@
} }
}, },
"node_modules/@octokit/rest": { "node_modules/@octokit/rest": {
"version": "18.3.2", "version": "18.3.5",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.3.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.3.5.tgz",
"integrity": "sha512-TSTI47/jLqdq8qvc/a/P/VApBal7QHeISPZ8a1v7ma8NN/YdU5HRTSCb15+IvzUeuM7Iagp0aG+ypvQXJgmgQw==", "integrity": "sha512-ZPeRms3WhWxQBEvoIh0zzf8xdU2FX0Capa7+lTca8YHmRsO3QNJzf1H3PcuKKsfgp91/xVDRtX91sTe1kexlbw==",
"dependencies": { "dependencies": {
"@octokit/core": "^3.2.3", "@octokit/core": "^3.2.3",
"@octokit/plugin-paginate-rest": "^2.6.2", "@octokit/plugin-paginate-rest": "^2.6.2",
"@octokit/plugin-request-log": "^1.0.2", "@octokit/plugin-request-log": "^1.0.2",
"@octokit/plugin-rest-endpoint-methods": "4.13.2" "@octokit/plugin-rest-endpoint-methods": "4.13.5"
} }
}, },
"node_modules/@octokit/types": { "node_modules/@octokit/types": {
"version": "6.11.2", "version": "6.12.2",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.11.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.12.2.tgz",
"integrity": "sha512-EKQRFZU/oOfUlqk9ntLIE5UO/bcOx8exFpdXGBciJP90f05me3mza0sacIpqVqmiIQP3nJsBjnZHMmtijE5XwQ==", "integrity": "sha512-kCkiN8scbCmSq+gwdJV0iLgHc0O/GTPY1/cffo9kECu1MvatLPh9E+qFhfRIktKfHEA6ZYvv6S1B4Wnv3bi3pA==",
"dependencies": { "dependencies": {
"@octokit/openapi-types": "^5.2.2" "@octokit/openapi-types": "^5.3.2"
} }
}, },
"node_modules/@sinonjs/commons": { "node_modules/@sinonjs/commons": {
@@ -1185,9 +1185,9 @@
"dev": true "dev": true
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "14.14.31", "version": "14.14.35",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz",
"integrity": "sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==", "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==",
"dev": true "dev": true
}, },
"node_modules/@types/normalize-package-data": { "node_modules/@types/normalize-package-data": {
@@ -1285,14 +1285,14 @@
} }
}, },
"node_modules/@typescript-eslint/parser": { "node_modules/@typescript-eslint/parser": {
"version": "4.16.1", "version": "4.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.18.0.tgz",
"integrity": "sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg==", "integrity": "sha512-W3z5S0ZbecwX3PhJEAnq4mnjK5JJXvXUDBYIYGoweCyWyuvAKfGHvzmpUzgB5L4cRBb+cTu9U/ro66dx7dIimA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/scope-manager": "4.16.1", "@typescript-eslint/scope-manager": "4.18.0",
"@typescript-eslint/types": "4.16.1", "@typescript-eslint/types": "4.18.0",
"@typescript-eslint/typescript-estree": "4.16.1", "@typescript-eslint/typescript-estree": "4.18.0",
"debug": "^4.1.1" "debug": "^4.1.1"
}, },
"engines": { "engines": {
@@ -1312,13 +1312,13 @@
} }
}, },
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
"version": "4.16.1", "version": "4.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.18.0.tgz",
"integrity": "sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw==", "integrity": "sha512-olX4yN6rvHR2eyFOcb6E4vmhDPsfdMyfQ3qR+oQNkAv8emKKlfxTWUXU5Mqxs2Fwe3Pf1BoPvrwZtwngxDzYzQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "4.16.1", "@typescript-eslint/types": "4.18.0",
"@typescript-eslint/visitor-keys": "4.16.1" "@typescript-eslint/visitor-keys": "4.18.0"
}, },
"engines": { "engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1" "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
@@ -1329,9 +1329,9 @@
} }
}, },
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
"version": "4.16.1", "version": "4.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.18.0.tgz",
"integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", "integrity": "sha512-/BRociARpj5E+9yQ7cwCF/SNOWwXJ3qhjurMuK2hIFUbr9vTuDeu476Zpu+ptxY2kSxUHDGLLKy+qGq2sOg37A==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1" "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
@@ -1342,13 +1342,13 @@
} }
}, },
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
"version": "4.16.1", "version": "4.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.18.0.tgz",
"integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==", "integrity": "sha512-wt4xvF6vvJI7epz+rEqxmoNQ4ZADArGQO9gDU+cM0U5fdVv7N+IAuVoVAoZSOZxzGHBfvE3XQMLdy+scsqFfeg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "4.16.1", "@typescript-eslint/types": "4.18.0",
"@typescript-eslint/visitor-keys": "4.16.1", "@typescript-eslint/visitor-keys": "4.18.0",
"debug": "^4.1.1", "debug": "^4.1.1",
"globby": "^11.0.1", "globby": "^11.0.1",
"is-glob": "^4.0.1", "is-glob": "^4.0.1",
@@ -1369,12 +1369,12 @@
} }
}, },
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
"version": "4.16.1", "version": "4.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.18.0.tgz",
"integrity": "sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w==", "integrity": "sha512-Q9t90JCvfYaN0OfFUgaLqByOfz8yPeTAdotn/XYNm5q9eHax90gzdb+RJ6E9T5s97Kv/UHWKERTmqA0jTKAEHw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "4.16.1", "@typescript-eslint/types": "4.18.0",
"eslint-visitor-keys": "^2.0.0" "eslint-visitor-keys": "^2.0.0"
}, },
"engines": { "engines": {
@@ -2689,9 +2689,9 @@
} }
}, },
"node_modules/eslint": { "node_modules/eslint": {
"version": "7.21.0", "version": "7.22.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-7.21.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.22.0.tgz",
"integrity": "sha512-W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg==", "integrity": "sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/code-frame": "7.12.11", "@babel/code-frame": "7.12.11",
@@ -2711,7 +2711,7 @@
"file-entry-cache": "^6.0.1", "file-entry-cache": "^6.0.1",
"functional-red-black-tree": "^1.0.1", "functional-red-black-tree": "^1.0.1",
"glob-parent": "^5.0.0", "glob-parent": "^5.0.0",
"globals": "^12.1.0", "globals": "^13.6.0",
"ignore": "^4.0.6", "ignore": "^4.0.6",
"import-fresh": "^3.0.0", "import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4", "imurmurhash": "^0.1.4",
@@ -2719,7 +2719,7 @@
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1", "json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1", "levn": "^0.4.1",
"lodash": "^4.17.20", "lodash": "^4.17.21",
"minimatch": "^3.0.4", "minimatch": "^3.0.4",
"natural-compare": "^1.4.0", "natural-compare": "^1.4.0",
"optionator": "^0.9.1", "optionator": "^0.9.1",
@@ -2743,9 +2743,9 @@
} }
}, },
"node_modules/eslint-config-prettier": { "node_modules/eslint-config-prettier": {
"version": "7.2.0", "version": "8.1.0",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz",
"integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", "integrity": "sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw==",
"dev": true, "dev": true,
"bin": { "bin": {
"eslint-config-prettier": "bin/cli.js" "eslint-config-prettier": "bin/cli.js"
@@ -2836,14 +2836,14 @@
} }
}, },
"node_modules/eslint-plugin-github": { "node_modules/eslint-plugin-github": {
"version": "4.1.1", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.1.1.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.1.2.tgz",
"integrity": "sha512-MzCh4P4zVvR/13AHtumzZ3znq0cbUE7lXehyBEpFURD/EHdx/+7qW+0c+ySTrteImpX9LGLJFTYNtu10BifkbQ==", "integrity": "sha512-ng738ugjNNF0BY4HQ9qo51xxQZZYtdYC//dhis+j8FL9BEsQ6x5BPmMbaKNP7PZ9wBUBTA7U8p4xFxUJlMi/PA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/eslint-plugin": ">=2.25.0", "@typescript-eslint/eslint-plugin": ">=2.25.0",
"@typescript-eslint/parser": ">=2.25.0", "@typescript-eslint/parser": ">=2.25.0",
"eslint-config-prettier": ">=6.10.1", "eslint-config-prettier": ">=8.0.0",
"eslint-plugin-eslint-comments": ">=3.0.1", "eslint-plugin-eslint-comments": ">=3.0.1",
"eslint-plugin-import": ">=2.20.1", "eslint-plugin-import": ">=2.20.1",
"eslint-plugin-prettier": ">=3.1.2", "eslint-plugin-prettier": ">=3.1.2",
@@ -2914,9 +2914,9 @@
"dev": true "dev": true
}, },
"node_modules/eslint-plugin-jest": { "node_modules/eslint-plugin-jest": {
"version": "24.1.5", "version": "24.3.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.1.5.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.3.1.tgz",
"integrity": "sha512-FIP3lwC8EzEG+rOs1y96cOJmMVpdFNreoDJv29B5vIupVssRi8zrSY3QadogT0K3h1Y8TMxJ6ZSAzYUmFCp2hg==", "integrity": "sha512-RQt59rfMSHyvedImT72iaf8JcvCcR4P7Uq499dALtjY8mrCjbwWrFi1UceG4sid2wVIeDi+0tjxXZ8CZEVO7Zw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/experimental-utils": "^4.0.1" "@typescript-eslint/experimental-utils": "^4.0.1"
@@ -2925,7 +2925,13 @@
"node": ">=10" "node": ">=10"
}, },
"peerDependencies": { "peerDependencies": {
"@typescript-eslint/eslint-plugin": ">= 4",
"eslint": ">=5" "eslint": ">=5"
},
"peerDependenciesMeta": {
"@typescript-eslint/eslint-plugin": {
"optional": true
}
} }
}, },
"node_modules/eslint-plugin-prettier": { "node_modules/eslint-plugin-prettier": {
@@ -3013,6 +3019,21 @@
"sprintf-js": "~1.0.2" "sprintf-js": "~1.0.2"
} }
}, },
"node_modules/eslint/node_modules/globals": {
"version": "13.6.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.6.0.tgz",
"integrity": "sha512-YFKCX0SiPg7l5oKYCJ2zZGxcXprVXHcSnVuvzrT3oSENQonVLqM5pf9fN5dLGZGyCjhw8TN8Btwe/jKnZ0pjvQ==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/eslint/node_modules/js-yaml": { "node_modules/eslint/node_modules/js-yaml": {
"version": "3.14.1", "version": "3.14.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
@@ -3026,6 +3047,18 @@
"js-yaml": "bin/js-yaml.js" "js-yaml": "bin/js-yaml.js"
} }
}, },
"node_modules/eslint/node_modules/type-fest": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true,
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/espree": { "node_modules/espree": {
"version": "7.3.1", "version": "7.3.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
@@ -5270,9 +5303,9 @@
} }
}, },
"node_modules/lodash": { "node_modules/lodash": {
"version": "4.17.20", "version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true "dev": true
}, },
"node_modules/lodash.sortby": { "node_modules/lodash.sortby": {
@@ -7949,9 +7982,9 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "4.2.2", "version": "4.2.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz",
"integrity": "sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ==", "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==",
"dev": true, "dev": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
@@ -9177,9 +9210,9 @@
} }
}, },
"@octokit/openapi-types": { "@octokit/openapi-types": {
"version": "5.2.2", "version": "5.3.2",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-5.2.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-5.3.2.tgz",
"integrity": "sha512-b3nHy/0uufJJsaZERwZM0syLRO6gfr6vvBPLewQxBKzzbhGDx1ygTyoELMNADD7mIPPzGMqbfdCeJTSeZueZwA==" "integrity": "sha512-NxF1yfYOUO92rCx3dwvA2onF30Vdlg7YUkMVXkeptqpzA3tRLplThhFleV/UKWFgh7rpKu1yYRbvNDUtzSopKA=="
}, },
"@octokit/plugin-paginate-rest": { "@octokit/plugin-paginate-rest": {
"version": "2.9.1", "version": "2.9.1",
@@ -9196,11 +9229,11 @@
"requires": {} "requires": {}
}, },
"@octokit/plugin-rest-endpoint-methods": { "@octokit/plugin-rest-endpoint-methods": {
"version": "4.13.2", "version": "4.13.5",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.13.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.13.5.tgz",
"integrity": "sha512-pnn0lGE05nqZ+EZuZgJBffJ4QRAlrlvg3LBFjCKHqUUWCI3PMqZ8kPJOxFj0R3B3D5hoGambtEIpCnaRD6nRJw==", "integrity": "sha512-kYKcWkFm4Ldk8bZai2RVEP1z97k1C/Ay2FN9FNTBg7JIyKoiiJjks4OtT6cuKeZX39tqa+C3J9xeYc6G+6g8uQ==",
"requires": { "requires": {
"@octokit/types": "^6.11.2", "@octokit/types": "^6.12.2",
"deprecation": "^2.3.1" "deprecation": "^2.3.1"
} }
}, },
@@ -9230,22 +9263,22 @@
} }
}, },
"@octokit/rest": { "@octokit/rest": {
"version": "18.3.2", "version": "18.3.5",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.3.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.3.5.tgz",
"integrity": "sha512-TSTI47/jLqdq8qvc/a/P/VApBal7QHeISPZ8a1v7ma8NN/YdU5HRTSCb15+IvzUeuM7Iagp0aG+ypvQXJgmgQw==", "integrity": "sha512-ZPeRms3WhWxQBEvoIh0zzf8xdU2FX0Capa7+lTca8YHmRsO3QNJzf1H3PcuKKsfgp91/xVDRtX91sTe1kexlbw==",
"requires": { "requires": {
"@octokit/core": "^3.2.3", "@octokit/core": "^3.2.3",
"@octokit/plugin-paginate-rest": "^2.6.2", "@octokit/plugin-paginate-rest": "^2.6.2",
"@octokit/plugin-request-log": "^1.0.2", "@octokit/plugin-request-log": "^1.0.2",
"@octokit/plugin-rest-endpoint-methods": "4.13.2" "@octokit/plugin-rest-endpoint-methods": "4.13.5"
} }
}, },
"@octokit/types": { "@octokit/types": {
"version": "6.11.2", "version": "6.12.2",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.11.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.12.2.tgz",
"integrity": "sha512-EKQRFZU/oOfUlqk9ntLIE5UO/bcOx8exFpdXGBciJP90f05me3mza0sacIpqVqmiIQP3nJsBjnZHMmtijE5XwQ==", "integrity": "sha512-kCkiN8scbCmSq+gwdJV0iLgHc0O/GTPY1/cffo9kECu1MvatLPh9E+qFhfRIktKfHEA6ZYvv6S1B4Wnv3bi3pA==",
"requires": { "requires": {
"@octokit/openapi-types": "^5.2.2" "@octokit/openapi-types": "^5.3.2"
} }
}, },
"@sinonjs/commons": { "@sinonjs/commons": {
@@ -9363,9 +9396,9 @@
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
"version": "14.14.31", "version": "14.14.35",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz",
"integrity": "sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==", "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==",
"dev": true "dev": true
}, },
"@types/normalize-package-data": { "@types/normalize-package-data": {
@@ -9437,41 +9470,41 @@
} }
}, },
"@typescript-eslint/parser": { "@typescript-eslint/parser": {
"version": "4.16.1", "version": "4.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.18.0.tgz",
"integrity": "sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg==", "integrity": "sha512-W3z5S0ZbecwX3PhJEAnq4mnjK5JJXvXUDBYIYGoweCyWyuvAKfGHvzmpUzgB5L4cRBb+cTu9U/ro66dx7dIimA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/scope-manager": "4.16.1", "@typescript-eslint/scope-manager": "4.18.0",
"@typescript-eslint/types": "4.16.1", "@typescript-eslint/types": "4.18.0",
"@typescript-eslint/typescript-estree": "4.16.1", "@typescript-eslint/typescript-estree": "4.18.0",
"debug": "^4.1.1" "debug": "^4.1.1"
}, },
"dependencies": { "dependencies": {
"@typescript-eslint/scope-manager": { "@typescript-eslint/scope-manager": {
"version": "4.16.1", "version": "4.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.18.0.tgz",
"integrity": "sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw==", "integrity": "sha512-olX4yN6rvHR2eyFOcb6E4vmhDPsfdMyfQ3qR+oQNkAv8emKKlfxTWUXU5Mqxs2Fwe3Pf1BoPvrwZtwngxDzYzQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "4.16.1", "@typescript-eslint/types": "4.18.0",
"@typescript-eslint/visitor-keys": "4.16.1" "@typescript-eslint/visitor-keys": "4.18.0"
} }
}, },
"@typescript-eslint/types": { "@typescript-eslint/types": {
"version": "4.16.1", "version": "4.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.18.0.tgz",
"integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", "integrity": "sha512-/BRociARpj5E+9yQ7cwCF/SNOWwXJ3qhjurMuK2hIFUbr9vTuDeu476Zpu+ptxY2kSxUHDGLLKy+qGq2sOg37A==",
"dev": true "dev": true
}, },
"@typescript-eslint/typescript-estree": { "@typescript-eslint/typescript-estree": {
"version": "4.16.1", "version": "4.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.18.0.tgz",
"integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==", "integrity": "sha512-wt4xvF6vvJI7epz+rEqxmoNQ4ZADArGQO9gDU+cM0U5fdVv7N+IAuVoVAoZSOZxzGHBfvE3XQMLdy+scsqFfeg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "4.16.1", "@typescript-eslint/types": "4.18.0",
"@typescript-eslint/visitor-keys": "4.16.1", "@typescript-eslint/visitor-keys": "4.18.0",
"debug": "^4.1.1", "debug": "^4.1.1",
"globby": "^11.0.1", "globby": "^11.0.1",
"is-glob": "^4.0.1", "is-glob": "^4.0.1",
@@ -9480,12 +9513,12 @@
} }
}, },
"@typescript-eslint/visitor-keys": { "@typescript-eslint/visitor-keys": {
"version": "4.16.1", "version": "4.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.18.0.tgz",
"integrity": "sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w==", "integrity": "sha512-Q9t90JCvfYaN0OfFUgaLqByOfz8yPeTAdotn/XYNm5q9eHax90gzdb+RJ6E9T5s97Kv/UHWKERTmqA0jTKAEHw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "4.16.1", "@typescript-eslint/types": "4.18.0",
"eslint-visitor-keys": "^2.0.0" "eslint-visitor-keys": "^2.0.0"
} }
} }
@@ -10487,9 +10520,9 @@
} }
}, },
"eslint": { "eslint": {
"version": "7.21.0", "version": "7.22.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-7.21.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.22.0.tgz",
"integrity": "sha512-W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg==", "integrity": "sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "7.12.11", "@babel/code-frame": "7.12.11",
@@ -10509,7 +10542,7 @@
"file-entry-cache": "^6.0.1", "file-entry-cache": "^6.0.1",
"functional-red-black-tree": "^1.0.1", "functional-red-black-tree": "^1.0.1",
"glob-parent": "^5.0.0", "glob-parent": "^5.0.0",
"globals": "^12.1.0", "globals": "^13.6.0",
"ignore": "^4.0.6", "ignore": "^4.0.6",
"import-fresh": "^3.0.0", "import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4", "imurmurhash": "^0.1.4",
@@ -10517,7 +10550,7 @@
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1", "json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1", "levn": "^0.4.1",
"lodash": "^4.17.20", "lodash": "^4.17.21",
"minimatch": "^3.0.4", "minimatch": "^3.0.4",
"natural-compare": "^1.4.0", "natural-compare": "^1.4.0",
"optionator": "^0.9.1", "optionator": "^0.9.1",
@@ -10540,6 +10573,15 @@
"sprintf-js": "~1.0.2" "sprintf-js": "~1.0.2"
} }
}, },
"globals": {
"version": "13.6.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.6.0.tgz",
"integrity": "sha512-YFKCX0SiPg7l5oKYCJ2zZGxcXprVXHcSnVuvzrT3oSENQonVLqM5pf9fN5dLGZGyCjhw8TN8Btwe/jKnZ0pjvQ==",
"dev": true,
"requires": {
"type-fest": "^0.20.2"
}
},
"js-yaml": { "js-yaml": {
"version": "3.14.1", "version": "3.14.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
@@ -10549,13 +10591,19 @@
"argparse": "^1.0.7", "argparse": "^1.0.7",
"esprima": "^4.0.0" "esprima": "^4.0.0"
} }
},
"type-fest": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true
} }
} }
}, },
"eslint-config-prettier": { "eslint-config-prettier": {
"version": "7.2.0", "version": "8.1.0",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz",
"integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", "integrity": "sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
@@ -10632,14 +10680,14 @@
} }
}, },
"eslint-plugin-github": { "eslint-plugin-github": {
"version": "4.1.1", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.1.1.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.1.2.tgz",
"integrity": "sha512-MzCh4P4zVvR/13AHtumzZ3znq0cbUE7lXehyBEpFURD/EHdx/+7qW+0c+ySTrteImpX9LGLJFTYNtu10BifkbQ==", "integrity": "sha512-ng738ugjNNF0BY4HQ9qo51xxQZZYtdYC//dhis+j8FL9BEsQ6x5BPmMbaKNP7PZ9wBUBTA7U8p4xFxUJlMi/PA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/eslint-plugin": ">=2.25.0", "@typescript-eslint/eslint-plugin": ">=2.25.0",
"@typescript-eslint/parser": ">=2.25.0", "@typescript-eslint/parser": ">=2.25.0",
"eslint-config-prettier": ">=6.10.1", "eslint-config-prettier": ">=8.0.0",
"eslint-plugin-eslint-comments": ">=3.0.1", "eslint-plugin-eslint-comments": ">=3.0.1",
"eslint-plugin-import": ">=2.20.1", "eslint-plugin-import": ">=2.20.1",
"eslint-plugin-prettier": ">=3.1.2", "eslint-plugin-prettier": ">=3.1.2",
@@ -10697,9 +10745,9 @@
} }
}, },
"eslint-plugin-jest": { "eslint-plugin-jest": {
"version": "24.1.5", "version": "24.3.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.1.5.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.3.1.tgz",
"integrity": "sha512-FIP3lwC8EzEG+rOs1y96cOJmMVpdFNreoDJv29B5vIupVssRi8zrSY3QadogT0K3h1Y8TMxJ6ZSAzYUmFCp2hg==", "integrity": "sha512-RQt59rfMSHyvedImT72iaf8JcvCcR4P7Uq499dALtjY8mrCjbwWrFi1UceG4sid2wVIeDi+0tjxXZ8CZEVO7Zw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/experimental-utils": "^4.0.1" "@typescript-eslint/experimental-utils": "^4.0.1"
@@ -12489,9 +12537,9 @@
} }
}, },
"lodash": { "lodash": {
"version": "4.17.20", "version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true "dev": true
}, },
"lodash.sortby": { "lodash.sortby": {
@@ -14555,9 +14603,9 @@
} }
}, },
"typescript": { "typescript": {
"version": "4.2.2", "version": "4.2.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz",
"integrity": "sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ==", "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==",
"dev": true "dev": true
}, },
"union-value": { "union-value": {
+7 -7
View File
@@ -35,24 +35,24 @@
"@actions/core": "^1.2.6", "@actions/core": "^1.2.6",
"@actions/exec": "^1.0.4", "@actions/exec": "^1.0.4",
"@actions/github": "^4.0.0", "@actions/github": "^4.0.0",
"@octokit/rest": "^18.3.2", "@octokit/rest": "^18.3.5",
"@types/semver": "^7.3.4", "@types/semver": "^7.3.4",
"moment": "^2.29.1", "moment": "^2.29.1",
"semver": "^7.3.4" "semver": "^7.3.4"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^26.0.19", "@types/jest": "^26.0.19",
"@types/node": "^14.14.31", "@types/node": "^14.14.35",
"@typescript-eslint/parser": "^4.16.1", "@typescript-eslint/parser": "^4.18.0",
"@vercel/ncc": "^0.27.0", "@vercel/ncc": "^0.27.0",
"eslint": "^7.21.0", "eslint": "^7.22.0",
"eslint-plugin-github": "^4.1.1", "eslint-plugin-github": "^4.1.2",
"eslint-plugin-jest": "^24.1.5", "eslint-plugin-jest": "^24.3.1",
"jest": "^26.6.3", "jest": "^26.6.3",
"jest-circus": "^26.6.3", "jest-circus": "^26.6.3",
"js-yaml": "^4.0.0", "js-yaml": "^4.0.0",
"prettier": "2.2.1", "prettier": "2.2.1",
"ts-jest": "^26.5.3", "ts-jest": "^26.5.3",
"typescript": "^4.2.2" "typescript": "^4.2.3"
} }
} }
+1 -1
View File
@@ -118,7 +118,7 @@ export class PullRequests {
mergedPRs.length >= maxPullRequests mergedPRs.length >= maxPullRequests
) { ) {
if (mergedPRs.length >= maxPullRequests) { if (mergedPRs.length >= maxPullRequests) {
core.info(`⚠️ Reached 'maxPullRequests' count ${maxPullRequests}`) core.warning(`⚠️ Reached 'maxPullRequests' count ${maxPullRequests}`)
} }
// bail out early to not keep iterating on PRs super old // bail out early to not keep iterating on PRs super old
+26 -20
View File
@@ -143,29 +143,29 @@ export function buildChangelog(
// fill template // fill template
let transformedChangelog = config.template || DefaultConfiguration.template let transformedChangelog = config.template || DefaultConfiguration.template
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{CHANGELOG}}', /\${{CHANGELOG}}/g,
changelog changelog
) )
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{UNCATEGORIZED}}', /\${{UNCATEGORIZED}}/g,
changelogUncategorized changelogUncategorized
) )
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{IGNORED}}', /\${{IGNORED}}/g,
changelogIgnored changelogIgnored
) )
// fill other placeholders // fill other placeholders
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{CATEGORIZED_COUNT}}', /\${{CATEGORIZED_COUNT}}/g,
categorizedPrs.length.toString() categorizedPrs.length.toString()
) )
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{UNCATEGORIZED_COUNT}}', /\${{UNCATEGORIZED_COUNT}}/g,
uncategorizedPrs.length.toString() uncategorizedPrs.length.toString()
) )
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{IGNORED_COUNT}}', /\${{IGNORED_COUNT}}/g,
ignoredPrs.length.toString() ignoredPrs.length.toString()
) )
transformedChangelog = fillAdditionalPlaceholders( transformedChangelog = fillAdditionalPlaceholders(
@@ -182,10 +182,10 @@ export function fillAdditionalPlaceholders(
options: ReleaseNotesOptions options: ReleaseNotesOptions
): string { ): string {
let transformed = text let transformed = text
transformed = transformed.replace('${{OWNER}}', options.owner) transformed = transformed.replace(/\${{OWNER}}/g, options.owner)
transformed = transformed.replace('${{REPO}}', options.repo) transformed = transformed.replace(/\${{REPO}}/g, options.repo)
transformed = transformed.replace('${{FROM_TAG}}', options.fromTag) transformed = transformed.replace(/\${{FROM_TAG}}/g, options.fromTag)
transformed = transformed.replace('${{TO_TAG}}', options.toTag) transformed = transformed.replace(/\${{TO_TAG}}/g, options.toTag)
return transformed return transformed
} }
@@ -195,20 +195,26 @@ function haveCommonElements(arr1: string[], arr2: string[]): Boolean {
function fillTemplate(pr: PullRequestInfo, template: string): string { function fillTemplate(pr: PullRequestInfo, template: string): string {
let transformed = template let transformed = template
transformed = transformed.replace('${{NUMBER}}', pr.number.toString()) transformed = transformed.replace(/\${{NUMBER}}/g, pr.number.toString())
transformed = transformed.replace('${{TITLE}}', pr.title) transformed = transformed.replace(/\${{TITLE}}/g, pr.title)
transformed = transformed.replace('${{URL}}', pr.htmlURL) transformed = transformed.replace(/\${{URL}}/g, pr.htmlURL)
transformed = transformed.replace('${{MERGED_AT}}', pr.mergedAt.toISOString())
transformed = transformed.replace('${{AUTHOR}}', pr.author)
transformed = transformed.replace('${{LABELS}}', pr.labels?.join(', ') || '')
transformed = transformed.replace('${{MILESTONE}}', pr.milestone || '')
transformed = transformed.replace('${{BODY}}', pr.body)
transformed = transformed.replace( transformed = transformed.replace(
'${{ASSIGNEES}}', /\${{MERGED_AT}}/g,
pr.mergedAt.toISOString()
)
transformed = transformed.replace(/\${{AUTHOR}}/g, pr.author)
transformed = transformed.replace(
/\${{LABELS}}/g,
pr.labels?.join(', ') || ''
)
transformed = transformed.replace(/\${{MILESTONE}}/g, pr.milestone || '')
transformed = transformed.replace(/\${{BODY}}/g, pr.body)
transformed = transformed.replace(
/\${{ASSIGNEES}}/g,
pr.assignees?.join(', ') || '' pr.assignees?.join(', ') || ''
) )
transformed = transformed.replace( transformed = transformed.replace(
'${{REVIEWERS}}', /\${{REVIEWERS}}/g,
pr.requestedReviewers?.join(', ') || '' pr.requestedReviewers?.join(', ') || ''
) )
return transformed return transformed