mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-09 13:36:26 +00:00
Compare commits
24 commits
5779c523e1
...
19bb15c7d1
Author | SHA1 | Date | |
---|---|---|---|
|
19bb15c7d1 | ||
|
c04c64f5e7 | ||
|
add6ca5720 | ||
|
b93ee7a628 | ||
|
74137a8460 | ||
|
e0b6f8d5ed | ||
|
53743b27bf | ||
|
b1ce02b44b | ||
|
bb317ce921 | ||
|
4dfc817793 | ||
|
c4c81e30fc | ||
|
7923d5b955 | ||
|
539c12f744 | ||
|
ac30f2b204 | ||
|
bd05816dd1 | ||
|
dbdf41a936 | ||
|
c679c28d01 | ||
|
5eb284603f | ||
|
1d8daf5095 | ||
|
7877331cf7 | ||
|
6ffa5b615f | ||
|
6ac7b9e089 | ||
|
107a298054 | ||
|
46f8eed01f |
14 changed files with 189 additions and 203 deletions
|
@ -399,10 +399,20 @@ describe('modules/platform/gerrit/client', () => {
|
|||
|
||||
describe('approveChange()', () => {
|
||||
it('already approved - do nothing', async () => {
|
||||
const change = partial<GerritChange>({});
|
||||
const change = partial<GerritChange>({
|
||||
labels: {
|
||||
'Code-Review': {
|
||||
all: [{ value: 2 }],
|
||||
},
|
||||
},
|
||||
});
|
||||
httpMock
|
||||
.scope(gerritEndpointUrl)
|
||||
.get((url) => url.includes('/a/changes/123456?o='))
|
||||
.get(
|
||||
(url) =>
|
||||
url.includes('/a/changes/123456?o=') &&
|
||||
url.includes('o=DETAILED_LABELS'),
|
||||
)
|
||||
.reply(200, gerritRestResponse(change), jsonResultHeader);
|
||||
await expect(client.approveChange(123456)).toResolve();
|
||||
});
|
||||
|
@ -411,17 +421,54 @@ describe('modules/platform/gerrit/client', () => {
|
|||
const change = partial<GerritChange>({ labels: {} });
|
||||
httpMock
|
||||
.scope(gerritEndpointUrl)
|
||||
.get((url) => url.includes('/a/changes/123456?o='))
|
||||
.get(
|
||||
(url) =>
|
||||
url.includes('/a/changes/123456?o=') &&
|
||||
url.includes('o=DETAILED_LABELS'),
|
||||
)
|
||||
.reply(200, gerritRestResponse(change), jsonResultHeader);
|
||||
|
||||
await expect(client.approveChange(123456)).toResolve();
|
||||
});
|
||||
|
||||
it('not already approved - approve now', async () => {
|
||||
const change = partial<GerritChange>({ labels: { 'Code-Review': {} } });
|
||||
const change = partial<GerritChange>({
|
||||
labels: { 'Code-Review': { all: [] } },
|
||||
});
|
||||
httpMock
|
||||
.scope(gerritEndpointUrl)
|
||||
.get((url) => url.includes('/a/changes/123456?o='))
|
||||
.get(
|
||||
(url) =>
|
||||
url.includes('/a/changes/123456?o=') &&
|
||||
url.includes('o=DETAILED_LABELS'),
|
||||
)
|
||||
.reply(200, gerritRestResponse(change), jsonResultHeader);
|
||||
const approveMock = httpMock
|
||||
.scope(gerritEndpointUrl)
|
||||
.post('/a/changes/123456/revisions/current/review', {
|
||||
labels: { 'Code-Review': +2 },
|
||||
notify: 'NONE',
|
||||
})
|
||||
.reply(200, gerritRestResponse(''), jsonResultHeader);
|
||||
await expect(client.approveChange(123456)).toResolve();
|
||||
expect(approveMock.isDone()).toBeTrue();
|
||||
});
|
||||
|
||||
it('not already approved because of +1 - approve now', async () => {
|
||||
const change = partial<GerritChange>({
|
||||
labels: {
|
||||
'Code-Review': {
|
||||
all: [{ value: 1 }],
|
||||
},
|
||||
},
|
||||
});
|
||||
httpMock
|
||||
.scope(gerritEndpointUrl)
|
||||
.get(
|
||||
(url) =>
|
||||
url.includes('/a/changes/123456?o=') &&
|
||||
url.includes('o=DETAILED_LABELS'),
|
||||
)
|
||||
.reply(200, gerritRestResponse(change), jsonResultHeader);
|
||||
const approveMock = httpMock
|
||||
.scope(gerritEndpointUrl)
|
||||
|
@ -434,63 +481,6 @@ describe('modules/platform/gerrit/client', () => {
|
|||
expect(approveMock.isDone()).toBeTrue();
|
||||
});
|
||||
});
|
||||
|
||||
describe('wasApprovedBy()', () => {
|
||||
it('label not exists', () => {
|
||||
expect(
|
||||
client.wasApprovedBy(partial<GerritChange>({}), 'user'),
|
||||
).toBeUndefined();
|
||||
});
|
||||
|
||||
it('not approved by anyone', () => {
|
||||
expect(
|
||||
client.wasApprovedBy(
|
||||
partial<GerritChange>({
|
||||
labels: {
|
||||
'Code-Review': {},
|
||||
},
|
||||
}),
|
||||
'user',
|
||||
),
|
||||
).toBeUndefined();
|
||||
});
|
||||
|
||||
it('approved by given user', () => {
|
||||
expect(
|
||||
client.wasApprovedBy(
|
||||
partial<GerritChange>({
|
||||
labels: {
|
||||
'Code-Review': {
|
||||
approved: {
|
||||
_account_id: 1,
|
||||
username: 'user',
|
||||
},
|
||||
},
|
||||
},
|
||||
}),
|
||||
'user',
|
||||
),
|
||||
).toBeTrue();
|
||||
});
|
||||
|
||||
it('approved by given other', () => {
|
||||
expect(
|
||||
client.wasApprovedBy(
|
||||
partial<GerritChange>({
|
||||
labels: {
|
||||
'Code-Review': {
|
||||
approved: {
|
||||
_account_id: 1,
|
||||
username: 'other',
|
||||
},
|
||||
},
|
||||
},
|
||||
}),
|
||||
'user',
|
||||
),
|
||||
).toBeFalse();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function gerritRestResponse(body: any): any {
|
||||
|
|
|
@ -2,6 +2,7 @@ import { REPOSITORY_ARCHIVED } from '../../../constants/error-messages';
|
|||
import { logger } from '../../../logger';
|
||||
import { GerritHttp } from '../../../util/http/gerrit';
|
||||
import { regEx } from '../../../util/regex';
|
||||
import { getQueryString } from '../../../util/url';
|
||||
import type {
|
||||
GerritAccountInfo,
|
||||
GerritBranchInfo,
|
||||
|
@ -72,10 +73,14 @@ class GerritClient {
|
|||
return changes.body;
|
||||
}
|
||||
|
||||
async getChange(changeNumber: number): Promise<GerritChange> {
|
||||
async getChange(
|
||||
changeNumber: number,
|
||||
extraOptions?: string[],
|
||||
): Promise<GerritChange> {
|
||||
const options = [...this.requestDetails, ...(extraOptions ?? [])];
|
||||
const queryString = getQueryString({ o: options });
|
||||
const changes = await this.gerritHttp.getJson<GerritChange>(
|
||||
`a/changes/${changeNumber}?` +
|
||||
this.requestDetails.map((det) => `o=${det}`).join('&'),
|
||||
`a/changes/${changeNumber}?${queryString}`,
|
||||
);
|
||||
return changes.body;
|
||||
}
|
||||
|
@ -196,15 +201,11 @@ class GerritClient {
|
|||
}
|
||||
|
||||
async checkIfApproved(changeId: number): Promise<boolean> {
|
||||
const change = await client.getChange(changeId);
|
||||
const reviewLabels = change?.labels?.['Code-Review'];
|
||||
return reviewLabels === undefined || reviewLabels.approved !== undefined;
|
||||
}
|
||||
|
||||
wasApprovedBy(change: GerritChange, username: string): boolean | undefined {
|
||||
const change = await client.getChange(changeId, ['DETAILED_LABELS']);
|
||||
const reviewLabel = change?.labels?.['Code-Review'];
|
||||
return (
|
||||
change.labels?.['Code-Review'].approved &&
|
||||
change.labels['Code-Review'].approved.username === username
|
||||
reviewLabel === undefined ||
|
||||
reviewLabel.all?.some((label) => label.value === 2) === true
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -187,28 +187,6 @@ describe('modules/platform/gerrit/index', () => {
|
|||
gerrit.writeToConfig({ labels: {} });
|
||||
});
|
||||
|
||||
it('updatePr() - auto approve enabled', async () => {
|
||||
const change = partial<GerritChange>({
|
||||
current_revision: 'some-revision',
|
||||
revisions: {
|
||||
'some-revision': partial<GerritRevisionInfo>({
|
||||
commit: {
|
||||
message: 'some message',
|
||||
},
|
||||
}),
|
||||
},
|
||||
});
|
||||
clientMock.getChange.mockResolvedValueOnce(change);
|
||||
await gerrit.updatePr({
|
||||
number: 123456,
|
||||
prTitle: 'subject',
|
||||
platformPrOptions: {
|
||||
autoApprove: true,
|
||||
},
|
||||
});
|
||||
expect(clientMock.approveChange).toHaveBeenCalledWith(123456);
|
||||
});
|
||||
|
||||
it('updatePr() - closed => abandon the change', async () => {
|
||||
const change = partial<GerritChange>({});
|
||||
clientMock.getChange.mockResolvedValueOnce(change);
|
||||
|
@ -309,7 +287,7 @@ describe('modules/platform/gerrit/index', () => {
|
|||
]);
|
||||
});
|
||||
|
||||
it('createPr() - update body WITHOUT approve', async () => {
|
||||
it('createPr() - update body', async () => {
|
||||
const pr = await gerrit.createPr({
|
||||
sourceBranch: 'source',
|
||||
targetBranch: 'target',
|
||||
|
@ -325,26 +303,6 @@ describe('modules/platform/gerrit/index', () => {
|
|||
'body',
|
||||
TAG_PULL_REQUEST_BODY,
|
||||
);
|
||||
expect(clientMock.approveChange).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('createPr() - update body and approve', async () => {
|
||||
const pr = await gerrit.createPr({
|
||||
sourceBranch: 'source',
|
||||
targetBranch: 'target',
|
||||
prTitle: change.subject,
|
||||
prBody: 'body',
|
||||
platformPrOptions: {
|
||||
autoApprove: true,
|
||||
},
|
||||
});
|
||||
expect(pr).toHaveProperty('number', 123456);
|
||||
expect(clientMock.addMessageIfNotAlreadyExists).toHaveBeenCalledWith(
|
||||
123456,
|
||||
'body',
|
||||
TAG_PULL_REQUEST_BODY,
|
||||
);
|
||||
expect(clientMock.approveChange).toHaveBeenCalledWith(123456);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -750,6 +708,13 @@ describe('modules/platform/gerrit/index', () => {
|
|||
//TODO: add some tests for Gerrit-specific replacements..
|
||||
});
|
||||
|
||||
describe('approvePrForAutomerge()', () => {
|
||||
it('approvePrForAutomerge() - calls approveChange', async () => {
|
||||
await expect(gerrit.approvePrForAutomerge(123456)).toResolve();
|
||||
expect(clientMock.approveChange).toHaveBeenCalledWith(123456);
|
||||
});
|
||||
});
|
||||
|
||||
describe('currently unused/not-implemented functions', () => {
|
||||
it('deleteLabel()', async () => {
|
||||
await expect(
|
||||
|
|
|
@ -160,9 +160,6 @@ export async function updatePr(prConfig: UpdatePrConfig): Promise<void> {
|
|||
TAG_PULL_REQUEST_BODY,
|
||||
);
|
||||
}
|
||||
if (prConfig.platformPrOptions?.autoApprove) {
|
||||
await client.approveChange(prConfig.number);
|
||||
}
|
||||
if (prConfig.state && prConfig.state === 'closed') {
|
||||
await client.abandonChange(prConfig.number);
|
||||
}
|
||||
|
@ -195,9 +192,6 @@ export async function createPr(prConfig: CreatePRConfig): Promise<Pr | null> {
|
|||
prConfig.prBody,
|
||||
TAG_PULL_REQUEST_BODY,
|
||||
);
|
||||
if (prConfig.platformPrOptions?.autoApprove) {
|
||||
await client.approveChange(pr._number);
|
||||
}
|
||||
return getPr(pr._number);
|
||||
}
|
||||
|
||||
|
@ -442,3 +436,14 @@ export function findIssue(title: string): Promise<Issue | null> {
|
|||
export function getIssueList(): Promise<Issue[]> {
|
||||
return Promise.resolve([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* The Code-Review +2 vote of when the change was created or updated in Gerrit
|
||||
* may have been downgraded by a CI check utilizing the same account as
|
||||
* Renovate (e.g. SonarQube which posts Code-Review +1). This function will
|
||||
* vote with +2 again on the change, if needed, before Renovate attempt to
|
||||
* automerge it.
|
||||
*/
|
||||
export async function approvePrForAutomerge(number: number): Promise<void> {
|
||||
await client.approveChange(number);
|
||||
}
|
||||
|
|
|
@ -369,7 +369,6 @@ describe('modules/platform/gerrit/scm', () => {
|
|||
},
|
||||
});
|
||||
clientMock.findChanges.mockResolvedValueOnce([existingChange]);
|
||||
clientMock.wasApprovedBy.mockReturnValueOnce(true);
|
||||
git.prepareCommit.mockResolvedValueOnce({
|
||||
commitSha: 'commitSha' as LongCommitSha,
|
||||
parentCommitSha: 'parentSha' as LongCommitSha,
|
||||
|
@ -385,6 +384,7 @@ describe('modules/platform/gerrit/scm', () => {
|
|||
message: 'commit msg',
|
||||
files: [],
|
||||
prTitle: 'pr title',
|
||||
autoApprove: true,
|
||||
}),
|
||||
).toBe('commitSha');
|
||||
expect(git.prepareCommit).toHaveBeenCalledWith({
|
||||
|
@ -396,19 +396,15 @@ describe('modules/platform/gerrit/scm', () => {
|
|||
'Renovate-Branch: renovate/dependency-1.x\nChange-Id: ...',
|
||||
],
|
||||
prTitle: 'pr title',
|
||||
autoApprove: true,
|
||||
force: true,
|
||||
});
|
||||
expect(git.fetchRevSpec).toHaveBeenCalledWith('refs/changes/1/2');
|
||||
expect(git.pushCommit).toHaveBeenCalledWith({
|
||||
files: [],
|
||||
sourceRef: 'renovate/dependency-1.x',
|
||||
targetRef: 'refs/for/main%notify=NONE',
|
||||
targetRef: 'refs/for/main%notify=NONE,l=Code-Review+2',
|
||||
});
|
||||
expect(clientMock.wasApprovedBy).toHaveBeenCalledWith(
|
||||
existingChange,
|
||||
'user',
|
||||
);
|
||||
expect(clientMock.approveChange).toHaveBeenCalledWith(123456);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -129,19 +129,16 @@ export class GerritScm extends DefaultGitScm {
|
|||
hasChanges = await git.hasDiff('HEAD', 'FETCH_HEAD'); //avoid empty patchsets
|
||||
}
|
||||
if (hasChanges || commit.force) {
|
||||
const pushOptions = ['notify=NONE'];
|
||||
if (commit.autoApprove) {
|
||||
pushOptions.push('l=Code-Review+2');
|
||||
}
|
||||
const pushResult = await git.pushCommit({
|
||||
sourceRef: commit.branchName,
|
||||
targetRef: `refs/for/${commit.baseBranch!}%notify=NONE`,
|
||||
targetRef: `refs/for/${commit.baseBranch!}%${pushOptions.join(',')}`,
|
||||
files: commit.files,
|
||||
});
|
||||
if (pushResult) {
|
||||
//existingChange was the old change before commit/push. we need to approve again, if it was previously approved from renovate
|
||||
if (
|
||||
existingChange &&
|
||||
client.wasApprovedBy(existingChange, username)
|
||||
) {
|
||||
await client.approveChange(existingChange._number);
|
||||
}
|
||||
return commitSha;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,6 +79,8 @@ export interface GerritLabelInfo {
|
|||
rejected?: GerritAccountInfo;
|
||||
/** If true, the label blocks submit operation. If not set, the default is false. */
|
||||
blocking?: boolean;
|
||||
/** List of votes. Only set when o=DETAILED_LABELS. */
|
||||
all?: GerritApprovalInfo[];
|
||||
}
|
||||
|
||||
export interface GerritActionInfo {
|
||||
|
@ -101,3 +103,8 @@ export interface GerritMergeableInfo {
|
|||
| 'CHERRY_PICK';
|
||||
mergeable: boolean;
|
||||
}
|
||||
|
||||
export interface GerritApprovalInfo {
|
||||
value?: number;
|
||||
username?: string;
|
||||
}
|
||||
|
|
|
@ -283,6 +283,11 @@ export interface Platform {
|
|||
|
||||
maxBodyLength(): number;
|
||||
labelCharLimit?(): number;
|
||||
/**
|
||||
* Platforms that support `autoApprove` can implement this function. It will be
|
||||
* invoked during automerge before the PR branch status is checked.
|
||||
*/
|
||||
approvePrForAutomerge?(number: number): Promise<void>;
|
||||
}
|
||||
|
||||
export interface PlatformScm {
|
||||
|
|
|
@ -86,6 +86,8 @@ export interface CommitFilesConfig {
|
|||
platformCommit?: PlatformCommitOptions;
|
||||
/** Only needed by Gerrit platform */
|
||||
prTitle?: string;
|
||||
/** Only needed by Gerrit platform */
|
||||
autoApprove?: boolean;
|
||||
}
|
||||
|
||||
export interface PushFilesConfig {
|
||||
|
|
|
@ -62,5 +62,7 @@ export function commitFilesToBranch(
|
|||
platformCommit: config.platformCommit,
|
||||
// Only needed by Gerrit platform
|
||||
prTitle: config.prTitle,
|
||||
// Only needed by Gerrit platform
|
||||
autoApprove: config.autoApprove,
|
||||
});
|
||||
}
|
||||
|
|
|
@ -124,6 +124,18 @@ describe('workers/repository/update/pr/automerge', () => {
|
|||
expect(platform.mergePr).toHaveBeenCalledTimes(0);
|
||||
});
|
||||
|
||||
it('should attempt to auto-approve if supported', async () => {
|
||||
config.autoApprove = true;
|
||||
config.automerge = true;
|
||||
config.pruneBranchAfterAutomerge = true;
|
||||
platform.getBranchStatus.mockResolvedValueOnce('green');
|
||||
platform.mergePr.mockResolvedValueOnce(true);
|
||||
const res = await prAutomerge.checkAutoMerge(pr, config);
|
||||
expect(res).toEqual({ automerged: true, branchRemoved: true });
|
||||
expect(platform.approvePrForAutomerge).toHaveBeenCalledTimes(1);
|
||||
expect(platform.mergePr).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
|
||||
it('should not automerge if enabled and pr is unmergeable', async () => {
|
||||
config.automerge = true;
|
||||
scm.isBranchConflicted.mockResolvedValueOnce(true);
|
||||
|
|
|
@ -69,6 +69,10 @@ export async function checkAutoMerge(
|
|||
prAutomergeBlockReason: 'PlatformNotReady',
|
||||
};
|
||||
}
|
||||
if (config.autoApprove && platform.approvePrForAutomerge) {
|
||||
logger.debug('Auto-approving PR for automerge');
|
||||
await platform.approvePrForAutomerge(pr.number);
|
||||
}
|
||||
const branchStatus = await resolveBranchStatus(
|
||||
branchName,
|
||||
!!config.internalChecksAsSuccess,
|
||||
|
|
|
@ -299,7 +299,7 @@
|
|||
"@types/mdast": "3.0.15",
|
||||
"@types/moo": "0.5.9",
|
||||
"@types/ms": "0.7.34",
|
||||
"@types/node": "20.17.10",
|
||||
"@types/node": "20.17.11",
|
||||
"@types/parse-link-header": "2.0.3",
|
||||
"@types/punycode": "2.1.4",
|
||||
"@types/semver": "7.5.8",
|
||||
|
|
130
pnpm-lock.yaml
130
pnpm-lock.yaml
|
@ -470,8 +470,8 @@ importers:
|
|||
specifier: 0.7.34
|
||||
version: 0.7.34
|
||||
'@types/node':
|
||||
specifier: 20.17.10
|
||||
version: 20.17.10
|
||||
specifier: 20.17.11
|
||||
version: 20.17.11
|
||||
'@types/parse-link-header':
|
||||
specifier: 2.0.3
|
||||
version: 2.0.3
|
||||
|
@ -540,7 +540,7 @@ importers:
|
|||
version: 2.31.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1)
|
||||
eslint-plugin-jest:
|
||||
specifier: 28.10.0
|
||||
version: 28.10.0(@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)))(typescript@5.7.2)
|
||||
version: 28.10.0(@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(jest@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)))(typescript@5.7.2)
|
||||
eslint-plugin-jest-formatting:
|
||||
specifier: 3.1.0
|
||||
version: 3.1.0(eslint@8.57.1)
|
||||
|
@ -564,16 +564,16 @@ importers:
|
|||
version: 9.1.7
|
||||
jest:
|
||||
specifier: 29.7.0
|
||||
version: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
version: 29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
jest-extended:
|
||||
specifier: 4.0.2
|
||||
version: 4.0.2(jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)))
|
||||
version: 4.0.2(jest@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)))
|
||||
jest-mock:
|
||||
specifier: 29.7.0
|
||||
version: 29.7.0
|
||||
jest-mock-extended:
|
||||
specifier: 3.0.7
|
||||
version: 3.0.7(jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)))(typescript@5.7.2)
|
||||
version: 3.0.7(jest@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)))(typescript@5.7.2)
|
||||
jest-snapshot:
|
||||
specifier: 29.7.0
|
||||
version: 29.7.0
|
||||
|
@ -609,10 +609,10 @@ importers:
|
|||
version: 3.0.3
|
||||
ts-jest:
|
||||
specifier: 29.2.5
|
||||
version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)))(typescript@5.7.2)
|
||||
version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)))(typescript@5.7.2)
|
||||
ts-node:
|
||||
specifier: 10.9.2
|
||||
version: 10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)
|
||||
version: 10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)
|
||||
type-fest:
|
||||
specifier: 4.31.0
|
||||
version: 4.31.0
|
||||
|
@ -2121,8 +2121,8 @@ packages:
|
|||
'@types/ms@0.7.34':
|
||||
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
|
||||
|
||||
'@types/node@20.17.10':
|
||||
resolution: {integrity: sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==}
|
||||
'@types/node@20.17.11':
|
||||
resolution: {integrity: sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg==}
|
||||
|
||||
'@types/normalize-package-data@2.4.4':
|
||||
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
|
||||
|
@ -7496,27 +7496,27 @@ snapshots:
|
|||
'@jest/console@29.7.0':
|
||||
dependencies:
|
||||
'@jest/types': 29.6.3
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
chalk: 4.1.2
|
||||
jest-message-util: 29.7.0
|
||||
jest-util: 29.7.0
|
||||
slash: 3.0.0
|
||||
|
||||
'@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))':
|
||||
'@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))':
|
||||
dependencies:
|
||||
'@jest/console': 29.7.0
|
||||
'@jest/reporters': 29.7.0
|
||||
'@jest/test-result': 29.7.0
|
||||
'@jest/transform': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
ansi-escapes: 4.3.2
|
||||
chalk: 4.1.2
|
||||
ci-info: 3.9.0
|
||||
exit: 0.1.2
|
||||
graceful-fs: 4.2.11
|
||||
jest-changed-files: 29.7.0
|
||||
jest-config: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
jest-config: 29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
jest-haste-map: 29.7.0
|
||||
jest-message-util: 29.7.0
|
||||
jest-regex-util: 29.6.3
|
||||
|
@ -7541,7 +7541,7 @@ snapshots:
|
|||
dependencies:
|
||||
'@jest/fake-timers': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
jest-mock: 29.7.0
|
||||
|
||||
'@jest/expect-utils@29.4.1':
|
||||
|
@ -7563,7 +7563,7 @@ snapshots:
|
|||
dependencies:
|
||||
'@jest/types': 29.6.3
|
||||
'@sinonjs/fake-timers': 10.3.0
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
jest-message-util: 29.7.0
|
||||
jest-mock: 29.7.0
|
||||
jest-util: 29.7.0
|
||||
|
@ -7585,7 +7585,7 @@ snapshots:
|
|||
'@jest/transform': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
chalk: 4.1.2
|
||||
collect-v8-coverage: 1.0.2
|
||||
exit: 0.1.2
|
||||
|
@ -7655,7 +7655,7 @@ snapshots:
|
|||
'@jest/schemas': 29.6.3
|
||||
'@types/istanbul-lib-coverage': 2.0.6
|
||||
'@types/istanbul-reports': 3.0.4
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
'@types/yargs': 17.0.33
|
||||
chalk: 4.1.2
|
||||
|
||||
|
@ -8703,7 +8703,7 @@ snapshots:
|
|||
|
||||
'@types/aws4@1.11.6':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/babel__core@7.20.5':
|
||||
dependencies:
|
||||
|
@ -8728,27 +8728,27 @@ snapshots:
|
|||
|
||||
'@types/better-sqlite3@7.6.12':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/breejs__later@4.1.5': {}
|
||||
|
||||
'@types/bunyan@1.8.11':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/bunyan@1.8.9':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/cacache@17.0.2':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/cacheable-request@6.0.3':
|
||||
dependencies:
|
||||
'@types/http-cache-semantics': 4.0.4
|
||||
'@types/keyv': 3.1.4
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
'@types/responselike': 1.0.3
|
||||
|
||||
'@types/callsite@1.0.34': {}
|
||||
|
@ -8779,7 +8779,7 @@ snapshots:
|
|||
'@types/fs-extra@11.0.4':
|
||||
dependencies:
|
||||
'@types/jsonfile': 6.1.4
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/git-url-parse@9.0.3': {}
|
||||
|
||||
|
@ -8789,7 +8789,7 @@ snapshots:
|
|||
|
||||
'@types/graceful-fs@4.1.9':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/http-cache-semantics@4.0.4': {}
|
||||
|
||||
|
@ -8815,13 +8815,13 @@ snapshots:
|
|||
|
||||
'@types/jsonfile@6.1.4':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/katex@0.16.7': {}
|
||||
|
||||
'@types/keyv@3.1.4':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/linkify-it@5.0.0': {}
|
||||
|
||||
|
@ -8840,7 +8840,7 @@ snapshots:
|
|||
|
||||
'@types/marshal@0.5.3':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/mdast@3.0.15':
|
||||
dependencies:
|
||||
|
@ -8856,7 +8856,7 @@ snapshots:
|
|||
|
||||
'@types/ms@0.7.34': {}
|
||||
|
||||
'@types/node@20.17.10':
|
||||
'@types/node@20.17.11':
|
||||
dependencies:
|
||||
undici-types: 6.19.8
|
||||
|
||||
|
@ -8870,7 +8870,7 @@ snapshots:
|
|||
|
||||
'@types/responselike@1.0.3':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
|
||||
'@types/semver-stable@3.0.2': {}
|
||||
|
||||
|
@ -8890,7 +8890,7 @@ snapshots:
|
|||
|
||||
'@types/tar@6.1.13':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
minipass: 4.2.8
|
||||
|
||||
'@types/tmp@0.2.6': {}
|
||||
|
@ -8915,7 +8915,7 @@ snapshots:
|
|||
|
||||
'@types/yauzl@2.10.3':
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)':
|
||||
|
@ -9680,13 +9680,13 @@ snapshots:
|
|||
optionalDependencies:
|
||||
typescript: 5.7.2
|
||||
|
||||
create-jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)):
|
||||
create-jest@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)):
|
||||
dependencies:
|
||||
'@jest/types': 29.6.3
|
||||
chalk: 4.1.2
|
||||
exit: 0.1.2
|
||||
graceful-fs: 4.2.11
|
||||
jest-config: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
jest-config: 29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
jest-util: 29.7.0
|
||||
prompts: 2.4.2
|
||||
transitivePeerDependencies:
|
||||
|
@ -10109,13 +10109,13 @@ snapshots:
|
|||
dependencies:
|
||||
eslint: 8.57.1
|
||||
|
||||
eslint-plugin-jest@28.10.0(@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)))(typescript@5.7.2):
|
||||
eslint-plugin-jest@28.10.0(@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(jest@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)))(typescript@5.7.2):
|
||||
dependencies:
|
||||
'@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2)
|
||||
eslint: 8.57.1
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/eslint-plugin': 8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)
|
||||
jest: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
jest: 29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
@ -11146,7 +11146,7 @@ snapshots:
|
|||
'@jest/expect': 29.7.0
|
||||
'@jest/test-result': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
chalk: 4.1.2
|
||||
co: 4.6.0
|
||||
dedent: 1.5.3
|
||||
|
@ -11166,16 +11166,16 @@ snapshots:
|
|||
- babel-plugin-macros
|
||||
- supports-color
|
||||
|
||||
jest-cli@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)):
|
||||
jest-cli@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)):
|
||||
dependencies:
|
||||
'@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
'@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
'@jest/test-result': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
chalk: 4.1.2
|
||||
create-jest: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
create-jest: 29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
exit: 0.1.2
|
||||
import-local: 3.2.0
|
||||
jest-config: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
jest-config: 29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
jest-util: 29.7.0
|
||||
jest-validate: 29.7.0
|
||||
yargs: 17.7.2
|
||||
|
@ -11185,7 +11185,7 @@ snapshots:
|
|||
- supports-color
|
||||
- ts-node
|
||||
|
||||
jest-config@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)):
|
||||
jest-config@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)):
|
||||
dependencies:
|
||||
'@babel/core': 7.26.0
|
||||
'@jest/test-sequencer': 29.7.0
|
||||
|
@ -11210,8 +11210,8 @@ snapshots:
|
|||
slash: 3.0.0
|
||||
strip-json-comments: 3.1.1
|
||||
optionalDependencies:
|
||||
'@types/node': 20.17.10
|
||||
ts-node: 10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)
|
||||
'@types/node': 20.17.11
|
||||
ts-node: 10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)
|
||||
transitivePeerDependencies:
|
||||
- babel-plugin-macros
|
||||
- supports-color
|
||||
|
@ -11240,16 +11240,16 @@ snapshots:
|
|||
'@jest/environment': 29.7.0
|
||||
'@jest/fake-timers': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
jest-mock: 29.7.0
|
||||
jest-util: 29.7.0
|
||||
|
||||
jest-extended@4.0.2(jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))):
|
||||
jest-extended@4.0.2(jest@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))):
|
||||
dependencies:
|
||||
jest-diff: 29.7.0
|
||||
jest-get-type: 29.6.3
|
||||
optionalDependencies:
|
||||
jest: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
jest: 29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
|
||||
jest-get-type@29.6.3: {}
|
||||
|
||||
|
@ -11257,7 +11257,7 @@ snapshots:
|
|||
dependencies:
|
||||
'@jest/types': 29.6.3
|
||||
'@types/graceful-fs': 4.1.9
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
anymatch: 3.1.3
|
||||
fb-watchman: 2.0.2
|
||||
graceful-fs: 4.2.11
|
||||
|
@ -11300,16 +11300,16 @@ snapshots:
|
|||
slash: 3.0.0
|
||||
stack-utils: 2.0.6
|
||||
|
||||
jest-mock-extended@3.0.7(jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)))(typescript@5.7.2):
|
||||
jest-mock-extended@3.0.7(jest@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)))(typescript@5.7.2):
|
||||
dependencies:
|
||||
jest: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
jest: 29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
ts-essentials: 10.0.4(typescript@5.7.2)
|
||||
typescript: 5.7.2
|
||||
|
||||
jest-mock@29.7.0:
|
||||
dependencies:
|
||||
'@jest/types': 29.6.3
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
jest-util: 29.7.0
|
||||
|
||||
jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
|
||||
|
@ -11344,7 +11344,7 @@ snapshots:
|
|||
'@jest/test-result': 29.7.0
|
||||
'@jest/transform': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
chalk: 4.1.2
|
||||
emittery: 0.13.1
|
||||
graceful-fs: 4.2.11
|
||||
|
@ -11372,7 +11372,7 @@ snapshots:
|
|||
'@jest/test-result': 29.7.0
|
||||
'@jest/transform': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
chalk: 4.1.2
|
||||
cjs-module-lexer: 1.4.1
|
||||
collect-v8-coverage: 1.0.2
|
||||
|
@ -11418,7 +11418,7 @@ snapshots:
|
|||
jest-util@29.7.0:
|
||||
dependencies:
|
||||
'@jest/types': 29.6.3
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
chalk: 4.1.2
|
||||
ci-info: 3.9.0
|
||||
graceful-fs: 4.2.11
|
||||
|
@ -11437,7 +11437,7 @@ snapshots:
|
|||
dependencies:
|
||||
'@jest/test-result': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
ansi-escapes: 4.3.2
|
||||
chalk: 4.1.2
|
||||
emittery: 0.13.1
|
||||
|
@ -11446,17 +11446,17 @@ snapshots:
|
|||
|
||||
jest-worker@29.7.0:
|
||||
dependencies:
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
jest-util: 29.7.0
|
||||
merge-stream: 2.0.0
|
||||
supports-color: 8.1.1
|
||||
|
||||
jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)):
|
||||
jest@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)):
|
||||
dependencies:
|
||||
'@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
'@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
'@jest/types': 29.6.3
|
||||
import-local: 3.2.0
|
||||
jest-cli: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
jest-cli: 29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- babel-plugin-macros
|
||||
|
@ -12619,7 +12619,7 @@ snapshots:
|
|||
'@protobufjs/path': 1.1.2
|
||||
'@protobufjs/pool': 1.1.0
|
||||
'@protobufjs/utf8': 1.1.0
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
long: 5.2.3
|
||||
|
||||
protocols@2.0.1: {}
|
||||
|
@ -13382,12 +13382,12 @@ snapshots:
|
|||
optionalDependencies:
|
||||
typescript: 5.7.2
|
||||
|
||||
ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2)))(typescript@5.7.2):
|
||||
ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2)))(typescript@5.7.2):
|
||||
dependencies:
|
||||
bs-logger: 0.2.6
|
||||
ejs: 3.1.10
|
||||
fast-json-stable-stringify: 2.1.0
|
||||
jest: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2))
|
||||
jest: 29.7.0(@types/node@20.17.11)(ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2))
|
||||
jest-util: 29.7.0
|
||||
json5: 2.2.3
|
||||
lodash.memoize: 4.1.2
|
||||
|
@ -13401,14 +13401,14 @@ snapshots:
|
|||
'@jest/types': 29.6.3
|
||||
babel-jest: 29.7.0(@babel/core@7.26.0)
|
||||
|
||||
ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.10)(typescript@5.7.2):
|
||||
ts-node@10.9.2(@swc/core@1.10.4)(@types/node@20.17.11)(typescript@5.7.2):
|
||||
dependencies:
|
||||
'@cspotcode/source-map-support': 0.8.1
|
||||
'@tsconfig/node10': 1.0.11
|
||||
'@tsconfig/node12': 1.0.11
|
||||
'@tsconfig/node14': 1.0.3
|
||||
'@tsconfig/node16': 1.0.4
|
||||
'@types/node': 20.17.10
|
||||
'@types/node': 20.17.11
|
||||
acorn: 8.14.0
|
||||
acorn-walk: 8.3.4
|
||||
arg: 4.1.3
|
||||
|
|
Loading…
Reference in a new issue