chore: enforce changelog entry on PRs via GitHub Actions (#16199)

This commit is contained in:
Simen Bekkhus
2026-05-19 12:18:07 +02:00
committed by GitHub
parent a5521d3c85
commit a0e743671f
6 changed files with 516 additions and 168 deletions
+41
View File
@@ -0,0 +1,41 @@
name: Check Changelog
on:
pull_request:
types: [opened, synchronize, reopened, labeled, unlabeled]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
jobs:
check-changelog:
name: Check Changelog Entry
runs-on: ubuntu-latest
if: >-
github.event.action != 'labeled' && github.event.action != 'unlabeled' || github.event.label.name == 'require-changelog'
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: lts/*
cache: yarn
- name: install
env:
YARN_ENABLE_SCRIPTS: false
run: yarn --immutable --mode=skip-build
- name: check changelog
if: ${{ !contains(github.event.pull_request.labels.*.name, 'require-changelog') }}
run: yarn check-changelog
- name: check changelog entry
if: ${{ contains(github.event.pull_request.labels.*.name, 'require-changelog') }}
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
run: yarn check-changelog $PR_NUMBER
-2
View File
@@ -85,8 +85,6 @@ jobs:
run: yarn lint
- name: run prettier
run: yarn lint:prettier:ci
- name: check changelog
run: yarn check-changelog
- name: check copyright headers
run: yarn check-copyright-headers
- name: 'Check for unmet constraints (fix w/ "yarn constraints --fix")'
+32
View File
@@ -0,0 +1,32 @@
name: Require Changelog
on:
pull_request_target:
types: [opened, synchronize, reopened]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
jobs:
require-changelog:
name: Require Changelog
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
pull-requests: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Add or remove require-changelog label
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const {default: run} = await import('${{ github.workspace }}/scripts/requireChangelog.mjs')
await run({github, context})
+21 -2
View File
@@ -10,7 +10,9 @@ import fs from 'graceful-fs';
const linkRegex =
/\[#(\d+)]\(https:\/\/github.com\/([^/]+)\/jest\/([^/]+)\/(\d+)\)/g;
const changelogPaths = ['CHANGELOG.md', 'CHANGELOG_PRE_v30.md'];
const mainChangelogPath = 'CHANGELOG.md';
const changelogPaths = [mainChangelogPath, 'CHANGELOG_PRE_v30.md'];
const prNumber = process.argv[2];
const errors = [];
@@ -41,11 +43,28 @@ for (const changelogPath of changelogPaths) {
}
}
if (prNumber != null) {
if (!/^[1-9]\d*$/.test(prNumber)) {
throw new Error(`PR number must be a positive integer, got: ${prNumber}`);
}
const mainChangelog = fs.readFileSync(mainChangelogPath, 'utf8');
const mainSection = mainChangelog
.split(/^## /m)
.find(s => s.startsWith('main\n'));
const expectedLink = `[#${prNumber}](https://github.com/jestjs/jest/pull/${prNumber})`;
if (mainSection == null || !mainSection.includes(expectedLink)) {
errors.push(
`${mainChangelogPath}: missing entry for PR #${prNumber} in "## main" — expected: ${expectedLink}`,
);
}
}
if (errors.length > 0) {
console.error(
`Found ${errors.length} error${
errors.length === 1 ? '' : 's'
} in changelog links:\n`,
} in changelog:\n`,
);
for (const error of errors) {
console.error(error);
+58
View File
@@ -0,0 +1,58 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @param {object} args
* @param {import('@actions/github').getOctokit} args.github
* @param {import('@actions/github').context} args.context
*/
export default async function requireChangelog({github, context}) {
const files = await github.paginate(github.rest.pulls.listFiles, {
owner: context.repo.owner,
pull_number: context.issue.number,
repo: context.repo.repo,
});
const filenames = files.map(f => f.filename);
const needsChangelog =
filenames.some(f => f.startsWith('packages/')) ||
filenames.includes('CHANGELOG.md');
if (needsChangelog) {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
labels: ['require-changelog'],
owner: context.repo.owner,
repo: context.repo.repo,
});
} else {
const hasLabel = context.payload.pull_request.labels.some(
l => l.name === 'require-changelog',
);
if (!hasLabel) return;
const events = await github.paginate(github.rest.issues.listEvents, {
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
});
const lastLabeled = events.findLast(
e => e.event === 'labeled' && e.label.name === 'require-changelog',
);
if (lastLabeled?.actor?.login === 'github-actions[bot]') {
try {
await github.rest.issues.removeLabel({
issue_number: context.issue.number,
name: 'require-changelog',
owner: context.repo.owner,
repo: context.repo.repo,
});
} catch (error) {
if (error.status !== 404) throw error;
}
}
}
}
+364 -164
View File
@@ -5150,6 +5150,13 @@ __metadata:
languageName: node
linkType: hard
"@noble/hashes@npm:1.4.0":
version: 1.4.0
resolution: "@noble/hashes@npm:1.4.0"
checksum: 10/e156e65794c473794c52fa9d06baf1eb20903d0d96719530f523cc4450f6c721a957c544796e6efd0197b2296e7cd70efeb312f861465e17940a3e3c7e0febc6
languageName: node
linkType: hard
"@nodelib/fs.scandir@npm:2.1.5":
version: 2.1.5
resolution: "@nodelib/fs.scandir@npm:2.1.5"
@@ -5596,6 +5603,160 @@ __metadata:
languageName: node
linkType: hard
"@peculiar/asn1-cms@npm:^2.6.0, @peculiar/asn1-cms@npm:^2.7.0":
version: 2.7.0
resolution: "@peculiar/asn1-cms@npm:2.7.0"
dependencies:
"@peculiar/asn1-schema": "npm:^2.7.0"
"@peculiar/asn1-x509": "npm:^2.7.0"
"@peculiar/asn1-x509-attr": "npm:^2.7.0"
asn1js: "npm:^3.0.6"
tslib: "npm:^2.8.1"
checksum: 10/01515f46db97b1d5f8b0d2c181f10571efb91e11e0c034b49121c8f50ff76d6538eba04311d04347f180639a72818f3ac1c96a089eea9a1689e5cc5ee31a4117
languageName: node
linkType: hard
"@peculiar/asn1-csr@npm:^2.6.0":
version: 2.7.0
resolution: "@peculiar/asn1-csr@npm:2.7.0"
dependencies:
"@peculiar/asn1-schema": "npm:^2.7.0"
"@peculiar/asn1-x509": "npm:^2.7.0"
asn1js: "npm:^3.0.6"
tslib: "npm:^2.8.1"
checksum: 10/d966d58d0104a6833b442080ef2663172730fd95928b95c5a84f5b86963eeeaa13435ee8e8d97612a3a1fef532c714b868ceb082a6f253186606efecfaa88a0c
languageName: node
linkType: hard
"@peculiar/asn1-ecc@npm:^2.6.0":
version: 2.7.0
resolution: "@peculiar/asn1-ecc@npm:2.7.0"
dependencies:
"@peculiar/asn1-schema": "npm:^2.7.0"
"@peculiar/asn1-x509": "npm:^2.7.0"
asn1js: "npm:^3.0.6"
tslib: "npm:^2.8.1"
checksum: 10/c30736a867dd6facf7cf5090c9eace582b927c92cbc0dfd8787b3485e3012dc846b608d5d0c3c38df9e621e0c7fbe0bb2b96e7fa34c03b67f4b59fd3d6d4e8f4
languageName: node
linkType: hard
"@peculiar/asn1-pfx@npm:^2.7.0":
version: 2.7.0
resolution: "@peculiar/asn1-pfx@npm:2.7.0"
dependencies:
"@peculiar/asn1-cms": "npm:^2.7.0"
"@peculiar/asn1-pkcs8": "npm:^2.7.0"
"@peculiar/asn1-rsa": "npm:^2.7.0"
"@peculiar/asn1-schema": "npm:^2.7.0"
asn1js: "npm:^3.0.6"
tslib: "npm:^2.8.1"
checksum: 10/ced7e9c4308d427ae9107df654f28b6e28b1bc963b059e1430459c49cee8d8da74338d251ac98d1af5efc98a0ff49fbec9f71073cdbf5e0ee7f93a40ba043f7e
languageName: node
linkType: hard
"@peculiar/asn1-pkcs8@npm:^2.7.0":
version: 2.7.0
resolution: "@peculiar/asn1-pkcs8@npm:2.7.0"
dependencies:
"@peculiar/asn1-schema": "npm:^2.7.0"
"@peculiar/asn1-x509": "npm:^2.7.0"
asn1js: "npm:^3.0.6"
tslib: "npm:^2.8.1"
checksum: 10/9e8049e5fd9e35676c313ff0b88decb767c4d7ff09a0ab098ea1affa4b5076573b4e10fcd7968b1931b921b3107ede521c1b1bf91a1040ce454e6b44f32f3aa8
languageName: node
linkType: hard
"@peculiar/asn1-pkcs9@npm:^2.6.0":
version: 2.7.0
resolution: "@peculiar/asn1-pkcs9@npm:2.7.0"
dependencies:
"@peculiar/asn1-cms": "npm:^2.7.0"
"@peculiar/asn1-pfx": "npm:^2.7.0"
"@peculiar/asn1-pkcs8": "npm:^2.7.0"
"@peculiar/asn1-schema": "npm:^2.7.0"
"@peculiar/asn1-x509": "npm:^2.7.0"
"@peculiar/asn1-x509-attr": "npm:^2.7.0"
asn1js: "npm:^3.0.6"
tslib: "npm:^2.8.1"
checksum: 10/61b55f4b98e98ca659bb6ad5f043ca2fc9aa1c333372d91419251180d4332746aaed0f15975b6d9a131af3b6b066b90705b54b508c6854b6f2117fd3ab66a7a8
languageName: node
linkType: hard
"@peculiar/asn1-rsa@npm:^2.6.0, @peculiar/asn1-rsa@npm:^2.7.0":
version: 2.7.0
resolution: "@peculiar/asn1-rsa@npm:2.7.0"
dependencies:
"@peculiar/asn1-schema": "npm:^2.7.0"
"@peculiar/asn1-x509": "npm:^2.7.0"
asn1js: "npm:^3.0.6"
tslib: "npm:^2.8.1"
checksum: 10/b314b77246a7bee0a2a76978ca08983a016afad78c74dc02b5ae6296f8a71f0146c521d431a9d6e9ba7faec42b5a8bba046ee4c9010cbd1b37067398e05e05af
languageName: node
linkType: hard
"@peculiar/asn1-schema@npm:^2.6.0, @peculiar/asn1-schema@npm:^2.7.0":
version: 2.7.0
resolution: "@peculiar/asn1-schema@npm:2.7.0"
dependencies:
"@peculiar/utils": "npm:^2.0.2"
asn1js: "npm:^3.0.6"
tslib: "npm:^2.8.1"
checksum: 10/2b18ee2f3de2b68a36b964721e5101f589d6a1db765c450ce5a929829bfc8c0819e0b128145f65639952b257b9bdaa6ce7d1a54cd93c7bf6e694fed4c36d6c98
languageName: node
linkType: hard
"@peculiar/asn1-x509-attr@npm:^2.7.0":
version: 2.7.0
resolution: "@peculiar/asn1-x509-attr@npm:2.7.0"
dependencies:
"@peculiar/asn1-schema": "npm:^2.7.0"
"@peculiar/asn1-x509": "npm:^2.7.0"
asn1js: "npm:^3.0.6"
tslib: "npm:^2.8.1"
checksum: 10/7a1c4f707224cf8ebf33bb231049069cf6a64902d7b7b317b4a2f4f8a0fb606bb39f6af5944d408c4eb930e8ae1435c0049cc42490131cf991383714c179f1dd
languageName: node
linkType: hard
"@peculiar/asn1-x509@npm:^2.6.0, @peculiar/asn1-x509@npm:^2.7.0":
version: 2.7.0
resolution: "@peculiar/asn1-x509@npm:2.7.0"
dependencies:
"@peculiar/asn1-schema": "npm:^2.7.0"
"@peculiar/utils": "npm:^2.0.2"
asn1js: "npm:^3.0.6"
tslib: "npm:^2.8.1"
checksum: 10/6e6b1124076487e46d1b9f7237f173bc7aab92230e3a7a8b3841fdc84009ece0221624bd88fe16a478aec5b4ba21a9393735038ca4e38245d7f0c1be91f00e8c
languageName: node
linkType: hard
"@peculiar/utils@npm:^2.0.2":
version: 2.0.3
resolution: "@peculiar/utils@npm:2.0.3"
dependencies:
tslib: "npm:^2.8.1"
checksum: 10/e6b212db06e15f0ffa33482336f0e41108ce2d95fa69fa2c6f001120df1056404dc007b62bc6c90cc58d743f0cf4b23bfff89cdb8c121415d36ff0f9d60aead2
languageName: node
linkType: hard
"@peculiar/x509@npm:^1.14.2":
version: 1.14.3
resolution: "@peculiar/x509@npm:1.14.3"
dependencies:
"@peculiar/asn1-cms": "npm:^2.6.0"
"@peculiar/asn1-csr": "npm:^2.6.0"
"@peculiar/asn1-ecc": "npm:^2.6.0"
"@peculiar/asn1-pkcs9": "npm:^2.6.0"
"@peculiar/asn1-rsa": "npm:^2.6.0"
"@peculiar/asn1-schema": "npm:^2.6.0"
"@peculiar/asn1-x509": "npm:^2.6.0"
pvtsutils: "npm:^1.3.6"
reflect-metadata: "npm:^0.2.2"
tslib: "npm:^2.8.1"
tsyringe: "npm:^4.10.0"
checksum: 10/d37c56fa5f2c644141948d85010e14f0e4963089e3b0b81edd0bfe85bdfea0eb3f38ab6ff20d322db2bd6977117824cc498a77b2d35af111983b4d58b5e2ccd1
languageName: node
linkType: hard
"@pkgjs/parseargs@npm:^0.11.0":
version: 0.11.0
resolution: "@pkgjs/parseargs@npm:0.11.0"
@@ -5915,177 +6076,177 @@ __metadata:
languageName: node
linkType: hard
"@rollup/rollup-android-arm-eabi@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-android-arm-eabi@npm:4.60.3"
"@rollup/rollup-android-arm-eabi@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-android-arm-eabi@npm:4.60.4"
conditions: os=android & cpu=arm
languageName: node
linkType: hard
"@rollup/rollup-android-arm64@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-android-arm64@npm:4.60.3"
"@rollup/rollup-android-arm64@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-android-arm64@npm:4.60.4"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-darwin-arm64@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-darwin-arm64@npm:4.60.3"
"@rollup/rollup-darwin-arm64@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-darwin-arm64@npm:4.60.4"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-darwin-x64@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-darwin-x64@npm:4.60.3"
"@rollup/rollup-darwin-x64@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-darwin-x64@npm:4.60.4"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@rollup/rollup-freebsd-arm64@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-freebsd-arm64@npm:4.60.3"
"@rollup/rollup-freebsd-arm64@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-freebsd-arm64@npm:4.60.4"
conditions: os=freebsd & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-freebsd-x64@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-freebsd-x64@npm:4.60.3"
"@rollup/rollup-freebsd-x64@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-freebsd-x64@npm:4.60.4"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
"@rollup/rollup-linux-arm-gnueabihf@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.60.3"
"@rollup/rollup-linux-arm-gnueabihf@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.60.4"
conditions: os=linux & cpu=arm & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-arm-musleabihf@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.60.3"
"@rollup/rollup-linux-arm-musleabihf@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.60.4"
conditions: os=linux & cpu=arm & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-arm64-gnu@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.60.3"
"@rollup/rollup-linux-arm64-gnu@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.60.4"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-arm64-musl@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.60.3"
"@rollup/rollup-linux-arm64-musl@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.60.4"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-loong64-gnu@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.60.3"
"@rollup/rollup-linux-loong64-gnu@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.60.4"
conditions: os=linux & cpu=loong64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-loong64-musl@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-loong64-musl@npm:4.60.3"
"@rollup/rollup-linux-loong64-musl@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-loong64-musl@npm:4.60.4"
conditions: os=linux & cpu=loong64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-ppc64-gnu@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.60.3"
"@rollup/rollup-linux-ppc64-gnu@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.60.4"
conditions: os=linux & cpu=ppc64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-ppc64-musl@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.60.3"
"@rollup/rollup-linux-ppc64-musl@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.60.4"
conditions: os=linux & cpu=ppc64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-riscv64-gnu@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.60.3"
"@rollup/rollup-linux-riscv64-gnu@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.60.4"
conditions: os=linux & cpu=riscv64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-riscv64-musl@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.60.3"
"@rollup/rollup-linux-riscv64-musl@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.60.4"
conditions: os=linux & cpu=riscv64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-s390x-gnu@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.60.3"
"@rollup/rollup-linux-s390x-gnu@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.60.4"
conditions: os=linux & cpu=s390x & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-x64-gnu@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.60.3"
"@rollup/rollup-linux-x64-gnu@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.60.4"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-x64-musl@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-linux-x64-musl@npm:4.60.3"
"@rollup/rollup-linux-x64-musl@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-linux-x64-musl@npm:4.60.4"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-openbsd-x64@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-openbsd-x64@npm:4.60.3"
"@rollup/rollup-openbsd-x64@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-openbsd-x64@npm:4.60.4"
conditions: os=openbsd & cpu=x64
languageName: node
linkType: hard
"@rollup/rollup-openharmony-arm64@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-openharmony-arm64@npm:4.60.3"
"@rollup/rollup-openharmony-arm64@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-openharmony-arm64@npm:4.60.4"
conditions: os=openharmony & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-win32-arm64-msvc@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.60.3"
"@rollup/rollup-win32-arm64-msvc@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.60.4"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-win32-ia32-msvc@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.60.3"
"@rollup/rollup-win32-ia32-msvc@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.60.4"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@rollup/rollup-win32-x64-gnu@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-win32-x64-gnu@npm:4.60.3"
"@rollup/rollup-win32-x64-gnu@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-win32-x64-gnu@npm:4.60.4"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@rollup/rollup-win32-x64-msvc@npm:4.60.3":
version: 4.60.3
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.60.3"
"@rollup/rollup-win32-x64-msvc@npm:4.60.4":
version: 4.60.4
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.60.4"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -6907,7 +7068,7 @@ __metadata:
languageName: node
linkType: hard
"@types/express@npm:^4.17.21":
"@types/express@npm:^4.17.25":
version: 4.17.25
resolution: "@types/express@npm:4.17.25"
dependencies:
@@ -7131,15 +7292,6 @@ __metadata:
languageName: node
linkType: hard
"@types/node-forge@npm:^1.3.0":
version: 1.3.14
resolution: "@types/node-forge@npm:1.3.14"
dependencies:
"@types/node": "npm:*"
checksum: 10/500ce72435285fca145837da079b49a09a5bdf8391b0effc3eb2455783dd81ab129e574a36e1a0374a4823d889d5328177ebfd6fe45b432c0c43d48d790fe39c
languageName: node
linkType: hard
"@types/node-notifier@npm:^8.0.5":
version: 8.0.5
resolution: "@types/node-notifier@npm:8.0.5"
@@ -8374,6 +8526,17 @@ __metadata:
languageName: node
linkType: hard
"asn1js@npm:^3.0.6":
version: 3.0.10
resolution: "asn1js@npm:3.0.10"
dependencies:
pvtsutils: "npm:^1.3.6"
pvutils: "npm:^1.1.5"
tslib: "npm:^2.8.1"
checksum: 10/9cfbca89b1ac0f81aeba61c0af730d69f1214f0815eb1381ff6680f9b5bcb258cf0588f32175427faf1799eccc43d9111d1bbd98f0f01eb47af69413e4f85654
languageName: node
linkType: hard
"astring@npm:^1.8.0":
version: 1.9.0
resolution: "astring@npm:1.9.0"
@@ -8725,7 +8888,7 @@ __metadata:
languageName: node
linkType: hard
"body-parser@npm:~1.20.3":
"body-parser@npm:~1.20.5":
version: 1.20.5
resolution: "body-parser@npm:1.20.5"
dependencies:
@@ -8814,11 +8977,11 @@ __metadata:
linkType: hard
"brace-expansion@npm:^5.0.2, brace-expansion@npm:^5.0.5":
version: 5.0.5
resolution: "brace-expansion@npm:5.0.5"
version: 5.0.6
resolution: "brace-expansion@npm:5.0.6"
dependencies:
balanced-match: "npm:^4.0.2"
checksum: 10/f259b2ddf04489da9512ad637ba6b4ef2d77abd4445d20f7f1714585f153435200a53fa6a2e4a5ee974df14ddad4cd16421f6f803e96e8b452bd48598878d0ee
checksum: 10/a7acf120fefa79e9d7c9c92898114f57c07596a3920197f3c5917e6a628b04220a5f7f9618c30bdd973a6576a32113b99f9c3f1c8245ccc399dd2a9a718d81d8
languageName: node
linkType: hard
@@ -8920,6 +9083,13 @@ __metadata:
languageName: node
linkType: hard
"bytestreamjs@npm:^2.0.1":
version: 2.0.1
resolution: "bytestreamjs@npm:2.0.1"
checksum: 10/523b1024e3f887cdc0b3db7c4fc14b8563aaeb75e6642a41991b3208277fd0ae9cd66003c73473fe706c42797bf0c3f1f498fb9880b431d75b332e5709d56a0c
languageName: node
linkType: hard
"cacache@npm:^19.0.0, cacache@npm:^19.0.1":
version: 19.0.1
resolution: "cacache@npm:19.0.1"
@@ -9562,7 +9732,7 @@ __metadata:
languageName: node
linkType: hard
"compression@npm:^1.7.4":
"compression@npm:^1.8.1":
version: 1.8.1
resolution: "compression@npm:1.8.1"
dependencies:
@@ -11890,13 +12060,13 @@ __metadata:
languageName: node
linkType: hard
"express@npm:^4.21.2":
version: 4.22.1
resolution: "express@npm:4.22.1"
"express@npm:^4.22.1":
version: 4.22.2
resolution: "express@npm:4.22.2"
dependencies:
accepts: "npm:~1.3.8"
array-flatten: "npm:1.1.1"
body-parser: "npm:~1.20.3"
body-parser: "npm:~1.20.5"
content-disposition: "npm:~0.5.4"
content-type: "npm:~1.0.4"
cookie: "npm:~0.7.1"
@@ -11915,7 +12085,7 @@ __metadata:
parseurl: "npm:~1.3.3"
path-to-regexp: "npm:~0.1.12"
proxy-addr: "npm:~2.0.7"
qs: "npm:~6.14.0"
qs: "npm:~6.15.1"
range-parser: "npm:~1.2.1"
safe-buffer: "npm:5.2.1"
send: "npm:~0.19.0"
@@ -11925,7 +12095,7 @@ __metadata:
type-is: "npm:~1.6.18"
utils-merge: "npm:1.0.1"
vary: "npm:~1.1.2"
checksum: 10/f33c1bd0c7d36e2a1f18de9cdc176469d32f68e20258d2941b8d296ab9a4fd9011872c246391bf87714f009fac5114c832ec5ac65cbee39421f1258801eb8470
checksum: 10/defeef5f1cda5bf5ee4a6b35252563552d8d97fab1d29f502e45ef64316f5d02f49739d7c8a79e425613af3a542d0e3cd8cf7e85671ce2ddd592197abcf5acc3
languageName: node
linkType: hard
@@ -17225,13 +17395,6 @@ __metadata:
languageName: node
linkType: hard
"node-forge@npm:^1":
version: 1.4.0
resolution: "node-forge@npm:1.4.0"
checksum: 10/d70fd769768e646eda73343d4d4105ccb6869315d975905a22117431c04ae5b6df6c488e34ed275b1a66b50195a09b84b5c8aeca3b8605c20605fcb8e9f109d9
languageName: node
linkType: hard
"node-gyp@npm:^11.0.0":
version: 11.5.0
resolution: "node-gyp@npm:11.5.0"
@@ -18313,6 +18476,20 @@ __metadata:
languageName: node
linkType: hard
"pkijs@npm:^3.3.3":
version: 3.4.0
resolution: "pkijs@npm:3.4.0"
dependencies:
"@noble/hashes": "npm:1.4.0"
asn1js: "npm:^3.0.6"
bytestreamjs: "npm:^2.0.1"
pvtsutils: "npm:^1.3.6"
pvutils: "npm:^1.1.3"
tslib: "npm:^2.8.1"
checksum: 10/a937347584b27012919f69e4b3865b2fd09dced85a344f9a22bbf1376dd9e1534ccbe0bbdb997807b4990b07865c1ea028447d78b2c8a64436d4d393193a0777
languageName: node
linkType: hard
"platform@npm:^1.3.3":
version: 1.3.6
resolution: "platform@npm:1.3.6"
@@ -19445,21 +19622,28 @@ __metadata:
languageName: node
linkType: hard
"qs@npm:^6.12.3, qs@npm:~6.15.1":
version: 6.15.1
resolution: "qs@npm:6.15.1"
"pvtsutils@npm:^1.3.6":
version: 1.3.6
resolution: "pvtsutils@npm:1.3.6"
dependencies:
side-channel: "npm:^1.1.0"
checksum: 10/ec10b9957446b3f4a38000940f6374720b4e2985209b89df197066038c951472ea24cd98d6bc6df73a0cbec75bc056f638032e3fb447345017ff7e0f0a2693ac
tslib: "npm:^2.8.1"
checksum: 10/d45b12f8526e13ecf15fe09b30cde65501f3300fd2a07c11b28a966d434d1f767c8a61597ecba2e19c7eb19ca0c740341a6babc67a4f741e08b1ef1095c71663
languageName: node
linkType: hard
"qs@npm:~6.14.0":
version: 6.14.2
resolution: "qs@npm:6.14.2"
"pvutils@npm:^1.1.3, pvutils@npm:^1.1.5":
version: 1.1.5
resolution: "pvutils@npm:1.1.5"
checksum: 10/9a5a71603c72bf9ea3a4501e8251e3f7a56026ed059bf63a18bd9a30cac6c35cc8250b39eb6291c1cb204cdeb6660663ab9bb2c74e85a512919bb2d614e340ea
languageName: node
linkType: hard
"qs@npm:^6.12.3, qs@npm:~6.15.1":
version: 6.15.2
resolution: "qs@npm:6.15.2"
dependencies:
side-channel: "npm:^1.1.0"
checksum: 10/682933a85bb4b7bd0d66e13c0a40d9e612b5e4bcc2cb9238f711a9368cd22d91654097a74fff93551e58146db282c56ac094957dfdc60ce64ea72c3c9d7779ac
checksum: 10/7a934b2dba40654cf9878dab7c1e7ad56c6186265509727fbece67dadc38fd5d67715b61b6ef938e5a0475faeee701d18ec0a7ce420ad64367caad7f1bdb66e2
languageName: node
linkType: hard
@@ -19982,7 +20166,7 @@ __metadata:
languageName: node
linkType: hard
"reflect-metadata@npm:^0.2.0":
"reflect-metadata@npm:^0.2.0, reflect-metadata@npm:^0.2.2":
version: 0.2.2
resolution: "reflect-metadata@npm:0.2.2"
checksum: 10/1c93f9ac790fea1c852fde80c91b2760420069f4862f28e6fae0c00c6937a56508716b0ed2419ab02869dd488d123c4ab92d062ae84e8739ea7417fae10c4745
@@ -20400,34 +20584,34 @@ __metadata:
linkType: hard
"rollup@npm:^4.53.3":
version: 4.60.3
resolution: "rollup@npm:4.60.3"
version: 4.60.4
resolution: "rollup@npm:4.60.4"
dependencies:
"@rollup/rollup-android-arm-eabi": "npm:4.60.3"
"@rollup/rollup-android-arm64": "npm:4.60.3"
"@rollup/rollup-darwin-arm64": "npm:4.60.3"
"@rollup/rollup-darwin-x64": "npm:4.60.3"
"@rollup/rollup-freebsd-arm64": "npm:4.60.3"
"@rollup/rollup-freebsd-x64": "npm:4.60.3"
"@rollup/rollup-linux-arm-gnueabihf": "npm:4.60.3"
"@rollup/rollup-linux-arm-musleabihf": "npm:4.60.3"
"@rollup/rollup-linux-arm64-gnu": "npm:4.60.3"
"@rollup/rollup-linux-arm64-musl": "npm:4.60.3"
"@rollup/rollup-linux-loong64-gnu": "npm:4.60.3"
"@rollup/rollup-linux-loong64-musl": "npm:4.60.3"
"@rollup/rollup-linux-ppc64-gnu": "npm:4.60.3"
"@rollup/rollup-linux-ppc64-musl": "npm:4.60.3"
"@rollup/rollup-linux-riscv64-gnu": "npm:4.60.3"
"@rollup/rollup-linux-riscv64-musl": "npm:4.60.3"
"@rollup/rollup-linux-s390x-gnu": "npm:4.60.3"
"@rollup/rollup-linux-x64-gnu": "npm:4.60.3"
"@rollup/rollup-linux-x64-musl": "npm:4.60.3"
"@rollup/rollup-openbsd-x64": "npm:4.60.3"
"@rollup/rollup-openharmony-arm64": "npm:4.60.3"
"@rollup/rollup-win32-arm64-msvc": "npm:4.60.3"
"@rollup/rollup-win32-ia32-msvc": "npm:4.60.3"
"@rollup/rollup-win32-x64-gnu": "npm:4.60.3"
"@rollup/rollup-win32-x64-msvc": "npm:4.60.3"
"@rollup/rollup-android-arm-eabi": "npm:4.60.4"
"@rollup/rollup-android-arm64": "npm:4.60.4"
"@rollup/rollup-darwin-arm64": "npm:4.60.4"
"@rollup/rollup-darwin-x64": "npm:4.60.4"
"@rollup/rollup-freebsd-arm64": "npm:4.60.4"
"@rollup/rollup-freebsd-x64": "npm:4.60.4"
"@rollup/rollup-linux-arm-gnueabihf": "npm:4.60.4"
"@rollup/rollup-linux-arm-musleabihf": "npm:4.60.4"
"@rollup/rollup-linux-arm64-gnu": "npm:4.60.4"
"@rollup/rollup-linux-arm64-musl": "npm:4.60.4"
"@rollup/rollup-linux-loong64-gnu": "npm:4.60.4"
"@rollup/rollup-linux-loong64-musl": "npm:4.60.4"
"@rollup/rollup-linux-ppc64-gnu": "npm:4.60.4"
"@rollup/rollup-linux-ppc64-musl": "npm:4.60.4"
"@rollup/rollup-linux-riscv64-gnu": "npm:4.60.4"
"@rollup/rollup-linux-riscv64-musl": "npm:4.60.4"
"@rollup/rollup-linux-s390x-gnu": "npm:4.60.4"
"@rollup/rollup-linux-x64-gnu": "npm:4.60.4"
"@rollup/rollup-linux-x64-musl": "npm:4.60.4"
"@rollup/rollup-openbsd-x64": "npm:4.60.4"
"@rollup/rollup-openharmony-arm64": "npm:4.60.4"
"@rollup/rollup-win32-arm64-msvc": "npm:4.60.4"
"@rollup/rollup-win32-ia32-msvc": "npm:4.60.4"
"@rollup/rollup-win32-x64-gnu": "npm:4.60.4"
"@rollup/rollup-win32-x64-msvc": "npm:4.60.4"
"@types/estree": "npm:1.0.8"
fsevents: "npm:~2.3.2"
dependenciesMeta:
@@ -20485,7 +20669,7 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
checksum: 10/576a68253d3d8ad6ae390e4ad70e13726923ed5d0dc8e74f663ce691fa862dc326c3855a296ebf79a95d28761a62556af956e5ec14aa743f1c701e97eda60636
checksum: 10/514d970e68f869c1869caca6027e2beff9e41846817c0ce06bd27e9325ac3d0e45c84a45700451e36e48449cf27ce72354db6c7fd108426448806b0e8fc8ec46
languageName: node
linkType: hard
@@ -20669,13 +20853,13 @@ __metadata:
languageName: node
linkType: hard
"selfsigned@npm:^2.4.1":
version: 2.4.1
resolution: "selfsigned@npm:2.4.1"
"selfsigned@npm:^5.5.0":
version: 5.5.0
resolution: "selfsigned@npm:5.5.0"
dependencies:
"@types/node-forge": "npm:^1.3.0"
node-forge: "npm:^1"
checksum: 10/52536623f1cfdeb2f8b9198377f2ce7931c677ea69421238d1dc1ea2983bbe258e56c19e7d1af87035cad7270f19b7e996eaab1212e724d887722502f68e17f2
"@peculiar/x509": "npm:^1.14.2"
pkijs: "npm:^3.3.3"
checksum: 10/fe9be2647507c3ee21dcaf5cab20e1ae4b8b84eac83d2fe4d82f9a3b6c70636f9aaeeba0089e3343dcb13fbb31ef70c2e72c41f2e2dcf38368040b49830c670e
languageName: node
linkType: hard
@@ -21721,15 +21905,15 @@ __metadata:
linkType: hard
"tar@npm:^7.4.3, tar@npm:^7.5.4":
version: 7.5.13
resolution: "tar@npm:7.5.13"
version: 7.5.15
resolution: "tar@npm:7.5.15"
dependencies:
"@isaacs/fs-minipass": "npm:^4.0.0"
chownr: "npm:^3.0.0"
minipass: "npm:^7.1.2"
minizlib: "npm:^3.1.0"
yallist: "npm:^5.0.0"
checksum: 10/2bc2b6f0349038a6621dbba1c4522d45752d5071b2994692257113c2050cd23fafc30308f820e5f8ad6fda3f7d7f92adc9a432aa733daa04c42af2061c021c3f
checksum: 10/b4cb6acd822159867f81ebda8d765c6941ec8292f1cf2f870d3713f4933c14bf0ed7bf4a92338143c31e8815ca0a1fdd62aa03ddb48a42ae187f7ef696583ffe
languageName: node
linkType: hard
@@ -22126,7 +22310,14 @@ __metadata:
languageName: node
linkType: hard
"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.0":
"tslib@npm:^1.9.3":
version: 1.14.1
resolution: "tslib@npm:1.14.1"
checksum: 10/7dbf34e6f55c6492637adb81b555af5e3b4f9cc6b998fb440dac82d3b42bdc91560a35a5fb75e20e24a076c651438234da6743d139e4feabf0783f3cdfe1dddb
languageName: node
linkType: hard
"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.0, tslib@npm:^2.8.1":
version: 2.8.1
resolution: "tslib@npm:2.8.1"
checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7
@@ -22147,6 +22338,15 @@ __metadata:
languageName: node
linkType: hard
"tsyringe@npm:^4.10.0":
version: 4.10.0
resolution: "tsyringe@npm:4.10.0"
dependencies:
tslib: "npm:^1.9.3"
checksum: 10/b42660dc112cee2db02b3d69f2ef6a6a9d185afd96b18d8f88e47c1e62be94b69a9f5a58fcfdb2a3fbb7c6c175b8162ea00f7db6499bf333ce945e570e31615c
languageName: node
linkType: hard
"tuf-js@npm:^3.0.1":
version: 3.0.1
resolution: "tuf-js@npm:3.0.1"
@@ -22994,12 +23194,12 @@ __metadata:
linkType: hard
"webpack-dev-server@npm:^5.2.2":
version: 5.2.2
resolution: "webpack-dev-server@npm:5.2.2"
version: 5.2.4
resolution: "webpack-dev-server@npm:5.2.4"
dependencies:
"@types/bonjour": "npm:^3.5.13"
"@types/connect-history-api-fallback": "npm:^1.5.4"
"@types/express": "npm:^4.17.21"
"@types/express": "npm:^4.17.25"
"@types/express-serve-static-core": "npm:^4.17.21"
"@types/serve-index": "npm:^1.9.4"
"@types/serve-static": "npm:^1.15.5"
@@ -23009,9 +23209,9 @@ __metadata:
bonjour-service: "npm:^1.2.1"
chokidar: "npm:^3.6.0"
colorette: "npm:^2.0.10"
compression: "npm:^1.7.4"
compression: "npm:^1.8.1"
connect-history-api-fallback: "npm:^2.0.0"
express: "npm:^4.21.2"
express: "npm:^4.22.1"
graceful-fs: "npm:^4.2.6"
http-proxy-middleware: "npm:^2.0.9"
ipaddr.js: "npm:^2.1.0"
@@ -23019,7 +23219,7 @@ __metadata:
open: "npm:^10.0.3"
p-retry: "npm:^6.2.0"
schema-utils: "npm:^4.2.0"
selfsigned: "npm:^2.4.1"
selfsigned: "npm:^5.5.0"
serve-index: "npm:^1.9.1"
sockjs: "npm:^0.3.24"
spdy: "npm:^4.0.2"
@@ -23034,7 +23234,7 @@ __metadata:
optional: true
bin:
webpack-dev-server: bin/webpack-dev-server.js
checksum: 10/59517409cd38c01a875a03b9658f3d20d492b5b8bead9ded4a0f3d33e6857daf2d352fe89f0181dcaea6d0fbe84b0494cb4750a87120fe81cdbb3c32b499451c
checksum: 10/5e5382f8cc7a73e2957542de0c755769548cbca8e7c6d17ed6b526364f11af35025be74f03827afa6723ccbdcc93730b0a0a59882d332fb3c6694a6d290c41e7
languageName: node
linkType: hard
@@ -23679,8 +23879,8 @@ __metadata:
linkType: hard
"ws@npm:^8.18.0":
version: 8.18.2
resolution: "ws@npm:8.18.2"
version: 8.20.1
resolution: "ws@npm:8.20.1"
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ">=5.0.2"
@@ -23689,7 +23889,7 @@ __metadata:
optional: true
utf-8-validate:
optional: true
checksum: 10/018e04ec95561d88248d53a2eaf094b4ae131e9b062f2679e6e8a62f04649bc543448f1e038125225ac6bbb25f54c1e65d7a2cc9dbc1e28b43e5e6b7162ad88e
checksum: 10/8c4d2b06dc65381b6bfab1f2e584275dabd30a99a5ce058b4dc76f3d03fad1921cef3a21d8f53127d30a808cfd1864aa2fe6890a5d43359f682457315baec873
languageName: node
linkType: hard
@@ -23779,11 +23979,11 @@ __metadata:
linkType: hard
"yaml@npm:^2.6.1":
version: 2.8.3
resolution: "yaml@npm:2.8.3"
version: 2.9.0
resolution: "yaml@npm:2.9.0"
bin:
yaml: bin.mjs
checksum: 10/ecad41d39d34fae5cc17ea2d4b7f7f55faacd45cbce8983ba22d48d1ed1a92ed242ea49ea813a79ac39a69f75f9c5a03e7b5395fd954d55476f25e21a47c141d
checksum: 10/9a95e8e08651c3d292ab6a5befeb5f57b76801caa097c75bb45c9a70ce19c1b11f57e87a6ef84a579ea070ed2c2c8ac541c88c0ae684d544d5f42c7e77d11b7b
languageName: node
linkType: hard