mirror of
https://github.com/pnpm/pnpm.git
synced 2026-05-24 16:46:06 -04:00
feat(lockfile)!: dividing "packages" field to "packages" and "snapshots" (#7700)
close #7685
This commit is contained in:
@@ -99,7 +99,8 @@ async function updateTSConfig (
|
||||
manifest.name === '@pnpm/git-fetcher' ||
|
||||
manifest.name === '@pnpm/tarball-fetcher' ||
|
||||
manifest.name === '@pnpm/package-requester'
|
||||
)
|
||||
) ||
|
||||
depName === 'pnpm' && manifest.name === '@pnpm/make-dedicated-lockfile'
|
||||
) {
|
||||
// This is to avoid a circular graph (which TypeScript references do not support.
|
||||
continue
|
||||
|
||||
13
__patches__/@zkochan__js-yaml@0.0.6.patch
Normal file
13
__patches__/@zkochan__js-yaml@0.0.6.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/lib/dumper.js b/lib/dumper.js
|
||||
index 01775b346be6bfe0e3bcee4e6f2788480ac060e9..6dd3635d599b513aebc054b15d5e239d3a7c0bf0 100644
|
||||
--- a/lib/dumper.js
|
||||
+++ b/lib/dumper.js
|
||||
@@ -842,7 +842,7 @@ function writeNode(state, level, object, block, compact, iskey, isblockseq, obje
|
||||
singleLineOnly = SINGLE_LINE_KEYS[objectKey];
|
||||
if (block && (Object.keys(state.dump).length !== 0) && !singleLineOnly) {
|
||||
var doubleLine = state.blankLines ?
|
||||
- (objectKey === 'packages' || objectKey === 'importers' || level === 0) : false;
|
||||
+ (objectKey === 'packages' || objectKey === 'importers' || objectKey === 'snapshots' || level === 0) : false;
|
||||
writeBlockMapping(state, level, state.dump, compact, doubleLine);
|
||||
if (duplicate) {
|
||||
state.dump = '&ref_' + duplicateIndex + state.dump;
|
||||
@@ -2,7 +2,7 @@ import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { assertStore } from '@pnpm/assert-store'
|
||||
import { WANTED_LOCKFILE } from '@pnpm/constants'
|
||||
import { type LockfileFile } from '@pnpm/lockfile-types'
|
||||
import { type LockfileFileV7 } from '@pnpm/lockfile-types'
|
||||
import { type Modules } from '@pnpm/modules-yaml'
|
||||
import { REGISTRY_MOCK_PORT } from '@pnpm/registry-mock'
|
||||
import { sync as readYamlFile } from 'read-yaml-file'
|
||||
@@ -30,14 +30,14 @@ export interface Project {
|
||||
*
|
||||
* https://github.com/microsoft/TypeScript/pull/32695 might help with this.
|
||||
*/
|
||||
readCurrentLockfile: () => Required<LockfileFile>
|
||||
readCurrentLockfile: () => Required<LockfileFileV7>
|
||||
readModulesManifest: () => Modules | null
|
||||
/**
|
||||
* TODO: Remove the `Required<T>` cast.
|
||||
*
|
||||
* https://github.com/microsoft/TypeScript/pull/32695 might help with this.
|
||||
*/
|
||||
readLockfile: (lockfileName?: string) => Required<LockfileFile>
|
||||
readLockfile: (lockfileName?: string) => Required<LockfileFileV7>
|
||||
writePackageJson: (pkgJson: object) => void
|
||||
}
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
"@pnpm/error": "workspace:*",
|
||||
"@pnpm/git-utils": "workspace:*",
|
||||
"@pnpm/lockfile-types": "workspace:*",
|
||||
"@pnpm/lockfile-utils": "workspace:*",
|
||||
"@pnpm/merge-lockfile-changes": "workspace:*",
|
||||
"@pnpm/types": "workspace:*",
|
||||
"@pnpm/util.lex-comparator": "1.0.0",
|
||||
|
||||
@@ -1,25 +1,65 @@
|
||||
import {
|
||||
type Lockfile,
|
||||
type ProjectSnapshot,
|
||||
type PackageSnapshotV7,
|
||||
type ResolvedDependencies,
|
||||
type LockfileFile,
|
||||
type InlineSpecifiersLockfile,
|
||||
type InlineSpecifiersProjectSnapshot,
|
||||
type InlineSpecifiersResolvedDependencies,
|
||||
type PackageInfo,
|
||||
type LockfileFileV7,
|
||||
type PackageSnapshots,
|
||||
type PackageSnapshot,
|
||||
} from '@pnpm/lockfile-types'
|
||||
import { packageIdFromSnapshot } from '@pnpm/lockfile-utils'
|
||||
import { DEPENDENCIES_FIELDS } from '@pnpm/types'
|
||||
import equals from 'ramda/src/equals'
|
||||
import isEmpty from 'ramda/src/isEmpty'
|
||||
import _mapValues from 'ramda/src/map'
|
||||
import omit from 'ramda/src/omit'
|
||||
import pickBy from 'ramda/src/pickBy'
|
||||
import pick from 'ramda/src/pick'
|
||||
|
||||
export interface NormalizeLockfileOpts {
|
||||
forceSharedFormat: boolean
|
||||
}
|
||||
|
||||
export function convertToLockfileFile (lockfile: Lockfile, opts: NormalizeLockfileOpts): LockfileFile {
|
||||
const packages: Record<string, PackageInfo> = {}
|
||||
const snapshots: Record<string, PackageSnapshotV7> = {}
|
||||
for (const [depPath, pkg] of Object.entries(lockfile.packages ?? {})) {
|
||||
snapshots[depPath] = pick([
|
||||
'dependencies',
|
||||
'optionalDependencies',
|
||||
'transitivePeerDependencies',
|
||||
'dev',
|
||||
'optional',
|
||||
'id',
|
||||
], pkg)
|
||||
const pkgId = packageIdFromSnapshot(depPath, pkg)
|
||||
if (!packages[pkgId]) {
|
||||
packages[pkgId] = pick([
|
||||
'bundleDependencies',
|
||||
'bundledDependencies',
|
||||
'cpu',
|
||||
'deprecated',
|
||||
'engines',
|
||||
'hasBin',
|
||||
'libc',
|
||||
'name',
|
||||
'os',
|
||||
'peerDependencies',
|
||||
'peerDependenciesMeta',
|
||||
'resolution',
|
||||
'version',
|
||||
], pkg)
|
||||
}
|
||||
}
|
||||
const newLockfile = {
|
||||
...lockfile,
|
||||
snapshots,
|
||||
packages,
|
||||
lockfileVersion: lockfile.lockfileVersion.toString(),
|
||||
importers: mapValues(lockfile.importers, convertProjectSnapshotToInlineSpecifiersFormat),
|
||||
}
|
||||
@@ -42,6 +82,9 @@ function normalizeLockfile (lockfile: InlineSpecifiersLockfile, opts: NormalizeL
|
||||
if (isEmpty(lockfileToSave.packages) || (lockfileToSave.packages == null)) {
|
||||
delete lockfileToSave.packages
|
||||
}
|
||||
if (isEmpty((lockfileToSave as LockfileFileV7).snapshots) || ((lockfileToSave as LockfileFileV7).snapshots == null)) {
|
||||
delete (lockfileToSave as LockfileFileV7).snapshots
|
||||
}
|
||||
} else {
|
||||
lockfileToSave = {
|
||||
...lockfile,
|
||||
@@ -64,6 +107,9 @@ function normalizeLockfile (lockfile: InlineSpecifiersLockfile, opts: NormalizeL
|
||||
if (isEmpty(lockfileToSave.packages) || (lockfileToSave.packages == null)) {
|
||||
delete lockfileToSave.packages
|
||||
}
|
||||
if (isEmpty((lockfileToSave as LockfileFileV7).snapshots) || ((lockfileToSave as LockfileFileV7).snapshots == null)) {
|
||||
delete (lockfileToSave as LockfileFileV7).snapshots
|
||||
}
|
||||
}
|
||||
if (lockfileToSave.time) {
|
||||
lockfileToSave.time = pruneTimeInLockfileV6(lockfileToSave.time, lockfile.importers ?? {})
|
||||
@@ -139,7 +185,10 @@ function convertFromLockfileFileMutable (lockfileFile: LockfileFile): InlineSpec
|
||||
return lockfileFile as InlineSpecifiersLockfile
|
||||
}
|
||||
|
||||
export function convertToLockfileObject (lockfile: LockfileFile): Lockfile {
|
||||
export function convertToLockfileObject (lockfile: LockfileFile | LockfileFileV7): Lockfile {
|
||||
if ((lockfile as LockfileFileV7).snapshots) {
|
||||
return convertLockfileV7ToLockfileObject(lockfile as LockfileFileV7)
|
||||
}
|
||||
const { importers, ...rest } = convertFromLockfileFileMutable(lockfile)
|
||||
|
||||
const newLockfile = {
|
||||
@@ -149,6 +198,21 @@ export function convertToLockfileObject (lockfile: LockfileFile): Lockfile {
|
||||
return newLockfile
|
||||
}
|
||||
|
||||
export function convertLockfileV7ToLockfileObject (lockfile: LockfileFileV7): Lockfile {
|
||||
const { importers, ...rest } = convertFromLockfileFileMutable(lockfile)
|
||||
|
||||
const packages: PackageSnapshots = {}
|
||||
for (const [depPath, pkg] of Object.entries(lockfile.snapshots ?? {})) {
|
||||
const pkgId = packageIdFromSnapshot(depPath, pkg as PackageSnapshot)
|
||||
packages[depPath] = Object.assign(pkg, lockfile.packages?.[pkgId])
|
||||
}
|
||||
return {
|
||||
...omit(['snapshots'], rest),
|
||||
packages,
|
||||
importers: mapValues(importers ?? {}, revertProjectSnapshot),
|
||||
}
|
||||
}
|
||||
|
||||
function convertProjectSnapshotToInlineSpecifiersFormat (
|
||||
projectSnapshot: ProjectSnapshot
|
||||
): InlineSpecifiersProjectSnapshot {
|
||||
|
||||
@@ -22,13 +22,21 @@ packages:
|
||||
cpu: [x86]
|
||||
os: [darwin]
|
||||
libc: [glibc]
|
||||
dependencies:
|
||||
is-positive: 2.0.0
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha1-ChbBDewTLAqLCzb793Fo5VDvg/g=}
|
||||
|
||||
/is-positive@2.0.0:
|
||||
resolution: {integrity: sha1-ChbBDewTLAqLCzb793Fo5VDvg/g=}
|
||||
|
||||
snapshots:
|
||||
|
||||
/is-negative@1.0.0:
|
||||
dependencies:
|
||||
is-positive: 2.0.0
|
||||
|
||||
/is-positive@1.0.0: {}
|
||||
|
||||
/is-positive@2.0.0: {}
|
||||
"
|
||||
`;
|
||||
|
||||
@@ -70,7 +70,7 @@ test('convertToLockfileFile()', () => {
|
||||
'/foo@1.0.0': {
|
||||
resolution: { integrity: '' },
|
||||
},
|
||||
'/@bar/bar@1.0.0(@babel/core@2.0.0)': {
|
||||
'/@bar/bar@1.0.0': {
|
||||
resolution: { integrity: '' },
|
||||
},
|
||||
'reg.com/qar@1.0.0': {
|
||||
@@ -80,6 +80,12 @@ test('convertToLockfileFile()', () => {
|
||||
resolution: { integrity: '' },
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/foo@1.0.0': {},
|
||||
'/@bar/bar@1.0.0(@babel/core@2.0.0)': {},
|
||||
'reg.com/qar@1.0.0': {},
|
||||
'@registry.npmjs.org/is-positive/-/is-positive-1.0.0.tgz': {},
|
||||
},
|
||||
}
|
||||
expect(convertToLockfileFile(lockfileV5, { forceSharedFormat: false })).toEqual(lockfileV6)
|
||||
expect(convertToLockfileObject(lockfileV6)).toEqual(lockfileV5)
|
||||
@@ -155,7 +161,7 @@ test('convertToLockfileFile() with lockfile v6', () => {
|
||||
'/foo@1.0.0': {
|
||||
resolution: { integrity: '' },
|
||||
},
|
||||
'/@bar/bar@1.0.0(@babel/core@2.0.0)': {
|
||||
'/@bar/bar@1.0.0': {
|
||||
resolution: { integrity: '' },
|
||||
},
|
||||
'reg.com/qar@1.0.0': {
|
||||
@@ -165,6 +171,12 @@ test('convertToLockfileFile() with lockfile v6', () => {
|
||||
resolution: { integrity: '' },
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/foo@1.0.0': {},
|
||||
'/@bar/bar@1.0.0(@babel/core@2.0.0)': {},
|
||||
'reg.com/qar@1.0.0': {},
|
||||
'@registry.npmjs.org/is-positive/-/is-positive-1.0.0.tgz': {},
|
||||
},
|
||||
}
|
||||
expect(convertToLockfileFile(lockfileV5, { forceSharedFormat: false })).toEqual(lockfileV6)
|
||||
expect(convertToLockfileObject(lockfileV6)).toEqual(lockfileV5)
|
||||
|
||||
@@ -27,6 +27,9 @@
|
||||
{
|
||||
"path": "../lockfile-types"
|
||||
},
|
||||
{
|
||||
"path": "../lockfile-utils"
|
||||
},
|
||||
{
|
||||
"path": "../merge-lockfile-changes"
|
||||
}
|
||||
|
||||
@@ -22,6 +22,20 @@ export interface Lockfile {
|
||||
settings?: LockfileSettings
|
||||
}
|
||||
|
||||
export interface LockfileV7 {
|
||||
importers: Record<string, ProjectSnapshot>
|
||||
lockfileVersion: number | string
|
||||
time?: Record<string, string>
|
||||
snapshots?: Record<string, PackageSnapshotV7>
|
||||
packages?: Record<string, PackageInfo>
|
||||
neverBuiltDependencies?: string[]
|
||||
onlyBuiltDependencies?: string[]
|
||||
overrides?: Record<string, string>
|
||||
packageExtensionsChecksum?: string
|
||||
patchedDependencies?: Record<string, PatchFile>
|
||||
settings?: LockfileSettings
|
||||
}
|
||||
|
||||
export interface ProjectSnapshot {
|
||||
specifiers: ResolvedDependencies
|
||||
dependencies?: ResolvedDependencies
|
||||
@@ -72,6 +86,10 @@ export type LockfileResolution = Resolution | {
|
||||
integrity: string
|
||||
}
|
||||
|
||||
export type PackageSnapshotV7 = Pick<PackageSnapshot, 'dev' | 'optional' | 'dependencies' | 'optionalDependencies' | 'transitivePeerDependencies'>
|
||||
|
||||
export type PackageInfo = Pick<PackageSnapshot, 'id' | 'patched' | 'hasBin' | 'name' | 'version' | 'resolution' | 'peerDependencies' | 'peerDependenciesMeta' | 'bundledDependencies' | 'engines' | 'cpu' | 'os' | 'libc' | 'deprecated'>
|
||||
|
||||
export interface PackageSnapshot {
|
||||
id?: string
|
||||
dev?: true | false
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
import type { Lockfile, ProjectSnapshot } from '.'
|
||||
import type { Lockfile, PackageSnapshot, ProjectSnapshot } from '.'
|
||||
import type { DependenciesMeta } from '@pnpm/types'
|
||||
|
||||
export type LockfileFile = Omit<InlineSpecifiersLockfile, 'importers'> &
|
||||
Partial<InlineSpecifiersProjectSnapshot> &
|
||||
Partial<Pick<InlineSpecifiersLockfile, 'importers'>>
|
||||
|
||||
export type LockfileFileV7 = Omit<InlineSpecifiersLockfile, 'importers' | 'packages'> &
|
||||
Partial<InlineSpecifiersProjectSnapshot> &
|
||||
Partial<Pick<InlineSpecifiersLockfile, 'importers'>> & {
|
||||
packages?: Record<string, Pick<PackageSnapshot, 'resolution' | 'engines' | 'cpu' | 'os' | 'hasBin' | 'name' | 'version' | 'bundledDependencies' | 'peerDependencies' | 'peerDependenciesMeta' | 'deprecated'>>
|
||||
snapshots?: Record<string, Pick<PackageSnapshot, 'dependencies' | 'optionalDependencies' | 'patched' | 'dev' | 'optional' | 'transitivePeerDependencies' | 'id'>>
|
||||
}
|
||||
|
||||
/**
|
||||
* Similar to the current Lockfile importers format (lockfile version 5.4 at
|
||||
* time of writing), but specifiers are moved to each ResolvedDependencies block
|
||||
|
||||
@@ -113,7 +113,8 @@
|
||||
},
|
||||
"patchedDependencies": {
|
||||
"pkg@5.8.1": "__patches__/pkg.patch",
|
||||
"graceful-fs@4.2.11": "__patches__/graceful-fs@4.2.11.patch"
|
||||
"graceful-fs@4.2.11": "__patches__/graceful-fs@4.2.11.patch",
|
||||
"@zkochan/js-yaml@0.0.6": "__patches__/@zkochan__js-yaml@0.0.6.patch"
|
||||
},
|
||||
"updateConfig": {
|
||||
"ignoreDependencies": [
|
||||
|
||||
@@ -46,9 +46,11 @@
|
||||
},
|
||||
"funding": "https://opencollective.com/pnpm",
|
||||
"devDependencies": {
|
||||
"execa": "npm:safe-execa@0.1.2",
|
||||
"@pnpm/make-dedicated-lockfile": "workspace:*",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
"@types/ramda": "0.28.20"
|
||||
"@types/ramda": "0.28.20",
|
||||
"pnpm": "workspace:^"
|
||||
},
|
||||
"exports": {
|
||||
".": "./lib/index.js"
|
||||
|
||||
144
packages/make-dedicated-lockfile/test/fixtures/fixture/pnpm-lock.yaml
generated
vendored
144
packages/make-dedicated-lockfile/test/fixtures/fixture/pnpm-lock.yaml
generated
vendored
@@ -35,6 +35,89 @@ packages:
|
||||
/connect@3.7.0:
|
||||
resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
|
||||
engines: {node: '>= 0.10.0'}
|
||||
|
||||
/debug@2.6.9:
|
||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||
peerDependencies:
|
||||
supports-color: '*'
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
|
||||
/ee-first@1.1.1:
|
||||
resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
|
||||
|
||||
/encodeurl@1.0.2:
|
||||
resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/escape-html@1.0.3:
|
||||
resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=}
|
||||
|
||||
/express@1.0.0:
|
||||
resolution: {integrity: sha1-SKQ9eKluuSMvYx0jzI3o+FTY4Ok=}
|
||||
engines: {node: '>= 0.2.0'}
|
||||
deprecated: express 1.x series is deprecated
|
||||
hasBin: true
|
||||
|
||||
/finalhandler@1.1.2:
|
||||
resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/lodash@1.0.0:
|
||||
resolution: {integrity: sha1-JTXC99y2k3zujSZyxfcTju4N9qk=}
|
||||
engines: {'0': node, '1': rhino}
|
||||
|
||||
/ms@2.0.0:
|
||||
resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=}
|
||||
|
||||
/on-finished@2.3.0:
|
||||
resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/parseurl@1.3.3:
|
||||
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/ramda@0.26.0:
|
||||
resolution: {integrity: sha512-maK1XqpgsOo5DwjhROjqDvpm1vkphLQbpleVv+b3t5Y9uOQ0t8hTHT582+mDs7RLrex1kd4lWYizNXWLVjsq9w==}
|
||||
|
||||
/request@2.0.0:
|
||||
resolution: {integrity: sha512-/YiTJ2FZtvOWFhRE+HHiq3GxpX4e1RMEnqYYQM/0xhQRzQ/dgdHrfK+WB4uRW3OWrcTjWA6uE8GSMhwbm7dLLw==}
|
||||
engines: {'0': node >= 0.3.6}
|
||||
deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
|
||||
|
||||
/statuses@1.5.0:
|
||||
resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
/unpipe@1.0.0:
|
||||
resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/utils-merge@1.0.1:
|
||||
resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=}
|
||||
engines: {node: '>= 0.4.0'}
|
||||
|
||||
snapshots:
|
||||
|
||||
/ramda@0.26.0:
|
||||
dev: false
|
||||
|
||||
/request@2.0.0:
|
||||
dev: false
|
||||
|
||||
/lodash@1.0.0:
|
||||
dev: false
|
||||
|
||||
/express@1.0.0:
|
||||
dependencies:
|
||||
connect: 3.7.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/connect@3.7.0:
|
||||
dependencies:
|
||||
debug: 2.6.9
|
||||
finalhandler: 1.1.2
|
||||
@@ -45,43 +128,14 @@ packages:
|
||||
dev: false
|
||||
|
||||
/debug@2.6.9:
|
||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||
peerDependencies:
|
||||
supports-color: '*'
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
dependencies:
|
||||
ms: 2.0.0
|
||||
dev: false
|
||||
|
||||
/ee-first@1.1.1:
|
||||
resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
|
||||
dev: false
|
||||
|
||||
/encodeurl@1.0.2:
|
||||
resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/escape-html@1.0.3:
|
||||
resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=}
|
||||
dev: false
|
||||
|
||||
/express@1.0.0:
|
||||
resolution: {integrity: sha1-SKQ9eKluuSMvYx0jzI3o+FTY4Ok=}
|
||||
engines: {node: '>= 0.2.0'}
|
||||
deprecated: express 1.x series is deprecated
|
||||
hasBin: true
|
||||
dependencies:
|
||||
connect: 3.7.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
/ms@2.0.0:
|
||||
dev: false
|
||||
|
||||
/finalhandler@1.1.2:
|
||||
resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dependencies:
|
||||
debug: 2.6.9
|
||||
encodeurl: 1.0.2
|
||||
@@ -94,48 +148,28 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/lodash@1.0.0:
|
||||
resolution: {integrity: sha1-JTXC99y2k3zujSZyxfcTju4N9qk=}
|
||||
engines: {'0': node, '1': rhino}
|
||||
/encodeurl@1.0.2:
|
||||
dev: false
|
||||
|
||||
/ms@2.0.0:
|
||||
resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=}
|
||||
/escape-html@1.0.3:
|
||||
dev: false
|
||||
|
||||
/on-finished@2.3.0:
|
||||
resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=}
|
||||
engines: {node: '>= 0.8'}
|
||||
dependencies:
|
||||
ee-first: 1.1.1
|
||||
dev: false
|
||||
|
||||
/ee-first@1.1.1:
|
||||
dev: false
|
||||
|
||||
/parseurl@1.3.3:
|
||||
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/ramda@0.26.0:
|
||||
resolution: {integrity: sha512-maK1XqpgsOo5DwjhROjqDvpm1vkphLQbpleVv+b3t5Y9uOQ0t8hTHT582+mDs7RLrex1kd4lWYizNXWLVjsq9w==}
|
||||
dev: false
|
||||
|
||||
/request@2.0.0:
|
||||
resolution: {integrity: sha512-/YiTJ2FZtvOWFhRE+HHiq3GxpX4e1RMEnqYYQM/0xhQRzQ/dgdHrfK+WB4uRW3OWrcTjWA6uE8GSMhwbm7dLLw==}
|
||||
engines: {'0': node >= 0.3.6}
|
||||
deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
|
||||
dev: false
|
||||
|
||||
/statuses@1.5.0:
|
||||
resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/unpipe@1.0.0:
|
||||
resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/utils-merge@1.0.1:
|
||||
resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=}
|
||||
engines: {node: '>= 0.4.0'}
|
||||
dev: false
|
||||
|
||||
@@ -1,22 +1,29 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import pnpmExec from '@pnpm/exec'
|
||||
import execa from 'execa'
|
||||
import { readWantedLockfile } from '@pnpm/lockfile-file'
|
||||
import { fixtures } from '@pnpm/test-fixtures'
|
||||
import { makeDedicatedLockfile } from '../lib'
|
||||
|
||||
const f = fixtures(__dirname)
|
||||
const pnpmBin = path.join(__dirname, '../../../pnpm/bin/pnpm.cjs')
|
||||
|
||||
test('makeDedicatedLockfile()', async () => {
|
||||
const tmp = f.prepare('fixture')
|
||||
fs.writeFileSync('.npmrc', 'store-dir=store\ncache-dir=cache', 'utf8')
|
||||
await pnpmExec(['install', '--no-frozen-lockfile'], { cwd: tmp })
|
||||
await execa('node', [
|
||||
pnpmBin,
|
||||
'install',
|
||||
'--no-frozen-lockfile',
|
||||
'--no-prefer-frozen-lockfile',
|
||||
'--force',
|
||||
], { cwd: tmp })
|
||||
const projectDir = path.join(tmp, 'packages/is-negative')
|
||||
await makeDedicatedLockfile(tmp, projectDir)
|
||||
|
||||
const lockfile = await readWantedLockfile(projectDir, { ignoreIncompatible: false })
|
||||
expect(Object.keys(lockfile?.importers ?? {})).toStrictEqual(['.', 'example'])
|
||||
expect(Object.keys(lockfile?.packages ?? {})).toStrictEqual([
|
||||
expect(Object.keys(lockfile?.packages ?? {}).sort()).toStrictEqual([
|
||||
'/is-positive@1.0.0',
|
||||
'/lodash@1.0.0',
|
||||
'/ramda@0.26.0',
|
||||
|
||||
@@ -34,7 +34,6 @@ test('installing aliased dependency', async () => {
|
||||
lockfileVersion: LOCKFILE_VERSION,
|
||||
packages: {
|
||||
'/is-negative@1.0.0': {
|
||||
dev: false,
|
||||
engines: {
|
||||
node: '>=0.10.0',
|
||||
},
|
||||
@@ -43,7 +42,6 @@ test('installing aliased dependency', async () => {
|
||||
},
|
||||
},
|
||||
'/is-positive@3.1.0': {
|
||||
dev: false,
|
||||
engines: {
|
||||
node: '>=0.10.0',
|
||||
},
|
||||
@@ -52,6 +50,14 @@ test('installing aliased dependency', async () => {
|
||||
},
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/is-negative@1.0.0': {
|
||||
dev: false,
|
||||
},
|
||||
'/is-positive@3.1.0': {
|
||||
dev: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
@@ -95,19 +101,25 @@ test('a dependency has an aliased subdependency', async () => {
|
||||
lockfileVersion: LOCKFILE_VERSION,
|
||||
packages: {
|
||||
'/@pnpm.e2e/dep-of-pkg-with-1-dep@100.1.0': {
|
||||
dev: false,
|
||||
resolution: {
|
||||
integrity: getIntegrity('@pnpm.e2e/dep-of-pkg-with-1-dep', '100.1.0'),
|
||||
},
|
||||
},
|
||||
'/@pnpm.e2e/pkg-with-1-aliased-dep@100.0.0': {
|
||||
resolution: {
|
||||
integrity: getIntegrity('@pnpm.e2e/pkg-with-1-aliased-dep', '100.0.0'),
|
||||
},
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/@pnpm.e2e/dep-of-pkg-with-1-dep@100.1.0': {
|
||||
dev: false,
|
||||
},
|
||||
'/@pnpm.e2e/pkg-with-1-aliased-dep@100.0.0': {
|
||||
dependencies: {
|
||||
dep: '/@pnpm.e2e/dep-of-pkg-with-1-dep@100.1.0',
|
||||
},
|
||||
dev: false,
|
||||
resolution: {
|
||||
integrity: getIntegrity('@pnpm.e2e/pkg-with-1-aliased-dep', '100.0.0'),
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
@@ -12,7 +12,7 @@ test('auto install non-optional peer dependencies', async () => {
|
||||
const project = prepareEmpty()
|
||||
await addDependenciesToPackage({}, ['@pnpm.e2e/abc-optional-peers@1.0.0'], testDefaults({ autoInstallPeers: true }))
|
||||
const lockfile = project.readLockfile()
|
||||
expect(Object.keys(lockfile.packages)).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots)).toStrictEqual([
|
||||
'/@pnpm.e2e/abc-optional-peers@1.0.0(@pnpm.e2e/peer-a@1.0.0)',
|
||||
'/@pnpm.e2e/peer-a@1.0.0',
|
||||
])
|
||||
@@ -24,18 +24,18 @@ test('auto install the common peer dependency', async () => {
|
||||
const project = prepareEmpty()
|
||||
await addDependenciesToPackage({}, ['@pnpm.e2e/wants-peer-c-1', '@pnpm.e2e/wants-peer-c-1.0.0'], testDefaults({ autoInstallPeers: true }))
|
||||
const lockfile = project.readLockfile()
|
||||
expect(Object.keys(lockfile.packages)).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots).sort()).toStrictEqual([
|
||||
'/@pnpm.e2e/peer-c@1.0.0',
|
||||
'/@pnpm.e2e/wants-peer-c-1.0.0@1.0.0(@pnpm.e2e/peer-c@1.0.0)',
|
||||
'/@pnpm.e2e/wants-peer-c-1@1.0.0(@pnpm.e2e/peer-c@1.0.0)',
|
||||
])
|
||||
].sort())
|
||||
})
|
||||
|
||||
test('do not auto install when there is no common peer dependency range intersection', async () => {
|
||||
const project = prepareEmpty()
|
||||
await addDependenciesToPackage({}, ['@pnpm.e2e/wants-peer-c-1', '@pnpm.e2e/wants-peer-c-2'], testDefaults({ autoInstallPeers: true }))
|
||||
const lockfile = project.readLockfile()
|
||||
expect(Object.keys(lockfile.packages)).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots)).toStrictEqual([
|
||||
'/@pnpm.e2e/wants-peer-c-1@1.0.0',
|
||||
'/@pnpm.e2e/wants-peer-c-2@1.0.0',
|
||||
])
|
||||
@@ -49,11 +49,11 @@ test('auto install latest when there is no common peer dependency range intersec
|
||||
autoInstallPeersFromHighestMatch: true,
|
||||
}))
|
||||
const lockfile = project.readLockfile()
|
||||
expect(Object.keys(lockfile.packages)).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots).sort()).toStrictEqual([
|
||||
'/@pnpm.e2e/peer-c@2.0.0',
|
||||
'/@pnpm.e2e/wants-peer-c-1@1.0.0(@pnpm.e2e/peer-c@2.0.0)',
|
||||
'/@pnpm.e2e/wants-peer-c-2@1.0.0(@pnpm.e2e/peer-c@2.0.0)',
|
||||
])
|
||||
].sort())
|
||||
})
|
||||
|
||||
test('don\'t fail on linked package, when peers are auto installed', async () => {
|
||||
@@ -87,17 +87,17 @@ test('hoist a peer dependency in order to reuse it by other dependencies, when i
|
||||
await addDependenciesToPackage({}, ['@pnpm/xyz-parent-parent-parent-parent', '@pnpm/xyz-parent-parent-with-xyz'], testDefaults({ autoInstallPeers: true }))
|
||||
const lockfile = project.readLockfile()
|
||||
const suffix = createPeersDirSuffix([{ name: '@pnpm/x', version: '1.0.0' }, { name: '@pnpm/y', version: '1.0.0' }, { name: '@pnpm/z', version: '1.0.0' }])
|
||||
expect(Object.keys(lockfile.packages)).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots).sort()).toStrictEqual([
|
||||
'/@pnpm/x@1.0.0',
|
||||
'/@pnpm/xyz-parent-parent-with-xyz@1.0.0',
|
||||
'/@pnpm/y@1.0.0',
|
||||
'/@pnpm/z@1.0.0',
|
||||
`/@pnpm/xyz-parent-parent-parent-parent@1.0.0${suffix}`,
|
||||
`/@pnpm/xyz-parent-parent-parent@1.0.0${suffix}`,
|
||||
'/@pnpm/xyz-parent-parent-with-xyz@1.0.0',
|
||||
`/@pnpm/xyz-parent-parent@1.0.0${suffix}`,
|
||||
`/@pnpm/xyz-parent@1.0.0${suffix}`,
|
||||
`/@pnpm/xyz@1.0.0${suffix}`,
|
||||
'/@pnpm/y@1.0.0',
|
||||
'/@pnpm/z@1.0.0',
|
||||
])
|
||||
].sort())
|
||||
})
|
||||
|
||||
test('don\'t hoist a peer dependency when there is a root dependency by that name', async () => {
|
||||
@@ -111,7 +111,7 @@ test('don\'t hoist a peer dependency when there is a root dependency by that nam
|
||||
const lockfile = project.readLockfile()
|
||||
const suffix1 = createPeersDirSuffix([{ name: '@pnpm/y', version: '2.0.0' }, { name: '@pnpm/z', version: '1.0.0' }, { name: '@pnpm.e2e/peer-a', version: '1.0.0' }])
|
||||
const suffix2 = createPeersDirSuffix([{ name: '@pnpm/x', version: '1.0.0' }, { name: '@pnpm/y', version: '1.0.0' }, { name: '@pnpm/z', version: '1.0.0' }])
|
||||
expect(Object.keys(lockfile.packages).sort()).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots).sort()).toStrictEqual([
|
||||
'/@pnpm.e2e/peer-a@1.0.0',
|
||||
'/@pnpm/x@1.0.0',
|
||||
`/@pnpm/xyz-parent-parent-parent-parent@1.0.0${suffix1}`,
|
||||
@@ -137,7 +137,7 @@ test('don\'t auto-install a peer dependency, when that dependency is in the root
|
||||
], testDefaults({ autoInstallPeers: true }))
|
||||
const lockfile = project.readLockfile()
|
||||
const suffix = createPeersDirSuffix([{ name: '@pnpm/y', version: '2.0.0' }, { name: '@pnpm/z', version: '1.0.0' }, { name: '@pnpm.e2e/peer-a', version: '1.0.0' }])
|
||||
expect(Object.keys(lockfile.packages).sort()).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots).sort()).toStrictEqual([
|
||||
`/@pnpm/xyz-parent-parent-parent-parent@1.0.0${suffix}`,
|
||||
`/@pnpm/xyz-parent-parent-parent@1.0.0${suffix}`,
|
||||
`/@pnpm/xyz-parent-parent@1.0.0${suffix}`,
|
||||
@@ -156,7 +156,7 @@ test('don\'t install the same missing peer dependency twice', async () => {
|
||||
'@pnpm.e2e/has-has-y-peer-peer',
|
||||
], testDefaults({ autoInstallPeers: true }))
|
||||
const lockfile = project.readLockfile()
|
||||
expect(Object.keys(lockfile.packages).sort()).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots).sort()).toStrictEqual([
|
||||
'/@pnpm/y@1.0.0',
|
||||
'/@pnpm.e2e/has-has-y-peer-peer@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0))(@pnpm/y@1.0.0)',
|
||||
'/@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0)',
|
||||
@@ -174,7 +174,7 @@ test('prefer the peer dependency version already used in the root', async () =>
|
||||
},
|
||||
}, testDefaults({ autoInstallPeers: true }))
|
||||
const lockfile = project.readLockfile()
|
||||
expect(Object.keys(lockfile.packages).sort()).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots).sort()).toStrictEqual([
|
||||
'/@pnpm/y@1.0.0',
|
||||
'/@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0)',
|
||||
].sort())
|
||||
|
||||
@@ -207,7 +207,7 @@ test('when resolving dependencies, prefer versions that are used by direct depen
|
||||
await addDependenciesToPackage(manifest, ['@pnpm.e2e/has-foo-100.0.0-range-dep'], testDefaults())
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-foo-100.0.0-range-dep@1.0.0']).toHaveProperty(['dependencies', '@pnpm.e2e/foo'], '100.0.0')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-foo-100.0.0-range-dep@1.0.0']).toHaveProperty(['dependencies', '@pnpm.e2e/foo'], '100.0.0')
|
||||
})
|
||||
|
||||
test('when resolving dependencies, prefer versions that are used by direct dependencies over versions used in subdeps', async () => {
|
||||
@@ -225,5 +225,5 @@ test('when resolving dependencies, prefer versions that are used by direct depen
|
||||
await addDependenciesToPackage(manifest, ['@pnpm.e2e/has-foo-100.0.0-range-dep'], testDefaults())
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-foo-100.0.0-range-dep@1.0.0']).toHaveProperty(['dependencies', '@pnpm.e2e/foo'], '100.0.0')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-foo-100.0.0-range-dep@1.0.0']).toHaveProperty(['dependencies', '@pnpm.e2e/foo'], '100.0.0')
|
||||
})
|
||||
|
||||
@@ -24,10 +24,10 @@ test('don\'t install the default peer dependency when it may be resolved from pa
|
||||
)
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(Object.keys(lockfile.packages)).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots).sort()).toStrictEqual([
|
||||
'/@pnpm.e2e/dep-of-pkg-with-1-dep@101.0.0',
|
||||
`/@pnpm.e2e/has-default-peer@1.0.0${createPeersDirSuffix([{ name: '@pnpm.e2e/dep-of-pkg-with-1-dep', version: '101.0.0' }])}`,
|
||||
])
|
||||
].sort())
|
||||
})
|
||||
|
||||
test('install the default peer dependency when it cannot be resolved from parent packages', async () => {
|
||||
@@ -52,7 +52,7 @@ test('package that resolves its own peer dependency', async () => {
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages['/@pnpm.e2e/pkg-with-resolved-peer@1.0.0(@pnpm.e2e/peer-c@2.0.0)']?.peerDependencies).toStrictEqual({ '@pnpm.e2e/peer-c': '*' })
|
||||
expect(lockfile.packages['/@pnpm.e2e/pkg-with-resolved-peer@1.0.0(@pnpm.e2e/peer-c@2.0.0)'].dependencies).toHaveProperty(['@pnpm.e2e/peer-c'])
|
||||
expect(lockfile.packages['/@pnpm.e2e/pkg-with-resolved-peer@1.0.0(@pnpm.e2e/peer-c@2.0.0)'].optionalDependencies).toHaveProperty(['@pnpm.e2e/peer-b'])
|
||||
expect(lockfile.packages['/@pnpm.e2e/pkg-with-resolved-peer@1.0.0']?.peerDependencies).toStrictEqual({ '@pnpm.e2e/peer-c': '*' })
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/pkg-with-resolved-peer@1.0.0(@pnpm.e2e/peer-c@2.0.0)'].dependencies).toHaveProperty(['@pnpm.e2e/peer-c'])
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/pkg-with-resolved-peer@1.0.0(@pnpm.e2e/peer-c@2.0.0)'].optionalDependencies).toHaveProperty(['@pnpm.e2e/peer-b'])
|
||||
})
|
||||
|
||||
@@ -234,8 +234,8 @@ test('path to external link is not added to the lockfile, when it resolves a pee
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
const key = '/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@node_modules+@pnpm.e2e+peer-a)(@pnpm.e2e/peer-b@1.0.0)(@pnpm.e2e/peer-c@1.0.0)'
|
||||
expect(lockfile.packages[key]).toBeTruthy()
|
||||
expect(lockfile.packages[key].dependencies?.['@pnpm.e2e/peer-a']).toBe('link:node_modules/@pnpm.e2e/peer-a')
|
||||
expect(lockfile.snapshots[key]).toBeTruthy()
|
||||
expect(lockfile.snapshots[key].dependencies?.['@pnpm.e2e/peer-a']).toBe('link:node_modules/@pnpm.e2e/peer-a')
|
||||
})
|
||||
|
||||
test('links resolved from workspace protocol dependencies are not removed', async () => {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { prepareEmpty, preparePackages } from '@pnpm/prepare'
|
||||
import { install, type MutatedProject, mutateModules } from '@pnpm/core'
|
||||
import { sync as writeYamlFile } from 'write-yaml-file'
|
||||
import { sync as readYamlFile } from 'read-yaml-file'
|
||||
import { type Lockfile, type PackageSnapshots } from '@pnpm/lockfile-file'
|
||||
import { type LockfileV7 as Lockfile, type PackageSnapshots } from '@pnpm/lockfile-file'
|
||||
import { testDefaults } from '../utils'
|
||||
|
||||
test('fix broken lockfile with --fix-lockfile', async () => {
|
||||
@@ -58,7 +58,7 @@ test('fix broken lockfile with --fix-lockfile', async () => {
|
||||
expect(lockfile.packages?.['/core-js-pure@3.16.2']?.resolution).toEqual({
|
||||
integrity: 'sha512-oxKe64UH049mJqrKkynWp6Vu0Rlm/BTXO/bJZuN2mmR3RtOFNepLlSWDd1eo16PzHpQAoNG97rLU1V/YxesJjw==',
|
||||
})
|
||||
expect(lockfile.packages?.['/core-js-pure@3.16.2']?.dev).toBeTruthy()
|
||||
expect(lockfile.snapshots?.['/core-js-pure@3.16.2']?.dev).toBeTruthy()
|
||||
})
|
||||
|
||||
test('--fix-lockfile should preserve all locked dependencies version', async () => {
|
||||
@@ -200,7 +200,7 @@ test('--fix-lockfile should preserve all locked dependencies version', async ()
|
||||
expect(lockfile.packages?.['/@babel/runtime-corejs3@7.15.3']?.engines).toEqual({
|
||||
node: '>=6.9.0',
|
||||
})
|
||||
expect(lockfile.packages?.['/@babel/runtime-corejs3@7.15.3']?.dev).toBeFalsy()
|
||||
expect(lockfile.snapshots?.['/@babel/runtime-corejs3@7.15.3']?.dev).toBeFalsy()
|
||||
|
||||
expect(lockfile.packages?.['/@babel/runtime-corejs3@7.15.4']).toBeTruthy()
|
||||
expect(lockfile.packages?.['/@babel/runtime-corejs3@7.15.4']?.resolution).toEqual({
|
||||
@@ -209,23 +209,23 @@ test('--fix-lockfile should preserve all locked dependencies version', async ()
|
||||
expect(lockfile.packages?.['/@babel/runtime-corejs3@7.15.4']?.engines).toEqual({
|
||||
node: '>=6.9.0',
|
||||
})
|
||||
expect(lockfile.packages?.['/@babel/runtime-corejs3@7.15.4']?.dev).toBeFalsy()
|
||||
expect(lockfile.snapshots?.['/@babel/runtime-corejs3@7.15.4']?.dev).toBeFalsy()
|
||||
|
||||
expect(lockfile.packages?.['/core-js-pure@3.17.2']).toBeTruthy()
|
||||
expect(lockfile.packages?.['/core-js-pure@3.17.2']?.resolution).toHaveProperty('integrity', 'sha512-2VV7DlIbooyTI7Bh+yzOOWL9tGwLnQKHno7qATE+fqZzDKYr6llVjVQOzpD/QLZFgXDPb8T71pJokHEZHEYJhQ==')
|
||||
expect(lockfile.packages?.['/core-js-pure@3.17.2']?.dev).toBeFalsy()
|
||||
expect(lockfile.snapshots?.['/core-js-pure@3.17.2']?.dev).toBeFalsy()
|
||||
|
||||
expect(lockfile.packages?.['/core-js-pure@3.17.3']).toBeTruthy()
|
||||
expect(lockfile.packages?.['/core-js-pure@3.17.3']?.resolution).toEqual({
|
||||
integrity: 'sha512-YusrqwiOTTn8058JDa0cv9unbXdIiIgcgI9gXso0ey4WgkFLd3lYlV9rp9n7nDCsYxXsMDTjA4m1h3T348mdlQ==',
|
||||
})
|
||||
expect(lockfile.packages?.['/core-js-pure@3.17.3']?.dev).toBeFalsy()
|
||||
expect(lockfile.snapshots?.['/core-js-pure@3.17.3']?.dev).toBeFalsy()
|
||||
|
||||
expect(lockfile.packages?.['/regenerator-runtime@0.13.9']).toBeTruthy()
|
||||
expect(lockfile.packages?.['/regenerator-runtime@0.13.9']?.resolution).toEqual({
|
||||
integrity: 'sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==',
|
||||
})
|
||||
expect(lockfile.packages?.['/regenerator-runtime@0.13.9']?.dev).toBeFalsy()
|
||||
expect(lockfile.snapshots?.['/regenerator-runtime@0.13.9']?.dev).toBeFalsy()
|
||||
})
|
||||
|
||||
test(
|
||||
|
||||
@@ -132,7 +132,7 @@ test('a subdependency is from a github repo with different name', async () => {
|
||||
expect(m).toEqual('Hi')
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-aliased-git-dependency@1.0.0'].dependencies).toStrictEqual({
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-aliased-git-dependency@1.0.0'].dependencies).toStrictEqual({
|
||||
'@pnpm.e2e/has-say-hi-peer': '1.0.0(github.com/zkochan/hi/4cdebec76b7b9d1f6e219e06c42d92a6b8ea60cd)',
|
||||
'say-hi': 'github.com/zkochan/hi/4cdebec76b7b9d1f6e219e06c42d92a6b8ea60cd',
|
||||
})
|
||||
@@ -259,7 +259,6 @@ test('re-adding a git repo with a different tag', async () => {
|
||||
name: 'is-negative',
|
||||
version: '1.0.0',
|
||||
engines: { node: '>=0.10.0' },
|
||||
dev: false,
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -278,7 +277,6 @@ test('re-adding a git repo with a different tag', async () => {
|
||||
name: 'is-negative',
|
||||
version: '1.0.1',
|
||||
engines: { node: '>=0.10.0' },
|
||||
dev: false,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
@@ -210,6 +210,10 @@ test('install with --merge-git-branch-lockfiles when merged lockfile is up to da
|
||||
},
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/@types/semver@5.3.31': {},
|
||||
'/is-positive@3.1.0': {},
|
||||
},
|
||||
}
|
||||
writeYamlFile(otherLockfilePath, otherLockfileContent, { lineWidth: 1000 })
|
||||
|
||||
|
||||
@@ -143,29 +143,33 @@ test('inject local packages', async () => {
|
||||
injected: true,
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
expect(lockfile.packages['file:project-1']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
id: 'file:project-1',
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
})
|
||||
expect(lockfile.snapshots['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
id: 'file:project-1',
|
||||
dependencies: {
|
||||
'is-negative': '1.0.0',
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
expect(lockfile.packages['file:project-2']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
type: 'directory',
|
||||
},
|
||||
id: 'file:project-2',
|
||||
name: 'project-2',
|
||||
})
|
||||
expect(lockfile.snapshots['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
id: 'file:project-2',
|
||||
dependencies: {
|
||||
'project-1': 'file:project-1(is-positive@2.0.0)',
|
||||
},
|
||||
@@ -213,16 +217,18 @@ test('inject local packages', async () => {
|
||||
injected: true,
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
expect(lockfile.packages['file:project-1']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
id: 'file:project-1',
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
})
|
||||
expect(lockfile.snapshots['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
id: 'file:project-1',
|
||||
dependencies: {
|
||||
'is-negative': '2.0.0',
|
||||
'is-positive': '1.0.0',
|
||||
@@ -372,35 +378,39 @@ test('inject local packages declared via file protocol', async () => {
|
||||
injected: true,
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
expect(lockfile.snapshots['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
id: 'file:project-1',
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
dependencies: {
|
||||
'is-negative': '1.0.0',
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
expect(lockfile.packages['file:project-1']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
})
|
||||
expect(lockfile.snapshots['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
id: 'file:project-2',
|
||||
name: 'project-2',
|
||||
dependencies: {
|
||||
'project-1': 'file:project-1(is-positive@2.0.0)',
|
||||
},
|
||||
transitivePeerDependencies: ['is-positive'],
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-2']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-2',
|
||||
})
|
||||
|
||||
const modulesState = rootModules.readModulesManifest()
|
||||
expect(modulesState?.injectedDeps?.['project-1'].length).toEqual(2)
|
||||
@@ -443,22 +453,24 @@ test('inject local packages declared via file protocol', async () => {
|
||||
injected: true,
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
expect(lockfile.snapshots['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
id: 'file:project-1',
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
dependencies: {
|
||||
'is-negative': '2.0.0',
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-1']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
})
|
||||
const modulesState = rootModules.readModulesManifest()
|
||||
expect(modulesState?.injectedDeps?.['project-1'].length).toEqual(2)
|
||||
expect(modulesState?.injectedDeps?.['project-1'][0]).toContain(`node_modules${path.sep}.pnpm`)
|
||||
@@ -587,35 +599,39 @@ test('inject local packages when the file protocol is used', async () => {
|
||||
const rootModules = assertProject(process.cwd())
|
||||
{
|
||||
const lockfile = rootModules.readLockfile()
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
expect(lockfile.snapshots['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
id: 'file:project-1',
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
dependencies: {
|
||||
'is-negative': '1.0.0',
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
expect(lockfile.packages['file:project-1']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
})
|
||||
expect(lockfile.snapshots['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
id: 'file:project-2',
|
||||
name: 'project-2',
|
||||
dependencies: {
|
||||
'project-1': 'file:project-1(is-positive@2.0.0)',
|
||||
},
|
||||
transitivePeerDependencies: ['is-positive'],
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-2']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-2',
|
||||
})
|
||||
|
||||
const modulesState = rootModules.readModulesManifest()
|
||||
expect(modulesState?.injectedDeps?.['project-1'].length).toEqual(2)
|
||||
@@ -657,22 +673,24 @@ test('inject local packages when the file protocol is used', async () => {
|
||||
}))
|
||||
{
|
||||
const lockfile = rootModules.readLockfile()
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
expect(lockfile.snapshots['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
id: 'file:project-1',
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
dependencies: {
|
||||
'is-negative': '2.0.0',
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-1']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
})
|
||||
const modulesState = rootModules.readModulesManifest()
|
||||
expect(modulesState?.injectedDeps?.['project-1'].length).toEqual(2)
|
||||
expect(modulesState?.injectedDeps?.['project-1'][0]).toContain(`node_modules${path.sep}.pnpm`)
|
||||
@@ -779,22 +797,24 @@ test('inject local packages and relink them after build', async () => {
|
||||
injected: true,
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
expect(lockfile.snapshots['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
id: 'file:project-1',
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
dependencies: {
|
||||
'is-negative': '1.0.0',
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-1']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
})
|
||||
|
||||
rimraf('node_modules')
|
||||
rimraf('project-1/main.js')
|
||||
@@ -889,22 +909,24 @@ test('inject local packages and relink them after build (file protocol is used)'
|
||||
|
||||
const rootModules = assertProject(process.cwd())
|
||||
const lockfile = rootModules.readLockfile()
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
expect(lockfile.snapshots['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
id: 'file:project-1',
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
dependencies: {
|
||||
'is-negative': '1.0.0',
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-1']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
})
|
||||
|
||||
rimraf('node_modules')
|
||||
rimraf('project-1/main.js')
|
||||
@@ -1062,16 +1084,8 @@ test('inject local packages when node-linker is hoisted', async () => {
|
||||
injected: true,
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
expect(lockfile.snapshots['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
id: 'file:project-1',
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
dependencies: {
|
||||
'@pnpm.e2e/dep-of-pkg-with-1-dep': '100.0.0',
|
||||
'is-negative': '1.0.0',
|
||||
@@ -1079,13 +1093,18 @@ test('inject local packages when node-linker is hoisted', async () => {
|
||||
},
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
expect(lockfile.packages['file:project-1']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
})
|
||||
expect(lockfile.snapshots['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
id: 'file:project-2',
|
||||
name: 'project-2',
|
||||
dependencies: {
|
||||
'@pnpm.e2e/dep-of-pkg-with-1-dep': '101.0.0',
|
||||
'project-1': 'file:project-1(is-positive@2.0.0)',
|
||||
@@ -1093,6 +1112,13 @@ test('inject local packages when node-linker is hoisted', async () => {
|
||||
transitivePeerDependencies: ['is-positive'],
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-2']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-2',
|
||||
})
|
||||
|
||||
const modulesState = rootModules.readModulesManifest()
|
||||
expect(modulesState?.injectedDeps?.['project-1'].length).toEqual(2)
|
||||
@@ -1245,30 +1271,27 @@ test('inject local packages when node-linker is hoisted and dependenciesMeta is
|
||||
injected: true,
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
expect(lockfile.snapshots['file:project-1(is-positive@1.0.0)']).toEqual({
|
||||
id: 'file:project-1',
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
dependencies: {
|
||||
'@pnpm.e2e/dep-of-pkg-with-1-dep': '100.0.0',
|
||||
'is-negative': '1.0.0',
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
expect(lockfile.packages['file:project-1']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
directory: 'project-1',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-1',
|
||||
peerDependencies: {
|
||||
'is-positive': '>=1.0.0',
|
||||
},
|
||||
})
|
||||
expect(lockfile.snapshots['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
id: 'file:project-2',
|
||||
name: 'project-2',
|
||||
dependencies: {
|
||||
'@pnpm.e2e/dep-of-pkg-with-1-dep': '101.0.0',
|
||||
'project-1': 'file:project-1(is-positive@2.0.0)',
|
||||
@@ -1276,6 +1299,13 @@ test('inject local packages when node-linker is hoisted and dependenciesMeta is
|
||||
transitivePeerDependencies: ['is-positive'],
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-2']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-2',
|
||||
})
|
||||
|
||||
const modulesState = rootModules.readModulesManifest()
|
||||
expect(modulesState?.injectedDeps?.['project-1'].length).toEqual(2)
|
||||
@@ -1388,7 +1418,7 @@ test('peer dependency of injected project should be resolved correctly', async (
|
||||
|
||||
const rootModules = assertProject(process.cwd())
|
||||
const lockfile = rootModules.readLockfile()
|
||||
expect(lockfile.packages?.['file:project-2(project-1@project-1)'].dependencies?.['project-1']).toEqual('link:project-1')
|
||||
expect(lockfile.snapshots?.['file:project-2(project-1@project-1)'].dependencies?.['project-1']).toEqual('link:project-1')
|
||||
})
|
||||
|
||||
// There was a bug related to this. The manifests in the workspacePackages object were modified
|
||||
@@ -1985,19 +2015,21 @@ test('injected local packages are deduped', async () => {
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages['file:project-1(is-positive@1.0.0)']).toBeFalsy()
|
||||
expect(lockfile.packages['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
type: 'directory',
|
||||
},
|
||||
expect(lockfile.snapshots['file:project-2(is-positive@2.0.0)']).toEqual({
|
||||
id: 'file:project-2',
|
||||
name: 'project-2',
|
||||
dependencies: {
|
||||
'project-1': 'file:project-1(is-positive@2.0.0)',
|
||||
},
|
||||
transitivePeerDependencies: ['is-positive'],
|
||||
dev: false,
|
||||
})
|
||||
expect(lockfile.packages['file:project-2']).toEqual({
|
||||
resolution: {
|
||||
directory: 'project-2',
|
||||
type: 'directory',
|
||||
},
|
||||
name: 'project-2',
|
||||
})
|
||||
|
||||
const modulesState = rootModules.readModulesManifest()
|
||||
expect(modulesState?.injectedDeps?.['project-1'].length).toEqual(1)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { LOCKFILE_VERSION } from '@pnpm/constants'
|
||||
import { type Lockfile } from '@pnpm/lockfile-file'
|
||||
import { type LockfileV7 as Lockfile } from '@pnpm/lockfile-file'
|
||||
import { prepareEmpty, preparePackages } from '@pnpm/prepare'
|
||||
import { addDistTag } from '@pnpm/registry-mock'
|
||||
import { fixtures } from '@pnpm/test-fixtures'
|
||||
@@ -183,7 +183,6 @@ test('tarball local package', async () => {
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages[lockfile.importers['.'].dependencies!['tar-pkg'].version]).toStrictEqual({
|
||||
dev: false,
|
||||
name: 'tar-pkg',
|
||||
resolution: {
|
||||
integrity: 'sha512-HP/5Rgt3pVFLzjmN9qJJ6vZMgCwoCIl/m2bPndYT283CUqnmFiMx0GeeIJ7SyK6TYoJM78SEvFEOQie++caHqw==',
|
||||
@@ -214,7 +213,6 @@ test('tarball local package from project directory', async () => {
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.importers['.'].dependencies?.['tar-pkg'].version).toBe(pkgSpec)
|
||||
expect(lockfile.packages[lockfile.importers['.'].dependencies!['tar-pkg'].version]).toStrictEqual({
|
||||
dev: false,
|
||||
name: 'tar-pkg',
|
||||
resolution: {
|
||||
integrity: 'sha512-HP/5Rgt3pVFLzjmN9qJJ6vZMgCwoCIl/m2bPndYT283CUqnmFiMx0GeeIJ7SyK6TYoJM78SEvFEOQie++caHqw==',
|
||||
@@ -231,13 +229,13 @@ test('update tarball local package when its integrity changes', async () => {
|
||||
const manifest = await addDependenciesToPackage({}, ['../tar.tgz'], testDefaults())
|
||||
|
||||
const lockfile1 = project.readLockfile()
|
||||
expect(lockfile1.packages['file:../tar.tgz'].dependencies!['is-positive']).toBe('1.0.0')
|
||||
expect(lockfile1.snapshots['file:../tar.tgz'].dependencies!['is-positive']).toBe('1.0.0')
|
||||
|
||||
f.copy('tar-pkg-with-dep-2/tar-pkg-with-dep-1.0.0.tgz', path.resolve('..', 'tar.tgz'))
|
||||
await install(manifest, testDefaults())
|
||||
|
||||
const lockfile2 = project.readLockfile()
|
||||
expect(lockfile2.packages['file:../tar.tgz'].dependencies!['is-positive']).toBe('2.0.0')
|
||||
expect(lockfile2.snapshots['file:../tar.tgz'].dependencies!['is-positive']).toBe('2.0.0')
|
||||
|
||||
const manifestOfTarballDep = await import(path.resolve('node_modules/tar-pkg-with-dep/package.json'))
|
||||
expect(manifestOfTarballDep.dependencies['is-positive']).toBe('^2.0.0')
|
||||
@@ -430,6 +428,10 @@ test('re-install should update local file dependency', async () => {
|
||||
'file:../local-pkg': {
|
||||
resolution: { directory: '../local-pkg', type: 'directory' },
|
||||
name: 'local-pkg',
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'file:../local-pkg': {
|
||||
dev: false,
|
||||
},
|
||||
},
|
||||
@@ -459,16 +461,20 @@ test('re-install should update local file dependency', async () => {
|
||||
expect(fs.existsSync('./node_modules/.pnpm/is-positive@1.0.0')).toBeTruthy()
|
||||
lockfile = project.readLockfile()
|
||||
expect(lockfile).toMatchObject({
|
||||
packages: {
|
||||
snapshots: {
|
||||
'file:../local-pkg': {
|
||||
resolution: { directory: '../local-pkg', type: 'directory' },
|
||||
name: 'local-pkg',
|
||||
dev: false,
|
||||
dependencies: {
|
||||
'is-positive': '1.0.0',
|
||||
},
|
||||
},
|
||||
},
|
||||
packages: {
|
||||
'file:../local-pkg': {
|
||||
resolution: { directory: '../local-pkg', type: 'directory' },
|
||||
name: 'local-pkg',
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
// update dependency
|
||||
@@ -487,6 +493,10 @@ test('re-install should update local file dependency', async () => {
|
||||
'file:../local-pkg': {
|
||||
resolution: { directory: '../local-pkg', type: 'directory' },
|
||||
name: 'local-pkg',
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'file:../local-pkg': {
|
||||
dev: false,
|
||||
dependencies: {
|
||||
'is-positive': '2.0.0',
|
||||
|
||||
@@ -1330,7 +1330,7 @@ test('do not resolve a subdependency from the workspace by default', async () =>
|
||||
const project = assertProject(process.cwd())
|
||||
|
||||
const wantedLockfile = project.readLockfile()
|
||||
expect(wantedLockfile.packages['/@pnpm.e2e/pkg-with-1-dep@100.0.0'].dependencies?.['@pnpm.e2e/dep-of-pkg-with-1-dep']).toBe('100.1.0')
|
||||
expect(wantedLockfile.snapshots['/@pnpm.e2e/pkg-with-1-dep@100.0.0'].dependencies?.['@pnpm.e2e/dep-of-pkg-with-1-dep']).toBe('100.1.0')
|
||||
})
|
||||
|
||||
test('resolve a subdependency from the workspace', async () => {
|
||||
@@ -1393,7 +1393,7 @@ test('resolve a subdependency from the workspace', async () => {
|
||||
const project = assertProject(process.cwd())
|
||||
|
||||
const wantedLockfile = project.readLockfile()
|
||||
expect(wantedLockfile.packages['/@pnpm.e2e/pkg-with-1-dep@100.0.0'].dependencies?.['@pnpm.e2e/dep-of-pkg-with-1-dep']).toBe('link:@pnpm.e2e/dep-of-pkg-with-1-dep')
|
||||
expect(wantedLockfile.snapshots['/@pnpm.e2e/pkg-with-1-dep@100.0.0'].dependencies?.['@pnpm.e2e/dep-of-pkg-with-1-dep']).toBe('link:@pnpm.e2e/dep-of-pkg-with-1-dep')
|
||||
|
||||
rimraf('node_modules')
|
||||
|
||||
@@ -1476,7 +1476,7 @@ test('resolve a subdependency from the workspace and use it as a peer', async ()
|
||||
const wantedLockfile = project.readLockfile()
|
||||
const suffix1 = createPeersDirSuffix([{ name: '@pnpm.e2e/peer-a', version: '@pnpm.e2e+peer-a' }, { name: '@pnpm.e2e/peer-b', version: '1.0.0' }])
|
||||
const suffix2 = createPeersDirSuffix([{ name: '@pnpm.e2e/peer-a', version: '@pnpm.e2e+peer-a' }, { name: '@pnpm.e2e/peer-b', version: '1.0.0' }, { name: '@pnpm.e2e/peer-c', version: '1.0.1' }])
|
||||
expect(Object.keys(wantedLockfile.packages).sort()).toStrictEqual(
|
||||
expect(Object.keys(wantedLockfile.snapshots).sort()).toStrictEqual(
|
||||
[
|
||||
'/@pnpm.e2e/abc-grand-parent-with-c@1.0.0',
|
||||
'/@pnpm.e2e/abc-parent-with-ab@1.0.0',
|
||||
@@ -1489,8 +1489,8 @@ test('resolve a subdependency from the workspace and use it as a peer', async ()
|
||||
'/@pnpm.e2e/peer-c@1.0.1',
|
||||
].sort()
|
||||
)
|
||||
expect(wantedLockfile.packages['/@pnpm.e2e/abc-parent-with-ab@1.0.0'].dependencies?.['@pnpm.e2e/peer-a']).toBe('link:@pnpm.e2e/peer-a')
|
||||
expect(wantedLockfile.packages[`/@pnpm.e2e/abc@1.0.0${suffix1}`].dependencies?.['@pnpm.e2e/peer-a']).toBe('link:@pnpm.e2e/peer-a')
|
||||
expect(wantedLockfile.snapshots['/@pnpm.e2e/abc-parent-with-ab@1.0.0'].dependencies?.['@pnpm.e2e/peer-a']).toBe('link:@pnpm.e2e/peer-a')
|
||||
expect(wantedLockfile.snapshots[`/@pnpm.e2e/abc@1.0.0${suffix1}`].dependencies?.['@pnpm.e2e/peer-a']).toBe('link:@pnpm.e2e/peer-a')
|
||||
})
|
||||
|
||||
test('resolve a subdependency from the workspace, when it uses the workspace protocol', async () => {
|
||||
@@ -1561,7 +1561,7 @@ test('resolve a subdependency from the workspace, when it uses the workspace pro
|
||||
const project = assertProject(process.cwd())
|
||||
|
||||
const wantedLockfile = project.readLockfile()
|
||||
expect(wantedLockfile.packages['/@pnpm.e2e/pkg-with-1-dep@100.0.0'].dependencies?.['@pnpm.e2e/dep-of-pkg-with-1-dep']).toBe('link:@pnpm.e2e/dep-of-pkg-with-1-dep')
|
||||
expect(wantedLockfile.snapshots['/@pnpm.e2e/pkg-with-1-dep@100.0.0'].dependencies?.['@pnpm.e2e/dep-of-pkg-with-1-dep']).toBe('link:@pnpm.e2e/dep-of-pkg-with-1-dep')
|
||||
|
||||
rimraf('node_modules')
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ test('install dev dependencies only', async () => {
|
||||
|
||||
{
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/is-positive@1.0.0'].dev === false).toBeTruthy()
|
||||
expect(lockfile.snapshots['/is-positive@1.0.0'].dev === false).toBeTruthy()
|
||||
}
|
||||
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { type Lockfile } from '@pnpm/lockfile-file'
|
||||
import { type LockfileV7 as Lockfile } from '@pnpm/lockfile-file'
|
||||
import { prepareEmpty, preparePackages } from '@pnpm/prepare'
|
||||
import deepRequireCwd from 'deep-require-cwd'
|
||||
import { sync as readYamlFile } from 'read-yaml-file'
|
||||
@@ -355,7 +355,7 @@ test('only that package is skipped which is an optional dependency only and not
|
||||
}
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(typeof lockfile.packages['/@pnpm.e2e/dep-of-optional-pkg@1.0.0'].optional).toBe('undefined')
|
||||
expect(typeof lockfile.snapshots['/@pnpm.e2e/dep-of-optional-pkg@1.0.0'].optional).toBe('undefined')
|
||||
|
||||
rimraf('node_modules')
|
||||
|
||||
@@ -528,8 +528,8 @@ test('do not fail on unsupported dependency of optional dependency', async () =>
|
||||
)
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/@pnpm.e2e/not-compatible-with-any-os@1.0.0'].optional).toBeTruthy()
|
||||
expect(lockfile.packages['/@pnpm.e2e/dep-of-optional-pkg@1.0.0']).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/not-compatible-with-any-os@1.0.0'].optional).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/dep-of-optional-pkg@1.0.0']).toBeTruthy()
|
||||
})
|
||||
|
||||
test('fail on unsupported dependency of optional dependency', async () => {
|
||||
|
||||
@@ -24,8 +24,8 @@ test('versions are replaced with versions specified through overrides option', a
|
||||
|
||||
{
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/@pnpm.e2e/foobarqar@1.0.0'].dependencies?.['@pnpm.e2e/foo']).toBe('/@pnpm.e2e/qar@100.0.0')
|
||||
expect(lockfile.packages['/@pnpm.e2e/foobar@100.0.0'].dependencies?.['@pnpm.e2e/foo']).toBe('100.0.0')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/foobarqar@1.0.0'].dependencies?.['@pnpm.e2e/foo']).toBe('/@pnpm.e2e/qar@100.0.0')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/foobar@100.0.0'].dependencies?.['@pnpm.e2e/foo']).toBe('100.0.0')
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/dep-of-pkg-with-1-dep@101.0.0'])
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/bar@100.1.0'])
|
||||
expect(lockfile.overrides).toStrictEqual({
|
||||
|
||||
@@ -25,7 +25,7 @@ test('manifests are extended with fields specified by packageExtensions', async
|
||||
|
||||
{
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/is-positive@1.0.0'].dependencies?.['@pnpm.e2e/bar']).toBe('100.1.0')
|
||||
expect(lockfile.snapshots['/is-positive@1.0.0'].dependencies?.['@pnpm.e2e/bar']).toBe('100.1.0')
|
||||
expect(lockfile.packageExtensionsChecksum).toStrictEqual(createObjectChecksum({
|
||||
'is-positive': {
|
||||
dependencies: {
|
||||
@@ -47,7 +47,7 @@ test('manifests are extended with fields specified by packageExtensions', async
|
||||
|
||||
{
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/is-positive@1.0.0'].dependencies?.['@pnpm.e2e/foobar']).toBe('100.0.0')
|
||||
expect(lockfile.snapshots['/is-positive@1.0.0'].dependencies?.['@pnpm.e2e/foobar']).toBe('100.0.0')
|
||||
expect(lockfile.packageExtensionsChecksum).toStrictEqual(createObjectChecksum({
|
||||
'is-positive': {
|
||||
dependencies: {
|
||||
|
||||
@@ -40,7 +40,7 @@ test('patch package', async () => {
|
||||
hash: patchFileHash,
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages[`/is-positive@1.0.0(patch_hash=${patchFileHash})`]).toBeTruthy()
|
||||
expect(lockfile.snapshots[`/is-positive@1.0.0(patch_hash=${patchFileHash})`]).toBeTruthy()
|
||||
|
||||
const filesIndexFile = path.join(opts.storeDir, 'files/c7/1ccf199e0fdae37aad13946b937d67bcd35fa111b84d21b3a19439cfdc2812c5d8da8a735e94c2a1ccb77b4583808ee8405313951e7146ac83ede3671dc292-index.json')
|
||||
const filesIndex = loadJsonFile.sync<PackageFilesIndex>(filesIndexFile)
|
||||
@@ -207,7 +207,7 @@ test('patch package when scripts are ignored', async () => {
|
||||
hash: patchFileHash,
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages[`/is-positive@1.0.0(patch_hash=${patchFileHash})`]).toBeTruthy()
|
||||
expect(lockfile.snapshots[`/is-positive@1.0.0(patch_hash=${patchFileHash})`]).toBeTruthy()
|
||||
|
||||
const filesIndexFile = path.join(opts.storeDir, 'files/c7/1ccf199e0fdae37aad13946b937d67bcd35fa111b84d21b3a19439cfdc2812c5d8da8a735e94c2a1ccb77b4583808ee8405313951e7146ac83ede3671dc292-index.json')
|
||||
const filesIndex = loadJsonFile.sync<PackageFilesIndex>(filesIndexFile)
|
||||
@@ -294,7 +294,7 @@ test('patch package when the package is not in onlyBuiltDependencies list', asyn
|
||||
hash: patchFileHash,
|
||||
},
|
||||
})
|
||||
expect(lockfile.packages[`/is-positive@1.0.0(patch_hash=${patchFileHash})`]).toBeTruthy()
|
||||
expect(lockfile.snapshots[`/is-positive@1.0.0(patch_hash=${patchFileHash})`]).toBeTruthy()
|
||||
|
||||
const filesIndexFile = path.join(opts.storeDir, 'files/c7/1ccf199e0fdae37aad13946b937d67bcd35fa111b84d21b3a19439cfdc2812c5d8da8a735e94c2a1ccb77b4583808ee8405313951e7146ac83ede3671dc292-index.json')
|
||||
const filesIndex = loadJsonFile.sync<PackageFilesIndex>(filesIndexFile)
|
||||
@@ -377,10 +377,10 @@ test('patch package when the patched package has no dependencies and appears mul
|
||||
expect(fs.readFileSync('node_modules/is-positive/index.js', 'utf8')).toContain('// patched')
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(Object.keys(lockfile.packages)).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots).sort()).toStrictEqual([
|
||||
'/is-not-positive@1.0.0',
|
||||
'/is-positive@1.0.0(patch_hash=jnbpamcxayl5i4ehrkoext3any)',
|
||||
])
|
||||
].sort())
|
||||
})
|
||||
|
||||
test('patch package should fail when the patch could not be applied', async () => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { WANTED_LOCKFILE } from '@pnpm/constants'
|
||||
import { type Lockfile } from '@pnpm/lockfile-file'
|
||||
import { type LockfileV7 as Lockfile } from '@pnpm/lockfile-file'
|
||||
import { prepareEmpty, preparePackages } from '@pnpm/prepare'
|
||||
import { addDistTag, REGISTRY_MOCK_PORT } from '@pnpm/registry-mock'
|
||||
import { fixtures } from '@pnpm/test-fixtures'
|
||||
@@ -48,9 +48,9 @@ test('peer dependency is grouped with dependency when peer is resolved not from
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages['/@pnpm.e2e/using-ajv@1.0.0'].dependencies!['ajv-keywords']).toBe('1.5.0(ajv@4.10.4)')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/using-ajv@1.0.0'].dependencies!['ajv-keywords']).toBe('1.5.0(ajv@4.10.4)')
|
||||
// covers https://github.com/pnpm/pnpm/issues/1150
|
||||
expect(lockfile.packages).toHaveProperty(['/ajv-keywords@1.5.0(ajv@4.10.4)'])
|
||||
expect(lockfile.snapshots).toHaveProperty(['/ajv-keywords@1.5.0(ajv@4.10.4)'])
|
||||
})
|
||||
|
||||
// Covers https://github.com/pnpm/pnpm/issues/1133
|
||||
@@ -99,7 +99,7 @@ test('peer dependency is grouped with dependent when the peer is a top dependenc
|
||||
}, testDefaults({ preferFrozenLockfile: false }))
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/ajv-keywords@1.5.0(ajv@4.10.4)'].dependencies).toHaveProperty(['ajv'])
|
||||
expect(lockfile.snapshots['/ajv-keywords@1.5.0(ajv@4.10.4)'].dependencies).toHaveProperty(['ajv'])
|
||||
})
|
||||
|
||||
test('the right peer dependency is used in every workspace package', async () => {
|
||||
@@ -505,7 +505,7 @@ test('the list of transitive peer dependencies is kept up to date', async () =>
|
||||
expect(fs.existsSync(path.resolve('node_modules/.pnpm/@pnpm.e2e+abc-grand-parent@1.0.0_@pnpm.e2e+peer-c@1.0.0/node_modules/@pnpm.e2e/abc-grand-parent'))).toBeTruthy()
|
||||
{
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc-grand-parent@1.0.0(@pnpm.e2e/peer-c@1.0.0)'].transitivePeerDependencies).toStrictEqual(['@pnpm.e2e/peer-c'])
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc-grand-parent@1.0.0(@pnpm.e2e/peer-c@1.0.0)'].transitivePeerDependencies).toStrictEqual(['@pnpm.e2e/peer-c'])
|
||||
}
|
||||
|
||||
await mutateModulesInSingleProject({
|
||||
@@ -518,7 +518,7 @@ test('the list of transitive peer dependencies is kept up to date', async () =>
|
||||
|
||||
{
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc-grand-parent@1.0.0'].transitivePeerDependencies).toBeFalsy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc-grand-parent@1.0.0'].transitivePeerDependencies).toBeFalsy()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -643,7 +643,7 @@ test.skip('peer dependencies are linked', async () => {
|
||||
expect(deepRequireCwd(['@pnpm.e2e/abc-grand-parent-with-c', '@pnpm.e2e/abc-parent-with-ab', '@pnpm.e2e/abc', '@pnpm.e2e/peer-c', './package.json']).version).toBe('1.0.0')
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc-parent-with-ab/1.0.0/@pnpm.e2e/peer-a@1.0.0+@pnpm.e2e+peer-b@1.0.0'].dev).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc-parent-with-ab/1.0.0/@pnpm.e2e/peer-a@1.0.0+@pnpm.e2e+peer-b@1.0.0'].dev).toBeTruthy()
|
||||
})
|
||||
|
||||
test('scoped peer dependency is linked', async () => {
|
||||
@@ -688,8 +688,8 @@ test('package that has parent as peer dependency', async () => {
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/has-alpha-as-peer@1.0.0(@pnpm.e2e/alpha@1.0.0)'])
|
||||
expect(lockfile.packages).not.toHaveProperty(['/@pnpm.e2e/has-alpha-as-peer@1.0.0'])
|
||||
expect(lockfile.snapshots).toHaveProperty(['/@pnpm.e2e/has-alpha-as-peer@1.0.0(@pnpm.e2e/alpha@1.0.0)'])
|
||||
expect(lockfile.snapshots).not.toHaveProperty(['/@pnpm.e2e/has-alpha-as-peer@1.0.0'])
|
||||
})
|
||||
|
||||
test('own peer installed in root as well is linked to root', async () => {
|
||||
@@ -936,10 +936,10 @@ test('peer dependency is resolved from parent package', async () => {
|
||||
}, testDefaults())
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>(WANTED_LOCKFILE)
|
||||
expect(Object.keys(lockfile.packages ?? {})).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots ?? {}).sort()).toStrictEqual([
|
||||
'/@pnpm.e2e/has-tango-as-peer-dep@1.0.0(@pnpm.e2e/tango@1.0.0)',
|
||||
'/@pnpm.e2e/tango@1.0.0',
|
||||
])
|
||||
].sort())
|
||||
})
|
||||
|
||||
test('transitive peerDependencies field does not break the lockfile on subsequent named install', async () => {
|
||||
@@ -964,7 +964,7 @@ test('transitive peerDependencies field does not break the lockfile on subsequen
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>(WANTED_LOCKFILE)
|
||||
|
||||
expect(Object.keys(lockfile.packages!['/most@1.7.3'].dependencies!)).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots!['/most@1.7.3'].dependencies!)).toStrictEqual([
|
||||
'@most/multicast',
|
||||
'@most/prelude',
|
||||
'symbol-observable',
|
||||
@@ -985,10 +985,10 @@ test('peer dependency is resolved from parent package via its alias', async () =
|
||||
}, testDefaults())
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>(WANTED_LOCKFILE)
|
||||
expect(Object.keys(lockfile.packages ?? {})).toStrictEqual([
|
||||
expect(Object.keys(lockfile.snapshots ?? {}).sort()).toStrictEqual([
|
||||
'/@pnpm.e2e/has-tango-as-peer-dep@1.0.0(@pnpm.e2e/tango-tango@1.0.0(@pnpm.e2e/tango-tango@1.0.0))',
|
||||
'/@pnpm.e2e/tango-tango@1.0.0(@pnpm.e2e/tango-tango@1.0.0)',
|
||||
])
|
||||
].sort())
|
||||
})
|
||||
|
||||
test('peer dependency is saved', async () => {
|
||||
@@ -1091,7 +1091,7 @@ test('warning is not reported when cannot resolve optional peer dependency', asy
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc-optional-peers@1.0.0(@pnpm.e2e/peer-c@2.0.0)'].peerDependenciesMeta).toStrictEqual({
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc-optional-peers@1.0.0'].peerDependenciesMeta).toStrictEqual({
|
||||
'@pnpm.e2e/peer-b': {
|
||||
optional: true,
|
||||
},
|
||||
@@ -1154,12 +1154,12 @@ test('warning is not reported when cannot resolve optional peer dependency (spec
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc-optional-peers-meta-only@1.0.0(@pnpm.e2e/peer-c@2.0.0)'].peerDependencies).toStrictEqual({
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc-optional-peers-meta-only@1.0.0'].peerDependencies).toStrictEqual({
|
||||
'@pnpm.e2e/peer-a': '^1.0.0',
|
||||
'@pnpm.e2e/peer-b': '*',
|
||||
'@pnpm.e2e/peer-c': '*',
|
||||
})
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc-optional-peers-meta-only@1.0.0(@pnpm.e2e/peer-c@2.0.0)'].peerDependenciesMeta).toStrictEqual({
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc-optional-peers-meta-only@1.0.0'].peerDependenciesMeta).toStrictEqual({
|
||||
'@pnpm.e2e/peer-b': {
|
||||
optional: true,
|
||||
},
|
||||
@@ -1218,7 +1218,7 @@ test('peer dependency that is resolved by a dev dependency', async () => {
|
||||
}, testDefaults({ fastUnpack: false, lockfileOnly: true, strictPeerDependencies: false }))
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/@types/mongoose@5.7.32'].dev).toBeUndefined()
|
||||
expect(lockfile.snapshots['/@types/mongoose@5.7.32'].dev).toBeUndefined()
|
||||
|
||||
await mutateModulesInSingleProject({
|
||||
manifest,
|
||||
@@ -1285,7 +1285,7 @@ test('peer dependency is grouped with dependency when peer is resolved not from
|
||||
await mutateModules(importers, testDefaults({ allProjects }))
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>(path.resolve(WANTED_LOCKFILE))
|
||||
expect(lockfile.packages?.['/ajv-keywords@1.5.0(ajv@ajv)'].dependencies?.['ajv']).toBe('link:ajv')
|
||||
expect(lockfile.snapshots?.['/ajv-keywords@1.5.0(ajv@ajv)'].dependencies?.['ajv']).toBe('link:ajv')
|
||||
})
|
||||
|
||||
test('deduplicate packages that have optional and non-optional peers', async () => {
|
||||
@@ -1299,7 +1299,7 @@ test('deduplicate packages that have optional and non-optional peers', async ()
|
||||
)
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>(path.resolve(WANTED_LOCKFILE))
|
||||
const depPaths = Object.keys(lockfile.packages ?? {})
|
||||
const depPaths = Object.keys(lockfile.snapshots ?? {})
|
||||
expect(depPaths.length).toBe(5)
|
||||
expect(depPaths).toContain(`/@pnpm.e2e/abc-optional-peers@1.0.0${createPeersDirSuffix([{ name: '@pnpm.e2e/peer-a', version: '1.0.0' }, { name: '@pnpm.e2e/peer-b', version: '1.0.0' }, { name: '@pnpm.e2e/peer-c', version: '1.0.0' }])}`)
|
||||
})
|
||||
@@ -1317,7 +1317,7 @@ test('deduplicate packages that have peers', async () => {
|
||||
)
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>(path.resolve(WANTED_LOCKFILE))
|
||||
const depPaths = Object.keys(lockfile.packages ?? {})
|
||||
const depPaths = Object.keys(lockfile.snapshots ?? {})
|
||||
expect(depPaths.length).toBe(8)
|
||||
expect(depPaths).toContain(`/@pnpm.e2e/abc@1.0.0${createPeersDirSuffix([{ name: '@pnpm.e2e/peer-a', version: '1.0.0' }, { name: '@pnpm.e2e/peer-b', version: '1.0.0' }, { name: '@pnpm.e2e/peer-c', version: '1.0.0' }])}`)
|
||||
expect(depPaths).toContain(`/@pnpm.e2e/abc-parent-with-ab@1.0.0${createPeersDirSuffix([{ name: '@pnpm.e2e/peer-c', version: '1.0.0' }])}`)
|
||||
@@ -1381,7 +1381,7 @@ test('deduplicate packages that have peers, when adding new dependency in a work
|
||||
await mutateModules(importers, testDefaults({ allProjects, autoInstallPeers: false, dedupePeerDependents: true }))
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>(path.resolve(WANTED_LOCKFILE))
|
||||
const depPaths = Object.keys(lockfile.packages ?? {})
|
||||
const depPaths = Object.keys(lockfile.snapshots ?? {})
|
||||
expect(depPaths.length).toBe(8)
|
||||
expect(depPaths).toContain(`/@pnpm.e2e/abc@1.0.0${createPeersDirSuffix([{ name: '@pnpm.e2e/peer-a', version: '1.0.0' }, { name: '@pnpm.e2e/peer-b', version: '1.0.0' }, { name: '@pnpm.e2e/peer-c', version: '1.0.0' }])}`)
|
||||
expect(depPaths).toContain(`/@pnpm.e2e/abc-parent-with-ab@1.0.0${createPeersDirSuffix([{ name: '@pnpm.e2e/peer-c', version: '1.0.0' }])}`)
|
||||
@@ -1399,7 +1399,7 @@ test('resolve peer dependencies from aliased subdependencies if they are depende
|
||||
)
|
||||
|
||||
const lockfile = readYamlFile<any>(path.resolve(WANTED_LOCKFILE)) // eslint-disable-line
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.0)(@pnpm.e2e/peer-b@1.0.0)(@pnpm.e2e/peer-c@1.0.0)']).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.0)(@pnpm.e2e/peer-b@1.0.0)(@pnpm.e2e/peer-c@1.0.0)']).toBeTruthy()
|
||||
})
|
||||
|
||||
test('resolve peer dependency from aliased direct dependency', async () => {
|
||||
@@ -1410,7 +1410,7 @@ test('resolve peer dependency from aliased direct dependency', async () => {
|
||||
await addDependenciesToPackage(manifest, ['@pnpm.e2e/abc@1.0.0'], opts)
|
||||
|
||||
const lockfile = readYamlFile<any>(path.resolve(WANTED_LOCKFILE)) // eslint-disable-line
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.0)']).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.0)']).toBeTruthy()
|
||||
})
|
||||
|
||||
test('resolve peer dependency using the alias that differs from the real name of the direct dependency', async () => {
|
||||
@@ -1421,9 +1421,9 @@ test('resolve peer dependency using the alias that differs from the real name of
|
||||
await addDependenciesToPackage(manifest, ['@pnpm.e2e/abc@1.0.0'], opts)
|
||||
|
||||
const lockfile = readYamlFile<any>(path.resolve(WANTED_LOCKFILE)) // eslint-disable-line
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.0)(@pnpm.e2e/peer-a@1.0.0)']).toBeTruthy()
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.0)(@pnpm.e2e/peer-a@1.0.0)']?.dependencies['@pnpm.e2e/peer-a']).toBe('1.0.0')
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.0)(@pnpm.e2e/peer-a@1.0.0)']?.dependencies['@pnpm.e2e/peer-b']).toBe('/@pnpm.e2e/peer-a@1.0.0')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.0)(@pnpm.e2e/peer-a@1.0.0)']).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.0)(@pnpm.e2e/peer-a@1.0.0)']?.dependencies['@pnpm.e2e/peer-a']).toBe('1.0.0')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.0)(@pnpm.e2e/peer-a@1.0.0)']?.dependencies['@pnpm.e2e/peer-b']).toBe('/@pnpm.e2e/peer-a@1.0.0')
|
||||
})
|
||||
|
||||
test('when there are several aliased dependencies of the same package, pick the one with the highest version to resolve peers', async () => {
|
||||
@@ -1438,7 +1438,7 @@ test('when there are several aliased dependencies of the same package, pick the
|
||||
await addDependenciesToPackage(manifest, ['@pnpm.e2e/abc@1.0.0'], opts)
|
||||
|
||||
const lockfile = readYamlFile<any>(path.resolve(WANTED_LOCKFILE)) // eslint-disable-line
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-c@2.0.0)']).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-c@2.0.0)']).toBeTruthy()
|
||||
})
|
||||
|
||||
test('when there is an aliases dependency and a non-aliased one, prefer the non-aliased dependency to resolve peers', async () => {
|
||||
@@ -1452,7 +1452,7 @@ test('when there is an aliases dependency and a non-aliased one, prefer the non-
|
||||
await addDependenciesToPackage(manifest, ['@pnpm.e2e/abc@1.0.0'], opts)
|
||||
|
||||
const lockfile = readYamlFile<any>(path.resolve(WANTED_LOCKFILE)) // eslint-disable-line
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-c@1.0.0)']).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-c@1.0.0)']).toBeTruthy()
|
||||
})
|
||||
|
||||
test('in a subdependency, when there are several aliased dependencies of the same package, pick the one with the highest version to resolve peers', async () => {
|
||||
@@ -1461,7 +1461,7 @@ test('in a subdependency, when there are several aliased dependencies of the sam
|
||||
await addDependenciesToPackage({}, ['@pnpm.e2e/abc-parent-with-aliases-of-same-pkg@1.0.0'], testDefaults({ autoInstallPeers: false, strictPeerDependencies: false }))
|
||||
|
||||
const lockfile = readYamlFile<any>(path.resolve(WANTED_LOCKFILE)) // eslint-disable-line
|
||||
expect(lockfile.packages['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-c@2.0.0)']).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-c@2.0.0)']).toBeTruthy()
|
||||
})
|
||||
|
||||
test('peer having peer is resolved correctly', async () => {
|
||||
@@ -1527,7 +1527,7 @@ test('peer having peer is resolved correctly', async () => {
|
||||
const lockfile = readYamlFile<any>(path.resolve(WANTED_LOCKFILE)) // eslint-disable-line
|
||||
|
||||
expect(lockfile.importers['project-1'].dependencies?.['@pnpm.e2e/has-has-y-peer-only-as-peer']['version']).not.toEqual(lockfile.importers['project-2'].dependencies?.['@pnpm.e2e/has-has-y-peer-only-as-peer']['version'])
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-has-y-peer-only-as-peer@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0))'].dependencies['@pnpm.e2e/has-y-peer']).toEqual('1.0.0(@pnpm/y@1.0.0)')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-has-y-peer-only-as-peer@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0))'].dependencies['@pnpm.e2e/has-y-peer']).toEqual('1.0.0(@pnpm/y@1.0.0)')
|
||||
})
|
||||
|
||||
test('peer having peer is resolved correctly. The peer is also in the dependencies of the dependent package', async () => {
|
||||
@@ -1595,11 +1595,11 @@ test('peer having peer is resolved correctly. The peer is also in the dependenci
|
||||
expect(lockfile.importers['project-1'].dependencies?.['@pnpm.e2e/has-has-y-peer-only-as-peer-and-y']['version']).toEqual('1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@2.0.0))')
|
||||
expect(lockfile.importers['project-2'].dependencies?.['@pnpm.e2e/has-has-y-peer-only-as-peer-and-y']['version']).toEqual('1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0))')
|
||||
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0))'].dependencies['@pnpm/y']).toEqual('1.0.0')
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@2.0.0))'].dependencies['@pnpm/y']).toEqual('1.0.0')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0))'].dependencies['@pnpm/y']).toEqual('1.0.0')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@2.0.0))'].dependencies['@pnpm/y']).toEqual('1.0.0')
|
||||
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0))'].dependencies['@pnpm.e2e/has-y-peer']).toEqual('1.0.0(@pnpm/y@1.0.0)')
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@2.0.0))'].dependencies['@pnpm.e2e/has-y-peer']).toEqual('1.0.0(@pnpm/y@2.0.0)')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0))'].dependencies['@pnpm.e2e/has-y-peer']).toEqual('1.0.0(@pnpm/y@1.0.0)')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@2.0.0))'].dependencies['@pnpm.e2e/has-y-peer']).toEqual('1.0.0(@pnpm/y@2.0.0)')
|
||||
})
|
||||
|
||||
test('peer having peer is resolved correctly. The peer is also in the dependencies of the dependent package. Test #2', async () => {
|
||||
@@ -1664,8 +1664,8 @@ test('peer having peer is resolved correctly. The peer is also in the dependenci
|
||||
|
||||
const lockfile = readYamlFile<any>(path.resolve(WANTED_LOCKFILE)) // eslint-disable-line
|
||||
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@2.0.0))'].dependencies['@pnpm.e2e/has-y-peer']).toEqual('1.0.0(@pnpm/y@2.0.0)')
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@2.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0))'].dependencies['@pnpm.e2e/has-y-peer']).toEqual('1.0.0(@pnpm/y@1.0.0)')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@2.0.0))'].dependencies['@pnpm.e2e/has-y-peer']).toEqual('1.0.0(@pnpm/y@2.0.0)')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@2.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@1.0.0))'].dependencies['@pnpm.e2e/has-y-peer']).toEqual('1.0.0(@pnpm/y@1.0.0)')
|
||||
})
|
||||
|
||||
test('resolve peer of peer from the dependencies of the direct dependent package', async () => {
|
||||
@@ -1677,7 +1677,7 @@ test('resolve peer of peer from the dependencies of the direct dependent package
|
||||
expect(lockfile.importers?.['.'].dependencies?.['@pnpm.e2e/has-has-y-peer-only-as-peer-and-y'].version).toBe('1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@2.0.0))')
|
||||
// Even though @pnpm/y@1.0.0 is in the dependencies of the direct dependent package, we resolve y from above.
|
||||
// It might make sense to print a warning in this case and suggest to make y a peer dependency in the dependent package too.
|
||||
expect(lockfile.packages['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@2.0.0))'].dependencies?.['@pnpm.e2e/has-y-peer']).toBe('1.0.0(@pnpm/y@2.0.0)')
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/has-has-y-peer-only-as-peer-and-y@1.0.0(@pnpm.e2e/has-y-peer@1.0.0(@pnpm/y@2.0.0))'].dependencies?.['@pnpm.e2e/has-y-peer']).toBe('1.0.0(@pnpm/y@2.0.0)')
|
||||
})
|
||||
|
||||
test('2 circular peers', async () => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import path from 'path'
|
||||
import { WANTED_LOCKFILE } from '@pnpm/constants'
|
||||
import { type Lockfile } from '@pnpm/lockfile-file'
|
||||
import { type LockfileV7 as Lockfile } from '@pnpm/lockfile-file'
|
||||
import { prepareEmpty } from '@pnpm/prepare'
|
||||
import { addDistTag } from '@pnpm/registry-mock'
|
||||
import { sync as readYamlFile } from 'read-yaml-file'
|
||||
@@ -33,10 +33,10 @@ test('preserve subdeps on update', async () => {
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages).toBeTruthy()
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/abc-parent-with-ab@1.0.0(@pnpm.e2e/peer-c@1.0.0)'])
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/foobarqar@1.0.1'])
|
||||
expect(lockfile.packages['/@pnpm.e2e/foobarqar@1.0.1'].dependencies).toStrictEqual({
|
||||
expect(lockfile.snapshots).toBeTruthy()
|
||||
expect(lockfile.snapshots).toHaveProperty(['/@pnpm.e2e/abc-parent-with-ab@1.0.0(@pnpm.e2e/peer-c@1.0.0)'])
|
||||
expect(lockfile.snapshots).toHaveProperty(['/@pnpm.e2e/foobarqar@1.0.1'])
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/foobarqar@1.0.1'].dependencies).toStrictEqual({
|
||||
'@pnpm.e2e/bar': '100.0.0',
|
||||
'@pnpm.e2e/foo': '100.0.0',
|
||||
'@pnpm.e2e/qar': '100.0.0',
|
||||
@@ -70,9 +70,9 @@ test('preserve subdeps on update when no node_modules is present', async () => {
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages).toBeTruthy()
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/abc-parent-with-ab@1.0.0(@pnpm.e2e/peer-c@1.0.0)']) // preserve version of package that has resolved peer deps
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/foobarqar@1.0.1'])
|
||||
expect(lockfile.packages['/@pnpm.e2e/foobarqar@1.0.1'].dependencies).toStrictEqual({
|
||||
expect(lockfile.snapshots).toHaveProperty(['/@pnpm.e2e/abc-parent-with-ab@1.0.0(@pnpm.e2e/peer-c@1.0.0)']) // preserve version of package that has resolved peer deps
|
||||
expect(lockfile.snapshots).toHaveProperty(['/@pnpm.e2e/foobarqar@1.0.1'])
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/foobarqar@1.0.1'].dependencies).toStrictEqual({
|
||||
'@pnpm.e2e/bar': '100.0.0',
|
||||
'@pnpm.e2e/foo': '100.0.0',
|
||||
'@pnpm.e2e/qar': '100.0.0',
|
||||
@@ -143,9 +143,9 @@ test('preserve subdeps when installing on a package that has one dependency spec
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/abc-parent-with-ab@1.0.0(@pnpm.e2e/peer-c@1.0.0)']) // preserve version of package that has resolved peer deps
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/foobarqar@1.0.1'])
|
||||
expect(lockfile.packages['/@pnpm.e2e/foobarqar@1.0.1'].dependencies).toStrictEqual({
|
||||
expect(lockfile.snapshots).toHaveProperty(['/@pnpm.e2e/abc-parent-with-ab@1.0.0(@pnpm.e2e/peer-c@1.0.0)']) // preserve version of package that has resolved peer deps
|
||||
expect(lockfile.snapshots).toHaveProperty(['/@pnpm.e2e/foobarqar@1.0.1'])
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/foobarqar@1.0.1'].dependencies).toStrictEqual({
|
||||
'@pnpm.e2e/bar': '100.0.0',
|
||||
'@pnpm.e2e/foo': '100.0.0',
|
||||
'@pnpm.e2e/qar': '100.0.0',
|
||||
@@ -202,9 +202,9 @@ test('update only the specified package', async () => {
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/abc-parent-with-ab@1.0.0(@pnpm.e2e/peer-c@1.0.0)'])
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/foobarqar@1.0.0'])
|
||||
expect(lockfile.packages['/@pnpm.e2e/foobarqar@1.0.0'].dependencies).toStrictEqual({
|
||||
expect(lockfile.snapshots).toHaveProperty(['/@pnpm.e2e/abc-parent-with-ab@1.0.0(@pnpm.e2e/peer-c@1.0.0)'])
|
||||
expect(lockfile.snapshots).toHaveProperty(['/@pnpm.e2e/foobarqar@1.0.0'])
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/foobarqar@1.0.0'].dependencies).toStrictEqual({
|
||||
'@pnpm.e2e/bar': '100.0.0',
|
||||
'@pnpm.e2e/foo': '100.1.0',
|
||||
'is-positive': '3.1.0',
|
||||
|
||||
@@ -75,10 +75,10 @@ test('dependency should not be added to package.json if it is already there', as
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.importers['.'].devDependencies?.['@pnpm.e2e/foo'].version).toBe('100.0.0')
|
||||
expect(lockfile.packages['/@pnpm.e2e/foo@100.0.0'].dev).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/foo@100.0.0'].dev).toBeTruthy()
|
||||
|
||||
expect(lockfile.importers['.'].optionalDependencies?.['@pnpm.e2e/bar'].version).toBe('100.0.0')
|
||||
expect(lockfile.packages['/@pnpm.e2e/bar@100.0.0'].optional).toBeTruthy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/bar@100.0.0'].optional).toBeTruthy()
|
||||
})
|
||||
|
||||
test('dependencies should be updated in the fields where they already are', async () => {
|
||||
|
||||
@@ -5,7 +5,7 @@ import { type RootLog } from '@pnpm/core-loggers'
|
||||
import { type PnpmError } from '@pnpm/error'
|
||||
import { fixtures } from '@pnpm/test-fixtures'
|
||||
import { type Lockfile, type TarballResolution } from '@pnpm/lockfile-file'
|
||||
import { type LockfileFile } from '@pnpm/lockfile-types'
|
||||
import { type LockfileFileV7 } from '@pnpm/lockfile-types'
|
||||
import { tempDir, prepareEmpty, preparePackages } from '@pnpm/prepare'
|
||||
import { readPackageJsonFromDir } from '@pnpm/read-package-json'
|
||||
import { addDistTag, getIntegrity, REGISTRY_MOCK_PORT } from '@pnpm/registry-mock'
|
||||
@@ -61,8 +61,8 @@ test('lockfile has correct format', async () => {
|
||||
|
||||
expect(lockfile.packages).toBeTruthy() // has packages field
|
||||
expect(lockfile.packages).toHaveProperty([id])
|
||||
expect(lockfile.packages[id].dependencies).toBeTruthy()
|
||||
expect(lockfile.packages[id].dependencies).toHaveProperty(['@pnpm.e2e/dep-of-pkg-with-1-dep'])
|
||||
expect(lockfile.snapshots[id].dependencies).toBeTruthy()
|
||||
expect(lockfile.snapshots[id].dependencies).toHaveProperty(['@pnpm.e2e/dep-of-pkg-with-1-dep'])
|
||||
expect(lockfile.packages[id].resolution).toBeTruthy()
|
||||
expect((lockfile.packages[id].resolution as { integrity: string }).integrity).toBeTruthy()
|
||||
expect((lockfile.packages[id].resolution as TarballResolution).tarball).toBeFalsy()
|
||||
@@ -371,7 +371,7 @@ test(`subdeps are updated on repeat install if outer ${WANTED_LOCKFILE} does not
|
||||
},
|
||||
}
|
||||
|
||||
lockfile.packages['/@pnpm.e2e/pkg-with-1-dep@100.0.0'].dependencies!['@pnpm.e2e/dep-of-pkg-with-1-dep'] = '100.1.0'
|
||||
lockfile.snapshots['/@pnpm.e2e/pkg-with-1-dep@100.0.0'].dependencies!['@pnpm.e2e/dep-of-pkg-with-1-dep'] = '100.1.0'
|
||||
|
||||
writeYamlFile(WANTED_LOCKFILE, lockfile, { lineWidth: 1000 })
|
||||
|
||||
@@ -444,7 +444,7 @@ test('package is not marked dev if it is also a subdep of a regular dependency',
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages['/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0'].dev).toBeFalsy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0'].dev).toBeFalsy()
|
||||
})
|
||||
|
||||
test('package is not marked optional if it is also a subdep of a regular dependency', async () => {
|
||||
@@ -458,7 +458,7 @@ test('package is not marked optional if it is also a subdep of a regular depende
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
|
||||
expect(lockfile.packages['/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0'].optional).toBeFalsy()
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0'].optional).toBeFalsy()
|
||||
})
|
||||
|
||||
test('scoped module from different registry', async () => {
|
||||
@@ -500,29 +500,21 @@ test('scoped module from different registry', async () => {
|
||||
lockfileVersion: LOCKFILE_VERSION,
|
||||
packages: {
|
||||
'/@foo/has-dep-from-same-scope@1.0.0': {
|
||||
dependencies: {
|
||||
'@foo/no-deps': '1.0.0',
|
||||
'is-negative': '1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
resolution: {
|
||||
integrity: getIntegrity('@foo/has-dep-from-same-scope', '1.0.0'),
|
||||
},
|
||||
},
|
||||
'/@foo/no-deps@1.0.0': {
|
||||
dev: false,
|
||||
resolution: {
|
||||
integrity: getIntegrity('@foo/no-deps', '1.0.0'),
|
||||
},
|
||||
},
|
||||
'/@zkochan/foo@1.0.0': {
|
||||
dev: false,
|
||||
resolution: {
|
||||
integrity: 'sha512-IFvrYpq7E6BqKex7A7czIFnFncPiUVdhSzGhAOWpp8RlkXns4y/9ZdynxaA/e0VkihRxQkihE2pTyvxjfe/wBg==',
|
||||
},
|
||||
},
|
||||
'/is-negative@1.0.0': {
|
||||
dev: false,
|
||||
engines: {
|
||||
node: '>=0.10.0',
|
||||
},
|
||||
@@ -531,7 +523,6 @@ test('scoped module from different registry', async () => {
|
||||
},
|
||||
},
|
||||
'/is-positive@3.1.0': {
|
||||
dev: false,
|
||||
engines: {
|
||||
node: '>=0.10.0',
|
||||
},
|
||||
@@ -540,6 +531,27 @@ test('scoped module from different registry', async () => {
|
||||
},
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/@foo/has-dep-from-same-scope@1.0.0': {
|
||||
dependencies: {
|
||||
'@foo/no-deps': '1.0.0',
|
||||
'is-negative': '1.0.0',
|
||||
},
|
||||
dev: false,
|
||||
},
|
||||
'/@foo/no-deps@1.0.0': {
|
||||
dev: false,
|
||||
},
|
||||
'/@zkochan/foo@1.0.0': {
|
||||
dev: false,
|
||||
},
|
||||
'/is-negative@1.0.0': {
|
||||
dev: false,
|
||||
},
|
||||
'/is-positive@3.1.0': {
|
||||
dev: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
@@ -645,7 +657,7 @@ test('dev properties are correctly updated on named install', async () => {
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(
|
||||
Object.values(lockfile.packages).filter((dep) => typeof dep.dev !== 'undefined')
|
||||
Object.values(lockfile.snapshots).filter((dep) => typeof dep.dev !== 'undefined')
|
||||
).toStrictEqual([])
|
||||
})
|
||||
|
||||
@@ -656,7 +668,7 @@ test('optional properties are correctly updated on named install', async () => {
|
||||
await addDependenciesToPackage(manifest, ['foo@npm:inflight@1.0.6'], testDefaults({}))
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(Object.values(lockfile.packages).filter((dep) => typeof dep.optional !== 'undefined')).toStrictEqual([])
|
||||
expect(Object.values(lockfile.snapshots).filter((dep) => typeof dep.optional !== 'undefined')).toStrictEqual([])
|
||||
})
|
||||
|
||||
test('dev property is correctly set for package that is duplicated to both the dependencies and devDependencies group', async () => {
|
||||
@@ -666,7 +678,7 @@ test('dev property is correctly set for package that is duplicated to both the d
|
||||
await addDependenciesToPackage({}, ['overlap@2.2.8'], testDefaults())
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/couleurs@5.0.0'].dev === false).toBeTruthy()
|
||||
expect(lockfile.snapshots['/couleurs@5.0.0'].dev === false).toBeTruthy()
|
||||
})
|
||||
|
||||
test('no lockfile', async () => {
|
||||
@@ -811,22 +823,16 @@ test('packages installed via tarball URL from the default registry are normalize
|
||||
lockfileVersion: LOCKFILE_VERSION,
|
||||
packages: {
|
||||
'/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0': {
|
||||
dev: false,
|
||||
resolution: {
|
||||
integrity: getIntegrity('@pnpm.e2e/dep-of-pkg-with-1-dep', '100.0.0'),
|
||||
},
|
||||
},
|
||||
'/@pnpm.e2e/pkg-with-tarball-dep-from-registry@1.0.0': {
|
||||
dependencies: {
|
||||
'@pnpm.e2e/dep-of-pkg-with-1-dep': '100.0.0',
|
||||
},
|
||||
dev: false,
|
||||
resolution: {
|
||||
integrity: getIntegrity('@pnpm.e2e/pkg-with-tarball-dep-from-registry', '1.0.0'),
|
||||
},
|
||||
},
|
||||
'@registry.npmjs.org/is-positive/-/is-positive-1.0.0.tgz': {
|
||||
dev: false,
|
||||
engines: { node: '>=0.10.0' },
|
||||
name: 'is-positive',
|
||||
resolution: {
|
||||
@@ -835,6 +841,20 @@ test('packages installed via tarball URL from the default registry are normalize
|
||||
version: '1.0.0',
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0': {
|
||||
dev: false,
|
||||
},
|
||||
'/@pnpm.e2e/pkg-with-tarball-dep-from-registry@1.0.0': {
|
||||
dependencies: {
|
||||
'@pnpm.e2e/dep-of-pkg-with-1-dep': '100.0.0',
|
||||
},
|
||||
dev: false,
|
||||
},
|
||||
'@registry.npmjs.org/is-positive/-/is-positive-1.0.0.tgz': {
|
||||
dev: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
@@ -863,7 +883,7 @@ test('lockfile file has correct format when lockfile directory does not equal th
|
||||
expect(modules.pendingBuilds.length).toBe(0)
|
||||
|
||||
{
|
||||
const lockfile: LockfileFile = readYamlFile(WANTED_LOCKFILE)
|
||||
const lockfile: LockfileFileV7 = readYamlFile(WANTED_LOCKFILE)
|
||||
const id = '/@pnpm.e2e/pkg-with-1-dep@100.0.0'
|
||||
|
||||
expect(lockfile.lockfileVersion).toBe(LOCKFILE_VERSION)
|
||||
@@ -876,7 +896,7 @@ test('lockfile file has correct format when lockfile directory does not equal th
|
||||
expect(lockfile.importers?.project.dependencies!['@zkochan/foo']).toBeTruthy()
|
||||
expect(lockfile.importers?.project.dependencies!['is-negative'].version).toContain('/')
|
||||
|
||||
expect(lockfile.packages![id].dependencies).toHaveProperty(['@pnpm.e2e/dep-of-pkg-with-1-dep'])
|
||||
expect(lockfile.snapshots![id].dependencies).toHaveProperty(['@pnpm.e2e/dep-of-pkg-with-1-dep'])
|
||||
expect(lockfile.packages![id].resolution).toHaveProperty(['integrity'])
|
||||
expect(lockfile.packages![id].resolution).not.toHaveProperty(['tarball'])
|
||||
|
||||
@@ -897,7 +917,7 @@ test('lockfile file has correct format when lockfile directory does not equal th
|
||||
}))
|
||||
|
||||
{
|
||||
const lockfile = readYamlFile<LockfileFile>(path.join('..', WANTED_LOCKFILE))
|
||||
const lockfile = readYamlFile<LockfileFileV7>(path.join('..', WANTED_LOCKFILE))
|
||||
|
||||
expect(lockfile.importers).toHaveProperty(['project-2'])
|
||||
|
||||
@@ -908,9 +928,9 @@ test('lockfile file has correct format when lockfile directory does not equal th
|
||||
expect(lockfile.importers?.project.dependencies).toHaveProperty(['@zkochan/foo'])
|
||||
expect(lockfile.importers?.project.dependencies!['is-negative'].version).toContain('/')
|
||||
|
||||
expect(lockfile.packages).toHaveProperty([id])
|
||||
expect(lockfile.packages![id].dependencies).toBeTruthy()
|
||||
expect(lockfile.packages![id].dependencies).toHaveProperty(['@pnpm.e2e/dep-of-pkg-with-1-dep'])
|
||||
expect(lockfile.snapshots).toHaveProperty([id])
|
||||
expect(lockfile.snapshots![id].dependencies).toBeTruthy()
|
||||
expect(lockfile.snapshots![id].dependencies).toHaveProperty(['@pnpm.e2e/dep-of-pkg-with-1-dep'])
|
||||
expect(lockfile.packages![id].resolution).toHaveProperty(['integrity'])
|
||||
expect(lockfile.packages![id].resolution).not.toHaveProperty(['tarball'])
|
||||
|
||||
@@ -985,7 +1005,7 @@ test(`doing named installation when shared ${WANTED_LOCKFILE} exists already`, a
|
||||
})
|
||||
)
|
||||
|
||||
const currentLockfile = readYamlFile<LockfileFile>(path.resolve('node_modules/.pnpm/lock.yaml'))
|
||||
const currentLockfile = readYamlFile<LockfileFileV7>(path.resolve('node_modules/.pnpm/lock.yaml'))
|
||||
|
||||
expect(Object.keys(currentLockfile.importers ?? {})).toStrictEqual(['pkg2'])
|
||||
|
||||
@@ -1069,6 +1089,7 @@ test('broken lockfile is fixed even if it seems like up to date at first. Unless
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages).toHaveProperty(['/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0'])
|
||||
delete lockfile.packages['/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0']
|
||||
delete lockfile.snapshots['/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0']
|
||||
writeYamlFile(WANTED_LOCKFILE, lockfile, { lineWidth: 1000 })
|
||||
}
|
||||
|
||||
@@ -1146,7 +1167,6 @@ test('tarball domain differs from registry domain', async () => {
|
||||
lockfileVersion: LOCKFILE_VERSION,
|
||||
packages: {
|
||||
'/is-positive@3.1.0': {
|
||||
dev: false,
|
||||
engines: { node: '>=0.10.0' },
|
||||
resolution: {
|
||||
integrity: 'sha1-hX21hKG6XRyymAUn/DtsQ103sP0=',
|
||||
@@ -1154,6 +1174,11 @@ test('tarball domain differs from registry domain', async () => {
|
||||
},
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/is-positive@3.1.0': {
|
||||
dev: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1197,7 +1222,6 @@ test('tarball installed through non-standard URL endpoint from the registry doma
|
||||
lockfileVersion: LOCKFILE_VERSION,
|
||||
packages: {
|
||||
'@registry.npmjs.org/is-positive/download/is-positive-3.1.0.tgz': {
|
||||
dev: false,
|
||||
engines: { node: '>=0.10.0' },
|
||||
name: 'is-positive',
|
||||
resolution: {
|
||||
@@ -1206,6 +1230,11 @@ test('tarball installed through non-standard URL endpoint from the registry doma
|
||||
version: '3.1.0',
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'@registry.npmjs.org/is-positive/download/is-positive-3.1.0.tgz': {
|
||||
dev: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ test('copy does not fail on package that self-requires itself', async () => {
|
||||
expect(m).toBeTruthy() // requires-itself is available with packageImportMethod = copy
|
||||
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/@pnpm.e2e/requires-itself@1.0.0'].dependencies).toStrictEqual({ 'is-positive': '1.0.0' })
|
||||
expect(lockfile.snapshots['/@pnpm.e2e/requires-itself@1.0.0'].dependencies).toStrictEqual({ 'is-positive': '1.0.0' })
|
||||
})
|
||||
|
||||
test('packages are updated in node_modules, when packageImportMethod is set to copy and modules manifest and current lockfile are incorrect', async () => {
|
||||
|
||||
@@ -335,7 +335,6 @@ test('uninstalling a dependency from package that uses shared lockfile', async (
|
||||
lockfileVersion: LOCKFILE_VERSION,
|
||||
packages: {
|
||||
'/is-negative@1.0.0': {
|
||||
dev: false,
|
||||
engines: {
|
||||
node: '>=0.10.0',
|
||||
},
|
||||
@@ -344,6 +343,11 @@ test('uninstalling a dependency from package that uses shared lockfile', async (
|
||||
},
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/is-negative@1.0.0': {
|
||||
dev: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
9
pkg-manager/headless/test/fixtures/deps-have-lifecycle-scripts/pnpm-lock.yaml
generated
vendored
9
pkg-manager/headless/test/fixtures/deps-have-lifecycle-scripts/pnpm-lock.yaml
generated
vendored
@@ -17,11 +17,16 @@ packages:
|
||||
/@pnpm.e2e/hello-world-js-bin@1.0.0:
|
||||
resolution: {integrity: sha512-EDvJzSLCEMnUnrrIGdV+IUWP/8w+nUjOuay2u0KW20Mnfnm3lyrdquQ+gKPNAOUfAsKL1y21np1nQN0PyP+57A==}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/@pnpm.e2e/pre-and-postinstall-scripts-example@2.0.0:
|
||||
resolution: {integrity: sha512-o1ULljloNzGcHI+k0NuY7aZigV5F551GpY9prYIrhMjIVNyMsERQMxLYZeKQJUnhZO5VKJNtGZlrUYkmJ1qDbw==}
|
||||
requiresBuild: true
|
||||
|
||||
snapshots:
|
||||
|
||||
/@pnpm.e2e/hello-world-js-bin@1.0.0:
|
||||
dev: false
|
||||
|
||||
/@pnpm.e2e/pre-and-postinstall-scripts-example@2.0.0:
|
||||
dependencies:
|
||||
'@pnpm.e2e/hello-world-js-bin': 1.0.0
|
||||
dev: false
|
||||
|
||||
52
pkg-manager/headless/test/fixtures/has-glob-and-rimraf/pnpm-lock.yaml
generated
vendored
52
pkg-manager/headless/test/fixtures/has-glob-and-rimraf/pnpm-lock.yaml
generated
vendored
@@ -19,25 +19,60 @@ packages:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
dev: false
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
dev: false
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
dev: false
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
dependencies:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
@@ -48,40 +83,31 @@ packages:
|
||||
dev: false
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: false
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
dev: false
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: false
|
||||
|
||||
46
pkg-manager/headless/test/fixtures/has-glob/pnpm-lock.yaml
generated
vendored
46
pkg-manager/headless/test/fixtures/has-glob/pnpm-lock.yaml
generated
vendored
@@ -16,25 +16,56 @@ packages:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
dev: false
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
dev: false
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
dev: false
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
dependencies:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
@@ -45,33 +76,26 @@ packages:
|
||||
dev: false
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: false
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: false
|
||||
|
||||
16
pkg-manager/headless/test/fixtures/has-incompatible-optional-subdep/pnpm-lock.yaml
generated
vendored
16
pkg-manager/headless/test/fixtures/has-incompatible-optional-subdep/pnpm-lock.yaml
generated
vendored
@@ -16,21 +16,27 @@ packages:
|
||||
|
||||
/@pnpm.e2e/dep-of-optional-pkg@1.0.0:
|
||||
resolution: {integrity: sha512-TBIWnj5MFb8i1cG4vh1WSaRHUsgrGXAuXH1QgKxc0D46l6c/o9bjiwTPZZb7a+CGolS9gNxIzZvc/D1XLCDStg==}
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@pnpm.e2e/not-compatible-with-any-os@1.0.0:
|
||||
resolution: {integrity: sha512-2g2bPBv7vBuBUbZH0DOWUkc9nKa0E7IHI4QyRUZGxr7R1TAG/oCj4Qrn3kK/XJKjhHwIZRUqaf0Kl3REgzQxSw==}
|
||||
os: [this-os-does-not-exist]
|
||||
requiresBuild: true
|
||||
|
||||
/@pnpm.e2e/pkg-with-optional@1.0.0:
|
||||
resolution: {integrity: sha512-RzAje0bEtf/XhAXgrTNYuXbpRfnkxHlXIGtfmLkK34B0yPnKXNL8qC/jZYv6LOo7bR0+rBSU6nrVb9qzNHIUmA==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/@pnpm.e2e/dep-of-optional-pkg@1.0.0:
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@pnpm.e2e/not-compatible-with-any-os@1.0.0:
|
||||
dependencies:
|
||||
'@pnpm.e2e/dep-of-optional-pkg': 1.0.0
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@pnpm.e2e/pkg-with-optional@1.0.0:
|
||||
resolution: {integrity: sha512-RzAje0bEtf/XhAXgrTNYuXbpRfnkxHlXIGtfmLkK34B0yPnKXNL8qC/jZYv6LOo7bR0+rBSU6nrVb9qzNHIUmA==}
|
||||
optionalDependencies:
|
||||
'@pnpm.e2e/not-compatible-with-any-os': 1.0.0
|
||||
dev: false
|
||||
|
||||
4
pkg-manager/headless/test/fixtures/has-local-dep/pkg/pnpm-lock.yaml
generated
vendored
4
pkg-manager/headless/test/fixtures/has-local-dep/pkg/pnpm-lock.yaml
generated
vendored
@@ -18,4 +18,8 @@ packages:
|
||||
resolution: {integrity: sha512-HP/5Rgt3pVFLzjmN9qJJ6vZMgCwoCIl/m2bPndYT283CUqnmFiMx0GeeIJ7SyK6TYoJM78SEvFEOQie++caHqw==, tarball: file:../tar-pkg-1.0.0.tgz}
|
||||
name: tar-pkg
|
||||
version: 1.0.0
|
||||
|
||||
snapshots:
|
||||
|
||||
file:../tar-pkg-1.0.0.tgz:
|
||||
dev: false
|
||||
|
||||
114
pkg-manager/headless/test/fixtures/has-nonexistent-optional-dep/pnpm-lock.yaml
generated
vendored
114
pkg-manager/headless/test/fixtures/has-nonexistent-optional-dep/pnpm-lock.yaml
generated
vendored
@@ -23,25 +23,64 @@ packages:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
dev: false
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
dev: false
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
dev: false
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
/is-negative@2.1.0:
|
||||
resolution: {integrity: sha512-+iCKT4ZcvjRnjkHnQjZ8/qfciLLGD8BFKS0GNR5VjDU6jEiwh899R0GSMkaYcuTNd7fEKXb3Qib0webe6HczNw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/is-negative@2.1.0:
|
||||
dev: true
|
||||
|
||||
/is-positive@1.0.0:
|
||||
dev: false
|
||||
|
||||
/rimraf@2.7.1:
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
dev: false
|
||||
|
||||
/glob@7.2.3:
|
||||
dependencies:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
@@ -51,51 +90,42 @@ packages:
|
||||
path-is-absolute: 1.0.1
|
||||
dev: false
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
dev: false
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/is-negative@2.1.0:
|
||||
resolution: {integrity: sha512-+iCKT4ZcvjRnjkHnQjZ8/qfciLLGD8BFKS0GNR5VjDU6jEiwh899R0GSMkaYcuTNd7fEKXb3Qib0webe6HczNw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: false
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
dev: false
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: false
|
||||
|
||||
/inherits@2.0.4:
|
||||
dev: false
|
||||
|
||||
/minimatch@3.1.2:
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
dev: false
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
dev: false
|
||||
|
||||
/concat-map@0.0.1:
|
||||
dev: false
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
dev: false
|
||||
|
||||
110
pkg-manager/headless/test/fixtures/has-several-versions-of-same-pkg/pnpm-lock.yaml
generated
vendored
110
pkg-manager/headless/test/fixtures/has-several-versions-of-same-pkg/pnpm-lock.yaml
generated
vendored
@@ -27,50 +27,112 @@ packages:
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
|
||||
/depd@1.1.2:
|
||||
resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
/destroy@1.0.4:
|
||||
resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==}
|
||||
|
||||
/ee-first@1.1.1:
|
||||
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
|
||||
|
||||
/encodeurl@1.0.2:
|
||||
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/escape-html@1.0.3:
|
||||
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
|
||||
|
||||
/etag@1.8.1:
|
||||
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
/fresh@0.5.2:
|
||||
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
/has-flag@1.0.0:
|
||||
resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/http-errors@1.8.1:
|
||||
resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
/mime@1.6.0:
|
||||
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
|
||||
/ms@1.0.0:
|
||||
resolution: {integrity: sha512-85ytwCiGUnD84ui6ULG1KBFMaZgHW3jg5KPr9jt+ZPYt75+XK+JGbYddGrBQ+RSHXOhekCnCZwJywBoFvFl0kw==}
|
||||
|
||||
/ms@2.0.0:
|
||||
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
|
||||
|
||||
/ms@2.1.3:
|
||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||
|
||||
/on-finished@2.3.0:
|
||||
resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/range-parser@1.2.1:
|
||||
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
/send@0.17.2:
|
||||
resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
|
||||
/setprototypeof@1.2.0:
|
||||
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
||||
|
||||
/statuses@1.5.0:
|
||||
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
/toidentifier@1.0.1:
|
||||
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
|
||||
engines: {node: '>=0.6'}
|
||||
|
||||
snapshots:
|
||||
|
||||
/debug@2.6.9:
|
||||
dependencies:
|
||||
ms: 2.0.0
|
||||
dev: false
|
||||
|
||||
/depd@1.1.2:
|
||||
resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/destroy@1.0.4:
|
||||
resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==}
|
||||
dev: false
|
||||
|
||||
/ee-first@1.1.1:
|
||||
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
|
||||
dev: false
|
||||
|
||||
/encodeurl@1.0.2:
|
||||
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/escape-html@1.0.3:
|
||||
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
|
||||
dev: false
|
||||
|
||||
/etag@1.8.1:
|
||||
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/fresh@0.5.2:
|
||||
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/has-flag@1.0.0:
|
||||
resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/http-errors@1.8.1:
|
||||
resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dependencies:
|
||||
depd: 1.1.2
|
||||
inherits: 2.0.4
|
||||
@@ -80,42 +142,29 @@ packages:
|
||||
dev: false
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/mime@1.6.0:
|
||||
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/ms@1.0.0:
|
||||
resolution: {integrity: sha512-85ytwCiGUnD84ui6ULG1KBFMaZgHW3jg5KPr9jt+ZPYt75+XK+JGbYddGrBQ+RSHXOhekCnCZwJywBoFvFl0kw==}
|
||||
dev: false
|
||||
|
||||
/ms@2.0.0:
|
||||
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
|
||||
dev: false
|
||||
|
||||
/ms@2.1.3:
|
||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||
dev: false
|
||||
|
||||
/on-finished@2.3.0:
|
||||
resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dependencies:
|
||||
ee-first: 1.1.1
|
||||
dev: false
|
||||
|
||||
/range-parser@1.2.1:
|
||||
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/send@0.17.2:
|
||||
resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dependencies:
|
||||
debug: 2.6.9
|
||||
depd: 1.1.2
|
||||
@@ -135,15 +184,10 @@ packages:
|
||||
dev: false
|
||||
|
||||
/setprototypeof@1.2.0:
|
||||
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
||||
dev: false
|
||||
|
||||
/statuses@1.5.0:
|
||||
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/toidentifier@1.0.1:
|
||||
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
|
||||
engines: {node: '>=0.6'}
|
||||
dev: false
|
||||
|
||||
20
pkg-manager/headless/test/fixtures/prod-dep-is-dev-subdep/pnpm-lock.yaml
generated
vendored
20
pkg-manager/headless/test/fixtures/prod-dep-is-dev-subdep/pnpm-lock.yaml
generated
vendored
@@ -23,20 +23,30 @@ packages:
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/inflight@1.0.6:
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
wrappy: 1.0.2
|
||||
dev: true
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
/wrappy@1.0.2: {}
|
||||
|
||||
22
pkg-manager/headless/test/fixtures/reinstall-peer-deps/pnpm-lock.yaml
generated
vendored
22
pkg-manager/headless/test/fixtures/reinstall-peer-deps/pnpm-lock.yaml
generated
vendored
@@ -14,12 +14,28 @@ importers:
|
||||
|
||||
packages:
|
||||
|
||||
/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.1)(@pnpm.e2e/peer-b@1.0.0)(@pnpm.e2e/peer-c@1.0.0):
|
||||
/@pnpm.e2e/abc@1.0.0:
|
||||
resolution: {integrity: sha512-pXCDz60zZZ33NeZpkHZtikJBbyAHjK42Nv33wgxGXV/bNDhLfXQ9yQTsVXfR1xOwJ55n2nV+Zkx/W0Lo5YL8ag==}
|
||||
peerDependencies:
|
||||
'@pnpm.e2e/peer-a': ^1.0.0
|
||||
'@pnpm.e2e/peer-b': ^1.0.0
|
||||
'@pnpm.e2e/peer-c': ^1.0.0
|
||||
|
||||
/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0:
|
||||
resolution: {integrity: sha512-atUXGBNAbym4OioYcKt1qTjiH23CSfZ1K2N8JgCUewSE5gY/i9YoK7Ez6+CuEZbH+O3R+HKNrRIaZfnkv/93tg==}
|
||||
|
||||
/@pnpm.e2e/peer-a@1.0.1:
|
||||
resolution: {integrity: sha512-cyU9jFho5DTPXyyUuMrR4eK5r9ExqStBjoqVOTxb748Q5G9SOgqjZduUDCxA27x6j8GWCmNTt2qOI5WcAROHuQ==}
|
||||
|
||||
/@pnpm.e2e/peer-b@1.0.0:
|
||||
resolution: {integrity: sha512-/xEON+6CnPFjT8WUWdDI+ZaK+/foZqWhqhzEslQvjaRUZZPD9ClSa1VQqrRLK7DctB9X01rYorCDfRrCCgNU4w==}
|
||||
|
||||
/@pnpm.e2e/peer-c@1.0.0:
|
||||
resolution: {integrity: sha512-mIxp7K4B8IeXU/fuEP/llay2xDR+hyyhwlqL9D+/3NewrXTyvJUjp8cNagIuEOjA/1VZCDcNQfI947LjsSe3qQ==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@1.0.1)(@pnpm.e2e/peer-b@1.0.0)(@pnpm.e2e/peer-c@1.0.0):
|
||||
dependencies:
|
||||
'@pnpm.e2e/dep-of-pkg-with-1-dep': 100.0.0
|
||||
'@pnpm.e2e/peer-a': 1.0.1
|
||||
@@ -28,17 +44,13 @@ packages:
|
||||
dev: true
|
||||
|
||||
/@pnpm.e2e/dep-of-pkg-with-1-dep@100.0.0:
|
||||
resolution: {integrity: sha512-atUXGBNAbym4OioYcKt1qTjiH23CSfZ1K2N8JgCUewSE5gY/i9YoK7Ez6+CuEZbH+O3R+HKNrRIaZfnkv/93tg==}
|
||||
dev: true
|
||||
|
||||
/@pnpm.e2e/peer-a@1.0.1:
|
||||
resolution: {integrity: sha512-cyU9jFho5DTPXyyUuMrR4eK5r9ExqStBjoqVOTxb748Q5G9SOgqjZduUDCxA27x6j8GWCmNTt2qOI5WcAROHuQ==}
|
||||
dev: true
|
||||
|
||||
/@pnpm.e2e/peer-b@1.0.0:
|
||||
resolution: {integrity: sha512-/xEON+6CnPFjT8WUWdDI+ZaK+/foZqWhqhzEslQvjaRUZZPD9ClSa1VQqrRLK7DctB9X01rYorCDfRrCCgNU4w==}
|
||||
dev: true
|
||||
|
||||
/@pnpm.e2e/peer-c@1.0.0:
|
||||
resolution: {integrity: sha512-mIxp7K4B8IeXU/fuEP/llay2xDR+hyyhwlqL9D+/3NewrXTyvJUjp8cNagIuEOjA/1VZCDcNQfI947LjsSe3qQ==}
|
||||
dev: true
|
||||
|
||||
324
pkg-manager/headless/test/fixtures/resolved-peer-deps-in-subdeps/pnpm-lock.yaml
generated
vendored
324
pkg-manager/headless/test/fixtures/resolved-peer-deps-in-subdeps/pnpm-lock.yaml
generated
vendored
@@ -14,68 +14,280 @@ importers:
|
||||
|
||||
packages:
|
||||
|
||||
/@most/multicast@1.3.0(most@1.9.0):
|
||||
/@most/multicast@1.3.0:
|
||||
resolution: {integrity: sha512-DWH8AShgp5bXn+auGzf5tzPxvpmEvQJd0CNsApOci1LDF4eAEcnw4HQOr2Jaa+L92NbDYFKBSXxll+i7r1ikvw==}
|
||||
peerDependencies:
|
||||
most: ^1.0.1
|
||||
|
||||
/@most/prelude@1.8.0:
|
||||
resolution: {integrity: sha512-t1CcURpZzfmBA6fEWwqmCqeNzWAj1w2WqEmCk/2yXMe/p8Ut000wFmVKMy8A1Rl9VVxZEZ5nBHd/pU0dR4bv/w==}
|
||||
|
||||
/@types/common-tags@1.8.4:
|
||||
resolution: {integrity: sha512-S+1hLDJPjWNDhcGxsxEbepzaxWqURP/o+3cP4aa2w7yBXgdcmKGQtZzP8JbyfOd0m+33nh+8+kvxYE2UJtBDkg==}
|
||||
|
||||
/@types/node@9.6.61:
|
||||
resolution: {integrity: sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==}
|
||||
|
||||
/@types/ramda@0.25.51:
|
||||
resolution: {integrity: sha512-xcmtfHIgF9SYjhGdsZR1nQslxG4hu0cIpFfLQ4CWdw3KzHvl7ki1AzFLQUkbDTG42ZN3ZsQfdRzXRlkAvbIy5Q==}
|
||||
|
||||
/@types/semver@5.5.0:
|
||||
resolution: {integrity: sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==}
|
||||
|
||||
/ansi-diff@1.1.1:
|
||||
resolution: {integrity: sha512-XnTdFDQzbEewrDx8epWXdw7oqHMvv315vEtfqDiEhhWghIf4++h26c3/FMz7iTLhNrnj56DNIXpbxHZq+3s6qw==}
|
||||
|
||||
/ansi-regex@3.0.1:
|
||||
resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/ansi-split@1.0.1:
|
||||
resolution: {integrity: sha512-RRxQym4DFtDNmHIkW6aeFVvrXURb11lGAEPXNiryjCe8bK8RsANjzJ0M2aGOkvBYwP4Bl/xZ8ijtr6D3j1x/eg==}
|
||||
|
||||
/ansi-styles@3.2.1:
|
||||
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/as-table@1.0.55:
|
||||
resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
|
||||
|
||||
/chalk@2.4.2:
|
||||
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/cli-cursor@2.1.0:
|
||||
resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/color-convert@1.9.3:
|
||||
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
|
||||
|
||||
/color-name@1.1.3:
|
||||
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
|
||||
|
||||
/common-tags@1.8.2:
|
||||
resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
|
||||
engines: {node: '>=4.0.0'}
|
||||
|
||||
/core-util-is@1.0.3:
|
||||
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
|
||||
|
||||
/data-uri-to-buffer@2.0.2:
|
||||
resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
|
||||
|
||||
/define-data-property@1.1.4:
|
||||
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/define-properties@1.2.1:
|
||||
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/es-define-property@1.0.0:
|
||||
resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/es-errors@1.3.0:
|
||||
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/escape-string-regexp@1.0.5:
|
||||
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
|
||||
engines: {node: '>=0.8.0'}
|
||||
|
||||
/function-bind@1.1.2:
|
||||
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
|
||||
|
||||
/get-intrinsic@1.2.4:
|
||||
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/get-source@1.0.42:
|
||||
resolution: {integrity: sha512-uM5xCIG5w2meVbiZaID4ajH6J8OfApqhlKXtZwsS/IIM9PLb0b2kc5sRdy78yEDfxsIYEWNk0OVxai6OpDCExA==}
|
||||
|
||||
/globalthis@1.0.3:
|
||||
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/gopd@1.0.1:
|
||||
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
|
||||
|
||||
/has-flag@3.0.0:
|
||||
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/has-property-descriptors@1.0.2:
|
||||
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
|
||||
|
||||
/has-proto@1.0.1:
|
||||
resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/has-symbols@1.0.3:
|
||||
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/hasown@2.0.1:
|
||||
resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
/isarray@1.0.0:
|
||||
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
|
||||
|
||||
/json-stringify-safe@5.0.1:
|
||||
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
|
||||
|
||||
/mimic-fn@1.2.0:
|
||||
resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/minimist@1.2.8:
|
||||
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||
|
||||
/most-last@1.0.1:
|
||||
resolution: {integrity: sha512-ycc+leSrXoGRjxhsZJW/l+Sk0CXj9e/z6EP5ebZ8A+zDWGRq1v/oeNkyQF4TG95LnT5Q0ysG+5piJYSR86k58A==}
|
||||
peerDependencies:
|
||||
most: ^1.0.3
|
||||
|
||||
/most@1.9.0:
|
||||
resolution: {integrity: sha512-M7yHMcMGaclzEL6eg8Yh8PlAsaWfL/oSThF4+ZuWKM5CKXcbzmLh+qESwgZFzMKHJ+iVJwb28yFvDEOobI653w==}
|
||||
|
||||
/ndjson@1.5.0:
|
||||
resolution: {integrity: sha512-hUPLuaziboGjNF7wHngkgVc0FOclR8dDk/HfEvTtDr/iUrqBWiRcRSTK3/nLOqKH33th714BrMmTPtObI9gZxQ==}
|
||||
hasBin: true
|
||||
|
||||
/object-keys@1.1.1:
|
||||
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/onetime@2.0.1:
|
||||
resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/pnpm-default-reporter@0.14.7:
|
||||
resolution: {integrity: sha512-uHBIrBDxS/K82cGaxSQnhMYPJyYI4mX/28voWxqtFwIqhR0Gjf73EGN1wUc3lD38HdQDkCrSk5HBwp5N21AONw==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
supi: '>=0.12.5 <0.15.0'
|
||||
|
||||
/pretty-bytes@4.0.2:
|
||||
resolution: {integrity: sha512-yJAF+AjbHKlxQ8eezMd/34Mnj/YTQ3i6kLzvVsH4l/BfIFtp444n0wVbnsn66JimZ9uBofv815aRp1zCppxlWw==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/printable-characters@1.0.42:
|
||||
resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==}
|
||||
|
||||
/process-nextick-args@2.0.1:
|
||||
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
|
||||
|
||||
/ramda@0.25.0:
|
||||
resolution: {integrity: sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==}
|
||||
|
||||
/readable-stream@2.3.8:
|
||||
resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
|
||||
|
||||
/restore-cursor@2.0.0:
|
||||
resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/safe-buffer@5.1.2:
|
||||
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
||||
|
||||
/semver@5.7.2:
|
||||
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
|
||||
hasBin: true
|
||||
|
||||
/signal-exit@3.0.7:
|
||||
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
||||
|
||||
/source-map@0.6.1:
|
||||
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/split2@2.2.0:
|
||||
resolution: {integrity: sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==}
|
||||
|
||||
/stacktracey@1.2.127:
|
||||
resolution: {integrity: sha512-tj3BObW/adLIAQGGQ0flRTADrCv6KQ4VgncUO8NrQ7pk/H6pGMtXxQLjZYw66eqPDTC1DHtnBwGSmG+Wx/D/kg==}
|
||||
|
||||
/string_decoder@1.1.1:
|
||||
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
|
||||
|
||||
/supports-color@5.5.0:
|
||||
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/symbol-observable@2.0.3:
|
||||
resolution: {integrity: sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==}
|
||||
engines: {node: '>=0.10'}
|
||||
|
||||
/through2@2.0.5:
|
||||
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
|
||||
|
||||
/util-deprecate@1.0.2:
|
||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||
|
||||
/xtend@4.0.2:
|
||||
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
|
||||
engines: {node: '>=0.4'}
|
||||
|
||||
/zen-observable@0.7.1:
|
||||
resolution: {integrity: sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==}
|
||||
|
||||
/zen-push@0.2.1:
|
||||
resolution: {integrity: sha512-Qv4qvc8ZIue51B/0zmeIMxpIGDVhz4GhJALBvnKs/FRa2T7jy4Ori9wFwaHVt0zWV7MIFglKAHbgnVxVTw7U1w==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/@most/multicast@1.3.0(most@1.9.0):
|
||||
dependencies:
|
||||
'@most/prelude': 1.8.0
|
||||
most: 1.9.0
|
||||
dev: false
|
||||
|
||||
/@most/prelude@1.8.0:
|
||||
resolution: {integrity: sha512-t1CcURpZzfmBA6fEWwqmCqeNzWAj1w2WqEmCk/2yXMe/p8Ut000wFmVKMy8A1Rl9VVxZEZ5nBHd/pU0dR4bv/w==}
|
||||
dev: false
|
||||
|
||||
/@types/common-tags@1.8.4:
|
||||
resolution: {integrity: sha512-S+1hLDJPjWNDhcGxsxEbepzaxWqURP/o+3cP4aa2w7yBXgdcmKGQtZzP8JbyfOd0m+33nh+8+kvxYE2UJtBDkg==}
|
||||
dev: false
|
||||
|
||||
/@types/node@9.6.61:
|
||||
resolution: {integrity: sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==}
|
||||
dev: false
|
||||
|
||||
/@types/ramda@0.25.51:
|
||||
resolution: {integrity: sha512-xcmtfHIgF9SYjhGdsZR1nQslxG4hu0cIpFfLQ4CWdw3KzHvl7ki1AzFLQUkbDTG42ZN3ZsQfdRzXRlkAvbIy5Q==}
|
||||
dev: false
|
||||
|
||||
/@types/semver@5.5.0:
|
||||
resolution: {integrity: sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==}
|
||||
dev: false
|
||||
|
||||
/ansi-diff@1.1.1:
|
||||
resolution: {integrity: sha512-XnTdFDQzbEewrDx8epWXdw7oqHMvv315vEtfqDiEhhWghIf4++h26c3/FMz7iTLhNrnj56DNIXpbxHZq+3s6qw==}
|
||||
dependencies:
|
||||
ansi-split: 1.0.1
|
||||
dev: false
|
||||
|
||||
/ansi-regex@3.0.1:
|
||||
resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==}
|
||||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/ansi-split@1.0.1:
|
||||
resolution: {integrity: sha512-RRxQym4DFtDNmHIkW6aeFVvrXURb11lGAEPXNiryjCe8bK8RsANjzJ0M2aGOkvBYwP4Bl/xZ8ijtr6D3j1x/eg==}
|
||||
dependencies:
|
||||
ansi-regex: 3.0.1
|
||||
dev: false
|
||||
|
||||
/ansi-styles@3.2.1:
|
||||
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
color-convert: 1.9.3
|
||||
dev: false
|
||||
|
||||
/as-table@1.0.55:
|
||||
resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
|
||||
dependencies:
|
||||
printable-characters: 1.0.42
|
||||
dev: false
|
||||
|
||||
/chalk@2.4.2:
|
||||
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
ansi-styles: 3.2.1
|
||||
escape-string-regexp: 1.0.5
|
||||
@@ -83,38 +295,28 @@ packages:
|
||||
dev: false
|
||||
|
||||
/cli-cursor@2.1.0:
|
||||
resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
restore-cursor: 2.0.0
|
||||
dev: false
|
||||
|
||||
/color-convert@1.9.3:
|
||||
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
|
||||
dependencies:
|
||||
color-name: 1.1.3
|
||||
dev: false
|
||||
|
||||
/color-name@1.1.3:
|
||||
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
|
||||
dev: false
|
||||
|
||||
/common-tags@1.8.2:
|
||||
resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
|
||||
engines: {node: '>=4.0.0'}
|
||||
dev: false
|
||||
|
||||
/core-util-is@1.0.3:
|
||||
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
|
||||
dev: false
|
||||
|
||||
/data-uri-to-buffer@2.0.2:
|
||||
resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
|
||||
dev: false
|
||||
|
||||
/define-data-property@1.1.4:
|
||||
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dependencies:
|
||||
es-define-property: 1.0.0
|
||||
es-errors: 1.3.0
|
||||
@@ -122,8 +324,6 @@ packages:
|
||||
dev: false
|
||||
|
||||
/define-properties@1.2.1:
|
||||
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dependencies:
|
||||
define-data-property: 1.1.4
|
||||
has-property-descriptors: 1.0.2
|
||||
@@ -131,29 +331,20 @@ packages:
|
||||
dev: false
|
||||
|
||||
/es-define-property@1.0.0:
|
||||
resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dependencies:
|
||||
get-intrinsic: 1.2.4
|
||||
dev: false
|
||||
|
||||
/es-errors@1.3.0:
|
||||
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dev: false
|
||||
|
||||
/escape-string-regexp@1.0.5:
|
||||
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
|
||||
engines: {node: '>=0.8.0'}
|
||||
dev: false
|
||||
|
||||
/function-bind@1.1.2:
|
||||
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
|
||||
dev: false
|
||||
|
||||
/get-intrinsic@1.2.4:
|
||||
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dependencies:
|
||||
es-errors: 1.3.0
|
||||
function-bind: 1.1.2
|
||||
@@ -163,84 +354,61 @@ packages:
|
||||
dev: false
|
||||
|
||||
/get-source@1.0.42:
|
||||
resolution: {integrity: sha512-uM5xCIG5w2meVbiZaID4ajH6J8OfApqhlKXtZwsS/IIM9PLb0b2kc5sRdy78yEDfxsIYEWNk0OVxai6OpDCExA==}
|
||||
dependencies:
|
||||
data-uri-to-buffer: 2.0.2
|
||||
source-map: 0.6.1
|
||||
dev: false
|
||||
|
||||
/globalthis@1.0.3:
|
||||
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dependencies:
|
||||
define-properties: 1.2.1
|
||||
dev: false
|
||||
|
||||
/gopd@1.0.1:
|
||||
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
|
||||
dependencies:
|
||||
get-intrinsic: 1.2.4
|
||||
dev: false
|
||||
|
||||
/has-flag@3.0.0:
|
||||
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
|
||||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/has-property-descriptors@1.0.2:
|
||||
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
|
||||
dependencies:
|
||||
es-define-property: 1.0.0
|
||||
dev: false
|
||||
|
||||
/has-proto@1.0.1:
|
||||
resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dev: false
|
||||
|
||||
/has-symbols@1.0.3:
|
||||
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dev: false
|
||||
|
||||
/hasown@2.0.1:
|
||||
resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dependencies:
|
||||
function-bind: 1.1.2
|
||||
dev: false
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/isarray@1.0.0:
|
||||
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
|
||||
dev: false
|
||||
|
||||
/json-stringify-safe@5.0.1:
|
||||
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
|
||||
dev: false
|
||||
|
||||
/mimic-fn@1.2.0:
|
||||
resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
|
||||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/minimist@1.2.8:
|
||||
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||
dev: false
|
||||
|
||||
/most-last@1.0.1(most@1.9.0):
|
||||
resolution: {integrity: sha512-ycc+leSrXoGRjxhsZJW/l+Sk0CXj9e/z6EP5ebZ8A+zDWGRq1v/oeNkyQF4TG95LnT5Q0ysG+5piJYSR86k58A==}
|
||||
peerDependencies:
|
||||
most: ^1.0.3
|
||||
dependencies:
|
||||
most: 1.9.0
|
||||
dev: false
|
||||
|
||||
/most@1.9.0:
|
||||
resolution: {integrity: sha512-M7yHMcMGaclzEL6eg8Yh8PlAsaWfL/oSThF4+ZuWKM5CKXcbzmLh+qESwgZFzMKHJ+iVJwb28yFvDEOobI653w==}
|
||||
dependencies:
|
||||
'@most/multicast': 1.3.0(most@1.9.0)
|
||||
'@most/prelude': 1.8.0
|
||||
@@ -249,8 +417,6 @@ packages:
|
||||
dev: false
|
||||
|
||||
/ndjson@1.5.0:
|
||||
resolution: {integrity: sha512-hUPLuaziboGjNF7wHngkgVc0FOclR8dDk/HfEvTtDr/iUrqBWiRcRSTK3/nLOqKH33th714BrMmTPtObI9gZxQ==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
json-stringify-safe: 5.0.1
|
||||
minimist: 1.2.8
|
||||
@@ -259,23 +425,14 @@ packages:
|
||||
dev: false
|
||||
|
||||
/object-keys@1.1.1:
|
||||
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dev: false
|
||||
|
||||
/onetime@2.0.1:
|
||||
resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
mimic-fn: 1.2.0
|
||||
dev: false
|
||||
|
||||
/pnpm-default-reporter@0.14.7:
|
||||
resolution: {integrity: sha512-uHBIrBDxS/K82cGaxSQnhMYPJyYI4mX/28voWxqtFwIqhR0Gjf73EGN1wUc3lD38HdQDkCrSk5HBwp5N21AONw==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
supi: '>=0.12.5 <0.15.0'
|
||||
dependencies:
|
||||
'@types/common-tags': 1.8.4
|
||||
'@types/node': 9.6.61
|
||||
@@ -296,24 +453,18 @@ packages:
|
||||
dev: false
|
||||
|
||||
/pretty-bytes@4.0.2:
|
||||
resolution: {integrity: sha512-yJAF+AjbHKlxQ8eezMd/34Mnj/YTQ3i6kLzvVsH4l/BfIFtp444n0wVbnsn66JimZ9uBofv815aRp1zCppxlWw==}
|
||||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/printable-characters@1.0.42:
|
||||
resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==}
|
||||
dev: false
|
||||
|
||||
/process-nextick-args@2.0.1:
|
||||
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
|
||||
dev: false
|
||||
|
||||
/ramda@0.25.0:
|
||||
resolution: {integrity: sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==}
|
||||
dev: false
|
||||
|
||||
/readable-stream@2.3.8:
|
||||
resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
|
||||
dependencies:
|
||||
core-util-is: 1.0.3
|
||||
inherits: 2.0.4
|
||||
@@ -325,84 +476,63 @@ packages:
|
||||
dev: false
|
||||
|
||||
/restore-cursor@2.0.0:
|
||||
resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
onetime: 2.0.1
|
||||
signal-exit: 3.0.7
|
||||
dev: false
|
||||
|
||||
/safe-buffer@5.1.2:
|
||||
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
||||
dev: false
|
||||
|
||||
/semver@5.7.2:
|
||||
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/signal-exit@3.0.7:
|
||||
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
||||
dev: false
|
||||
|
||||
/source-map@0.6.1:
|
||||
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/split2@2.2.0:
|
||||
resolution: {integrity: sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==}
|
||||
dependencies:
|
||||
through2: 2.0.5
|
||||
dev: false
|
||||
|
||||
/stacktracey@1.2.127:
|
||||
resolution: {integrity: sha512-tj3BObW/adLIAQGGQ0flRTADrCv6KQ4VgncUO8NrQ7pk/H6pGMtXxQLjZYw66eqPDTC1DHtnBwGSmG+Wx/D/kg==}
|
||||
dependencies:
|
||||
as-table: 1.0.55
|
||||
get-source: 1.0.42
|
||||
dev: false
|
||||
|
||||
/string_decoder@1.1.1:
|
||||
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
|
||||
dependencies:
|
||||
safe-buffer: 5.1.2
|
||||
dev: false
|
||||
|
||||
/supports-color@5.5.0:
|
||||
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
has-flag: 3.0.0
|
||||
dev: false
|
||||
|
||||
/symbol-observable@2.0.3:
|
||||
resolution: {integrity: sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==}
|
||||
engines: {node: '>=0.10'}
|
||||
dev: false
|
||||
|
||||
/through2@2.0.5:
|
||||
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
|
||||
dependencies:
|
||||
readable-stream: 2.3.8
|
||||
xtend: 4.0.2
|
||||
dev: false
|
||||
|
||||
/util-deprecate@1.0.2:
|
||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||
dev: false
|
||||
|
||||
/xtend@4.0.2:
|
||||
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
|
||||
engines: {node: '>=0.4'}
|
||||
dev: false
|
||||
|
||||
/zen-observable@0.7.1:
|
||||
resolution: {integrity: sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==}
|
||||
dev: false
|
||||
|
||||
/zen-push@0.2.1:
|
||||
resolution: {integrity: sha512-Qv4qvc8ZIue51B/0zmeIMxpIGDVhz4GhJALBvnKs/FRa2T7jy4Ori9wFwaHVt0zWV7MIFglKAHbgnVxVTw7U1w==}
|
||||
dependencies:
|
||||
zen-observable: 0.7.1
|
||||
dev: false
|
||||
|
||||
25
pkg-manager/headless/test/fixtures/side-effects-of-subdep/pnpm-lock.yaml
generated
vendored
25
pkg-manager/headless/test/fixtures/side-effects-of-subdep/pnpm-lock.yaml
generated
vendored
@@ -22,24 +22,39 @@ packages:
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
|
||||
/diskusage@1.2.0:
|
||||
resolution: {integrity: sha512-2u3OG3xuf5MFyzc4MctNRUKjjwK+UkovRYdD2ed/NZNZPrt0lqHnLKxGhlFVvAb4/oufIgQG3nWgwmeTbHOvXA==}
|
||||
|
||||
/es6-promise@4.2.8:
|
||||
resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==}
|
||||
|
||||
/expire-fs@2.2.3:
|
||||
resolution: {integrity: sha512-ofQ0zNXKProir7/dtNAJiOucthMhraUznLiPd2MpoFexVi21BfGj0owPO5wMleO5cmSVOPRPJf8+XZqLpix4Ew==}
|
||||
|
||||
/ms@2.1.2:
|
||||
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
|
||||
|
||||
/nan@2.18.0:
|
||||
resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/debug@4.3.4:
|
||||
dependencies:
|
||||
ms: 2.1.2
|
||||
dev: false
|
||||
|
||||
/diskusage@1.2.0:
|
||||
resolution: {integrity: sha512-2u3OG3xuf5MFyzc4MctNRUKjjwK+UkovRYdD2ed/NZNZPrt0lqHnLKxGhlFVvAb4/oufIgQG3nWgwmeTbHOvXA==}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
es6-promise: 4.2.8
|
||||
nan: 2.18.0
|
||||
dev: false
|
||||
|
||||
/es6-promise@4.2.8:
|
||||
resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==}
|
||||
dev: false
|
||||
|
||||
/expire-fs@2.2.3:
|
||||
resolution: {integrity: sha512-ofQ0zNXKProir7/dtNAJiOucthMhraUznLiPd2MpoFexVi21BfGj0owPO5wMleO5cmSVOPRPJf8+XZqLpix4Ew==}
|
||||
dependencies:
|
||||
debug: 4.3.4
|
||||
diskusage: 1.2.0
|
||||
@@ -48,9 +63,7 @@ packages:
|
||||
dev: false
|
||||
|
||||
/ms@2.1.2:
|
||||
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
|
||||
dev: false
|
||||
|
||||
/nan@2.18.0:
|
||||
resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==}
|
||||
dev: false
|
||||
|
||||
9
pkg-manager/headless/test/fixtures/side-effects/pnpm-lock.yaml
generated
vendored
9
pkg-manager/headless/test/fixtures/side-effects/pnpm-lock.yaml
generated
vendored
@@ -17,11 +17,16 @@ packages:
|
||||
/@pnpm.e2e/hello-world-js-bin@1.0.0:
|
||||
resolution: {integrity: sha512-EDvJzSLCEMnUnrrIGdV+IUWP/8w+nUjOuay2u0KW20Mnfnm3lyrdquQ+gKPNAOUfAsKL1y21np1nQN0PyP+57A==}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/@pnpm.e2e/pre-and-postinstall-scripts-example@1.0.0:
|
||||
resolution: {integrity: sha512-0jRoMb0OT36kI9yyTeu2tUkLkxglmpL1yFS1BUm+fvt4qc22geBqALefFFv3eVWY/6c6GiRHRs6Gba9YPH7QDw==}
|
||||
requiresBuild: true
|
||||
|
||||
snapshots:
|
||||
|
||||
/@pnpm.e2e/hello-world-js-bin@1.0.0:
|
||||
dev: false
|
||||
|
||||
/@pnpm.e2e/pre-and-postinstall-scripts-example@1.0.0:
|
||||
dependencies:
|
||||
'@pnpm.e2e/hello-world-js-bin': 1.0.0
|
||||
dev: false
|
||||
|
||||
79
pkg-manager/headless/test/fixtures/simple-shamefully-flatten/pnpm-lock.yaml
generated
vendored
79
pkg-manager/headless/test/fixtures/simple-shamefully-flatten/pnpm-lock.yaml
generated
vendored
@@ -31,44 +31,92 @@ packages:
|
||||
/@pnpm.e2e/hello-world-js-bin@1.0.0:
|
||||
resolution: {integrity: sha512-EDvJzSLCEMnUnrrIGdV+IUWP/8w+nUjOuay2u0KW20Mnfnm3lyrdquQ+gKPNAOUfAsKL1y21np1nQN0PyP+57A==}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/@pnpm.e2e/pkg-with-peer-having-bin@1.0.0:
|
||||
resolution: {integrity: sha512-PjcOgsbOBI5KvVhVcKlP8cmzzszWgfdvwVzgMWdirrzU1zvq5O/fO1/5/YLLWw1RJ6M+VYu0t2GA08n1pqCxiA==}
|
||||
peerDependencies:
|
||||
'@pnpm.e2e/peer-with-bin': ^1.0.0
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
|
||||
/colors@1.2.0:
|
||||
resolution: {integrity: sha512-lweugcX5nailCqZBttArTojZZpHGWhmFJX78KJHlxwhM8tLAy5QCgRgRxrubrksdvA+2Y3inWG5TToyyjL82BQ==}
|
||||
engines: {node: '>=0.1.90'}
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
/is-negative@2.1.0:
|
||||
resolution: {integrity: sha512-+iCKT4ZcvjRnjkHnQjZ8/qfciLLGD8BFKS0GNR5VjDU6jEiwh899R0GSMkaYcuTNd7fEKXb3Qib0webe6HczNw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/@pnpm.e2e/hello-world-js-bin@1.0.0:
|
||||
dev: false
|
||||
|
||||
/@pnpm.e2e/pkg-with-peer-having-bin@1.0.0:
|
||||
dependencies:
|
||||
'@pnpm.e2e/hello-world-js-bin': 1.0.0
|
||||
dev: false
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
dev: false
|
||||
|
||||
/colors@1.2.0:
|
||||
resolution: {integrity: sha512-lweugcX5nailCqZBttArTojZZpHGWhmFJX78KJHlxwhM8tLAy5QCgRgRxrubrksdvA+2Y3inWG5TToyyjL82BQ==}
|
||||
engines: {node: '>=0.1.90'}
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
dev: false
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
dev: false
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
dependencies:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
@@ -79,50 +127,37 @@ packages:
|
||||
dev: false
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/is-negative@2.1.0:
|
||||
resolution: {integrity: sha512-+iCKT4ZcvjRnjkHnQjZ8/qfciLLGD8BFKS0GNR5VjDU6jEiwh899R0GSMkaYcuTNd7fEKXb3Qib0webe6HczNw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: false
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
dev: false
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: false
|
||||
|
||||
77
pkg-manager/headless/test/fixtures/simple-with-more-deps/pnpm-lock.yaml
generated
vendored
77
pkg-manager/headless/test/fixtures/simple-with-more-deps/pnpm-lock.yaml
generated
vendored
@@ -30,32 +30,80 @@ packages:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
|
||||
/colors@1.2.0:
|
||||
resolution: {integrity: sha512-lweugcX5nailCqZBttArTojZZpHGWhmFJX78KJHlxwhM8tLAy5QCgRgRxrubrksdvA+2Y3inWG5TToyyjL82BQ==}
|
||||
engines: {node: '>=0.1.90'}
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
/is-negative@2.1.0:
|
||||
resolution: {integrity: sha512-+iCKT4ZcvjRnjkHnQjZ8/qfciLLGD8BFKS0GNR5VjDU6jEiwh899R0GSMkaYcuTNd7fEKXb3Qib0webe6HczNw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/resolve-from@4.0.0:
|
||||
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
dev: false
|
||||
|
||||
/colors@1.2.0:
|
||||
resolution: {integrity: sha512-lweugcX5nailCqZBttArTojZZpHGWhmFJX78KJHlxwhM8tLAy5QCgRgRxrubrksdvA+2Y3inWG5TToyyjL82BQ==}
|
||||
engines: {node: '>=0.1.90'}
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
dev: false
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
dev: false
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
dependencies:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
@@ -66,55 +114,40 @@ packages:
|
||||
dev: false
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/is-negative@2.1.0:
|
||||
resolution: {integrity: sha512-+iCKT4ZcvjRnjkHnQjZ8/qfciLLGD8BFKS0GNR5VjDU6jEiwh899R0GSMkaYcuTNd7fEKXb3Qib0webe6HczNw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: false
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/resolve-from@4.0.0:
|
||||
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
|
||||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
dev: false
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: false
|
||||
|
||||
15
pkg-manager/headless/test/fixtures/simple-with-optional-dep/pnpm-lock.yaml
generated
vendored
15
pkg-manager/headless/test/fixtures/simple-with-optional-dep/pnpm-lock.yaml
generated
vendored
@@ -20,10 +20,20 @@ packages:
|
||||
|
||||
/@pnpm.e2e/dep-of-pkg-with-1-dep@100.1.0:
|
||||
resolution: {integrity: sha512-60+yiZtuRbojMieLzg4UxzBs5fxSVfRtTRNKvdfTaLTb/2XLZTZORTSWkz8ttCGmNbMv5Li2gP4TNgVFMbnYgw==}
|
||||
dev: false
|
||||
|
||||
/@pnpm.e2e/pkg-with-good-optional@1.0.0:
|
||||
resolution: {integrity: sha512-KfshZeGJiii1oEMjabBfxZ/rB14oJfE7wtFIRHmElIIZZHZlDtP1u4m8nBYrFKs4b8Dku4BCMV6pO0uMIVwHpQ==}
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
snapshots:
|
||||
|
||||
/@pnpm.e2e/dep-of-pkg-with-1-dep@100.1.0:
|
||||
dev: false
|
||||
|
||||
/@pnpm.e2e/pkg-with-good-optional@1.0.0:
|
||||
dependencies:
|
||||
'@pnpm.e2e/dep-of-pkg-with-1-dep': 100.1.0
|
||||
optionalDependencies:
|
||||
@@ -31,8 +41,5 @@ packages:
|
||||
dev: false
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
71
pkg-manager/headless/test/fixtures/simple/pnpm-lock.yaml
generated
vendored
71
pkg-manager/headless/test/fixtures/simple/pnpm-lock.yaml
generated
vendored
@@ -27,32 +27,76 @@ packages:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
|
||||
/colors@1.2.0:
|
||||
resolution: {integrity: sha512-lweugcX5nailCqZBttArTojZZpHGWhmFJX78KJHlxwhM8tLAy5QCgRgRxrubrksdvA+2Y3inWG5TToyyjL82BQ==}
|
||||
engines: {node: '>=0.1.90'}
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
/is-negative@2.1.0:
|
||||
resolution: {integrity: sha512-+iCKT4ZcvjRnjkHnQjZ8/qfciLLGD8BFKS0GNR5VjDU6jEiwh899R0GSMkaYcuTNd7fEKXb3Qib0webe6HczNw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
dev: false
|
||||
|
||||
/colors@1.2.0:
|
||||
resolution: {integrity: sha512-lweugcX5nailCqZBttArTojZZpHGWhmFJX78KJHlxwhM8tLAy5QCgRgRxrubrksdvA+2Y3inWG5TToyyjL82BQ==}
|
||||
engines: {node: '>=0.1.90'}
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
dev: false
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
dev: false
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
dependencies:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
@@ -63,50 +107,37 @@ packages:
|
||||
dev: false
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/is-negative@2.1.0:
|
||||
resolution: {integrity: sha512-+iCKT4ZcvjRnjkHnQjZ8/qfciLLGD8BFKS0GNR5VjDU6jEiwh899R0GSMkaYcuTNd7fEKXb3Qib0webe6HczNw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/is-positive@1.0.0:
|
||||
resolution: {integrity: sha512-xxzPGZ4P2uN6rROUa5N9Z7zTX6ERuE0hs6GUOc/cKBLF2NqKc16UwqHMt3tFg4CO6EBTE5UecUasg+3jZx3Ckg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: false
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
dev: false
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: false
|
||||
|
||||
48
pkg-manager/headless/test/fixtures/with-1-dep/pnpm-lock.yaml
generated
vendored
48
pkg-manager/headless/test/fixtures/with-1-dep/pnpm-lock.yaml
generated
vendored
@@ -16,21 +16,54 @@ packages:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
/glob@6.0.4:
|
||||
resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==}
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/rimraf@2.5.1:
|
||||
resolution: {integrity: sha512-CNymZDrSR9PfkqZnBWaIki7Wlba4c7GzSkSKsHHvjXswXmJA1hM8ZHFrNWIt4L/WcR9kOwvsJZpbxV4fygtXag==}
|
||||
hasBin: true
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
snapshots:
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
dev: false
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
dev: false
|
||||
|
||||
/glob@6.0.4:
|
||||
resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==}
|
||||
dependencies:
|
||||
inflight: 1.0.6
|
||||
inherits: 2.0.4
|
||||
@@ -40,40 +73,31 @@ packages:
|
||||
dev: false
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: false
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/rimraf@2.5.1:
|
||||
resolution: {integrity: sha512-CNymZDrSR9PfkqZnBWaIki7Wlba4c7GzSkSKsHHvjXswXmJA1hM8ZHFrNWIt4L/WcR9kOwvsJZpbxV4fygtXag==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
glob: 6.0.4
|
||||
dev: false
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: false
|
||||
|
||||
@@ -225,7 +225,7 @@ test('installing non-prod deps then all deps', async () => {
|
||||
|
||||
{
|
||||
const lockfile = project.readLockfile()
|
||||
expect(lockfile.packages['/is-positive@1.0.0'].dev === false).toBeTruthy()
|
||||
expect(lockfile.snapshots['/is-positive@1.0.0'].dev === false).toBeTruthy()
|
||||
}
|
||||
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@ exports[`pnpm dedupe updates old resolutions from importers block and removes ol
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -20,18 +20,6 @@
|
||||
@@ -20,99 +20,71 @@
|
||||
},
|
||||
"lockfileVersion": "7.0",
|
||||
"packages": Object {
|
||||
@@ -30,22 +30,25 @@ exports[`pnpm dedupe updates old resolutions from importers block and removes ol
|
||||
- },
|
||||
- },
|
||||
"/ajv@6.12.6": Object {
|
||||
"dependencies": Object {
|
||||
"fast-deep-equal": "3.1.3",
|
||||
@@ -42,24 +30,12 @@
|
||||
"dev": false,
|
||||
- "dependencies": Object {
|
||||
- "fast-deep-equal": "3.1.3",
|
||||
- "fast-json-stable-stringify": "2.1.0",
|
||||
- "json-schema-traverse": "0.4.1",
|
||||
- "uri-js": "4.4.1",
|
||||
- },
|
||||
- "dev": false,
|
||||
"resolution": Object {
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
- },
|
||||
- },
|
||||
},
|
||||
},
|
||||
- "/fast-deep-equal@2.0.1": Object {
|
||||
- "dev": false,
|
||||
- "resolution": Object {
|
||||
- "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==",
|
||||
},
|
||||
},
|
||||
- },
|
||||
- },
|
||||
"/fast-deep-equal@3.1.3": Object {
|
||||
"dev": false,
|
||||
- "dev": false,
|
||||
"resolution": Object {
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
||||
- },
|
||||
@@ -57,46 +60,92 @@ exports[`pnpm dedupe updates old resolutions from importers block and removes ol
|
||||
},
|
||||
},
|
||||
"/fast-json-stable-stringify@2.1.0": Object {
|
||||
@@ -73,16 +49,7 @@
|
||||
- "dev": false,
|
||||
"resolution": Object {
|
||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
|
||||
},
|
||||
},
|
||||
"/json-schema-traverse@0.4.1": Object {
|
||||
- "dev": false,
|
||||
"resolution": Object {
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
||||
},
|
||||
- },
|
||||
},
|
||||
- "/punycode@2.1.1": Object {
|
||||
- "dev": false,
|
||||
+ "/punycode@2.3.0": Object {
|
||||
"engines": Object {
|
||||
"node": ">=6",
|
||||
},
|
||||
"resolution": Object {
|
||||
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
|
||||
+ "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
|
||||
+ },
|
||||
},
|
||||
+ "/uri-js@4.4.1": Object {
|
||||
+ "resolution": Object {
|
||||
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
||||
},
|
||||
- "/punycode@2.3.0": Object {
|
||||
- "dev": false,
|
||||
- "engines": Object {
|
||||
- "node": ">=6",
|
||||
},
|
||||
- "resolution": Object {
|
||||
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
|
||||
- },
|
||||
- },
|
||||
"/punycode@2.3.0": Object {
|
||||
"dev": false,
|
||||
"engines": Object {
|
||||
@@ -90,15 +57,6 @@
|
||||
},
|
||||
"resolution": Object {
|
||||
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
|
||||
- },
|
||||
- },
|
||||
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
|
||||
},
|
||||
+ "settings": Object {
|
||||
+ "autoInstallPeers": true,
|
||||
+ "excludeLinksFromLockfile": false,
|
||||
},
|
||||
- "/uri-js@4.2.2": Object {
|
||||
- "dependencies": Object {
|
||||
+ "snapshots": Object {
|
||||
+ "/ajv@6.12.6": Object {
|
||||
"dependencies": Object {
|
||||
- "punycode": "2.1.1",
|
||||
- },
|
||||
- "dev": false,
|
||||
+ "fast-deep-equal": "3.1.3",
|
||||
+ "fast-json-stable-stringify": "2.1.0",
|
||||
+ "json-schema-traverse": "0.4.1",
|
||||
+ "uri-js": "4.4.1",
|
||||
+ },
|
||||
+ "dev": false,
|
||||
},
|
||||
+ "/fast-deep-equal@3.1.3": Object {
|
||||
"dev": false,
|
||||
- "resolution": Object {
|
||||
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
|
||||
},
|
||||
+ },
|
||||
+ "/fast-json-stable-stringify@2.1.0": Object {
|
||||
+ "dev": false,
|
||||
},
|
||||
"/uri-js@4.4.1": Object {"
|
||||
+ "/json-schema-traverse@0.4.1": Object {
|
||||
+ "dev": false,
|
||||
},
|
||||
+ "/punycode@2.3.0": Object {
|
||||
+ "dev": false,
|
||||
+ },
|
||||
"/uri-js@4.4.1": Object {
|
||||
"dependencies": Object {
|
||||
"punycode": "2.3.0",
|
||||
},
|
||||
"dev": false,
|
||||
- "resolution": Object {
|
||||
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
||||
},
|
||||
- },
|
||||
- },
|
||||
- "settings": Object {
|
||||
- "autoInstallPeers": true,
|
||||
- "excludeLinksFromLockfile": false,
|
||||
},
|
||||
}"
|
||||
`;
|
||||
|
||||
exports[`pnpm dedupe updates old resolutions from package block 1`] = `
|
||||
"- Expected
|
||||
+ Received
|
||||
|
||||
@@ -20,15 +20,6 @@
|
||||
@@ -20,17 +20,7 @@
|
||||
},
|
||||
"lockfileVersion": "7.0",
|
||||
"packages": Object {
|
||||
@@ -110,15 +159,51 @@ exports[`pnpm dedupe updates old resolutions from package block 1`] = `
|
||||
- },
|
||||
- },
|
||||
"/punycode@2.3.0": Object {
|
||||
"dev": false,
|
||||
- "dev": false,
|
||||
"engines": Object {
|
||||
@@ -40,7 +31,7 @@
|
||||
"node": ">=6",
|
||||
},
|
||||
@@ -39,19 +29,11 @@
|
||||
},
|
||||
},
|
||||
"/uri-js@4.2.2": Object {
|
||||
"dependencies": Object {
|
||||
- "dependencies": Object {
|
||||
- "punycode": "2.1.1",
|
||||
+ "punycode": "2.3.0",
|
||||
- },
|
||||
- "dev": false,
|
||||
"resolution": Object {
|
||||
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
|
||||
},
|
||||
"dev": false,
|
||||
"resolution": Object {"
|
||||
},
|
||||
"/uri-js@4.4.1": Object {
|
||||
- "dependencies": Object {
|
||||
- "punycode": "2.3.0",
|
||||
- },
|
||||
- "dev": false,
|
||||
"resolution": Object {
|
||||
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
||||
},
|
||||
@@ -60,5 +42,22 @@
|
||||
"settings": Object {
|
||||
"autoInstallPeers": true,
|
||||
"excludeLinksFromLockfile": false,
|
||||
+ },
|
||||
+ "snapshots": Object {
|
||||
+ "/punycode@2.3.0": Object {
|
||||
+ "dev": false,
|
||||
+ },
|
||||
+ "/uri-js@4.2.2": Object {
|
||||
+ "dependencies": Object {
|
||||
+ "punycode": "2.3.0",
|
||||
+ },
|
||||
+ "dev": false,
|
||||
+ },
|
||||
+ "/uri-js@4.4.1": Object {
|
||||
+ "dependencies": Object {
|
||||
+ "punycode": "2.3.0",
|
||||
+ },
|
||||
+ "dev": false,
|
||||
+ },
|
||||
},
|
||||
}"
|
||||
`;
|
||||
|
||||
35
pnpm-lock.yaml
generated
35
pnpm-lock.yaml
generated
@@ -25,6 +25,9 @@ overrides:
|
||||
packageExtensionsChecksum: c10f23a87945689e805208f26d04480d
|
||||
|
||||
patchedDependencies:
|
||||
'@zkochan/js-yaml@0.0.6':
|
||||
hash: wqtk5n3rzxb75j47xc7cwv6dje
|
||||
path: __patches__/@zkochan__js-yaml@0.0.6.patch
|
||||
graceful-fs@4.2.11:
|
||||
hash: ivtm2a2cfr5pomcfbedhmr5v2q
|
||||
path: __patches__/graceful-fs@4.2.11.patch
|
||||
@@ -2106,6 +2109,9 @@ importers:
|
||||
'@pnpm/lockfile-types':
|
||||
specifier: workspace:*
|
||||
version: link:../lockfile-types
|
||||
'@pnpm/lockfile-utils':
|
||||
specifier: workspace:*
|
||||
version: link:../lockfile-utils
|
||||
'@pnpm/logger':
|
||||
specifier: ^5.0.0
|
||||
version: 5.0.0
|
||||
@@ -2126,7 +2132,7 @@ importers:
|
||||
version: 1.0.0
|
||||
js-yaml:
|
||||
specifier: npm:@zkochan/js-yaml@0.0.6
|
||||
version: /@zkochan/js-yaml@0.0.6
|
||||
version: /@zkochan/js-yaml@0.0.6(patch_hash=wqtk5n3rzxb75j47xc7cwv6dje)
|
||||
normalize-path:
|
||||
specifier: ^3.0.0
|
||||
version: 3.0.0
|
||||
@@ -2672,6 +2678,12 @@ importers:
|
||||
'@types/ramda':
|
||||
specifier: 0.28.20
|
||||
version: 0.28.20
|
||||
execa:
|
||||
specifier: npm:safe-execa@0.1.2
|
||||
version: /safe-execa@0.1.2
|
||||
pnpm:
|
||||
specifier: workspace:^
|
||||
version: link:../../pnpm
|
||||
|
||||
packages/parse-wanted-dependency:
|
||||
dependencies:
|
||||
@@ -7837,7 +7849,7 @@ packages:
|
||||
globals: 13.24.0
|
||||
ignore: 5.3.1
|
||||
import-fresh: 3.3.0
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6(patch_hash=wqtk5n3rzxb75j47xc7cwv6dje)
|
||||
minimatch: 3.1.2
|
||||
strip-json-comments: 3.1.1
|
||||
transitivePeerDependencies:
|
||||
@@ -9675,10 +9687,11 @@ packages:
|
||||
istanbul-lib-report: 3.0.1
|
||||
dev: true
|
||||
|
||||
/@zkochan/js-yaml@0.0.6:
|
||||
/@zkochan/js-yaml@0.0.6(patch_hash=wqtk5n3rzxb75j47xc7cwv6dje):
|
||||
resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==}
|
||||
dependencies:
|
||||
argparse: 2.0.1
|
||||
patched: true
|
||||
|
||||
/@zkochan/retry@0.2.0:
|
||||
resolution: {integrity: sha512-WhB+2B/ZPlW2Xy/kMJBrMbqecWXcbDDgn0K0wKBAgO2OlBTz1iLJrRWduo+DGGn0Akvz1Lu4Xvls7dJojximWw==}
|
||||
@@ -9704,6 +9717,7 @@ packages:
|
||||
/@zkochan/which@2.0.3:
|
||||
resolution: {integrity: sha512-C1ReN7vt2/2O0fyTsx5xnbQuxBrmG5NMSbcIkPKCCfCTJgpZBsuRYzFXHj3nVq8vTfK7vxHUmzfCpSHgO7j4rg==}
|
||||
engines: {node: '>= 8'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
isexe: 2.0.0
|
||||
|
||||
@@ -10887,7 +10901,7 @@ packages:
|
||||
engines: {node: '>=14'}
|
||||
dependencies:
|
||||
import-fresh: 3.3.0
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6(patch_hash=wqtk5n3rzxb75j47xc7cwv6dje)
|
||||
parse-json: 5.2.0
|
||||
path-type: 4.0.0
|
||||
dev: true
|
||||
@@ -10902,7 +10916,7 @@ packages:
|
||||
optional: true
|
||||
dependencies:
|
||||
import-fresh: 3.3.0
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6(patch_hash=wqtk5n3rzxb75j47xc7cwv6dje)
|
||||
parse-json: 5.2.0
|
||||
path-type: 4.0.0
|
||||
typescript: 5.3.3
|
||||
@@ -11846,7 +11860,7 @@ packages:
|
||||
imurmurhash: 0.1.4
|
||||
is-glob: 4.0.3
|
||||
is-path-inside: 3.0.3
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6(patch_hash=wqtk5n3rzxb75j47xc7cwv6dje)
|
||||
json-stable-stringify-without-jsonify: 1.0.1
|
||||
levn: 0.4.1
|
||||
lodash.merge: 4.6.2
|
||||
@@ -15775,7 +15789,7 @@ packages:
|
||||
resolution: {integrity: sha512-UkRNRIwnhG+y7hpqnycCL/xbTk7+ia9VuVTC0S+zVbwd65DI9eUpRMfsWIGrCWxTU/mi+JW8cHQCrv+zfCbEPQ==}
|
||||
engines: {node: '>=10.13'}
|
||||
dependencies:
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6(patch_hash=wqtk5n3rzxb75j47xc7cwv6dje)
|
||||
strip-bom: 4.0.0
|
||||
|
||||
/readable-stream@2.3.8:
|
||||
@@ -17525,7 +17539,7 @@ packages:
|
||||
fast-safe-stringify: 2.1.1
|
||||
handlebars: 4.7.7
|
||||
http-errors: 2.0.0
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6(patch_hash=wqtk5n3rzxb75j47xc7cwv6dje)
|
||||
jsonwebtoken: 9.0.0
|
||||
kleur: 4.1.5
|
||||
lodash: 4.17.21
|
||||
@@ -17857,14 +17871,14 @@ packages:
|
||||
resolution: {integrity: sha512-LwyucHy0uhWqbrOkh9cBluZBeNVxzHjDaE9mwepZG3n3ZlbM4v3ndrFw51zW/NXYFFqP+QWZ72ihtLWTh05e4Q==}
|
||||
engines: {node: '>=10.13'}
|
||||
dependencies:
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6(patch_hash=wqtk5n3rzxb75j47xc7cwv6dje)
|
||||
write-file-atomic: 3.0.3
|
||||
|
||||
/write-yaml-file@5.0.0:
|
||||
resolution: {integrity: sha512-FdNA4RyH1L43TlvGG8qOMIfcEczwA5ij+zLXUy3Z83CjxhLvcV7/Q/8pk22wnCgYw7PJhtK+7lhO+qqyT4NdvQ==}
|
||||
engines: {node: '>=16.14'}
|
||||
dependencies:
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6
|
||||
js-yaml: /@zkochan/js-yaml@0.0.6(patch_hash=wqtk5n3rzxb75j47xc7cwv6dje)
|
||||
write-file-atomic: 5.0.1
|
||||
|
||||
/xdg-basedir@5.1.0:
|
||||
@@ -18001,4 +18015,5 @@ packages:
|
||||
time:
|
||||
/fuse-native@2.2.6: '2020-06-03T19:26:36.838Z'
|
||||
/node-gyp@10.0.1: '2023-11-02T18:13:42.360Z'
|
||||
/safe-execa@0.1.2: '2022-07-18T01:09:17.517Z'
|
||||
/symlink-dir@5.2.1: '2023-12-24T23:15:15.543Z'
|
||||
|
||||
@@ -275,7 +275,7 @@ test('adding or changing pnpmfile should change pnpmfileChecksum and module stru
|
||||
|
||||
const lockfile2 = project.readLockfile()
|
||||
expect(lockfile2.pnpmfileChecksum).toBe(createBase32Hash(pnpmfile2))
|
||||
expect(lockfile2.packages).toMatchObject({
|
||||
expect(lockfile2.snapshots).toMatchObject({
|
||||
'/@pnpm.e2e/foo@100.0.0': expect.any(Object),
|
||||
'/@pnpm.e2e/bar@100.0.0': expect.any(Object),
|
||||
'/@pnpm.e2e/pkg-with-good-optional@1.0.0': {
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { type Lockfile } from '@pnpm/lockfile-types'
|
||||
import { type LockfileV7 as Lockfile } from '@pnpm/lockfile-types'
|
||||
import { prepare, preparePackages } from '@pnpm/prepare'
|
||||
import { createPeersDirSuffix } from '@pnpm/dependency-path'
|
||||
import { sync as readYamlFile } from 'read-yaml-file'
|
||||
import loadJsonFile from 'load-json-file'
|
||||
import { sync as writeYamlFile } from 'write-yaml-file'
|
||||
@@ -249,10 +248,10 @@ test('readPackage hook from pnpmfile at root of workspace', async () => {
|
||||
process.chdir('..')
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>('pnpm-lock.yaml')
|
||||
expect(lockfile.packages!['/is-positive@1.0.0'].dependencies).toStrictEqual({
|
||||
expect(lockfile.snapshots!['/is-positive@1.0.0'].dependencies).toStrictEqual({
|
||||
'@pnpm.e2e/dep-of-pkg-with-1-dep': '100.1.0',
|
||||
})
|
||||
expect(lockfile.packages!['/is-negative@1.0.0'].dependencies).toStrictEqual({
|
||||
expect(lockfile.snapshots!['/is-negative@1.0.0'].dependencies).toStrictEqual({
|
||||
'@pnpm.e2e/dep-of-pkg-with-1-dep': '100.1.0',
|
||||
})
|
||||
})
|
||||
@@ -613,8 +612,7 @@ test('readPackage hook is used during removal inside a workspace', async () => {
|
||||
|
||||
process.chdir('..')
|
||||
const lockfile = readYamlFile<Lockfile>('pnpm-lock.yaml')
|
||||
const suffix = createPeersDirSuffix([{ name: '@pnpm.e2e/peer-a', version: '1.0.0' }, { name: 'is-negative', version: '1.0.0' }])
|
||||
expect(lockfile.packages![`/@pnpm.e2e/abc@1.0.0${suffix}`].peerDependencies!['is-negative']).toBe('1.0.0')
|
||||
expect(lockfile.packages!['/@pnpm.e2e/abc@1.0.0'].peerDependencies!['is-negative']).toBe('1.0.0')
|
||||
})
|
||||
|
||||
test('preResolution hook', async () => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { WANTED_LOCKFILE } from '@pnpm/constants'
|
||||
import { type Lockfile } from '@pnpm/lockfile-types'
|
||||
import { type LockfileV7 as Lockfile } from '@pnpm/lockfile-types'
|
||||
import { preparePackages } from '@pnpm/prepare'
|
||||
import { addDistTag } from '@pnpm/registry-mock'
|
||||
import { sync as readYamlFile } from 'read-yaml-file'
|
||||
@@ -42,7 +42,7 @@ auto-install-peers=false`, 'utf8')
|
||||
await execPnpm(['--filter=project-2', 'add', '@pnpm.e2e/abc@1.0.0'])
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>(path.resolve(WANTED_LOCKFILE))
|
||||
const depPaths = Object.keys(lockfile.packages ?? {})
|
||||
const depPaths = Object.keys(lockfile.snapshots ?? {})
|
||||
expect(depPaths.length).toBe(8)
|
||||
expect(depPaths).toContain(`/@pnpm.e2e/abc@1.0.0${createPeersDirSuffix([{ name: '@pnpm.e2e/peer-a', version: '1.0.0' }, { name: '@pnpm.e2e/peer-b', version: '1.0.0' }, { name: '@pnpm.e2e/peer-c', version: '1.0.0' }])}`)
|
||||
expect(depPaths).toContain(`/@pnpm.e2e/abc-parent-with-ab@1.0.0${createPeersDirSuffix([{ name: '@pnpm.e2e/peer-c', version: '1.0.0' }])}`)
|
||||
|
||||
@@ -3,7 +3,7 @@ import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { LOCKFILE_VERSION, WANTED_LOCKFILE } from '@pnpm/constants'
|
||||
import { findWorkspacePackages } from '@pnpm/workspace.find-packages'
|
||||
import { type LockfileFile } from '@pnpm/lockfile-types'
|
||||
import { type LockfileFileV7 as LockfileFile } from '@pnpm/lockfile-types'
|
||||
import { readModulesManifest } from '@pnpm/modules-yaml'
|
||||
import {
|
||||
prepare,
|
||||
@@ -975,7 +975,6 @@ test("shared-workspace-lockfile: don't install dependencies in projects that are
|
||||
lockfileVersion: LOCKFILE_VERSION,
|
||||
packages: {
|
||||
'/is-positive@1.0.0': {
|
||||
dev: false,
|
||||
engines: {
|
||||
node: '>=0.10.0',
|
||||
},
|
||||
@@ -984,6 +983,11 @@ test("shared-workspace-lockfile: don't install dependencies in projects that are
|
||||
},
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/is-positive@1.0.0': {
|
||||
dev: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1076,7 +1080,6 @@ test('shared-workspace-lockfile: install dependencies in projects that are relat
|
||||
lockfileVersion: LOCKFILE_VERSION,
|
||||
packages: {
|
||||
'/is-negative@1.0.0': {
|
||||
dev: false,
|
||||
engines: {
|
||||
node: '>=0.10.0',
|
||||
},
|
||||
@@ -1085,7 +1088,6 @@ test('shared-workspace-lockfile: install dependencies in projects that are relat
|
||||
},
|
||||
},
|
||||
'/is-positive@1.0.0': {
|
||||
dev: false,
|
||||
engines: {
|
||||
node: '>=0.10.0',
|
||||
},
|
||||
@@ -1094,6 +1096,14 @@ test('shared-workspace-lockfile: install dependencies in projects that are relat
|
||||
},
|
||||
},
|
||||
},
|
||||
snapshots: {
|
||||
'/is-negative@1.0.0': {
|
||||
dev: false,
|
||||
},
|
||||
'/is-positive@1.0.0': {
|
||||
dev: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1847,7 +1857,7 @@ test('peer dependencies are resolved from the root of the workspace when a new d
|
||||
await execPnpm(['add', 'ajv-keywords@1.5.0', '--strict-peer-dependencies', '--config.resolve-peers-from-workspace-root=true'])
|
||||
|
||||
const lockfile = projects['project-1'].readLockfile()
|
||||
expect(lockfile.packages).toHaveProperty(['/ajv-keywords@1.5.0(ajv@4.10.4)'])
|
||||
expect(lockfile.snapshots).toHaveProperty(['/ajv-keywords@1.5.0(ajv@4.10.4)'])
|
||||
})
|
||||
|
||||
test('overrides in workspace project should be taken into account when shared-workspace-lockfiles is false', async () => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import fs from 'fs'
|
||||
import { WANTED_LOCKFILE } from '@pnpm/constants'
|
||||
import type { Lockfile } from '@pnpm/lockfile-types'
|
||||
import { type LockfileV7 as Lockfile } from '@pnpm/lockfile-types'
|
||||
import { preparePackages } from '@pnpm/prepare'
|
||||
import { sync as readYamlFile } from 'read-yaml-file'
|
||||
import { sync as writeYamlFile } from 'write-yaml-file'
|
||||
@@ -31,5 +31,5 @@ test('peer dependency is not unlinked when adding a new dependency', async () =>
|
||||
await execPnpm(['--filter=project-1', 'add', 'is-odd@1.0.0'])
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>(WANTED_LOCKFILE)
|
||||
expect(Object.keys(lockfile!.packages!)).toContain('/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@@pnpm.e2e+peer-a)')
|
||||
expect(Object.keys(lockfile!.snapshots!)).toContain('/@pnpm.e2e/abc@1.0.0(@pnpm.e2e/peer-a@@pnpm.e2e+peer-a)')
|
||||
})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { prepare, preparePackages } from '@pnpm/prepare'
|
||||
import { type Lockfile } from '@pnpm/lockfile-types'
|
||||
import { type LockfileV7 as Lockfile } from '@pnpm/lockfile-types'
|
||||
import { sync as readYamlFile } from 'read-yaml-file'
|
||||
import { isCI } from 'ci-info'
|
||||
import isWindows from 'is-windows'
|
||||
@@ -228,7 +228,7 @@ test('recursive installation of packages in workspace ignores hooks in packages'
|
||||
await execPnpm(['install'])
|
||||
|
||||
const lockfile = readYamlFile<Lockfile>('pnpm-lock.yaml')
|
||||
const depPaths = Object.keys(lockfile.packages ?? [])
|
||||
const depPaths = Object.keys(lockfile.snapshots ?? {})
|
||||
expect(depPaths).not.toContain('/@pnpm.e2e/dep-of-pkg-with-1-dep@100.1.0')
|
||||
expect(depPaths).toContain('/is-number@1.0.0')
|
||||
})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { assertStore } from '@pnpm/assert-store'
|
||||
import { type LockfileFile } from '@pnpm/lockfile-file'
|
||||
import { type LockfileFileV7 as LockfileFile } from '@pnpm/lockfile-file'
|
||||
import { store } from '@pnpm/plugin-commands-store'
|
||||
import { prepare } from '@pnpm/prepare'
|
||||
import { REGISTRY_MOCK_PORT } from '@pnpm/registry-mock'
|
||||
@@ -137,9 +137,9 @@ test('keep dependencies used by others', async () => {
|
||||
|
||||
// all dependencies are marked as dev
|
||||
const lockfile = project.readLockfile() as LockfileFile
|
||||
expect(isEmpty(lockfile.packages)).toBeFalsy()
|
||||
expect(isEmpty(lockfile.snapshots)).toBeFalsy()
|
||||
|
||||
Object.entries(lockfile.packages ?? {}).forEach(([_, dep]) => {
|
||||
Object.entries(lockfile.snapshots ?? {}).forEach(([_, dep]) => {
|
||||
expect(dep.dev).toBeTruthy()
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user