mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-27 10:30:58 -04:00
fix(override): relative file in workspace (#8055)
close #8053 --------- Co-authored-by: Zoltan Kochan <z@kochan.io>
This commit is contained in:
6
.changeset/bright-brooms-hang.md
Normal file
6
.changeset/bright-brooms-hang.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@pnpm/hooks.read-package-hook": patch
|
||||
"pnpm": patch
|
||||
---
|
||||
|
||||
Overrides with `link:` now preserves absolute path.
|
||||
6
.changeset/curvy-scissors-push.md
Normal file
6
.changeset/curvy-scissors-push.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@pnpm/hooks.read-package-hook": patch
|
||||
"pnpm": patch
|
||||
---
|
||||
|
||||
Fix incorrect path when resolving relative `file:` overrides for workspace package.
|
||||
@@ -44,7 +44,7 @@
|
||||
"@pnpm/constants": "workspace:*",
|
||||
"@pnpm/lockfile-types": "workspace:*",
|
||||
"@pnpm/modules-yaml": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/types": "workspace:*",
|
||||
"is-windows": "^1.0.2",
|
||||
"isexe": "2.0.0",
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
"test": "pnpm pretest && pnpm run compile && jest"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/store.cafs": "workspace:*",
|
||||
"path-exists": "^4.0.0"
|
||||
},
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"@pnpm/filter-workspace-packages": "workspace:*",
|
||||
"@pnpm/plugin-commands-rebuild": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
"@pnpm/test-ipc-server": "workspace:*",
|
||||
"@types/ramda": "0.29.12",
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"@pnpm/filter-workspace-packages": "workspace:*",
|
||||
"@pnpm/plugin-commands-script-runners": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/test-ipc-server": "workspace:*",
|
||||
"@types/is-windows": "^1.0.2",
|
||||
"@types/ramda": "0.29.12",
|
||||
|
||||
@@ -15,19 +15,9 @@ export function createVersionsOverrider (
|
||||
const [versionOverrides, genericVersionOverrides] = partition(({ parentPkg }) => parentPkg != null,
|
||||
parsedOverrides
|
||||
.map((override) => {
|
||||
let linkTarget: string | undefined
|
||||
if (override.newPref.startsWith('link:')) {
|
||||
const pkgPath = override.newPref.substring(5)
|
||||
linkTarget = path.isAbsolute(pkgPath) ? pkgPath : path.join(rootDir, pkgPath)
|
||||
}
|
||||
let linkFileTarget: string | undefined
|
||||
if (override.newPref.startsWith('file:')) {
|
||||
linkFileTarget = override.newPref.substring(5)
|
||||
}
|
||||
return {
|
||||
...override,
|
||||
linkTarget,
|
||||
linkFileTarget,
|
||||
localTarget: createLocalTarget(override, rootDir),
|
||||
}
|
||||
})
|
||||
) as [VersionOverrideWithParent[], VersionOverride[]]
|
||||
@@ -52,9 +42,31 @@ function tryParseOverrides (overrides: Record<string, string>): VersionOverrideB
|
||||
}
|
||||
}
|
||||
|
||||
interface LocalTarget {
|
||||
protocol: LocalProtocol
|
||||
absolutePath: string
|
||||
specifiedViaRelativePath: boolean
|
||||
}
|
||||
|
||||
type LocalProtocol = 'link:' | 'file:'
|
||||
|
||||
function createLocalTarget (override: VersionOverrideBase, rootDir: string): LocalTarget | undefined {
|
||||
let protocol: LocalProtocol | undefined
|
||||
if (override.newPref.startsWith('file:')) {
|
||||
protocol = 'file:'
|
||||
} else if (override.newPref.startsWith('link:')) {
|
||||
protocol = 'link:'
|
||||
} else {
|
||||
return undefined
|
||||
}
|
||||
const pkgPath = override.newPref.substring(protocol.length)
|
||||
const specifiedViaRelativePath = !path.isAbsolute(pkgPath)
|
||||
const absolutePath = specifiedViaRelativePath ? path.join(rootDir, pkgPath) : pkgPath
|
||||
return { absolutePath, specifiedViaRelativePath, protocol }
|
||||
}
|
||||
|
||||
interface VersionOverride extends VersionOverrideBase {
|
||||
linkTarget?: string
|
||||
linkFileTarget?: string
|
||||
localTarget?: LocalTarget
|
||||
}
|
||||
|
||||
interface VersionOverrideWithParent extends VersionOverride {
|
||||
@@ -97,22 +109,20 @@ function overrideDeps (
|
||||
)
|
||||
if (!versionOverride) continue
|
||||
|
||||
if (versionOverride.linkTarget && dir) {
|
||||
deps[versionOverride.targetPkg.name] = `link:${normalizePath(
|
||||
path.relative(dir, versionOverride.linkTarget)
|
||||
)}`
|
||||
continue
|
||||
}
|
||||
if (versionOverride.linkFileTarget) {
|
||||
deps[
|
||||
versionOverride.targetPkg.name
|
||||
] = `file:${versionOverride.linkFileTarget}`
|
||||
if (versionOverride.localTarget) {
|
||||
deps[versionOverride.targetPkg.name] = `${versionOverride.localTarget.protocol}${resolveLocalOverride(versionOverride.localTarget, dir)}`
|
||||
continue
|
||||
}
|
||||
deps[versionOverride.targetPkg.name] = versionOverride.newPref
|
||||
}
|
||||
}
|
||||
|
||||
function resolveLocalOverride ({ specifiedViaRelativePath, absolutePath }: LocalTarget, pkgDir?: string): string {
|
||||
return specifiedViaRelativePath && pkgDir
|
||||
? normalizePath(path.relative(pkgDir, absolutePath))
|
||||
: absolutePath
|
||||
}
|
||||
|
||||
function pickMostSpecificVersionOverride (versionOverrides: VersionOverride[]): VersionOverride | undefined {
|
||||
return versionOverrides.sort((a, b) => isIntersectingRange(b.targetPkg.pref ?? '', a.targetPkg.pref ?? '') ? -1 : 1)[0]
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import path from 'path'
|
||||
import { createVersionsOverrider } from '../lib/createVersionsOverrider'
|
||||
import normalizePath from 'normalize-path'
|
||||
|
||||
test('createVersionsOverrider() matches sub-ranges', () => {
|
||||
const overrider = createVersionsOverrider({
|
||||
@@ -165,7 +164,7 @@ test('createVersionsOverrider() overrides dependencies with absolute links', ()
|
||||
name: 'foo',
|
||||
version: '1.2.0',
|
||||
dependencies: {
|
||||
qar: `link:${normalizePath(path.relative(path.resolve('pkg'), qarAbsolutePath))}`,
|
||||
qar: `link:${qarAbsolutePath}`,
|
||||
},
|
||||
})
|
||||
})
|
||||
@@ -275,17 +274,18 @@ test('createVersionsOverrider() should work for scoped parent and scoped child',
|
||||
})
|
||||
})
|
||||
|
||||
test('createVersionsOverrider() overrides dependencies with file with relative path', () => {
|
||||
test('createVersionsOverrider() overrides dependencies with file with relative path for root package', () => {
|
||||
const rootDir = process.cwd()
|
||||
const overrider = createVersionsOverrider({
|
||||
qar: 'file:../qar',
|
||||
}, process.cwd())
|
||||
}, rootDir)
|
||||
expect(overrider({
|
||||
name: 'foo',
|
||||
version: '1.2.0',
|
||||
dependencies: {
|
||||
qar: '3.0.0',
|
||||
},
|
||||
}, path.resolve('pkg'))).toStrictEqual({
|
||||
}, rootDir)).toStrictEqual({
|
||||
name: 'foo',
|
||||
version: '1.2.0',
|
||||
dependencies: {
|
||||
@@ -294,6 +294,26 @@ test('createVersionsOverrider() overrides dependencies with file with relative p
|
||||
})
|
||||
})
|
||||
|
||||
test('createVersionsOverrider() overrides dependencies with file with relative path for workspace package', () => {
|
||||
const rootDir = process.cwd()
|
||||
const overrider = createVersionsOverrider({
|
||||
qar: 'file:../qar',
|
||||
}, rootDir)
|
||||
expect(overrider({
|
||||
name: 'foo',
|
||||
version: '1.2.0',
|
||||
dependencies: {
|
||||
qar: '3.0.0',
|
||||
},
|
||||
}, path.join(rootDir, 'packages', 'pkg'))).toStrictEqual({
|
||||
name: 'foo',
|
||||
version: '1.2.0',
|
||||
dependencies: {
|
||||
qar: 'file:../../../qar',
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
test('createVersionsOverrider() overrides dependencies with file specified with absolute path', () => {
|
||||
const absolutePath = path.join(__dirname, 'qar')
|
||||
const overrider = createVersionsOverrider({
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"@commitlint/prompt-cli": "^17.8.1",
|
||||
"@pnpm/eslint-config": "workspace:*",
|
||||
"@pnpm/meta-updater": "1.0.0",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/tsconfig": "workspace:*",
|
||||
"@pnpm/worker": "workspace:*",
|
||||
"@types/jest": "^29.5.12",
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"@pnpm/filter-workspace-packages": "workspace:*",
|
||||
"@pnpm/plugin-commands-patching": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
"@types/normalize-path": "^3.0.2",
|
||||
"@types/ramda": "0.29.12",
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
"@pnpm/lockfile-types": "workspace:*",
|
||||
"@pnpm/package-store": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/store-path": "workspace:*",
|
||||
"@pnpm/store.cafs": "workspace:*",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
import path from 'path'
|
||||
import fs from 'fs'
|
||||
import { sync as readYamlFile } from 'read-yaml-file'
|
||||
import { PnpmError } from '@pnpm/error'
|
||||
import { prepareEmpty } from '@pnpm/prepare'
|
||||
import { prepareEmpty, preparePackages } from '@pnpm/prepare'
|
||||
import { addDistTag } from '@pnpm/registry-mock'
|
||||
import { addDependenciesToPackage, mutateModulesInSingleProject } from '@pnpm/core'
|
||||
import { WANTED_LOCKFILE } from '@pnpm/constants'
|
||||
import { type MutatedProject, type ProjectOptions, addDependenciesToPackage, mutateModulesInSingleProject, mutateModules } from '@pnpm/core'
|
||||
import { type LockfileFileV9 } from '@pnpm/lockfile-types'
|
||||
import { type ProjectManifest } from '@pnpm/types'
|
||||
import {
|
||||
testDefaults,
|
||||
} from '../utils'
|
||||
@@ -132,3 +138,117 @@ test('explicitly specifying a version at install will ignore overrides', async (
|
||||
|
||||
expect(manifest.dependencies?.['@pnpm.e2e/bar']).toBe(EXACT_VERSION)
|
||||
})
|
||||
|
||||
test('overrides with local file and link specs', async () => {
|
||||
interface LocationAndManifest {
|
||||
location: string
|
||||
package: ProjectManifest
|
||||
}
|
||||
const root: LocationAndManifest = {
|
||||
location: '.',
|
||||
package: {
|
||||
name: 'root',
|
||||
},
|
||||
}
|
||||
const direct: LocationAndManifest = {
|
||||
location: 'packages/direct',
|
||||
package: {
|
||||
name: 'direct',
|
||||
dependencies: {
|
||||
'relative-file-pkg': '*',
|
||||
'absolute-file-pkg': '*',
|
||||
'relative-link-pkg': '*',
|
||||
'absolute-link-pkg': '*',
|
||||
},
|
||||
},
|
||||
}
|
||||
const indirect: LocationAndManifest = {
|
||||
location: 'packages/indirect',
|
||||
package: {
|
||||
name: 'indirect',
|
||||
dependencies: {
|
||||
'@pnpm.e2e/depends-on-pkg-abcd': '1.0.0',
|
||||
},
|
||||
},
|
||||
}
|
||||
const pkg: LocationAndManifest = {
|
||||
location: 'overrides/pkg',
|
||||
package: {
|
||||
name: 'pkg',
|
||||
version: '0.0.0',
|
||||
},
|
||||
}
|
||||
preparePackages([
|
||||
root,
|
||||
direct,
|
||||
indirect,
|
||||
pkg,
|
||||
])
|
||||
|
||||
const importers = [root, direct, indirect].map(({ location }): MutatedProject => ({
|
||||
mutation: 'install',
|
||||
rootDir: path.resolve(location),
|
||||
}))
|
||||
const allProjects = [root, direct, indirect].map((input): ProjectOptions => ({
|
||||
buildIndex: 0,
|
||||
manifest: input.package,
|
||||
rootDir: path.resolve(input.location),
|
||||
}))
|
||||
await mutateModules(importers, {
|
||||
...testDefaults({ allProjects }),
|
||||
overrides: {
|
||||
'relative-file-pkg': 'file:./overrides/pkg',
|
||||
'absolute-file-pkg': `file:${path.resolve('overrides/pkg')}`,
|
||||
'relative-link-pkg': 'link:./overrides/pkg',
|
||||
'absolute-link-pkg': `link:${path.resolve('overrides/pkg')}`,
|
||||
'@pnpm.e2e/pkg-a': 'file:./overrides/pkg',
|
||||
'@pnpm.e2e/pkg-b': `file:${path.resolve('overrides/pkg')}`,
|
||||
'@pnpm.e2e/pkg-c': 'link:./overrides/pkg',
|
||||
'@pnpm.e2e/pkg-d': `link:${path.resolve('overrides/pkg')}`,
|
||||
},
|
||||
})
|
||||
|
||||
const lockfile = readYamlFile<LockfileFileV9>(WANTED_LOCKFILE)
|
||||
|
||||
expect(lockfile.importers?.['packages/direct']).toStrictEqual({
|
||||
dependencies: {
|
||||
'relative-file-pkg': {
|
||||
specifier: 'file:../../overrides/pkg',
|
||||
version: 'pkg@file:overrides/pkg',
|
||||
},
|
||||
'absolute-file-pkg': {
|
||||
specifier: `file:${path.resolve('overrides/pkg')}`,
|
||||
version: 'pkg@file:overrides/pkg',
|
||||
},
|
||||
'relative-link-pkg': {
|
||||
specifier: 'link:../../overrides/pkg',
|
||||
version: 'link:../../overrides/pkg',
|
||||
},
|
||||
'absolute-link-pkg': {
|
||||
specifier: `link:${path.resolve('overrides/pkg')}`,
|
||||
version: 'link:../../overrides/pkg',
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
expect(lockfile.snapshots?.['@pnpm.e2e/depends-on-pkg-abcd@1.0.0']).toStrictEqual({
|
||||
dependencies: {
|
||||
'@pnpm.e2e/pkg-a': 'pkg@file:overrides/pkg',
|
||||
'@pnpm.e2e/pkg-b': 'pkg@file:overrides/pkg',
|
||||
'@pnpm.e2e/pkg-c': 'link:overrides/pkg',
|
||||
'@pnpm.e2e/pkg-d': 'link:overrides/pkg',
|
||||
},
|
||||
})
|
||||
|
||||
const directPrefix = 'packages/direct/node_modules'
|
||||
expect(fs.realpathSync(path.join(directPrefix, 'absolute-file-pkg'))).toBe(path.resolve('node_modules/.pnpm/pkg@file+overrides+pkg/node_modules/pkg'))
|
||||
expect(fs.realpathSync(path.join(directPrefix, 'relative-file-pkg'))).toBe(path.resolve('node_modules/.pnpm/pkg@file+overrides+pkg/node_modules/pkg'))
|
||||
expect(fs.realpathSync(path.join(directPrefix, 'absolute-link-pkg'))).toBe(path.resolve('overrides/pkg'))
|
||||
expect(fs.realpathSync(path.join(directPrefix, 'relative-link-pkg'))).toBe(path.resolve('overrides/pkg'))
|
||||
|
||||
const indirectPrefix = 'node_modules/.pnpm/@pnpm.e2e+depends-on-pkg-abcd@1.0.0/node_modules'
|
||||
expect(fs.realpathSync(path.join(indirectPrefix, '@pnpm.e2e/pkg-a'))).toBe(path.resolve('node_modules/.pnpm/pkg@file+overrides+pkg/node_modules/pkg'))
|
||||
expect(fs.realpathSync(path.join(indirectPrefix, '@pnpm.e2e/pkg-b'))).toBe(path.resolve('node_modules/.pnpm/pkg@file+overrides+pkg/node_modules/pkg'))
|
||||
expect(fs.realpathSync(path.join(indirectPrefix, '@pnpm.e2e/pkg-c'))).toBe(path.resolve('overrides/pkg'))
|
||||
expect(fs.realpathSync(path.join(indirectPrefix, '@pnpm.e2e/pkg-d'))).toBe(path.resolve('overrides/pkg'))
|
||||
})
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"@pnpm/package-store": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/read-projects-context": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/store-path": "workspace:*",
|
||||
"@pnpm/store.cafs": "workspace:*",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
"@pnpm/client": "workspace:*",
|
||||
"@pnpm/create-cafs-store": "workspace:*",
|
||||
"@pnpm/package-requester": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
"@types/normalize-path": "^3.0.2",
|
||||
"@types/ramda": "0.29.12",
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"@pnpm/modules-yaml": "workspace:*",
|
||||
"@pnpm/plugin-commands-installation": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
"@pnpm/test-ipc-server": "workspace:*",
|
||||
"@types/proxyquire": "^1.3.31",
|
||||
|
||||
76
pnpm-lock.yaml
generated
76
pnpm-lock.yaml
generated
@@ -72,8 +72,8 @@ importers:
|
||||
specifier: 1.0.0
|
||||
version: 1.0.0
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/tsconfig':
|
||||
specifier: workspace:*
|
||||
version: link:__utils__/tsconfig
|
||||
@@ -190,8 +190,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../pkg-manager/modules-yaml
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/types
|
||||
@@ -224,8 +224,8 @@ importers:
|
||||
__utils__/assert-store:
|
||||
dependencies:
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/store.cafs':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/cafs
|
||||
@@ -1337,8 +1337,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/prepare
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/test-fixtures':
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/test-fixtures
|
||||
@@ -1464,8 +1464,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/prepare
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/test-ipc-server':
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/test-ipc-server
|
||||
@@ -2988,8 +2988,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/prepare
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/test-fixtures':
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/test-fixtures
|
||||
@@ -3254,8 +3254,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/prepare
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/store-path':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/store-path
|
||||
@@ -3536,8 +3536,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../read-projects-context
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/store-path':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/store-path
|
||||
@@ -3893,8 +3893,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: 'link:'
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/test-fixtures':
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/test-fixtures
|
||||
@@ -4086,8 +4086,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/prepare
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/test-fixtures':
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/test-fixtures
|
||||
@@ -4655,8 +4655,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../pkg-manifest/read-project-manifest
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/run-npm':
|
||||
specifier: workspace:*
|
||||
version: link:../exec/run-npm
|
||||
@@ -4915,8 +4915,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/prepare
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
|
||||
releasing/plugin-commands-publishing:
|
||||
dependencies:
|
||||
@@ -5015,8 +5015,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/prepare
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/test-ipc-server':
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/test-ipc-server
|
||||
@@ -5587,8 +5587,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../pkg-manifest/read-package-json
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/test-fixtures':
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/test-fixtures
|
||||
@@ -5651,8 +5651,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/prepare
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@types/ramda':
|
||||
specifier: 0.29.12
|
||||
version: 0.29.12
|
||||
@@ -5742,8 +5742,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/prepare
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@pnpm/test-fixtures':
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/test-fixtures
|
||||
@@ -6077,8 +6077,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/prepare
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 3.30.0
|
||||
version: 3.30.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
specifier: 3.31.0
|
||||
version: 3.31.0(encoding@0.1.13)(typanion@3.14.0)
|
||||
'@types/archy':
|
||||
specifier: 0.0.33
|
||||
version: 0.0.33
|
||||
@@ -7645,8 +7645,8 @@ packages:
|
||||
resolution: {integrity: sha512-MDXuQpYFbabSXzAnqP7VIQqBx5Z1fzOhzB/3YmIXJ+tE7Wue//IR3itMSYlWeaFLo1G5PCJklM2zBdvggRw1nw==}
|
||||
engines: {node: '>=16.14'}
|
||||
|
||||
'@pnpm/registry-mock@3.30.0':
|
||||
resolution: {integrity: sha512-uUyFwjY7SsnuJLp/LRGDV5A2ZZ4Sj4IyOifkY8XHqSqaJ1rrt3klDPmVVSt8fj4HNJmsaEFaUtxd0fpYr+cpTg==}
|
||||
'@pnpm/registry-mock@3.31.0':
|
||||
resolution: {integrity: sha512-GASXxiEiZiffsmgtFFC3ItF3YS+DZD1aB/GRAVu6eRAwJuo2mTlwLjZSIEbLVBWGMC66ugxS/BoG1zBGOITcoA==}
|
||||
engines: {node: '>=10.13'}
|
||||
hasBin: true
|
||||
|
||||
@@ -14429,7 +14429,7 @@ snapshots:
|
||||
sort-keys: 4.2.0
|
||||
strip-bom: 4.0.0
|
||||
|
||||
'@pnpm/registry-mock@3.30.0(encoding@0.1.13)(typanion@3.14.0)':
|
||||
'@pnpm/registry-mock@3.31.0(encoding@0.1.13)(typanion@3.14.0)':
|
||||
dependencies:
|
||||
anonymous-npm-registry-client: 0.2.0
|
||||
execa: 5.1.1
|
||||
@@ -20467,7 +20467,7 @@ snapshots:
|
||||
|
||||
wide-align@1.1.5:
|
||||
dependencies:
|
||||
string-width: 1.0.2
|
||||
string-width: 4.2.3
|
||||
optional: true
|
||||
|
||||
widest-line@3.1.0:
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/read-package-json": "workspace:*",
|
||||
"@pnpm/read-project-manifest": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/run-npm": "workspace:*",
|
||||
"@pnpm/tabtab": "^0.5.2",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"@pnpm/lockfile-types": "workspace:*",
|
||||
"@pnpm/plugin-commands-deploy": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0"
|
||||
"@pnpm/registry-mock": "3.31.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pnpm/cli-utils": "workspace:*",
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"@pnpm/filter-workspace-packages": "workspace:*",
|
||||
"@pnpm/plugin-commands-publishing": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/test-ipc-server": "workspace:*",
|
||||
"@types/cross-spawn": "^6.0.6",
|
||||
"@types/is-windows": "^1.0.2",
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
"@pnpm/plugin-commands-licenses": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/read-package-json": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
"@types/ramda": "0.29.12",
|
||||
"@types/semver": "7.5.3",
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"@pnpm/plugin-commands-installation": "workspace:*",
|
||||
"@pnpm/plugin-commands-listing": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@types/ramda": "0.29.12",
|
||||
"execa": "npm:safe-execa@0.1.2",
|
||||
"strip-ansi": "^6.0.1",
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"@pnpm/plugin-commands-installation": "workspace:*",
|
||||
"@pnpm/plugin-commands-outdated": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
"@types/ramda": "0.29.12",
|
||||
"@types/zkochan__table": "npm:@types/table@6.0.0"
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"@pnpm/lockfile-file": "workspace:*",
|
||||
"@pnpm/plugin-commands-store": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "3.30.0",
|
||||
"@pnpm/registry-mock": "3.31.0",
|
||||
"@types/archy": "0.0.33",
|
||||
"@types/ramda": "0.29.12",
|
||||
"@types/ssri": "^7.1.5",
|
||||
|
||||
Reference in New Issue
Block a user