From c89c93d59bc27e349f51e4e9f584d9e259f83378 Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Tue, 19 Aug 2025 00:16:25 +0200 Subject: [PATCH] test: use @jest/globals (#9877) --- config/config/package.json | 1 + config/config/test/globalBinDir.test.ts | 4 +- config/config/test/index.ts | 1 + config/package-is-installable/package.json | 1 + .../test/checkPlatform.ts | 4 +- config/plugin-commands-config/package.json | 1 + .../test/managingAuthSettings.test.ts | 1 + deps/status/package.json | 1 + deps/status/test/checkDepsStatus.test.ts | 7 +- env/node.fetcher/package.json | 1 + env/node.fetcher/test/node.test.ts | 1 + env/plugin-commands-env/package.json | 1 + env/plugin-commands-env/test/node.test.ts | 3 +- env/system-node-version/package.json | 1 + .../test/getSystemNodeVersion.test.ts | 1 + exec/build-commands/package.json | 1 + .../build-commands/test/approveBuilds.test.ts | 1 + .../package.json | 1 + .../test/create.ts | 1 + .../test/dlx.ts | 1 + .../test/exec.logs.ts | 1 + .../test/exec.ts | 1 + .../test/verifyDepsBeforeRun.ts | 3 +- fetching/directory-fetcher/package.json | 1 + fetching/directory-fetcher/test/index.ts | 1 + fetching/git-fetcher/package.json | 1 + fetching/git-fetcher/test/index.ts | 5 +- fetching/tarball-fetcher/package.json | 1 + fetching/tarball-fetcher/test/fetch.ts | 4 +- fs/indexed-pkg-importer/package.json | 1 + .../test/createImportPackage.test.ts | 11 +- lockfile/filtering/package.json | 1 + .../test/filterByImportersAndEngine.ts | 3 +- lockfile/fs/package.json | 1 + lockfile/fs/test/lockfileName.test.ts | 1 + lockfile/fs/test/read.test.ts | 1 + lockfile/fs/test/write.test.ts | 1 + modules-mounter/daemon/package.json | 1 + .../daemon/test/createFuseHandlers.test.ts | 1 + packages/plugin-commands-doctor/package.json | 1 + packages/plugin-commands-doctor/test/index.ts | 1 + packages/plugin-commands-setup/package.json | 1 + .../plugin-commands-setup/test/setup.test.ts | 1 + patching/apply-patch/package.json | 1 + patching/apply-patch/test/applyPatchToDir.ts | 3 +- .../plugin-commands-patching/package.json | 1 + .../test/patch.test.ts | 1 + pkg-manager/core/package.json | 1 + pkg-manager/core/test/catalogs.ts | 3 +- pkg-manager/link-bins/package.json | 1 + pkg-manager/link-bins/test/index.ts | 1 + .../plugin-commands-installation/package.json | 1 + .../test/patchedDependencies.ts | 3 +- .../test/update/interactive.ts | 1 + .../test/update/issue-7415.ts | 1 + pnpm-lock.yaml | 237 +++++++++++++++++- pnpm-workspace.yaml | 1 + pnpm/package.json | 1 + pnpm/src/checkForUpdates.test.ts | 1 + .../plugin-commands-publishing/package.json | 1 + .../test/gitChecks.ts | 1 + reviewing/license-scanner/package.json | 1 + .../license-scanner/test/licenses.spec.ts | 3 +- store/store-path/package.json | 1 + store/store-path/test/index.ts | 1 + .../plugin-commands-self-updater/package.json | 1 + .../test/selfUpdate.test.ts | 3 +- 67 files changed, 315 insertions(+), 33 deletions(-) diff --git a/config/config/package.json b/config/config/package.json index 1b4930fa14..0efe5757b5 100644 --- a/config/config/package.json +++ b/config/config/package.json @@ -66,6 +66,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/config": "workspace:*", "@pnpm/prepare": "workspace:*", "@pnpm/test-fixtures": "workspace:*", diff --git a/config/config/test/globalBinDir.test.ts b/config/config/test/globalBinDir.test.ts index 06eb477e6b..7b6ee85fd4 100644 --- a/config/config/test/globalBinDir.test.ts +++ b/config/config/test/globalBinDir.test.ts @@ -1,6 +1,7 @@ /// import fs from 'fs' import { tempDir } from '@pnpm/prepare' +import { jest } from '@jest/globals' import path from 'path' import pathName from 'path-name' import symlinkDir from 'symlink-dir' @@ -11,7 +12,8 @@ const globalBinDir = path.join(homedir(), '.local', 'pnpm') const isWindows = process.platform === 'win32' jest.mock('@pnpm/npm-conf/lib/conf', () => { - const originalModule = jest.requireActual('@pnpm/npm-conf/lib/conf') + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const originalModule = jest.requireActual('@pnpm/npm-conf/lib/conf') class MockedConf extends originalModule { // eslint-disable-next-line @typescript-eslint/no-explicit-any constructor (base: any, types: any) { diff --git a/config/config/test/index.ts b/config/config/test/index.ts index 2e1fbaf69d..b8b004726e 100644 --- a/config/config/test/index.ts +++ b/config/config/test/index.ts @@ -7,6 +7,7 @@ import { getConfig } from '@pnpm/config' import loadNpmConf from '@pnpm/npm-conf' import { prepare, prepareEmpty } from '@pnpm/prepare' import { fixtures } from '@pnpm/test-fixtures' +import { jest } from '@jest/globals' import symlinkDir from 'symlink-dir' diff --git a/config/package-is-installable/package.json b/config/package-is-installable/package.json index d2d3b030cc..555446481f 100644 --- a/config/package-is-installable/package.json +++ b/config/package-is-installable/package.json @@ -46,6 +46,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/logger": "workspace:*", "@pnpm/package-is-installable": "workspace:*", "@types/semver": "catalog:" diff --git a/config/package-is-installable/test/checkPlatform.ts b/config/package-is-installable/test/checkPlatform.ts index 1f1464fd89..358633f3c2 100644 --- a/config/package-is-installable/test/checkPlatform.ts +++ b/config/package-is-installable/test/checkPlatform.ts @@ -1,9 +1,11 @@ +import { jest } from '@jest/globals' +import type * as DetectLibc from 'detect-libc' import { checkPlatform } from '../lib/checkPlatform' const packageId = 'registry.npmjs.org/foo/1.0.0' jest.mock('detect-libc', () => { - const original = jest.requireActual('detect-libc') + const original = jest.requireActual('detect-libc') return { ...original, familySync: () => 'musl', diff --git a/config/plugin-commands-config/package.json b/config/plugin-commands-config/package.json index abec98c12b..8caa4b09e8 100644 --- a/config/plugin-commands-config/package.json +++ b/config/plugin-commands-config/package.json @@ -50,6 +50,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/logger": "workspace:*", "@pnpm/plugin-commands-config": "workspace:*", "@pnpm/prepare": "workspace:*", diff --git a/config/plugin-commands-config/test/managingAuthSettings.test.ts b/config/plugin-commands-config/test/managingAuthSettings.test.ts index cdecfef222..938ead9ae7 100644 --- a/config/plugin-commands-config/test/managingAuthSettings.test.ts +++ b/config/plugin-commands-config/test/managingAuthSettings.test.ts @@ -1,5 +1,6 @@ import { config } from '@pnpm/plugin-commands-config' import { runNpm } from '@pnpm/run-npm' +import { jest } from '@jest/globals' jest.mock('@pnpm/run-npm', () => ({ runNpm: jest.fn(), diff --git a/deps/status/package.json b/deps/status/package.json index c146e788b8..3a3927b0cd 100644 --- a/deps/status/package.json +++ b/deps/status/package.json @@ -53,6 +53,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/deps.status": "workspace:*", "@pnpm/prepare": "workspace:*", "@pnpm/write-project-manifest": "workspace:*", diff --git a/deps/status/test/checkDepsStatus.test.ts b/deps/status/test/checkDepsStatus.test.ts index 24e390db1f..35a9f1a739 100644 --- a/deps/status/test/checkDepsStatus.test.ts +++ b/deps/status/test/checkDepsStatus.test.ts @@ -2,22 +2,23 @@ import { type Stats } from 'fs' import { checkDepsStatus, type CheckDepsStatusOptions } from '@pnpm/deps.status' import * as workspaceStateModule from '@pnpm/workspace.state' import * as lockfileFs from '@pnpm/lockfile.fs' +import { jest } from '@jest/globals' import * as fsUtils from '../lib/safeStat' import * as statManifestFileUtils from '../lib/statManifestFile' jest.mock('../lib/safeStat', () => ({ - ...jest.requireActual('../lib/safeStat'), + ...jest.requireActual('../lib/safeStat'), safeStatSync: jest.fn(), safeStat: jest.fn(), })) jest.mock('../lib/statManifestFile', () => ({ - ...jest.requireActual('../lib/statManifestFile'), + ...jest.requireActual('../lib/statManifestFile'), statManifestFile: jest.fn(), })) jest.mock('@pnpm/lockfile.fs', () => ({ - ...jest.requireActual('@pnpm/lockfile.fs'), + ...jest.requireActual('@pnpm/lockfile.fs'), readCurrentLockfile: jest.fn(), readWantedLockfile: jest.fn(), })) diff --git a/env/node.fetcher/package.json b/env/node.fetcher/package.json index 187ac8d006..e9d82c0ccd 100644 --- a/env/node.fetcher/package.json +++ b/env/node.fetcher/package.json @@ -43,6 +43,7 @@ "detect-libc": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/cafs-types": "workspace:*", "@pnpm/node.fetcher": "workspace:*", "@pnpm/prepare": "workspace:*", diff --git a/env/node.fetcher/test/node.test.ts b/env/node.fetcher/test/node.test.ts index 6e5ca26d08..b7d082407b 100644 --- a/env/node.fetcher/test/node.test.ts +++ b/env/node.fetcher/test/node.test.ts @@ -4,6 +4,7 @@ import path from 'path' import { Readable } from 'stream' import { fetchNode, type FetchNodeOptionsToDir as FetchNodeOptions } from '@pnpm/node.fetcher' import { tempDir } from '@pnpm/prepare' +import { jest } from '@jest/globals' import { isNonGlibcLinux } from 'detect-libc' jest.mock('detect-libc', () => ({ diff --git a/env/plugin-commands-env/package.json b/env/plugin-commands-env/package.json index 36fa722732..56a3f035df 100644 --- a/env/plugin-commands-env/package.json +++ b/env/plugin-commands-env/package.json @@ -56,6 +56,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/logger": "workspace:*", "@pnpm/plugin-commands-env": "workspace:*", "@pnpm/prepare": "workspace:*", diff --git a/env/plugin-commands-env/test/node.test.ts b/env/plugin-commands-env/test/node.test.ts index 56840bf00c..62d43beba5 100644 --- a/env/plugin-commands-env/test/node.test.ts +++ b/env/plugin-commands-env/test/node.test.ts @@ -4,6 +4,7 @@ import fs from 'fs' import { Readable } from 'stream' import tar from 'tar-stream' import { globalWarn } from '@pnpm/logger' +import { jest } from '@jest/globals' import { ZipFile } from 'yazl' import { getNodeDir, @@ -54,7 +55,7 @@ jest.mock('@pnpm/fetch', () => ({ })) jest.mock('@pnpm/logger', () => { - const originalModule = jest.requireActual('@pnpm/logger') + const originalModule = jest.requireActual('@pnpm/logger') return { ...originalModule, globalWarn: jest.fn(), diff --git a/env/system-node-version/package.json b/env/system-node-version/package.json index a8a70ddc7f..08c37d4bd2 100644 --- a/env/system-node-version/package.json +++ b/env/system-node-version/package.json @@ -37,6 +37,7 @@ "mem": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/env.system-node-version": "workspace:*" }, "engines": { diff --git a/env/system-node-version/test/getSystemNodeVersion.test.ts b/env/system-node-version/test/getSystemNodeVersion.test.ts index 7932c8460e..77741991a7 100644 --- a/env/system-node-version/test/getSystemNodeVersion.test.ts +++ b/env/system-node-version/test/getSystemNodeVersion.test.ts @@ -1,3 +1,4 @@ +import { jest } from '@jest/globals' import { getSystemNodeVersionNonCached } from '../lib' import * as execa from 'execa' diff --git a/exec/build-commands/package.json b/exec/build-commands/package.json index 4af7ce2849..0d8436fd85 100644 --- a/exec/build-commands/package.json +++ b/exec/build-commands/package.json @@ -46,6 +46,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/exec.build-commands": "workspace:*", "@pnpm/plugin-commands-installation": "workspace:*", "@pnpm/prepare": "workspace:*", diff --git a/exec/build-commands/test/approveBuilds.test.ts b/exec/build-commands/test/approveBuilds.test.ts index 169fe596dc..8817e13c35 100644 --- a/exec/build-commands/test/approveBuilds.test.ts +++ b/exec/build-commands/test/approveBuilds.test.ts @@ -9,6 +9,7 @@ import { type ProjectManifest } from '@pnpm/types' import { getConfig } from '@pnpm/config' import { type Modules, readModulesManifest } from '@pnpm/modules-yaml' import { REGISTRY_MOCK_PORT } from '@pnpm/registry-mock' +import { jest } from '@jest/globals' import { sync as loadJsonFile } from 'load-json-file' import omit from 'ramda/src/omit' import { tempDir } from '@pnpm/prepare-temp-dir' diff --git a/exec/plugin-commands-script-runners/package.json b/exec/plugin-commands-script-runners/package.json index 852612641a..aab73f5106 100644 --- a/exec/plugin-commands-script-runners/package.json +++ b/exec/plugin-commands-script-runners/package.json @@ -73,6 +73,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/env.system-node-version": "workspace:*", "@pnpm/filter-workspace-packages": "workspace:*", "@pnpm/logger": "workspace:*", diff --git a/exec/plugin-commands-script-runners/test/create.ts b/exec/plugin-commands-script-runners/test/create.ts index fa54917be8..e1396a6151 100644 --- a/exec/plugin-commands-script-runners/test/create.ts +++ b/exec/plugin-commands-script-runners/test/create.ts @@ -1,4 +1,5 @@ import { PnpmError } from '@pnpm/error' +import { jest } from '@jest/globals' import { create, dlx } from '../src' import { DLX_DEFAULT_OPTS as DEFAULT_OPTS } from './utils' diff --git a/exec/plugin-commands-script-runners/test/dlx.ts b/exec/plugin-commands-script-runners/test/dlx.ts index 92d1c53b75..9195de5e59 100644 --- a/exec/plugin-commands-script-runners/test/dlx.ts +++ b/exec/plugin-commands-script-runners/test/dlx.ts @@ -2,6 +2,7 @@ import path from 'path' import execa from 'execa' import { dlx } from '@pnpm/plugin-commands-script-runners' import { prepareEmpty } from '@pnpm/prepare' +import { jest } from '@jest/globals' import { DLX_DEFAULT_OPTS as DEFAULT_OPTS } from './utils' jest.mock('execa') diff --git a/exec/plugin-commands-script-runners/test/exec.logs.ts b/exec/plugin-commands-script-runners/test/exec.logs.ts index d72726d736..8e9ff1a881 100644 --- a/exec/plugin-commands-script-runners/test/exec.logs.ts +++ b/exec/plugin-commands-script-runners/test/exec.logs.ts @@ -4,6 +4,7 @@ import { filterPackagesFromDir } from '@pnpm/workspace.filter-packages-from-dir' import { logger } from '@pnpm/logger' import { exec } from '@pnpm/plugin-commands-script-runners' import { preparePackages } from '@pnpm/prepare' +import { jest } from '@jest/globals' import writeYamlFile from 'write-yaml-file' import { DEFAULT_OPTS } from './utils' diff --git a/exec/plugin-commands-script-runners/test/exec.ts b/exec/plugin-commands-script-runners/test/exec.ts index c6ae79cb0c..21dfa42576 100644 --- a/exec/plugin-commands-script-runners/test/exec.ts +++ b/exec/plugin-commands-script-runners/test/exec.ts @@ -1,6 +1,7 @@ import execa from 'execa' import { exec } from '@pnpm/plugin-commands-script-runners' import { prepareEmpty } from '@pnpm/prepare' +import { jest } from '@jest/globals' import { DEFAULT_OPTS } from './utils' jest.mock('execa') diff --git a/exec/plugin-commands-script-runners/test/verifyDepsBeforeRun.ts b/exec/plugin-commands-script-runners/test/verifyDepsBeforeRun.ts index dff32d9daa..3e87d3ccbc 100644 --- a/exec/plugin-commands-script-runners/test/verifyDepsBeforeRun.ts +++ b/exec/plugin-commands-script-runners/test/verifyDepsBeforeRun.ts @@ -4,11 +4,12 @@ import { globalWarn } from '@pnpm/logger' import { type VerifyDepsBeforeRun } from '@pnpm/config' import { run } from '@pnpm/plugin-commands-script-runners' import { prepare } from '@pnpm/prepare' +import { jest } from '@jest/globals' import { prompt } from 'enquirer' import { DEFAULT_OPTS } from './utils' jest.mock('@pnpm/logger', () => { - const originalModule = jest.requireActual('@pnpm/logger') + const originalModule = jest.requireActual('@pnpm/logger') return { ...originalModule, globalWarn: jest.fn(), diff --git a/fetching/directory-fetcher/package.json b/fetching/directory-fetcher/package.json index d15b86c1ab..a37485bc57 100644 --- a/fetching/directory-fetcher/package.json +++ b/fetching/directory-fetcher/package.json @@ -43,6 +43,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/directory-fetcher": "workspace:*", "@pnpm/logger": "workspace:*", "@pnpm/test-fixtures": "workspace:*", diff --git a/fetching/directory-fetcher/test/index.ts b/fetching/directory-fetcher/test/index.ts index 257493c7d5..04d1209b07 100644 --- a/fetching/directory-fetcher/test/index.ts +++ b/fetching/directory-fetcher/test/index.ts @@ -6,6 +6,7 @@ import { createDirectoryFetcher } from '@pnpm/directory-fetcher' import { debug } from '@pnpm/logger' import { fixtures } from '@pnpm/test-fixtures' import { sync as rimraf } from '@zkochan/rimraf' +import { jest } from '@jest/globals' const f = fixtures(__dirname) jest.mock('@pnpm/logger', () => { diff --git a/fetching/git-fetcher/package.json b/fetching/git-fetcher/package.json index 6b84ba0129..e2eb4d94c4 100644 --- a/fetching/git-fetcher/package.json +++ b/fetching/git-fetcher/package.json @@ -43,6 +43,7 @@ "@pnpm/worker": "workspace:^" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/create-cafs-store": "workspace:*", "@pnpm/git-fetcher": "workspace:*", "@pnpm/logger": "workspace:*", diff --git a/fetching/git-fetcher/test/index.ts b/fetching/git-fetcher/test/index.ts index ed7d3b55be..0baca74fb9 100644 --- a/fetching/git-fetcher/test/index.ts +++ b/fetching/git-fetcher/test/index.ts @@ -3,11 +3,12 @@ import path from 'path' import { createCafsStore } from '@pnpm/create-cafs-store' import { createGitFetcher } from '@pnpm/git-fetcher' import { globalWarn } from '@pnpm/logger' +import { jest } from '@jest/globals' import tempy from 'tempy' import execa from 'execa' jest.mock('execa', () => { - const originalModule = jest.requireActual('execa') + const originalModule = jest.requireActual('execa') // eslint-disable-line return { __esModule: true, ...originalModule, @@ -16,7 +17,7 @@ jest.mock('execa', () => { }) jest.mock('@pnpm/logger', () => { - const originalModule = jest.requireActual('@pnpm/logger') + const originalModule = jest.requireActual('@pnpm/logger') return { ...originalModule, globalWarn: jest.fn(), diff --git a/fetching/tarball-fetcher/package.json b/fetching/tarball-fetcher/package.json index 0ba69fd3a0..fc756698ae 100644 --- a/fetching/tarball-fetcher/package.json +++ b/fetching/tarball-fetcher/package.json @@ -52,6 +52,7 @@ "@pnpm/worker": "workspace:^" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/cafs-types": "workspace:*", "@pnpm/create-cafs-store": "workspace:*", "@pnpm/fetch": "workspace:*", diff --git a/fetching/tarball-fetcher/test/fetch.ts b/fetching/tarball-fetcher/test/fetch.ts index 8c36599a04..ddd5b8264e 100644 --- a/fetching/tarball-fetcher/test/fetch.ts +++ b/fetching/tarball-fetcher/test/fetch.ts @@ -5,18 +5,20 @@ import { FetchError, PnpmError } from '@pnpm/error' import { createFetchFromRegistry } from '@pnpm/fetch' import { createCafsStore } from '@pnpm/create-cafs-store' import { globalWarn } from '@pnpm/logger' +import type * as Logger from '@pnpm/logger' import { fixtures } from '@pnpm/test-fixtures' import { createTarballFetcher, BadTarballError, TarballIntegrityError, } from '@pnpm/tarball-fetcher' +import { jest } from '@jest/globals' import nock from 'nock' import ssri from 'ssri' import tempy from 'tempy' jest.mock('@pnpm/logger', () => { - const originalModule = jest.requireActual('@pnpm/logger') + const originalModule = jest.requireActual('@pnpm/logger') return { ...originalModule, globalWarn: jest.fn(), diff --git a/fs/indexed-pkg-importer/package.json b/fs/indexed-pkg-importer/package.json index 1b52822836..ffb66dc037 100644 --- a/fs/indexed-pkg-importer/package.json +++ b/fs/indexed-pkg-importer/package.json @@ -60,6 +60,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/fs.indexed-pkg-importer": "workspace:*", "@pnpm/logger": "workspace:*", "@pnpm/prepare": "workspace:*", diff --git a/fs/indexed-pkg-importer/test/createImportPackage.test.ts b/fs/indexed-pkg-importer/test/createImportPackage.test.ts index 015c1e138b..d9acd31f7a 100644 --- a/fs/indexed-pkg-importer/test/createImportPackage.test.ts +++ b/fs/indexed-pkg-importer/test/createImportPackage.test.ts @@ -3,11 +3,12 @@ import path from 'path' import { createIndexedPkgImporter } from '@pnpm/fs.indexed-pkg-importer' import gfs from '@pnpm/graceful-fs' import { globalInfo } from '@pnpm/logger' +import { jest } from '@jest/globals' const testOnLinuxOnly = (process.platform === 'darwin' || process.platform === 'win32') ? test.skip : test jest.mock('@pnpm/graceful-fs', () => { - const { access, promises } = jest.requireActual('fs') + const { access, promises } = jest.requireActual('fs') const fsMock = { mkdirSync: promises.mkdir, readdirSync: promises.readdir, @@ -190,10 +191,10 @@ test('packageImportMethod=hardlink relinks package from store if package.json is test('packageImportMethod=hardlink does not relink package from store if package.json is not present in the store', () => { const importPackage = createIndexedPkgImporter('hardlink') - jest.mocked(gfs.statSync).mockImplementation((file) => { + jest.mocked(gfs.statSync).mockImplementation(((file: string) => { expect(typeof file).toBe('string') return { ino: BigInt(1) } as BigIntStats - }) + }) as unknown as typeof gfs.statSync) expect(importPackage('project/package', { filesMap: { 'index.js': 'hash2', @@ -205,12 +206,12 @@ test('packageImportMethod=hardlink does not relink package from store if package test('packageImportMethod=hardlink links packages when they are not found', () => { const importPackage = createIndexedPkgImporter('hardlink') - jest.mocked(gfs.statSync).mockImplementation((file) => { + jest.mocked(gfs.statSync).mockImplementation(((file: string) => { if (file === path.join('project/package', 'package.json')) { throw Object.assign(new Error(), { code: 'ENOENT' }) } return { ino: BigInt(0) } as BigIntStats - }) + }) as unknown as typeof gfs.statSync) expect(importPackage('project/package', { filesMap: { 'index.js': 'hash2', diff --git a/lockfile/filtering/package.json b/lockfile/filtering/package.json index bbcd52595e..003e39d129 100644 --- a/lockfile/filtering/package.json +++ b/lockfile/filtering/package.json @@ -47,6 +47,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/lockfile.filtering": "workspace:*", "@pnpm/logger": "workspace:*", "@types/ramda": "catalog:", diff --git a/lockfile/filtering/test/filterByImportersAndEngine.ts b/lockfile/filtering/test/filterByImportersAndEngine.ts index 43f191ffdd..970718adcc 100644 --- a/lockfile/filtering/test/filterByImportersAndEngine.ts +++ b/lockfile/filtering/test/filterByImportersAndEngine.ts @@ -1,12 +1,13 @@ import { LOCKFILE_VERSION } from '@pnpm/constants' import { filterLockfileByImportersAndEngine } from '@pnpm/lockfile.filtering' import { type DepPath, type ProjectId } from '@pnpm/types' +import { jest } from '@jest/globals' const REGIONAL_ARCH = Object.assign({}, process.arch) const REGIONAL_CPU = Object.assign({}, process.platform) jest.mock('detect-libc', () => { - const original = jest.requireActual('detect-libc') + const original = jest.requireActual('detect-libc') return { ...original, familySync: () => 'musl', diff --git a/lockfile/fs/package.json b/lockfile/fs/package.json index 4aeee9903b..1b8ccccceb 100644 --- a/lockfile/fs/package.json +++ b/lockfile/fs/package.json @@ -56,6 +56,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/lockfile.fs": "workspace:*", "@pnpm/logger": "workspace:*", "@types/js-yaml": "catalog:", diff --git a/lockfile/fs/test/lockfileName.test.ts b/lockfile/fs/test/lockfileName.test.ts index 7dade76f42..ebe223ac1d 100644 --- a/lockfile/fs/test/lockfileName.test.ts +++ b/lockfile/fs/test/lockfileName.test.ts @@ -1,5 +1,6 @@ import { WANTED_LOCKFILE } from '@pnpm/constants' import { getCurrentBranch } from '@pnpm/git-utils' +import { jest } from '@jest/globals' import { getWantedLockfileName } from '../lib/lockfileName' jest.mock('@pnpm/git-utils', () => ({ getCurrentBranch: jest.fn() })) diff --git a/lockfile/fs/test/read.test.ts b/lockfile/fs/test/read.test.ts index b6f75f6cb8..0c6847e0e1 100644 --- a/lockfile/fs/test/read.test.ts +++ b/lockfile/fs/test/read.test.ts @@ -8,6 +8,7 @@ import { writeWantedLockfile, } from '@pnpm/lockfile.fs' import { type DepPath, type ProjectId } from '@pnpm/types' +import { jest } from '@jest/globals' import tempy from 'tempy' jest.mock('@pnpm/git-utils', () => ({ getCurrentBranch: jest.fn() })) diff --git a/lockfile/fs/test/write.test.ts b/lockfile/fs/test/write.test.ts index 698e5364c8..d7c712390f 100644 --- a/lockfile/fs/test/write.test.ts +++ b/lockfile/fs/test/write.test.ts @@ -6,6 +6,7 @@ import { readWantedLockfile, writeLockfiles, } from '@pnpm/lockfile.fs' +import { jest } from '@jest/globals' import tempy from 'tempy' import yaml from 'yaml-tag' import { getCurrentBranch } from '@pnpm/git-utils' diff --git a/modules-mounter/daemon/package.json b/modules-mounter/daemon/package.json index aa04ceb7ba..88802cf3d4 100644 --- a/modules-mounter/daemon/package.json +++ b/modules-mounter/daemon/package.json @@ -55,6 +55,7 @@ "fuse-native": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/constants": "workspace:*", "@pnpm/logger": "workspace:*", "@pnpm/mount-modules": "workspace:*", diff --git a/modules-mounter/daemon/test/createFuseHandlers.test.ts b/modules-mounter/daemon/test/createFuseHandlers.test.ts index 9860af343f..c43b35e42c 100644 --- a/modules-mounter/daemon/test/createFuseHandlers.test.ts +++ b/modules-mounter/daemon/test/createFuseHandlers.test.ts @@ -1,4 +1,5 @@ import { STORE_VERSION } from '@pnpm/constants' +import { jest } from '@jest/globals' import path from 'path' jest.mock('fuse-native', () => ({ ENOENT: -2 })) diff --git a/packages/plugin-commands-doctor/package.json b/packages/plugin-commands-doctor/package.json index c623bd554e..2171bae5e8 100644 --- a/packages/plugin-commands-doctor/package.json +++ b/packages/plugin-commands-doctor/package.json @@ -40,6 +40,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/logger": "workspace:*", "@pnpm/plugin-commands-doctor": "workspace:*" }, diff --git a/packages/plugin-commands-doctor/test/index.ts b/packages/plugin-commands-doctor/test/index.ts index ab4764e939..312c13de36 100644 --- a/packages/plugin-commands-doctor/test/index.ts +++ b/packages/plugin-commands-doctor/test/index.ts @@ -1,5 +1,6 @@ import { doctor } from '@pnpm/plugin-commands-doctor' import { logger } from '@pnpm/logger' +import { jest } from '@jest/globals' beforeEach(() => { jest.spyOn(logger, 'warn') diff --git a/packages/plugin-commands-setup/package.json b/packages/plugin-commands-setup/package.json index 67afb67c39..ffa2d3be00 100644 --- a/packages/plugin-commands-setup/package.json +++ b/packages/plugin-commands-setup/package.json @@ -42,6 +42,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/error": "workspace:*", "@pnpm/logger": "workspace:*", "@pnpm/plugin-commands-setup": "workspace:*", diff --git a/packages/plugin-commands-setup/test/setup.test.ts b/packages/plugin-commands-setup/test/setup.test.ts index 98e58f9e60..59a96bd93f 100644 --- a/packages/plugin-commands-setup/test/setup.test.ts +++ b/packages/plugin-commands-setup/test/setup.test.ts @@ -1,6 +1,7 @@ import { PnpmError } from '@pnpm/error' import { setup } from '@pnpm/plugin-commands-setup' import { addDirToEnvPath, type PathExtenderReport } from '@pnpm/os.env.path-extender' +import { jest } from '@jest/globals' jest.mock('@pnpm/os.env.path-extender', () => ({ addDirToEnvPath: jest.fn(), diff --git a/patching/apply-patch/package.json b/patching/apply-patch/package.json index 4d46a7dafe..cb661c774f 100644 --- a/patching/apply-patch/package.json +++ b/patching/apply-patch/package.json @@ -39,6 +39,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/logger": "workspace:*", "@pnpm/patching.apply-patch": "workspace:*", "@pnpm/prepare": "workspace:*", diff --git a/patching/apply-patch/test/applyPatchToDir.ts b/patching/apply-patch/test/applyPatchToDir.ts index c765ff52f5..76e1a0a4f4 100644 --- a/patching/apply-patch/test/applyPatchToDir.ts +++ b/patching/apply-patch/test/applyPatchToDir.ts @@ -4,11 +4,12 @@ import { applyPatchToDir } from '@pnpm/patching.apply-patch' import { fixtures } from '@pnpm/test-fixtures' import { tempDir } from '@pnpm/prepare' import { globalWarn } from '@pnpm/logger' +import { jest } from '@jest/globals' const f = fixtures(__dirname) jest.mock('@pnpm/logger', () => { - const originalModule = jest.requireActual('@pnpm/logger') + const originalModule = jest.requireActual('@pnpm/logger') return { ...originalModule, globalWarn: jest.fn(), diff --git a/patching/plugin-commands-patching/package.json b/patching/plugin-commands-patching/package.json index 83d0981ceb..fed25f3b3b 100644 --- a/patching/plugin-commands-patching/package.json +++ b/patching/plugin-commands-patching/package.json @@ -71,6 +71,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/logger": "workspace:*", "@pnpm/plugin-commands-patching": "workspace:*", "@pnpm/prepare": "workspace:*", diff --git a/patching/plugin-commands-patching/test/patch.test.ts b/patching/plugin-commands-patching/test/patch.test.ts index 63dc522a86..b998f61bcb 100644 --- a/patching/plugin-commands-patching/test/patch.test.ts +++ b/patching/plugin-commands-patching/test/patch.test.ts @@ -12,6 +12,7 @@ import { readProjectManifest } from '@pnpm/read-project-manifest' import { REGISTRY_MOCK_PORT } from '@pnpm/registry-mock' import { DEFAULT_OPTS } from './utils/index' import { fixtures } from '@pnpm/test-fixtures' +import { jest } from '@jest/globals' import * as enquirer from 'enquirer' jest.mock('enquirer', () => ({ prompt: jest.fn() })) diff --git a/pkg-manager/core/package.json b/pkg-manager/core/package.json index 6f5e925704..8ca7d8712d 100644 --- a/pkg-manager/core/package.json +++ b/pkg-manager/core/package.json @@ -122,6 +122,7 @@ "@pnpm/worker": "workspace:^" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/assert-project": "workspace:*", "@pnpm/assert-store": "workspace:*", "@pnpm/core": "workspace:*", diff --git a/pkg-manager/core/test/catalogs.ts b/pkg-manager/core/test/catalogs.ts index de124230c9..4ea5260933 100644 --- a/pkg-manager/core/test/catalogs.ts +++ b/pkg-manager/core/test/catalogs.ts @@ -5,12 +5,13 @@ import { addDistTag } from '@pnpm/registry-mock' import { type MutatedProject, mutateModules, type ProjectOptions, type MutateModulesOptions, addDependenciesToPackage } from '@pnpm/core' import { type CatalogSnapshots } from '@pnpm/lockfile.types' import { logger } from '@pnpm/logger' +import { jest } from '@jest/globals' import { sync as loadJsonFile } from 'load-json-file' import path from 'path' import { testDefaults } from './utils' jest.mock('@pnpm/logger', () => { - const originalModule = jest.requireActual('@pnpm/logger') + const originalModule = jest.requireActual('@pnpm/logger') // eslint-disable-line originalModule.logger.warn = jest.fn() return originalModule }) diff --git a/pkg-manager/link-bins/package.json b/pkg-manager/link-bins/package.json index 1a11b973b5..5417028b43 100644 --- a/pkg-manager/link-bins/package.json +++ b/pkg-manager/link-bins/package.json @@ -56,6 +56,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/link-bins": "workspace:*", "@pnpm/logger": "workspace:*", "@pnpm/test-fixtures": "workspace:*", diff --git a/pkg-manager/link-bins/test/index.ts b/pkg-manager/link-bins/test/index.ts index a9f5903428..9192808ee9 100644 --- a/pkg-manager/link-bins/test/index.ts +++ b/pkg-manager/link-bins/test/index.ts @@ -8,6 +8,7 @@ import { linkBinsOfPkgsByAliases, } from '@pnpm/link-bins' import { fixtures } from '@pnpm/test-fixtures' +import { jest } from '@jest/globals' import CMD_EXTENSION from 'cmd-extension' import isWindows from 'is-windows' import normalizePath from 'normalize-path' diff --git a/pkg-manager/plugin-commands-installation/package.json b/pkg-manager/plugin-commands-installation/package.json index 0076bb55c8..0700d3a659 100644 --- a/pkg-manager/plugin-commands-installation/package.json +++ b/pkg-manager/plugin-commands-installation/package.json @@ -95,6 +95,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/assert-project": "workspace:*", "@pnpm/logger": "workspace:*", "@pnpm/modules-yaml": "workspace:*", diff --git a/pkg-manager/plugin-commands-installation/test/patchedDependencies.ts b/pkg-manager/plugin-commands-installation/test/patchedDependencies.ts index e97c2b2782..077130b083 100644 --- a/pkg-manager/plugin-commands-installation/test/patchedDependencies.ts +++ b/pkg-manager/plugin-commands-installation/test/patchedDependencies.ts @@ -5,10 +5,11 @@ import { globalWarn } from '@pnpm/logger' import { add, install } from '@pnpm/plugin-commands-installation' import { prepareEmpty } from '@pnpm/prepare' import { fixtures } from '@pnpm/test-fixtures' +import { jest } from '@jest/globals' import { DEFAULT_OPTS } from './utils' jest.mock('@pnpm/logger', () => { - const originalModule = jest.requireActual('@pnpm/logger') + const originalModule = jest.requireActual('@pnpm/logger') return { ...originalModule, globalWarn: jest.fn(), diff --git a/pkg-manager/plugin-commands-installation/test/update/interactive.ts b/pkg-manager/plugin-commands-installation/test/update/interactive.ts index 62069f92b9..5d58a8b395 100644 --- a/pkg-manager/plugin-commands-installation/test/update/interactive.ts +++ b/pkg-manager/plugin-commands-installation/test/update/interactive.ts @@ -4,6 +4,7 @@ import { type LockfileObject } from '@pnpm/lockfile.types' import { add, install, update } from '@pnpm/plugin-commands-installation' import { prepare, preparePackages } from '@pnpm/prepare' import { REGISTRY_MOCK_PORT, addDistTag } from '@pnpm/registry-mock' +import { jest } from '@jest/globals' import { sync as readYamlFile } from 'read-yaml-file' import chalk from 'chalk' import * as enquirer from 'enquirer' diff --git a/pkg-manager/plugin-commands-installation/test/update/issue-7415.ts b/pkg-manager/plugin-commands-installation/test/update/issue-7415.ts index 0b56fc7640..c804d91d96 100644 --- a/pkg-manager/plugin-commands-installation/test/update/issue-7415.ts +++ b/pkg-manager/plugin-commands-installation/test/update/issue-7415.ts @@ -4,6 +4,7 @@ import { REGISTRY_MOCK_PORT } from '@pnpm/registry-mock' import { update, install } from '@pnpm/plugin-commands-installation' import * as enquirer from 'enquirer' import { filterPackagesFromDir } from '@pnpm/workspace.filter-packages-from-dir' +import { jest } from '@jest/globals' jest.mock('enquirer', () => ({ prompt: jest.fn() })) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 199aec13be..b1def2f4ee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,6 +36,9 @@ catalogs: '@gwhitney/detect-indent': specifier: 7.0.1 version: 7.0.1 + '@jest/globals': + specifier: 29.7.0 + version: 29.7.0 '@pnpm/builder.policy': specifier: 3.0.1 version: 3.0.1 @@ -1681,6 +1684,9 @@ importers: specifier: 'catalog:' version: '@pnpm/which@3.0.1' devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/config': specifier: workspace:* version: 'link:' @@ -1854,6 +1860,9 @@ importers: specifier: 'catalog:' version: 7.7.1 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/logger': specifier: workspace:* version: link:../../packages/logger @@ -1935,6 +1944,9 @@ importers: specifier: 'catalog:' version: 4.0.1 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/logger': specifier: workspace:* version: link:../../packages/logger @@ -2179,6 +2191,9 @@ importers: specifier: 'catalog:' version: '@pnpm/ramda@0.28.1' devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/deps.status': specifier: workspace:* version: 'link:' @@ -2219,6 +2234,9 @@ importers: specifier: 'catalog:' version: 2.0.3 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/cafs-types': specifier: workspace:* version: link:../../store/cafs-types @@ -2348,6 +2366,9 @@ importers: specifier: 'catalog:' version: 4.3.0 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/logger': specifier: workspace:* version: link:../../packages/logger @@ -2403,6 +2424,9 @@ importers: specifier: 'catalog:' version: 8.1.1 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/env.system-node-version': specifier: workspace:* version: 'link:' @@ -2440,6 +2464,9 @@ importers: specifier: 'catalog:' version: 1.0.3 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/exec.build-commands': specifier: workspace:* version: 'link:' @@ -2874,6 +2901,9 @@ importers: specifier: 'catalog:' version: 4.3.0 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/env.system-node-version': specifier: workspace:* version: link:../../env/system-node-version @@ -3044,6 +3074,9 @@ importers: specifier: workspace:* version: link:../../packages/types devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/directory-fetcher': specifier: workspace:* version: 'link:' @@ -3097,6 +3130,9 @@ importers: specifier: 'catalog:' version: safe-execa@0.1.2 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/create-cafs-store': specifier: workspace:* version: link:../../store/create-cafs-store @@ -3173,6 +3209,9 @@ importers: specifier: 'catalog:' version: 6.0.2 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/cafs-types': specifier: workspace:* version: link:../../store/cafs-types @@ -3299,6 +3338,9 @@ importers: specifier: 'catalog:' version: 1.6.3 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/fs.indexed-pkg-importer': specifier: workspace:* version: 'link:' @@ -3569,6 +3611,9 @@ importers: specifier: 'catalog:' version: '@pnpm/ramda@0.28.1' devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/lockfile.filtering': specifier: workspace:* version: 'link:' @@ -3645,6 +3690,9 @@ importers: specifier: 'catalog:' version: 5.0.1 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/lockfile.fs': specifier: workspace:* version: 'link:' @@ -4073,6 +4121,9 @@ importers: specifier: 'catalog:' version: 3.0.0 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/constants': specifier: workspace:* version: link:../../packages/constants @@ -4349,6 +4400,9 @@ importers: specifier: 'catalog:' version: 1.0.3 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/logger': specifier: workspace:* version: link:../logger @@ -4423,6 +4477,9 @@ importers: specifier: 'catalog:' version: 1.0.3 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/error': specifier: workspace:* version: link:../error @@ -4476,6 +4533,9 @@ importers: specifier: 'catalog:' version: 0.0.1 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/logger': specifier: workspace:* version: link:../../packages/logger @@ -4616,6 +4676,9 @@ importers: specifier: 'catalog:' version: 0.2.14 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/logger': specifier: workspace:* version: link:../../packages/logger @@ -4894,6 +4957,9 @@ importers: specifier: 'catalog:' version: 7.7.1 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/assert-project': specifier: workspace:* version: link:../../__utils__/assert-project @@ -5340,6 +5406,9 @@ importers: specifier: 'catalog:' version: 6.0.5 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/link-bins': specifier: workspace:* version: 'link:' @@ -5759,6 +5828,9 @@ importers: specifier: 'catalog:' version: '@pnpm/which@3.0.1' devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/assert-project': specifier: workspace:* version: link:../../__utils__/assert-project @@ -6246,6 +6318,9 @@ importers: specifier: 2.4.0 version: 2.4.0 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/assert-project': specifier: workspace:* version: link:../__utils__/assert-project @@ -6812,6 +6887,9 @@ importers: specifier: 'catalog:' version: 4.3.0 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/catalogs.config': specifier: workspace:* version: link:../../catalogs/config @@ -7354,6 +7432,9 @@ importers: specifier: 'catalog:' version: 7.7.1 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/constants': specifier: workspace:* version: link:../../packages/constants @@ -8270,6 +8351,9 @@ importers: specifier: 'catalog:' version: 3.1.0 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/store-path': specifier: workspace:* version: 'link:' @@ -8375,6 +8459,9 @@ importers: specifier: 'catalog:' version: 1.0.3 devDependencies: + '@jest/globals': + specifier: 'catalog:' + version: 29.7.0 '@pnpm/env.path': specifier: workspace:* version: link:../../env/path @@ -8778,6 +8865,10 @@ packages: resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} engines: {node: '>=6.9.0'} + '@babel/core@7.28.3': + resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.23.0': resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} engines: {node: '>=6.9.0'} @@ -8786,6 +8877,10 @@ packages: resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.27.3': resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} @@ -8800,6 +8895,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.27.1': resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} engines: {node: '>=6.9.0'} @@ -8814,6 +8913,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-optimise-call-expression@7.27.1': resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} engines: {node: '>=6.9.0'} @@ -8848,6 +8953,10 @@ packages: resolution: {integrity: sha512-Y+bO6U+I7ZKaM5G5rDUZiYfUvQPUibYmAFe7EnKdnKBbVXDZxvp+MWOH5gYciY0EPk4EScsuFMQBbEfpdRKSCQ==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.28.3': + resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.23.0': resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} engines: {node: '>=6.0.0'} @@ -8862,6 +8971,13 @@ packages: peerDependencies: '@babel/types': '*' + '@babel/parser@7.28.3': + resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} + engines: {node: '>=6.0.0'} + hasBin: true + peerDependencies: + '@babel/types': '*' + '@babel/plugin-syntax-async-generators@7.8.4': resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -8983,6 +9099,10 @@ packages: resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.28.3': + resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} + engines: {node: '>=6.9.0'} + '@babel/types@7.23.0': resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} engines: {node: '>=6.9.0'} @@ -8995,6 +9115,10 @@ packages: resolution: {integrity: sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.2': + resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -9629,6 +9753,9 @@ packages: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} @@ -9647,6 +9774,9 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.30': + resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} + '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} @@ -15787,6 +15917,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.28.3': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) + '@babel/helpers': 7.28.3 + '@babel/parser': 7.28.3(@babel/types@7.28.2) + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 + convert-source-map: 2.0.0 + debug: 4.4.1 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 7.7.2 + transitivePeerDependencies: + - supports-color + '@babel/generator@7.23.0': dependencies: '@babel/types': 7.27.3 @@ -15802,6 +15952,14 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.3(@babel/types@7.28.2) + '@babel/types': 7.28.2 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 + jsesc: 3.1.0 + '@babel/helper-annotate-as-pure@7.27.3': dependencies: '@babel/types': 7.27.3 @@ -15827,6 +15985,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-globals@7.28.0': {} + '@babel/helper-member-expression-to-functions@7.27.1': dependencies: '@babel/traverse': 7.27.4 @@ -15850,6 +16010,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + '@babel/helper-optimise-call-expression@7.27.1': dependencies: '@babel/types': 7.27.3 @@ -15883,6 +16052,11 @@ snapshots: '@babel/template': 7.27.2 '@babel/types': 7.27.3 + '@babel/helpers@7.28.3': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.2 + '@babel/parser@7.23.0(@babel/types@7.23.0)': dependencies: '@babel/types': 7.23.0 @@ -15895,6 +16069,18 @@ snapshots: dependencies: '@babel/types': 7.27.3 + '@babel/parser@7.28.3(@babel/types@7.26.10)': + dependencies: + '@babel/types': 7.26.10 + + '@babel/parser@7.28.3(@babel/types@7.27.3)': + dependencies: + '@babel/types': 7.27.3 + + '@babel/parser@7.28.3(@babel/types@7.28.2)': + dependencies: + '@babel/types': 7.28.2 + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -16030,6 +16216,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.28.3': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.3(@babel/types@7.28.2) + '@babel/template': 7.27.2 + '@babel/types': 7.28.2 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + '@babel/types@7.23.0': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -16046,6 +16244,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.28.2': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@bcoe/v8-coverage@0.2.3': {} '@changesets/apply-release-plan@7.0.12': @@ -16878,6 +17081,11 @@ snapshots: '@types/yargs': 17.0.33 chalk: 4.1.2 + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 @@ -16895,6 +17103,11 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.30': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 @@ -18195,24 +18408,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.27.5(@babel/types@7.27.3) - '@babel/types': 7.27.3 + '@babel/parser': 7.28.3(@babel/types@7.28.2) + '@babel/types': 7.28.2 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.7 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.27.3 + '@babel/types': 7.28.2 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.27.5(@babel/types@7.27.3) - '@babel/types': 7.27.3 + '@babel/parser': 7.28.3(@babel/types@7.28.2) + '@babel/types': 7.28.2 '@types/babel__traverse@7.20.7': dependencies: - '@babel/types': 7.27.3 + '@babel/types': 7.28.2 '@types/bintrees@1.0.6': {} @@ -19089,7 +19302,7 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.27.3 + '@babel/types': 7.28.2 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.7 @@ -21334,8 +21547,8 @@ snapshots: istanbul-lib-instrument@5.2.1(@babel/types@7.26.10): dependencies: - '@babel/core': 7.26.10 - '@babel/parser': 7.27.5(@babel/types@7.26.10) + '@babel/core': 7.28.3 + '@babel/parser': 7.28.3(@babel/types@7.26.10) '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.7.2 @@ -21345,8 +21558,8 @@ snapshots: istanbul-lib-instrument@5.2.1(@babel/types@7.27.3): dependencies: - '@babel/core': 7.26.10 - '@babel/parser': 7.27.5(@babel/types@7.27.3) + '@babel/core': 7.28.3 + '@babel/parser': 7.28.3(@babel/types@7.27.3) '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.7.2 @@ -21356,7 +21569,7 @@ snapshots: istanbul-lib-instrument@6.0.3(@babel/types@7.26.10): dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.28.3 '@babel/parser': 7.27.5(@babel/types@7.26.10) '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f77478920d..af0dac609a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -57,6 +57,7 @@ catalog: '@eslint/eslintrc': 3.1.0 '@eslint/js': 9.9.1 '@gwhitney/detect-indent': 7.0.1 + '@jest/globals': 29.7.0 '@pnpm/builder.policy': 3.0.1 '@pnpm/byline': ^1.0.0 '@pnpm/colorize-semver-diff': ^1.0.1 diff --git a/pnpm/package.json b/pnpm/package.json index 6a6c0b2234..be5ad71d10 100644 --- a/pnpm/package.json +++ b/pnpm/package.json @@ -76,6 +76,7 @@ "node-gyp": "^11.1.0" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/assert-project": "workspace:*", "@pnpm/byline": "catalog:", "@pnpm/cache.commands": "workspace:*", diff --git a/pnpm/src/checkForUpdates.test.ts b/pnpm/src/checkForUpdates.test.ts index a2238976fb..8052818e39 100644 --- a/pnpm/src/checkForUpdates.test.ts +++ b/pnpm/src/checkForUpdates.test.ts @@ -1,6 +1,7 @@ import { getConfig } from '@pnpm/config' import { updateCheckLogger } from '@pnpm/core-loggers' import { prepareEmpty } from '@pnpm/prepare' +import { jest } from '@jest/globals' import loadJsonFile from 'load-json-file' import writeJsonFile from 'write-json-file' import { checkForUpdates } from './checkForUpdates' diff --git a/releasing/plugin-commands-publishing/package.json b/releasing/plugin-commands-publishing/package.json index 7f8daa0b7f..dfdd504e23 100644 --- a/releasing/plugin-commands-publishing/package.json +++ b/releasing/plugin-commands-publishing/package.json @@ -71,6 +71,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/catalogs.config": "workspace:*", "@pnpm/logger": "workspace:*", "@pnpm/plugin-commands-publishing": "workspace:*", diff --git a/releasing/plugin-commands-publishing/test/gitChecks.ts b/releasing/plugin-commands-publishing/test/gitChecks.ts index b4d3ac523e..c15f07147c 100644 --- a/releasing/plugin-commands-publishing/test/gitChecks.ts +++ b/releasing/plugin-commands-publishing/test/gitChecks.ts @@ -8,6 +8,7 @@ import tempy from 'tempy' import * as enquirer from 'enquirer' import { publish } from '@pnpm/plugin-commands-publishing' +import { jest } from '@jest/globals' import { DEFAULT_OPTS } from './utils' jest.mock('enquirer', () => ({ prompt: jest.fn() })) diff --git a/reviewing/license-scanner/package.json b/reviewing/license-scanner/package.json index e64e3f79de..ee6c3b25f0 100644 --- a/reviewing/license-scanner/package.json +++ b/reviewing/license-scanner/package.json @@ -54,6 +54,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/constants": "workspace:*", "@pnpm/license-scanner": "workspace:*", "@pnpm/logger": "workspace:*", diff --git a/reviewing/license-scanner/test/licenses.spec.ts b/reviewing/license-scanner/test/licenses.spec.ts index 037fbfe5ac..51aad988a5 100644 --- a/reviewing/license-scanner/test/licenses.spec.ts +++ b/reviewing/license-scanner/test/licenses.spec.ts @@ -2,11 +2,12 @@ import { findDependencyLicenses } from '@pnpm/license-scanner' import { LOCKFILE_VERSION } from '@pnpm/constants' import { type DepPath, type ProjectManifest, type Registries, type ProjectId } from '@pnpm/types' import { type LockfileObject } from '@pnpm/lockfile.fs' +import { jest } from '@jest/globals' import { type LicensePackage } from '../lib/licenses' import { type GetPackageInfoOptions, type PackageInfo } from '../lib/getPkgInfo' jest.mock('../lib/getPkgInfo', () => { - const actualModule = jest.requireActual('../lib/getPkgInfo') + const actualModule = jest.requireActual('../lib/getPkgInfo') return { ...actualModule, getPkgInfo: async (pkg: PackageInfo, _opts: GetPackageInfoOptions): Promise< diff --git a/store/store-path/package.json b/store/store-path/package.json index be8ca775f7..0146d19820 100644 --- a/store/store-path/package.json +++ b/store/store-path/package.json @@ -41,6 +41,7 @@ "touch": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/store-path": "workspace:*", "@types/is-windows": "catalog:", "@types/node": "catalog:", diff --git a/store/store-path/test/index.ts b/store/store-path/test/index.ts index 8209df6cc3..03842949e1 100644 --- a/store/store-path/test/index.ts +++ b/store/store-path/test/index.ts @@ -1,5 +1,6 @@ import { STORE_VERSION } from '@pnpm/constants' import { getStorePath } from '@pnpm/store-path' +import { jest } from '@jest/globals' import isWindows from 'is-windows' jest.mock('os') diff --git a/tools/plugin-commands-self-updater/package.json b/tools/plugin-commands-self-updater/package.json index 0c6cd4ac97..f92f065bf2 100644 --- a/tools/plugin-commands-self-updater/package.json +++ b/tools/plugin-commands-self-updater/package.json @@ -50,6 +50,7 @@ "@pnpm/logger": "catalog:" }, "devDependencies": { + "@jest/globals": "catalog:", "@pnpm/env.path": "workspace:*", "@pnpm/prepare": "workspace:*", "@pnpm/tools.plugin-commands-self-updater": "workspace:*", diff --git a/tools/plugin-commands-self-updater/test/selfUpdate.test.ts b/tools/plugin-commands-self-updater/test/selfUpdate.test.ts index d2bb6392de..9f5ab5c767 100644 --- a/tools/plugin-commands-self-updater/test/selfUpdate.test.ts +++ b/tools/plugin-commands-self-updater/test/selfUpdate.test.ts @@ -3,13 +3,14 @@ import path from 'path' import { prependDirsToPath } from '@pnpm/env.path' import { tempDir, prepare as prepareWithPkg } from '@pnpm/prepare' import { selfUpdate } from '@pnpm/tools.plugin-commands-self-updater' +import { jest } from '@jest/globals' import spawn from 'cross-spawn' import nock from 'nock' const pnpmTarballPath = require.resolve('@pnpm/tgz-fixtures/tgz/pnpm-9.1.0.tgz') jest.mock('@pnpm/cli-meta', () => { - const actualModule = jest.requireActual('@pnpm/cli-meta') + const actualModule = jest.requireActual('@pnpm/cli-meta') return { ...actualModule,