mirror of
https://github.com/pnpm/pnpm.git
synced 2026-03-31 21:42:15 -04:00
fix: dependencies that were added to onlyBuiltDependencies should be built on install (#10256)
This commit is contained in:
10
.changeset/yellow-beds-wear.md
Normal file
10
.changeset/yellow-beds-wear.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
"@pnpm/plugin-commands-rebuild": patch
|
||||
"@pnpm/default-reporter": patch
|
||||
"@pnpm/headless": patch
|
||||
"@pnpm/build-modules": patch
|
||||
"@pnpm/core": patch
|
||||
"pnpm": patch
|
||||
---
|
||||
|
||||
`pnpm install` should build any dependencies that were added to `onlyBuiltDependencies` and were not built yet [#10256](https://github.com/pnpm/pnpm/pull/10256).
|
||||
@@ -8,6 +8,7 @@ import { reportContext } from './reportContext.js'
|
||||
import { reportExecutionTime } from './reportExecutionTime.js'
|
||||
import { reportDeprecations } from './reportDeprecations.js'
|
||||
import { reportHooks } from './reportHooks.js'
|
||||
import { reportIgnoredBuilds } from './reportIgnoredBuilds.js'
|
||||
import { reportInstallChecks } from './reportInstallChecks.js'
|
||||
import { reportInstallingConfigDeps } from './reportInstallingConfigDeps.js'
|
||||
import { reportLifecycleScripts } from './reportLifecycleScripts.js'
|
||||
@@ -156,9 +157,14 @@ export function reporterForClient (
|
||||
env: opts.env,
|
||||
filterPkgsDiff: opts.filterPkgsDiff,
|
||||
pnpmConfig: opts.pnpmConfig,
|
||||
approveBuildsInstructionText: opts.approveBuildsInstructionText,
|
||||
}))
|
||||
}
|
||||
outputs.push(
|
||||
reportIgnoredBuilds(log$, {
|
||||
pnpmConfig: opts.pnpmConfig,
|
||||
approveBuildsInstructionText: opts.approveBuildsInstructionText,
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
return outputs
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
import { type Config } from '@pnpm/config'
|
||||
import { type IgnoredScriptsLog } from '@pnpm/core-loggers'
|
||||
import { lexCompare } from '@pnpm/util.lex-comparator'
|
||||
import * as Rx from 'rxjs'
|
||||
import { map } from 'rxjs/operators'
|
||||
import boxen from 'boxen'
|
||||
|
||||
export function reportIgnoredBuilds (
|
||||
log$: {
|
||||
ignoredScripts: Rx.Observable<IgnoredScriptsLog>
|
||||
},
|
||||
opts: {
|
||||
pnpmConfig?: Config
|
||||
// This is used by Bit CLI
|
||||
approveBuildsInstructionText?: string
|
||||
}
|
||||
): Rx.Observable<Rx.Observable<{ msg: string }>> {
|
||||
return log$.ignoredScripts.pipe(
|
||||
map((ignoredScripts) => {
|
||||
if (ignoredScripts.packageNames && ignoredScripts.packageNames.length > 0 && !opts.pnpmConfig?.strictDepBuilds) {
|
||||
const msg = boxen(`Ignored build scripts: ${Array.from(ignoredScripts.packageNames).sort(lexCompare).join(', ')}.
|
||||
${opts.approveBuildsInstructionText ?? `Run "pnpm approve-builds${opts.pnpmConfig?.cliOptions?.global ? ' -g' : ''}" to pick which dependencies should be allowed to run scripts.`}`, {
|
||||
title: 'Warning',
|
||||
padding: 1,
|
||||
margin: 0,
|
||||
borderStyle: 'round',
|
||||
borderColor: 'yellow',
|
||||
})
|
||||
return Rx.of({ msg })
|
||||
}
|
||||
return Rx.NEVER
|
||||
})
|
||||
)
|
||||
}
|
||||
@@ -1,16 +1,13 @@
|
||||
import path from 'path'
|
||||
import {
|
||||
type IgnoredScriptsLog,
|
||||
type DeprecationLog,
|
||||
type PackageManifestLog,
|
||||
type RootLog,
|
||||
type SummaryLog,
|
||||
} from '@pnpm/core-loggers'
|
||||
import { type Config } from '@pnpm/config'
|
||||
import { lexCompare } from '@pnpm/util.lex-comparator'
|
||||
import * as Rx from 'rxjs'
|
||||
import { map, take } from 'rxjs/operators'
|
||||
import boxen from 'boxen'
|
||||
import chalk from 'chalk'
|
||||
import semver from 'semver'
|
||||
import { EOL } from '../constants.js'
|
||||
@@ -40,7 +37,6 @@ export function reportSummary (
|
||||
summary: Rx.Observable<SummaryLog>
|
||||
root: Rx.Observable<RootLog>
|
||||
packageManifest: Rx.Observable<PackageManifestLog>
|
||||
ignoredScripts: Rx.Observable<IgnoredScriptsLog>
|
||||
},
|
||||
opts: {
|
||||
cmd: string
|
||||
@@ -48,8 +44,6 @@ export function reportSummary (
|
||||
env: NodeJS.ProcessEnv
|
||||
filterPkgsDiff?: FilterPkgsDiff
|
||||
pnpmConfig?: Config
|
||||
// This is used by Bit CLI
|
||||
approveBuildsInstructionText?: string
|
||||
}
|
||||
): Rx.Observable<Rx.Observable<{ msg: string }>> {
|
||||
const pkgsDiff$ = getPkgsDiff(log$, { prefix: opts.cwd })
|
||||
@@ -59,12 +53,11 @@ export function reportSummary (
|
||||
|
||||
return Rx.combineLatest(
|
||||
pkgsDiff$,
|
||||
log$.ignoredScripts.pipe(Rx.startWith({ packageNames: undefined })),
|
||||
summaryLog$
|
||||
)
|
||||
.pipe(
|
||||
take(1),
|
||||
map(([pkgsDiff, ignoredScripts]) => {
|
||||
map(([pkgsDiff]) => {
|
||||
let msg = ''
|
||||
for (const depType of ['prod', 'optional', 'peer', 'dev', 'nodeModulesOnly'] as const) {
|
||||
let diffs: PackageDiff[] = Object.values(pkgsDiff[depType as keyof typeof pkgsDiff])
|
||||
@@ -89,18 +82,6 @@ export function reportSummary (
|
||||
msg += EOL
|
||||
}
|
||||
}
|
||||
if (ignoredScripts.packageNames && ignoredScripts.packageNames.length > 0 && !opts.pnpmConfig?.strictDepBuilds) {
|
||||
msg += EOL
|
||||
msg += boxen(`Ignored build scripts: ${Array.from(ignoredScripts.packageNames).sort(lexCompare).join(', ')}.
|
||||
${opts.approveBuildsInstructionText ?? `Run "pnpm approve-builds${opts.pnpmConfig?.cliOptions?.global ? ' -g' : ''}" to pick which dependencies should be allowed to run scripts.`}`, {
|
||||
title: 'Warning',
|
||||
padding: 1,
|
||||
margin: 0,
|
||||
borderStyle: 'round',
|
||||
borderColor: 'yellow',
|
||||
})
|
||||
msg += EOL
|
||||
}
|
||||
return Rx.of({ msg })
|
||||
})
|
||||
)
|
||||
|
||||
@@ -3,7 +3,7 @@ import path from 'path'
|
||||
import util from 'util'
|
||||
import { calcDepState, type DepsStateCache } from '@pnpm/calc-dep-state'
|
||||
import { getWorkspaceConcurrency } from '@pnpm/config'
|
||||
import { skippedOptionalDependencyLogger, ignoredScriptsLogger } from '@pnpm/core-loggers'
|
||||
import { skippedOptionalDependencyLogger } from '@pnpm/core-loggers'
|
||||
import { runPostinstallHooks } from '@pnpm/lifecycle'
|
||||
import { linkBins, linkBinsOfPackages } from '@pnpm/link-bins'
|
||||
import { logger } from '@pnpm/logger'
|
||||
@@ -97,7 +97,6 @@ export async function buildModules<T extends string> (
|
||||
}
|
||||
}
|
||||
const packageNames = Array.from(ignoredPkgs)
|
||||
ignoredScriptsLogger.debug({ packageNames })
|
||||
return { ignoredBuilds: packageNames }
|
||||
}
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ export async function rebuildSelectedPkgs (
|
||||
projects: Array<{ buildIndex: number, manifest: ProjectManifest, rootDir: ProjectRootDir }>,
|
||||
pkgSpecs: string[],
|
||||
maybeOpts: RebuildOptions
|
||||
): Promise<void> {
|
||||
): Promise<{ ignoredBuilds?: string[] }> {
|
||||
const reporter = maybeOpts?.reporter
|
||||
if ((reporter != null) && typeof reporter === 'function') {
|
||||
streamParser.on('data', reporter)
|
||||
@@ -100,7 +100,7 @@ export async function rebuildSelectedPkgs (
|
||||
const opts = await extendRebuildOptions(maybeOpts)
|
||||
const ctx = await getContext({ ...opts, allProjects: projects })
|
||||
|
||||
if (ctx.currentLockfile?.packages == null) return
|
||||
if (ctx.currentLockfile?.packages == null) return {}
|
||||
const packages = ctx.currentLockfile.packages
|
||||
|
||||
const searched: PackageSelector[] = pkgSpecs.map((arg) => {
|
||||
@@ -149,6 +149,9 @@ export async function rebuildSelectedPkgs (
|
||||
virtualStoreDir: ctx.virtualStoreDir,
|
||||
virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength,
|
||||
})
|
||||
return {
|
||||
ignoredBuilds: ignoredPkgs,
|
||||
}
|
||||
}
|
||||
|
||||
export async function rebuildProjects (
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
"@pnpm/catalogs.protocol-parser": "workspace:*",
|
||||
"@pnpm/catalogs.resolver": "workspace:*",
|
||||
"@pnpm/catalogs.types": "workspace:*",
|
||||
"@pnpm/config.version-policy": "workspace:*",
|
||||
"@pnpm/constants": "workspace:*",
|
||||
"@pnpm/core-loggers": "workspace:*",
|
||||
"@pnpm/crypto.hash": "workspace:*",
|
||||
@@ -96,6 +97,7 @@
|
||||
"@pnpm/parse-wanted-dependency": "workspace:*",
|
||||
"@pnpm/patching.config": "workspace:*",
|
||||
"@pnpm/pkg-manager.direct-dep-linker": "workspace:*",
|
||||
"@pnpm/plugin-commands-rebuild": "workspace:*",
|
||||
"@pnpm/read-modules-dir": "workspace:*",
|
||||
"@pnpm/read-project-manifest": "workspace:*",
|
||||
"@pnpm/remove-bins": "workspace:*",
|
||||
|
||||
@@ -4,6 +4,7 @@ import { createAllowBuildFunction } from '@pnpm/builder.policy'
|
||||
import { parseCatalogProtocol } from '@pnpm/catalogs.protocol-parser'
|
||||
import { resolveFromCatalog, matchCatalogResolveResult, type CatalogResultMatcher } from '@pnpm/catalogs.resolver'
|
||||
import { type Catalogs } from '@pnpm/catalogs.types'
|
||||
import { createPackageVersionPolicy } from '@pnpm/config.version-policy'
|
||||
import {
|
||||
LAYOUT_VERSION,
|
||||
LOCKFILE_VERSION,
|
||||
@@ -48,6 +49,7 @@ import { logger, globalInfo, streamParser } from '@pnpm/logger'
|
||||
import { getAllDependenciesFromManifest, getAllUniqueSpecs } from '@pnpm/manifest-utils'
|
||||
import { writeModulesManifest } from '@pnpm/modules-yaml'
|
||||
import { type PatchGroupRecord, groupPatchedDependencies } from '@pnpm/patching.config'
|
||||
import { rebuildSelectedPkgs } from '@pnpm/plugin-commands-rebuild'
|
||||
import { safeReadProjectManifestOnly } from '@pnpm/read-project-manifest'
|
||||
import {
|
||||
getWantedDependencies,
|
||||
@@ -342,20 +344,27 @@ export async function mutateModules (
|
||||
// @ts-expect-error
|
||||
globalInfo(`The integrity of ${global['verifiedFileIntegrity']} files was checked. This might have caused installation to take longer.`)
|
||||
}
|
||||
if ((reporter != null) && typeof reporter === 'function') {
|
||||
streamParser.removeListener('data', reporter)
|
||||
}
|
||||
|
||||
if (opts.mergeGitBranchLockfiles) {
|
||||
await cleanGitBranchLockfiles(ctx.lockfileDir)
|
||||
}
|
||||
|
||||
let ignoredBuilds = result.ignoredBuilds
|
||||
if (!opts.ignoreScripts && ignoredBuilds?.length) {
|
||||
ignoredBuilds = await runUnignoredDependencyBuilds(opts, ignoredBuilds)
|
||||
}
|
||||
ignoredScriptsLogger.debug({ packageNames: ignoredBuilds })
|
||||
|
||||
if ((reporter != null) && typeof reporter === 'function') {
|
||||
streamParser.removeListener('data', reporter)
|
||||
}
|
||||
|
||||
return {
|
||||
updatedCatalogs: result.updatedCatalogs,
|
||||
updatedProjects: result.updatedProjects,
|
||||
stats: result.stats ?? { added: 0, removed: 0, linkedToRoot: 0 },
|
||||
depsRequiringBuild: result.depsRequiringBuild,
|
||||
ignoredBuilds: result.ignoredBuilds,
|
||||
ignoredBuilds,
|
||||
}
|
||||
|
||||
interface InnerInstallResult {
|
||||
@@ -853,6 +862,30 @@ Note that in CI environments, this setting is enabled by default.`,
|
||||
}
|
||||
}
|
||||
|
||||
async function runUnignoredDependencyBuilds (opts: StrictInstallOptions, previousIgnoredBuilds: string[]): Promise<string[]> {
|
||||
if (!opts.onlyBuiltDependencies?.length) {
|
||||
return previousIgnoredBuilds
|
||||
}
|
||||
const onlyBuiltDeps = createPackageVersionPolicy(opts.onlyBuiltDependencies)
|
||||
const pkgsToBuild = previousIgnoredBuilds.flatMap((ignoredPkg) => {
|
||||
const matchResult = onlyBuiltDeps(ignoredPkg)
|
||||
if (matchResult === true) {
|
||||
return [ignoredPkg]
|
||||
} else if (Array.isArray(matchResult)) {
|
||||
return matchResult.map(version => `${ignoredPkg}@${version}`)
|
||||
}
|
||||
return []
|
||||
})
|
||||
if (pkgsToBuild.length) {
|
||||
return (await rebuildSelectedPkgs(opts.allProjects, pkgsToBuild, {
|
||||
...opts,
|
||||
reporter: undefined, // We don't want to attach the reporter again, it was already attached.
|
||||
rootProjectManifestDir: opts.lockfileDir,
|
||||
})).ignoredBuilds ?? previousIgnoredBuilds
|
||||
}
|
||||
return previousIgnoredBuilds
|
||||
}
|
||||
|
||||
function cacheExpired (prunedAt: string, maxAgeInMinutes: number): boolean {
|
||||
return ((Date.now() - new Date(prunedAt).valueOf()) / (1000 * 60)) > maxAgeInMinutes
|
||||
}
|
||||
@@ -1340,7 +1373,6 @@ const _installInContext: InstallFunction = async (projects, ctx, opts) => {
|
||||
})).ignoredBuilds
|
||||
if (ignoredBuilds == null && ctx.modulesFile?.ignoredBuilds?.length) {
|
||||
ignoredBuilds = ctx.modulesFile.ignoredBuilds
|
||||
ignoredScriptsLogger.debug({ packageNames: ignoredBuilds })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -763,3 +763,32 @@ test('run pre/postinstall scripts in a project that uses node-linker=hoisted. Sh
|
||||
message: `An error occurred while uploading ${path.resolve('node_modules/@pnpm.e2e/pre-and-postinstall-scripts-example')}`,
|
||||
}))
|
||||
})
|
||||
|
||||
test('build dependencies that were not previously built after onlyBuiltDependencies changes', async () => {
|
||||
prepareEmpty()
|
||||
const neverBuiltDependencies: string[] | undefined = undefined
|
||||
const { updatedManifest: manifest } = await addDependenciesToPackage({},
|
||||
['@pnpm.e2e/pre-and-postinstall-scripts-example@1.0.0', '@pnpm.e2e/install-script-example'],
|
||||
testDefaults({
|
||||
fastUnpack: false,
|
||||
onlyBuiltDependencies: ['@pnpm.e2e/install-script-example'],
|
||||
neverBuiltDependencies,
|
||||
})
|
||||
)
|
||||
|
||||
expect(fs.existsSync('node_modules/@pnpm.e2e/pre-and-postinstall-scripts-example/generated-by-preinstall.js')).toBeFalsy()
|
||||
expect(fs.existsSync('node_modules/@pnpm.e2e/pre-and-postinstall-scripts-example/generated-by-postinstall.js')).toBeFalsy()
|
||||
expect(fs.existsSync('node_modules/@pnpm.e2e/install-script-example/generated-by-install.js')).toBeTruthy()
|
||||
|
||||
await install(manifest, testDefaults({
|
||||
fastUnpack: false,
|
||||
frozenLockfile: true,
|
||||
ignoredBuiltDependencies: [],
|
||||
neverBuiltDependencies,
|
||||
onlyBuiltDependencies: ['@pnpm.e2e/install-script-example', '@pnpm.e2e/pre-and-postinstall-scripts-example@1.0.0'],
|
||||
}))
|
||||
|
||||
expect(fs.existsSync('node_modules/@pnpm.e2e/pre-and-postinstall-scripts-example/generated-by-preinstall.js')).toBeTruthy()
|
||||
expect(fs.existsSync('node_modules/@pnpm.e2e/pre-and-postinstall-scripts-example/generated-by-postinstall.js')).toBeTruthy()
|
||||
expect(fs.existsSync('node_modules/@pnpm.e2e/install-script-example/generated-by-install.js')).toBeTruthy()
|
||||
})
|
||||
|
||||
@@ -45,6 +45,9 @@
|
||||
{
|
||||
"path": "../../config/parse-overrides"
|
||||
},
|
||||
{
|
||||
"path": "../../config/version-policy"
|
||||
},
|
||||
{
|
||||
"path": "../../crypto/hash"
|
||||
},
|
||||
@@ -60,6 +63,9 @@
|
||||
{
|
||||
"path": "../../exec/lifecycle"
|
||||
},
|
||||
{
|
||||
"path": "../../exec/plugin-commands-rebuild"
|
||||
},
|
||||
{
|
||||
"path": "../../fs/read-modules-dir"
|
||||
},
|
||||
|
||||
@@ -8,7 +8,6 @@ import {
|
||||
WANTED_LOCKFILE,
|
||||
} from '@pnpm/constants'
|
||||
import {
|
||||
ignoredScriptsLogger,
|
||||
packageManifestLogger,
|
||||
progressLogger,
|
||||
stageLogger,
|
||||
@@ -565,7 +564,6 @@ export async function headlessInstall (opts: HeadlessOptions): Promise<Installat
|
||||
})).ignoredBuilds
|
||||
if (ignoredBuilds == null && opts.modulesFile?.ignoredBuilds?.length) {
|
||||
ignoredBuilds = opts.modulesFile.ignoredBuilds
|
||||
ignoredScriptsLogger.debug({ packageNames: ignoredBuilds })
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
117
pnpm-lock.yaml
generated
117
pnpm-lock.yaml
generated
@@ -1164,7 +1164,7 @@ importers:
|
||||
dependencies:
|
||||
'@pnpm/workspace.find-packages':
|
||||
specifier: 'catalog:'
|
||||
version: 1000.0.25(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
version: 1000.0.25(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/workspace.read-manifest':
|
||||
specifier: 'catalog:'
|
||||
version: 1000.1.5
|
||||
@@ -4846,6 +4846,9 @@ importers:
|
||||
'@pnpm/catalogs.types':
|
||||
specifier: workspace:*
|
||||
version: link:../../catalogs/types
|
||||
'@pnpm/config.version-policy':
|
||||
specifier: workspace:*
|
||||
version: link:../../config/version-policy
|
||||
'@pnpm/constants':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/constants
|
||||
@@ -4948,6 +4951,9 @@ importers:
|
||||
'@pnpm/pkg-manager.direct-dep-linker':
|
||||
specifier: workspace:*
|
||||
version: link:../direct-dep-linker
|
||||
'@pnpm/plugin-commands-rebuild':
|
||||
specifier: workspace:*
|
||||
version: link:../../exec/plugin-commands-rebuild
|
||||
'@pnpm/read-modules-dir':
|
||||
specifier: workspace:*
|
||||
version: link:../../fs/read-modules-dir
|
||||
@@ -9991,6 +9997,12 @@ packages:
|
||||
peerDependencies:
|
||||
'@pnpm/logger': '>=1001.0.0 <1002.0.0'
|
||||
|
||||
'@pnpm/create-cafs-store@1000.0.24':
|
||||
resolution: {integrity: sha512-5GnPramKi6/KrwbjkoLE63dSwSOrxDMgICJUrxGtZQb8LAYwCYxbGK+4Yotup2Y1I8FZwBc8O80FOp8H/c1oXA==}
|
||||
engines: {node: '>=18.12'}
|
||||
peerDependencies:
|
||||
'@pnpm/logger': '>=1001.0.0 <1002.0.0'
|
||||
|
||||
'@pnpm/crypto.hash@1000.1.1':
|
||||
resolution: {integrity: sha512-lb5kwXaOXdIW/4bkLLmtM9HEVRvp2eIvp+TrdawcPoaptgA/5f0/sRG0P52BF8dFqeNDj+1tGdqH89WQEqJnxA==}
|
||||
engines: {node: '>=18.12'}
|
||||
@@ -10083,12 +10095,24 @@ packages:
|
||||
peerDependencies:
|
||||
'@pnpm/logger': '>=1001.0.0 <1002.0.0'
|
||||
|
||||
'@pnpm/fs.hard-link-dir@1000.0.5':
|
||||
resolution: {integrity: sha512-MtEzlHc2tRvom2/fXFpjpLj3XMN2AzgIm+udEpkxm2VWaRKiY+7br5xBO8NT2h2fADg2chBSgE3W96VaDgLUag==}
|
||||
engines: {node: '>=18.12'}
|
||||
peerDependencies:
|
||||
'@pnpm/logger': '>=1001.0.0 <1002.0.0'
|
||||
|
||||
'@pnpm/fs.indexed-pkg-importer@1000.1.17':
|
||||
resolution: {integrity: sha512-rData6UjMwHMK4oXKyqgr8YIAOAodD3YOA/dZVGJxb3vo7uycSocDDUHHdPl9RBh6LCE5+TBJnJ0Eq5OPMRICg==}
|
||||
engines: {node: '>=18.12'}
|
||||
peerDependencies:
|
||||
'@pnpm/logger': '>=1001.0.0 <1002.0.0'
|
||||
|
||||
'@pnpm/fs.indexed-pkg-importer@1000.1.18':
|
||||
resolution: {integrity: sha512-RZmWjvPfwbd7SHE9Mg/frcEdg54k7oJ9yhM7za7vOBhn0oeF63YBsZj6W4IqbfUxyVOE/RhNye9elDxoKGTwZw==}
|
||||
engines: {node: '>=18.12'}
|
||||
peerDependencies:
|
||||
'@pnpm/logger': '>=1001.0.0 <1002.0.0'
|
||||
|
||||
'@pnpm/fs.indexed-pkg-importer@1000.1.8':
|
||||
resolution: {integrity: sha512-VwsjBhAyW+5TQO6Ndon1y8kyvSLQJyyWzwNRENQN+UkbrybsjNXHX1vcMV4Li/+pQ0VBYFVxYl/cx+EkU8H9hQ==}
|
||||
engines: {node: '>=18.12'}
|
||||
@@ -10440,6 +10464,12 @@ packages:
|
||||
peerDependencies:
|
||||
'@pnpm/logger': '>=1001.0.0 <1002.0.0'
|
||||
|
||||
'@pnpm/worker@1000.4.0':
|
||||
resolution: {integrity: sha512-y/dFfiEh5iWEomurikjsmCZ5DM9cefzE0vA+NHQKn6tM6PLaBS8QVVMqRzzTEdkw44LoCO/nRZ6OdSkq1AwJtw==}
|
||||
engines: {node: '>=18.12'}
|
||||
peerDependencies:
|
||||
'@pnpm/logger': '>=1001.0.0 <1002.0.0'
|
||||
|
||||
'@pnpm/workspace.find-packages@1000.0.25':
|
||||
resolution: {integrity: sha512-dKXeM46nSXKOzIIvofAhrcZqivxeJIqG27MX2nQoYYtccdJw6IBWozPqDJIPw0V3WLt9DAEQOqooEasbBmB5wg==}
|
||||
engines: {node: '>=18.12'}
|
||||
@@ -17086,11 +17116,11 @@ snapshots:
|
||||
- supports-color
|
||||
- typanion
|
||||
|
||||
'@pnpm/cli-utils@1000.1.5(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
'@pnpm/cli-utils@1000.1.5(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
dependencies:
|
||||
'@pnpm/cli-meta': 1000.0.8
|
||||
'@pnpm/config': 1003.1.1(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/config.deps-installer': 1000.0.5(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))
|
||||
'@pnpm/config.deps-installer': 1000.0.5(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))
|
||||
'@pnpm/default-reporter': 1002.0.1(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/error': 1000.0.2
|
||||
'@pnpm/logger': 1001.0.0
|
||||
@@ -17098,7 +17128,7 @@ snapshots:
|
||||
'@pnpm/package-is-installable': 1000.0.10(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/pnpmfile': 1001.2.2(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/read-project-manifest': 1000.0.11
|
||||
'@pnpm/store-connection-manager': 1002.0.3(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/store-connection-manager': 1002.0.3(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/types': 1000.6.0
|
||||
chalk: 4.1.2
|
||||
load-json-file: 6.2.0
|
||||
@@ -17127,16 +17157,16 @@ snapshots:
|
||||
- supports-color
|
||||
- typanion
|
||||
|
||||
'@pnpm/client@1000.0.19(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
'@pnpm/client@1000.0.19(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
dependencies:
|
||||
'@pnpm/default-resolver': 1002.0.2(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/directory-fetcher': 1000.1.7(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/fetch': 1000.2.2(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/fetching-types': 1000.1.0
|
||||
'@pnpm/git-fetcher': 1001.0.8(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/git-fetcher': 1001.0.8(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/network.auth-header': 1000.0.3
|
||||
'@pnpm/resolver-base': 1003.0.1
|
||||
'@pnpm/tarball-fetcher': 1001.0.8(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/tarball-fetcher': 1001.0.8(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/types': 1000.6.0
|
||||
ramda: '@pnpm/ramda@0.28.1'
|
||||
transitivePeerDependencies:
|
||||
@@ -17179,7 +17209,7 @@ snapshots:
|
||||
- domexception
|
||||
- supports-color
|
||||
|
||||
'@pnpm/config.deps-installer@1000.0.5(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))':
|
||||
'@pnpm/config.deps-installer@1000.0.5(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))':
|
||||
dependencies:
|
||||
'@pnpm/config.config-writer': 1000.0.5
|
||||
'@pnpm/core-loggers': 1001.0.1(@pnpm/logger@1001.0.0)
|
||||
@@ -17188,7 +17218,7 @@ snapshots:
|
||||
'@pnpm/logger': 1001.0.0
|
||||
'@pnpm/network.auth-header': 1000.0.3
|
||||
'@pnpm/npm-resolver': 1004.0.1(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/package-store': 1002.0.4(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))
|
||||
'@pnpm/package-store': 1002.0.4(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))
|
||||
'@pnpm/parse-wanted-dependency': 1001.0.0
|
||||
'@pnpm/pick-registry-for-package': 1000.0.8
|
||||
'@pnpm/read-modules-dir': 1000.0.0
|
||||
@@ -17275,6 +17305,18 @@ snapshots:
|
||||
path-temp: 2.1.0
|
||||
ramda: '@pnpm/ramda@0.28.1'
|
||||
|
||||
'@pnpm/create-cafs-store@1000.0.24(@pnpm/logger@1001.0.0)':
|
||||
dependencies:
|
||||
'@pnpm/exec.pkg-requires-build': 1000.0.13
|
||||
'@pnpm/fetcher-base': 1001.0.5
|
||||
'@pnpm/fs.indexed-pkg-importer': 1000.1.18(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/logger': 1001.0.0
|
||||
'@pnpm/store-controller-types': 1004.3.1
|
||||
'@pnpm/store.cafs': 1000.0.22
|
||||
mem: 8.1.1
|
||||
path-temp: 2.1.0
|
||||
ramda: '@pnpm/ramda@0.28.1'
|
||||
|
||||
'@pnpm/crypto.hash@1000.1.1':
|
||||
dependencies:
|
||||
'@pnpm/crypto.polyfill': 1000.1.0
|
||||
@@ -17426,6 +17468,13 @@ snapshots:
|
||||
path-temp: 2.1.0
|
||||
rename-overwrite: 6.0.3
|
||||
|
||||
'@pnpm/fs.hard-link-dir@1000.0.5(@pnpm/logger@1001.0.0)':
|
||||
dependencies:
|
||||
'@pnpm/graceful-fs': 1000.0.1
|
||||
'@pnpm/logger': 1001.0.0
|
||||
path-temp: 2.1.0
|
||||
rename-overwrite: 6.0.3
|
||||
|
||||
'@pnpm/fs.indexed-pkg-importer@1000.1.17(@pnpm/logger@1001.0.0)':
|
||||
dependencies:
|
||||
'@pnpm/core-loggers': 1001.0.6(@pnpm/logger@1001.0.0)
|
||||
@@ -17441,6 +17490,21 @@ snapshots:
|
||||
rename-overwrite: 6.0.3
|
||||
sanitize-filename: 1.6.3
|
||||
|
||||
'@pnpm/fs.indexed-pkg-importer@1000.1.18(@pnpm/logger@1001.0.0)':
|
||||
dependencies:
|
||||
'@pnpm/core-loggers': 1001.0.6(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/graceful-fs': 1000.0.1
|
||||
'@pnpm/logger': 1001.0.0
|
||||
'@pnpm/store-controller-types': 1004.3.1
|
||||
'@reflink/reflink': 0.1.19
|
||||
'@zkochan/rimraf': 3.0.2
|
||||
fs-extra: 11.3.2
|
||||
make-empty-dir: 3.0.2
|
||||
p-limit: 3.1.0
|
||||
path-temp: 2.1.0
|
||||
rename-overwrite: 6.0.3
|
||||
sanitize-filename: 1.6.3
|
||||
|
||||
'@pnpm/fs.indexed-pkg-importer@1000.1.8(@pnpm/logger@1001.0.0)':
|
||||
dependencies:
|
||||
'@pnpm/core-loggers': 1001.0.1(@pnpm/logger@1001.0.0)
|
||||
@@ -17477,13 +17541,13 @@ snapshots:
|
||||
- supports-color
|
||||
- typanion
|
||||
|
||||
'@pnpm/git-fetcher@1001.0.8(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
'@pnpm/git-fetcher@1001.0.8(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
dependencies:
|
||||
'@pnpm/fetcher-base': 1000.0.11
|
||||
'@pnpm/fs.packlist': 2.0.0
|
||||
'@pnpm/logger': 1001.0.0
|
||||
'@pnpm/prepare-package': 1000.0.16(@pnpm/logger@1001.0.0)(typanion@3.14.0)
|
||||
'@pnpm/worker': 1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30)
|
||||
'@pnpm/worker': 1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30)
|
||||
'@zkochan/rimraf': 3.0.2
|
||||
execa: safe-execa@0.1.2
|
||||
transitivePeerDependencies:
|
||||
@@ -17806,7 +17870,7 @@ snapshots:
|
||||
semver: 7.7.2
|
||||
ssri: 10.0.5
|
||||
|
||||
'@pnpm/package-requester@1004.0.2(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))':
|
||||
'@pnpm/package-requester@1004.0.2(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))':
|
||||
dependencies:
|
||||
'@pnpm/core-loggers': 1001.0.1(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/dependency-path': 1000.0.9
|
||||
@@ -17821,7 +17885,7 @@ snapshots:
|
||||
'@pnpm/store-controller-types': 1003.0.2
|
||||
'@pnpm/store.cafs': 1000.0.13
|
||||
'@pnpm/types': 1000.6.0
|
||||
'@pnpm/worker': 1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30)
|
||||
'@pnpm/worker': 1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30)
|
||||
p-defer: 3.0.0
|
||||
p-limit: 3.1.0
|
||||
p-queue: 6.6.2
|
||||
@@ -17846,17 +17910,17 @@ snapshots:
|
||||
ramda: '@pnpm/ramda@0.28.1'
|
||||
ssri: 10.0.5
|
||||
|
||||
'@pnpm/package-store@1002.0.4(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))':
|
||||
'@pnpm/package-store@1002.0.4(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))':
|
||||
dependencies:
|
||||
'@pnpm/create-cafs-store': 1000.0.14(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/fetcher-base': 1000.0.11
|
||||
'@pnpm/logger': 1001.0.0
|
||||
'@pnpm/package-requester': 1004.0.2(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))
|
||||
'@pnpm/package-requester': 1004.0.2(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))
|
||||
'@pnpm/resolver-base': 1003.0.1
|
||||
'@pnpm/store-controller-types': 1003.0.2
|
||||
'@pnpm/store.cafs': 1000.0.13
|
||||
'@pnpm/types': 1000.6.0
|
||||
'@pnpm/worker': 1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30)
|
||||
'@pnpm/worker': 1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30)
|
||||
'@zkochan/rimraf': 3.0.2
|
||||
load-json-file: 6.2.0
|
||||
ramda: '@pnpm/ramda@0.28.1'
|
||||
@@ -18022,14 +18086,14 @@ snapshots:
|
||||
- supports-color
|
||||
- typanion
|
||||
|
||||
'@pnpm/store-connection-manager@1002.0.3(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
'@pnpm/store-connection-manager@1002.0.3(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
dependencies:
|
||||
'@pnpm/cli-meta': 1000.0.8
|
||||
'@pnpm/client': 1000.0.19(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/client': 1000.0.19(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/config': 1003.1.1(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/error': 1000.0.2
|
||||
'@pnpm/logger': 1001.0.0
|
||||
'@pnpm/package-store': 1002.0.4(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))
|
||||
'@pnpm/package-store': 1002.0.4(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))
|
||||
'@pnpm/server': 1001.0.4(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/store-path': 1000.0.2
|
||||
'@zkochan/diable': 1.0.2
|
||||
@@ -18126,7 +18190,7 @@ snapshots:
|
||||
- supports-color
|
||||
- typanion
|
||||
|
||||
'@pnpm/tarball-fetcher@1001.0.8(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
'@pnpm/tarball-fetcher@1001.0.8(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
dependencies:
|
||||
'@pnpm/core-loggers': 1001.0.1(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/error': 1000.0.2
|
||||
@@ -18136,7 +18200,7 @@ snapshots:
|
||||
'@pnpm/graceful-fs': 1000.0.0
|
||||
'@pnpm/logger': 1001.0.0
|
||||
'@pnpm/prepare-package': 1000.0.16(@pnpm/logger@1001.0.0)(typanion@3.14.0)
|
||||
'@pnpm/worker': 1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30)
|
||||
'@pnpm/worker': 1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30)
|
||||
'@zkochan/retry': 0.2.0
|
||||
lodash.throttle: 4.1.1
|
||||
p-map-values: 1.0.0
|
||||
@@ -18191,14 +18255,14 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
|
||||
'@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30)':
|
||||
'@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30)':
|
||||
dependencies:
|
||||
'@pnpm/cafs-types': 1000.0.0
|
||||
'@pnpm/create-cafs-store': 1000.0.23(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/create-cafs-store': 1000.0.24(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/crypto.polyfill': 1000.1.0
|
||||
'@pnpm/error': 1000.0.5
|
||||
'@pnpm/exec.pkg-requires-build': 1000.0.13
|
||||
'@pnpm/fs.hard-link-dir': 1000.0.4(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/fs.hard-link-dir': 1000.0.5(@pnpm/logger@1001.0.0)
|
||||
'@pnpm/graceful-fs': 1000.0.1
|
||||
'@pnpm/logger': 1001.0.0
|
||||
'@pnpm/store.cafs': 1000.0.22
|
||||
@@ -18207,7 +18271,6 @@ snapshots:
|
||||
is-windows: 1.0.2
|
||||
load-json-file: 6.2.0
|
||||
p-limit: 3.1.0
|
||||
shlex: 2.1.2
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
|
||||
@@ -18225,9 +18288,9 @@ snapshots:
|
||||
- supports-color
|
||||
- typanion
|
||||
|
||||
'@pnpm/workspace.find-packages@1000.0.25(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
'@pnpm/workspace.find-packages@1000.0.25(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)':
|
||||
dependencies:
|
||||
'@pnpm/cli-utils': 1000.1.5(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.3.3(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/cli-utils': 1000.1.5(@pnpm/logger@1001.0.0)(@pnpm/worker@1000.4.0(@pnpm/logger@1001.0.0)(@types/node@22.15.30))(typanion@3.14.0)
|
||||
'@pnpm/constants': 1001.1.0
|
||||
'@pnpm/fs.find-packages': 1000.0.11
|
||||
'@pnpm/logger': 1001.0.0
|
||||
|
||||
Reference in New Issue
Block a user