@pnpm/installing.commands 1100.10.0 → 1100.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/handleIgnoredBuilds.d.ts +1 -0
- package/lib/handleIgnoredBuilds.js +3 -1
- package/lib/installDeps.d.ts +1 -1
- package/lib/policyHandlers.js +10 -4
- package/package.json +51 -51
|
@@ -5,7 +5,9 @@ import { lexCompare } from '@pnpm/util.lex-comparator';
|
|
|
5
5
|
export async function handleIgnoredBuilds(opts, ignoredBuilds) {
|
|
6
6
|
if (!ignoredBuilds?.size)
|
|
7
7
|
return;
|
|
8
|
-
|
|
8
|
+
if (!opts.ignoreWorkspace) {
|
|
9
|
+
await writeIgnoredBuildsToAllowBuilds(opts, ignoredBuilds);
|
|
10
|
+
}
|
|
9
11
|
if (opts.strictDepBuilds) {
|
|
10
12
|
throw new IgnoredBuildsError(ignoredBuilds);
|
|
11
13
|
}
|
package/lib/installDeps.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { type DryRunInstallResult, type UpdateMatchingFunction } from '@pnpm/ins
|
|
|
4
4
|
import type { LockfileObject } from '@pnpm/lockfile.types';
|
|
5
5
|
import { type CreateStoreControllerOptions } from '@pnpm/store.connection-manager';
|
|
6
6
|
import type { IncludedDependencies, PackageVulnerabilityAudit } from '@pnpm/types';
|
|
7
|
-
export type InstallDepsOptions = Pick<Config, 'autoInstallPeers' | 'bail' | 'bin' | 'catalogs' | 'catalogMode' | 'cleanupUnusedCatalogs' | 'dedupePeerDependents' | 'dedupePeers' | 'depth' | 'dev' | 'enableGlobalVirtualStore' | 'virtualStoreOnly' | 'engineStrict' | 'excludeLinksFromLockfile' | 'global' | 'globalPnpmfile' | 'ignoreCurrentSpecifiers' | 'ignorePnpmfile' | 'ignoreScripts' | 'optimisticRepeatInstall' | 'linkWorkspacePackages' | 'lockfileDir' | 'lockfileOnly' | 'pnprServer' | 'production' | 'preferWorkspacePackages' | 'registries' | 'runtime' | 'runtimeOnFail' | 'save' | 'saveDev' | 'saveExact' | 'saveOptional' | 'savePeer' | 'savePrefix' | 'saveProd' | 'saveWorkspaceProtocol' | 'lockfileIncludeTarballUrl' | 'scriptsPrependNodePath' | 'scriptShell' | 'sideEffectsCache' | 'sideEffectsCacheReadonly' | 'sort' | 'sharedWorkspaceLockfile' | 'shellEmulator' | 'tag' | 'trustLockfile' | 'allowBuilds' | 'optional' | 'workspaceConcurrency' | 'workspaceDir' | 'workspacePackagePatterns' | 'extraEnv' | 'ignoreWorkspaceCycles' | 'disallowWorkspaceCycles' | 'configDependencies' | 'packageExtensions' | 'updateConfig' | 'virtualStoreDirMaxLength'> & Pick<ConfigContext, 'allProjects' | 'allProjectsGraph' | 'cliOptions' | 'hooks' | 'rootProjectManifestDir' | 'rootProjectManifest' | 'selectedProjectsGraph'> & Partial<Pick<Config, 'ci'>> & CreateStoreControllerOptions & {
|
|
7
|
+
export type InstallDepsOptions = Pick<Config, 'autoInstallPeers' | 'bail' | 'bin' | 'catalogs' | 'catalogMode' | 'cleanupUnusedCatalogs' | 'dedupePeerDependents' | 'dedupePeers' | 'depth' | 'dev' | 'enableGlobalVirtualStore' | 'virtualStoreOnly' | 'engineStrict' | 'excludeLinksFromLockfile' | 'global' | 'globalPnpmfile' | 'ignoreCurrentSpecifiers' | 'ignorePnpmfile' | 'ignoreScripts' | 'optimisticRepeatInstall' | 'linkWorkspacePackages' | 'lockfileDir' | 'lockfileOnly' | 'pnprServer' | 'production' | 'preferWorkspacePackages' | 'registries' | 'runtime' | 'runtimeOnFail' | 'save' | 'saveDev' | 'saveExact' | 'saveOptional' | 'savePeer' | 'savePrefix' | 'saveProd' | 'saveWorkspaceProtocol' | 'lockfileIncludeTarballUrl' | 'scriptsPrependNodePath' | 'scriptShell' | 'sideEffectsCache' | 'sideEffectsCacheReadonly' | 'sort' | 'sharedWorkspaceLockfile' | 'shellEmulator' | 'tag' | 'trustLockfile' | 'allowBuilds' | 'optional' | 'workspaceConcurrency' | 'workspaceDir' | 'workspacePackagePatterns' | 'extraEnv' | 'ignoreWorkspace' | 'ignoreWorkspaceCycles' | 'disallowWorkspaceCycles' | 'configDependencies' | 'packageExtensions' | 'updateConfig' | 'virtualStoreDirMaxLength'> & Pick<ConfigContext, 'allProjects' | 'allProjectsGraph' | 'cliOptions' | 'hooks' | 'rootProjectManifestDir' | 'rootProjectManifest' | 'selectedProjectsGraph'> & Partial<Pick<Config, 'ci'>> & CreateStoreControllerOptions & {
|
|
8
8
|
argv: {
|
|
9
9
|
cooked?: string[];
|
|
10
10
|
original: string[];
|
package/lib/policyHandlers.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { confirm } from '@inquirer/prompts';
|
|
2
|
+
import { mergePackageVersionSpecs } from '@pnpm/config.version-policy';
|
|
2
3
|
import { PnpmError } from '@pnpm/error';
|
|
3
4
|
import { globalInfo } from '@pnpm/logger';
|
|
4
5
|
import { MINIMUM_RELEASE_AGE_VIOLATION_CODE } from '@pnpm/resolving.npm-resolver';
|
|
@@ -120,7 +121,12 @@ function pickImmatureEntries(violations, promptRequired) {
|
|
|
120
121
|
const immature = filterImmatureViolations(violations);
|
|
121
122
|
if (immature.length === 0)
|
|
122
123
|
return undefined;
|
|
123
|
-
|
|
124
|
+
// Combine into the canonical per-package form the workspace writer
|
|
125
|
+
// persists (`name@v1 || v2`), so the logged count and list match the
|
|
126
|
+
// entries that actually land in pnpm-workspace.yaml even when multiple
|
|
127
|
+
// immature versions belong to the same package. The pre-sort keeps the
|
|
128
|
+
// cross-package order stable regardless of resolution order.
|
|
129
|
+
const entries = mergePackageVersionSpecs(immature.map((v) => `${v.name}@${v.version}`).sort());
|
|
124
130
|
// Strict-mode picks already passed through the approval prompt, so
|
|
125
131
|
// the log here only confirms what was persisted. Loose-mode picks
|
|
126
132
|
// haven't been announced anywhere else, so the same log doubles as
|
|
@@ -128,9 +134,9 @@ function pickImmatureEntries(violations, promptRequired) {
|
|
|
128
134
|
const reason = promptRequired
|
|
129
135
|
? '(approved at the prompt)'
|
|
130
136
|
: '(set minimumReleaseAgeStrict to true to gate these updates with a prompt)';
|
|
131
|
-
globalInfo(`Added ${
|
|
132
|
-
`${reason}:\n ${
|
|
133
|
-
return
|
|
137
|
+
globalInfo(`Added ${entries.length} ${entries.length === 1 ? 'entry' : 'entries'} to minimumReleaseAgeExclude in pnpm-workspace.yaml ` +
|
|
138
|
+
`${reason}:\n ${entries.join('\n ')}`);
|
|
139
|
+
return entries;
|
|
134
140
|
}
|
|
135
141
|
function failOnImmature(immature) {
|
|
136
142
|
const sorted = [...immature].sort((a, b) => `${a.name}@${a.version}`.localeCompare(`${b.name}@${b.version}`));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/installing.commands",
|
|
3
|
-
"version": "1100.10.
|
|
3
|
+
"version": "1100.10.1",
|
|
4
4
|
"description": "Commands for installation",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pnpm",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"funding": "https://opencollective.com/pnpm",
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|
|
13
|
-
"url": "https://github.com/pnpm/pnpm/tree/main/installing/commands"
|
|
13
|
+
"url": "https://github.com/pnpm/pnpm/tree/main/pnpm11/installing/commands"
|
|
14
14
|
},
|
|
15
|
-
"homepage": "https://github.com/pnpm/pnpm/tree/main/installing/commands#readme",
|
|
15
|
+
"homepage": "https://github.com/pnpm/pnpm/tree/main/pnpm11/installing/commands#readme",
|
|
16
16
|
"bugs": {
|
|
17
17
|
"url": "https://github.com/pnpm/pnpm/issues"
|
|
18
18
|
},
|
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
"chalk": "^5.6.2",
|
|
39
39
|
"ci-info": "^4.4.0",
|
|
40
40
|
"detect-libc": "^2.1.2",
|
|
41
|
-
"get-npm-tarball-url": "^2.1.0",
|
|
42
41
|
"is-subdir": "^2.0.0",
|
|
43
42
|
"js-yaml": "npm:@zkochan/js-yaml@0.0.11",
|
|
44
43
|
"load-json-file": "^7.0.1",
|
|
@@ -48,53 +47,54 @@
|
|
|
48
47
|
"ramda": "npm:@pnpm/ramda@0.28.1",
|
|
49
48
|
"render-help": "^2.0.0",
|
|
50
49
|
"version-selector-type": "^3.0.0",
|
|
51
|
-
"@pnpm/building.
|
|
52
|
-
"@pnpm/
|
|
53
|
-
"@pnpm/catalogs.config": "1100.0.
|
|
50
|
+
"@pnpm/building.policy": "1100.0.11",
|
|
51
|
+
"@pnpm/catalogs.types": "1100.0.0",
|
|
52
|
+
"@pnpm/catalogs.config": "1100.0.2",
|
|
54
53
|
"@pnpm/cli.command": "1100.0.1",
|
|
55
|
-
"@pnpm/cli.
|
|
56
|
-
"@pnpm/cli.utils": "1101.0.12",
|
|
57
|
-
"@pnpm/config.matcher": "1100.0.1",
|
|
54
|
+
"@pnpm/cli.utils": "1101.0.13",
|
|
58
55
|
"@pnpm/config.pick-registry-for-package": "1100.0.9",
|
|
59
|
-
"@pnpm/
|
|
60
|
-
"@pnpm/config.
|
|
56
|
+
"@pnpm/cli.common-cli-options-help": "1100.0.2",
|
|
57
|
+
"@pnpm/config.reader": "1101.10.1",
|
|
58
|
+
"@pnpm/building.after-install": "1102.0.2",
|
|
59
|
+
"@pnpm/config.writer": "1100.0.14",
|
|
61
60
|
"@pnpm/constants": "1100.0.0",
|
|
62
|
-
"@pnpm/
|
|
61
|
+
"@pnpm/config.version-policy": "1100.1.6",
|
|
62
|
+
"@pnpm/deps.inspection.outdated": "1100.1.10",
|
|
63
|
+
"@pnpm/config.matcher": "1100.0.1",
|
|
63
64
|
"@pnpm/deps.path": "1100.0.8",
|
|
64
|
-
"@pnpm/
|
|
65
|
-
"@pnpm/deps.security.signatures": "1101.2.
|
|
66
|
-
"@pnpm/catalogs.types": "1100.0.0",
|
|
67
|
-
"@pnpm/fs.read-modules-dir": "1100.0.1",
|
|
68
|
-
"@pnpm/error": "1100.0.0",
|
|
69
|
-
"@pnpm/global.commands": "1100.0.29",
|
|
65
|
+
"@pnpm/error": "1100.0.1",
|
|
66
|
+
"@pnpm/deps.security.signatures": "1101.2.3",
|
|
70
67
|
"@pnpm/fs.graceful-fs": "1100.1.0",
|
|
71
|
-
"@pnpm/
|
|
72
|
-
"@pnpm/
|
|
68
|
+
"@pnpm/global.commands": "1100.0.30",
|
|
69
|
+
"@pnpm/deps.status": "1100.1.3",
|
|
70
|
+
"@pnpm/hooks.pnpmfile": "1100.0.16",
|
|
71
|
+
"@pnpm/installing.context": "1100.0.20",
|
|
72
|
+
"@pnpm/installing.dedupe.check": "1100.1.1",
|
|
73
|
+
"@pnpm/installing.deps-installer": "1102.1.1",
|
|
73
74
|
"@pnpm/installing.dedupe.issues-renderer": "1100.0.1",
|
|
74
|
-
"@pnpm/
|
|
75
|
-
"@pnpm/
|
|
76
|
-
"@pnpm/
|
|
77
|
-
"@pnpm/
|
|
78
|
-
"@pnpm/
|
|
79
|
-
"@pnpm/
|
|
80
|
-
"@pnpm/pkg-manifest.
|
|
81
|
-
"@pnpm/network.auth-header": "1101.1.2",
|
|
75
|
+
"@pnpm/lockfile.types": "1100.0.12",
|
|
76
|
+
"@pnpm/lockfile.fs": "1100.1.7",
|
|
77
|
+
"@pnpm/network.fetch": "1100.1.4",
|
|
78
|
+
"@pnpm/network.auth-header": "1101.1.3",
|
|
79
|
+
"@pnpm/pkg-manifest.reader": "1100.0.9",
|
|
80
|
+
"@pnpm/installing.env-installer": "1102.0.2",
|
|
81
|
+
"@pnpm/pkg-manifest.utils": "1100.2.6",
|
|
82
82
|
"@pnpm/resolving.parse-wanted-dependency": "1100.0.1",
|
|
83
|
-
"@pnpm/
|
|
84
|
-
"@pnpm/
|
|
85
|
-
"@pnpm/
|
|
86
|
-
"@pnpm/
|
|
87
|
-
"@pnpm/pkg-manifest.utils": "1100.2.5",
|
|
83
|
+
"@pnpm/store.controller": "1102.0.2",
|
|
84
|
+
"@pnpm/resolving.npm-resolver": "1102.1.0",
|
|
85
|
+
"@pnpm/store.connection-manager": "1100.3.2",
|
|
86
|
+
"@pnpm/resolving.resolver-base": "1100.5.0",
|
|
88
87
|
"@pnpm/types": "1101.3.2",
|
|
88
|
+
"@pnpm/fs.read-modules-dir": "1100.0.1",
|
|
89
89
|
"@pnpm/workspace.project-manifest-writer": "1100.0.8",
|
|
90
|
+
"@pnpm/workspace.projects-filter": "1100.0.23",
|
|
91
|
+
"@pnpm/workspace.project-manifest-reader": "1100.0.14",
|
|
92
|
+
"@pnpm/workspace.projects-reader": "1101.0.13",
|
|
93
|
+
"@pnpm/workspace.projects-graph": "1100.0.20",
|
|
94
|
+
"@pnpm/workspace.state": "1100.0.24",
|
|
90
95
|
"@pnpm/workspace.projects-sorter": "1100.0.7",
|
|
91
|
-
"@pnpm/workspace.
|
|
92
|
-
"@pnpm/workspace.
|
|
93
|
-
"@pnpm/workspace.state": "1100.0.23",
|
|
94
|
-
"@pnpm/workspace.projects-filter": "1100.0.22",
|
|
95
|
-
"@pnpm/workspace.root-finder": "1100.0.2",
|
|
96
|
-
"@pnpm/store.controller": "1102.0.1",
|
|
97
|
-
"@pnpm/workspace.workspace-manifest-writer": "1100.0.13"
|
|
96
|
+
"@pnpm/workspace.root-finder": "1100.0.3",
|
|
97
|
+
"@pnpm/workspace.workspace-manifest-writer": "1100.0.14"
|
|
98
98
|
},
|
|
99
99
|
"peerDependencies": {
|
|
100
100
|
"@pnpm/logger": "^1100.0.0"
|
|
@@ -117,19 +117,19 @@
|
|
|
117
117
|
"write-json-file": "^7.0.0",
|
|
118
118
|
"write-package": "7.2.0",
|
|
119
119
|
"write-yaml-file": "^6.0.0",
|
|
120
|
-
"@pnpm/installing.commands": "1100.10.0",
|
|
121
120
|
"@pnpm/installing.modules-yaml": "1100.0.9",
|
|
121
|
+
"@pnpm/installing.commands": "1100.10.1",
|
|
122
|
+
"@pnpm/assert-project": "1100.0.17",
|
|
123
|
+
"@pnpm/store.index": "1100.2.1",
|
|
122
124
|
"@pnpm/logger": "1100.0.0",
|
|
123
|
-
"@pnpm/
|
|
124
|
-
"@pnpm/store.index": "1100.2.0",
|
|
125
|
-
"@pnpm/test-ipc-server": "1100.0.0",
|
|
126
|
-
"@pnpm/prepare": "1100.0.16",
|
|
127
|
-
"@pnpm/testing.registry-mock": "1100.0.6",
|
|
128
|
-
"@pnpm/testing.command-defaults": "1100.0.6",
|
|
129
|
-
"@pnpm/testing.mock-agent": "1101.0.3",
|
|
125
|
+
"@pnpm/prepare": "1100.0.17",
|
|
130
126
|
"@pnpm/test-fixtures": "1100.0.0",
|
|
131
|
-
"@pnpm/
|
|
132
|
-
"@pnpm/
|
|
127
|
+
"@pnpm/test-ipc-server": "1100.0.0",
|
|
128
|
+
"@pnpm/testing.mock-agent": "1101.0.4",
|
|
129
|
+
"@pnpm/testing.registry-mock": "1100.0.7",
|
|
130
|
+
"@pnpm/testing.command-defaults": "1100.0.7",
|
|
131
|
+
"@pnpm/workspace.projects-filter": "1100.0.23",
|
|
132
|
+
"@pnpm/worker": "1100.2.2"
|
|
133
133
|
},
|
|
134
134
|
"engines": {
|
|
135
135
|
"node": ">=22.13"
|