@pnpm/installing.commands 1100.4.0 → 1100.4.2
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/install.d.ts +2 -0
- package/lib/install.js +1 -0
- package/lib/installDeps.d.ts +9 -0
- package/lib/installDeps.js +2 -1
- package/lib/runPacquet.d.ts +29 -13
- package/lib/runPacquet.js +114 -27
- package/package.json +29 -29
package/lib/install.d.ts
CHANGED
|
@@ -9,7 +9,9 @@ export declare const recursiveByDefault = true;
|
|
|
9
9
|
export declare function help(): string;
|
|
10
10
|
export type InstallCommandOptions = Pick<Config, 'autoInstallPeers' | 'bail' | 'bin' | 'catalogs' | 'configDependencies' | 'dedupeInjectedDeps' | 'dedupeDirectDeps' | 'dedupePeerDependents' | 'dedupePeers' | 'deployAllFiles' | 'depth' | 'dev' | 'enableGlobalVirtualStore' | 'engineStrict' | 'excludeLinksFromLockfile' | 'frozenLockfile' | 'global' | 'globalPnpmfile' | 'hoistPattern' | 'publicHoistPattern' | 'ignorePnpmfile' | 'ignoreScripts' | 'injectWorkspacePackages' | 'linkWorkspacePackages' | 'lockfileDir' | 'lockfileOnly' | 'modulesDir' | 'nodeLinker' | 'patchedDependencies' | 'preferFrozenLockfile' | 'preferWorkspacePackages' | 'production' | 'registries' | 'save' | 'saveDev' | 'saveExact' | 'saveOptional' | 'savePeer' | 'savePrefix' | 'saveProd' | 'saveCatalogName' | 'saveWorkspaceProtocol' | 'lockfileIncludeTarballUrl' | 'sideEffectsCache' | 'sideEffectsCacheReadonly' | 'sort' | 'sharedWorkspaceLockfile' | 'tag' | 'allowBuilds' | 'optional' | 'virtualStoreDir' | 'workspaceConcurrency' | 'workspaceDir' | 'workspacePackagePatterns' | 'extraEnv' | 'resolutionMode' | 'ignoreWorkspaceCycles' | 'disallowWorkspaceCycles' | 'updateConfig' | 'overrides' | 'packageExtensions' | 'agent' | 'supportedArchitectures' | 'packageConfigs'> & Pick<ConfigContext, 'allProjects' | 'cliOptions' | 'hooks' | 'rootProjectManifest' | 'rootProjectManifestDir' | 'allProjectsGraph' | 'selectedProjectsGraph'> & CreateStoreControllerOptions & Partial<Pick<Config, 'globalPkgDir'>> & {
|
|
11
11
|
argv: {
|
|
12
|
+
cooked?: string[];
|
|
12
13
|
original: string[];
|
|
14
|
+
remain?: string[];
|
|
13
15
|
};
|
|
14
16
|
fixLockfile?: boolean;
|
|
15
17
|
frozenLockfileIfExists?: boolean;
|
package/lib/install.js
CHANGED
|
@@ -282,6 +282,7 @@ export async function handler(opts, _params, commands) {
|
|
|
282
282
|
include,
|
|
283
283
|
includeDirect: include,
|
|
284
284
|
fetchFullMetadata: getFetchFullMetadata(opts),
|
|
285
|
+
isInstallCommand: true,
|
|
285
286
|
};
|
|
286
287
|
if (opts.resolutionOnly) {
|
|
287
288
|
installDepsOptions.lockfileOnly = true;
|
package/lib/installDeps.d.ts
CHANGED
|
@@ -6,7 +6,9 @@ import { type CreateStoreControllerOptions } from '@pnpm/store.connection-manage
|
|
|
6
6
|
import type { IncludedDependencies, PackageVulnerabilityAudit } from '@pnpm/types';
|
|
7
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' | 'agent' | 'production' | 'preferWorkspacePackages' | 'registries' | 'runtime' | 'runtimeOnFail' | 'save' | 'saveDev' | 'saveExact' | 'saveOptional' | 'savePeer' | 'savePrefix' | 'saveProd' | 'saveWorkspaceProtocol' | 'lockfileIncludeTarballUrl' | 'scriptsPrependNodePath' | 'scriptShell' | 'sideEffectsCache' | 'sideEffectsCacheReadonly' | 'sort' | 'sharedWorkspaceLockfile' | 'shellEmulator' | 'tag' | 'allowBuilds' | 'optional' | 'workspaceConcurrency' | 'workspaceDir' | 'workspacePackagePatterns' | 'extraEnv' | 'ignoreWorkspaceCycles' | 'disallowWorkspaceCycles' | 'configDependencies' | 'packageExtensions' | 'updateConfig'> & Pick<ConfigContext, 'allProjects' | 'allProjectsGraph' | 'cliOptions' | 'hooks' | 'rootProjectManifestDir' | 'rootProjectManifest' | 'selectedProjectsGraph'> & Partial<Pick<Config, 'ci'>> & CreateStoreControllerOptions & {
|
|
8
8
|
argv: {
|
|
9
|
+
cooked?: string[];
|
|
9
10
|
original: string[];
|
|
11
|
+
remain?: string[];
|
|
10
12
|
};
|
|
11
13
|
allowNew?: boolean;
|
|
12
14
|
forceFullResolution?: boolean;
|
|
@@ -39,5 +41,12 @@ export type InstallDepsOptions = Pick<Config, 'autoInstallPeers' | 'bail' | 'bin
|
|
|
39
41
|
rebuildHandler?: CommandHandler;
|
|
40
42
|
pnpmfile: string[];
|
|
41
43
|
packageVulnerabilityAudit?: PackageVulnerabilityAudit;
|
|
44
|
+
/**
|
|
45
|
+
* `true` when this call originated from `pnpm install` (or `pnpm i`),
|
|
46
|
+
* `false`/`undefined` for `add`, `update`, `dedupe`, etc. Used to gate
|
|
47
|
+
* which pnpm CLI flags are safe to forward to pacquet's `install`
|
|
48
|
+
* subcommand — see `runPacquet.ts`'s `noRuntime` opt.
|
|
49
|
+
*/
|
|
50
|
+
isInstallCommand?: boolean;
|
|
42
51
|
} & Partial<Pick<Config, 'pnpmHomeDir' | 'strictDepBuilds'>>;
|
|
43
52
|
export declare function installDeps(opts: InstallDepsOptions, params: string[]): Promise<void>;
|
package/lib/installDeps.js
CHANGED
|
@@ -76,7 +76,8 @@ export async function installDeps(opts, params) {
|
|
|
76
76
|
? makeRunPacquet({
|
|
77
77
|
lockfileDir: opts.lockfileDir ?? opts.dir,
|
|
78
78
|
packageName: pacquetConfigDepName,
|
|
79
|
-
argv: opts.argv.original,
|
|
79
|
+
argv: { original: opts.argv.original, remain: opts.argv.remain ?? [] },
|
|
80
|
+
isInstallCommand: opts.isInstallCommand === true,
|
|
80
81
|
})
|
|
81
82
|
: undefined;
|
|
82
83
|
const includeDirect = opts.includeDirect ?? {
|
package/lib/runPacquet.d.ts
CHANGED
|
@@ -10,26 +10,42 @@ export interface MakeRunPacquetOpts {
|
|
|
10
10
|
*/
|
|
11
11
|
packageName: 'pacquet' | '@pnpm/pacquet';
|
|
12
12
|
/**
|
|
13
|
-
* The
|
|
14
|
-
*
|
|
13
|
+
* The parsed pnpm argv from `@pnpm/cli.parse-cli-args` — `original`
|
|
14
|
+
* preserves the user's exact tokens (so `--key=value` stays joined,
|
|
15
|
+
* which pacquet's `--config.<key>=<value>` parser requires), and
|
|
16
|
+
* `remain` lists the positionals (the `install`/`i` command token
|
|
17
|
+
* among them). When `isInstallCommand` is true we forward
|
|
18
|
+
* `original` minus positionals to pacquet's own `install`
|
|
19
|
+
* subcommand; otherwise we only inspect it to warn about flags
|
|
15
20
|
* pacquet won't see.
|
|
16
21
|
*/
|
|
17
|
-
argv:
|
|
22
|
+
argv: {
|
|
23
|
+
original: string[];
|
|
24
|
+
remain: string[];
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* `true` when the user invoked `pnpm install` (or `pnpm i`). Gates
|
|
28
|
+
* flag forwarding: pacquet's `install` subcommand mirrors pnpm's
|
|
29
|
+
* surface closely enough that the user's flags are safe to pass
|
|
30
|
+
* along on that command, but not from `add`/`update`/`dedupe` (whose
|
|
31
|
+
* own flag surface doesn't line up with pacquet's `install`).
|
|
32
|
+
*/
|
|
33
|
+
isInstallCommand: boolean;
|
|
18
34
|
}
|
|
19
35
|
/**
|
|
20
36
|
* Build the install-engine callback `mutateModules` invokes when
|
|
21
|
-
* `configDependencies` declares pacquet.
|
|
22
|
-
* pacquet binary is on disk — the caller falls back to the JS path in
|
|
23
|
-
* that case.
|
|
37
|
+
* `configDependencies` declares pacquet.
|
|
24
38
|
*
|
|
25
39
|
* The callback spawns the pacquet binary installed under
|
|
26
|
-
* `node_modules/.pnpm-config/pacquet
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
40
|
+
* `node_modules/.pnpm-config/pacquet`. From `pnpm install`/`pnpm i` it
|
|
41
|
+
* forwards the user's own pnpm CLI flags to pacquet's `install`
|
|
42
|
+
* subcommand; from `add`/`update`/`dedupe` it doesn't forward (warning
|
|
43
|
+
* instead). Pacquet's NDJSON stderr is parsed line-by-line and the
|
|
44
|
+
* valid JSON records are re-emitted on pnpm's global `streamParser` so
|
|
45
|
+
* `@pnpm/cli.default-reporter` renders pacquet's events the same way it
|
|
46
|
+
* renders pnpm's own. Non-JSON stderr lines (panic backtraces,
|
|
47
|
+
* unexpected diagnostics) are forwarded to the real stderr verbatim so
|
|
48
|
+
* they reach the user.
|
|
33
49
|
*/
|
|
34
50
|
/** Args the deps-installer passes per pacquet invocation. */
|
|
35
51
|
export interface RunPacquetCallOpts {
|
package/lib/runPacquet.js
CHANGED
|
@@ -14,15 +14,27 @@ const streamParserWritable = streamParser;
|
|
|
14
14
|
export function makeRunPacquet(opts) {
|
|
15
15
|
return async (callOpts) => {
|
|
16
16
|
const pacquetBin = resolvePacquetBin(opts.lockfileDir, opts.packageName);
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
// pacquet
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
// From `pnpm install`/`pnpm i` we forward the user's flags through to
|
|
18
|
+
// pacquet's own `install` subcommand verbatim — pacquet mirrors pnpm's
|
|
19
|
+
// surface closely enough on that command that they're safe to pass
|
|
20
|
+
// along. From `add`/`update`/`dedupe` we don't forward anything: those
|
|
21
|
+
// commands carry flags pacquet's `install` doesn't recognize
|
|
22
|
+
// (`--save-dev`, `--save-peer`, etc.) which clap would reject. Either
|
|
23
|
+
// way pacquet picks up the settings users care about from
|
|
24
|
+
// `pnpm-workspace.yaml` / `.npmrc` on its own, so a non-install
|
|
25
|
+
// delegation isn't broken by the omission.
|
|
26
|
+
const forwardedFlags = opts.isInstallCommand ? collectForwardedFlags(opts.argv) : [];
|
|
27
|
+
// `--ignore-manifest-check` tells pacquet to skip its per-importer
|
|
28
|
+
// `package.json` ↔ `pnpm-lock.yaml` freshness gate. pnpm just
|
|
29
|
+
// resolved and wrote the lockfile itself; on `pnpm up` / `add` /
|
|
30
|
+
// `remove` the manifest on disk is still the pre-mutation copy
|
|
31
|
+
// (pnpm writes it after `mutateModules` returns), so pacquet's own
|
|
32
|
+
// check would always fire here. See
|
|
33
|
+
// https://github.com/pnpm/pnpm/issues/11797. The flag is narrow
|
|
34
|
+
// (only the manifest check); settings drift like `overrides` is
|
|
35
|
+
// still enforced and was already re-validated by pnpm.
|
|
36
|
+
const args = ['--reporter=ndjson', 'install', '--frozen-lockfile', '--ignore-manifest-check', ...forwardedFlags];
|
|
37
|
+
const droppedFlags = opts.isInstallCommand ? [] : collectDroppedFlags(opts.argv);
|
|
26
38
|
if (droppedFlags.length > 0) {
|
|
27
39
|
logger.warn({
|
|
28
40
|
message: `The following CLI flags are not forwarded to pacquet and may not be honored: ${droppedFlags.join(' ')}. Move the equivalent settings into pnpm-workspace.yaml (or .npmrc for auth/registry) if pacquet needs them.`,
|
|
@@ -99,28 +111,103 @@ function resolvePacquetBin(lockfileDir, packageName) {
|
|
|
99
111
|
return createRequire(pacquetPkg).resolve(`@pacquet/${process.platform}-${process.arch}/pacquet${ext}`);
|
|
100
112
|
}
|
|
101
113
|
/**
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
114
|
+
* From `pnpm install`/`pnpm i`, return everything in argv that should
|
|
115
|
+
* ride along to pacquet's own `install` subcommand. Drops the
|
|
116
|
+
* positionals nopt classified (`install` / `i`, plus anything users
|
|
117
|
+
* typed positionally) since pacquet's `install` doesn't accept any —
|
|
118
|
+
* leaving them in produces `error: unexpected argument 'install'
|
|
119
|
+
* found`. Pacquet's clap parser walks the same `--prod`, `--dev`,
|
|
120
|
+
* `--no-optional`, `--no-runtime`, `--node-linker`, `--offline`,
|
|
121
|
+
* `--prefer-offline`, `--cpu`, `--os`, `--libc`, `--frozen-lockfile`
|
|
122
|
+
* surface pnpm itself accepts on `install`, so the flags don't need
|
|
123
|
+
* reshaping.
|
|
108
124
|
*
|
|
109
|
-
* Flags we
|
|
110
|
-
* `--
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
125
|
+
* Flags we always inject ourselves (`--frozen-lockfile`,
|
|
126
|
+
* `--ignore-manifest-check`) are dropped in every form the user can
|
|
127
|
+
* type them — positive (`--frozen-lockfile`), negated
|
|
128
|
+
* (`--no-frozen-lockfile`), and any `=value` form. Pacquet's clap
|
|
129
|
+
* defines these as plain `#[clap(long)] bool` flags, so a duplicate
|
|
130
|
+
* `--frozen-lockfile` or a conflicting `--no-frozen-lockfile`
|
|
131
|
+
* crashes the parser with "used multiple times" / "unexpected
|
|
132
|
+
* argument". The user's `--no-frozen-lockfile` intent is already
|
|
133
|
+
* honored upstream (pnpm did a fresh resolve before delegating);
|
|
134
|
+
* pacquet's role here is just lockfile-driven materialization.
|
|
135
|
+
*
|
|
136
|
+
* `--reporter` is stripped in any form (`--reporter=foo`,
|
|
137
|
+
* `--reporter foo`): pacquet's `reporter` is a clap value option
|
|
138
|
+
* with last-value-wins semantics, so a user-supplied value would
|
|
139
|
+
* override our `--reporter=ndjson` and break the
|
|
140
|
+
* NDJSON-to-streamParser plumbing the default reporter relies on.
|
|
141
|
+
*/
|
|
142
|
+
function collectForwardedFlags(argv) {
|
|
143
|
+
const result = [];
|
|
144
|
+
// `argv.remain` is the ordered subsequence of positionals nopt
|
|
145
|
+
// extracted from `original`. Match by index rather than by value so
|
|
146
|
+
// an option's value that happens to equal a positional (e.g.
|
|
147
|
+
// `--node-linker install`) isn't mistaken for the positional itself.
|
|
148
|
+
let positionalIdx = 0;
|
|
149
|
+
for (let i = 0; i < argv.original.length; i++) {
|
|
150
|
+
const arg = argv.original[i];
|
|
151
|
+
if (positionalIdx < argv.remain.length && arg === argv.remain[positionalIdx]) {
|
|
152
|
+
positionalIdx++;
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
if (isAlwaysInjected(arg))
|
|
156
|
+
continue;
|
|
157
|
+
if (arg.startsWith('--reporter='))
|
|
158
|
+
continue;
|
|
159
|
+
if (arg === '--reporter') {
|
|
160
|
+
// Consume the next token as the reporter value (`--reporter foo`).
|
|
161
|
+
i++;
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
result.push(arg);
|
|
165
|
+
}
|
|
166
|
+
return result;
|
|
167
|
+
}
|
|
168
|
+
const ALWAYS_INJECTED_FLAGS = ['frozen-lockfile', 'ignore-manifest-check'];
|
|
169
|
+
function isAlwaysInjected(arg) {
|
|
170
|
+
for (const name of ALWAYS_INJECTED_FLAGS) {
|
|
171
|
+
if (arg === `--${name}` || arg === `--no-${name}`)
|
|
172
|
+
return true;
|
|
173
|
+
if (arg.startsWith(`--${name}=`) || arg.startsWith(`--no-${name}=`))
|
|
174
|
+
return true;
|
|
175
|
+
}
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* From a non-install command (`add`, `update`, `dedupe`, ...), pull the
|
|
180
|
+
* CLI flags out of pnpm's argv so we can warn that pacquet won't see
|
|
181
|
+
* them. They're still handled by pnpm itself before delegation
|
|
182
|
+
* (`--save-dev` rewrites `package.json`, `--filter` selects projects,
|
|
183
|
+
* etc.) so listing them to the user makes the "not forwarded" surface
|
|
184
|
+
* concrete.
|
|
185
|
+
*
|
|
186
|
+
* Flags pnpm itself honors before delegation are filtered out —
|
|
187
|
+
* warning about them would be misleading: `--frozen-lockfile` and
|
|
188
|
+
* `--ignore-manifest-check` in every shape (positive / negated /
|
|
189
|
+
* `=value`); `--reporter` in every shape (`--reporter=foo`,
|
|
190
|
+
* `--reporter foo`); and `--config.*` (configures pnpm's runtime,
|
|
191
|
+
* not the install engine).
|
|
114
192
|
*/
|
|
115
193
|
function collectDroppedFlags(argv) {
|
|
116
|
-
|
|
194
|
+
const result = [];
|
|
195
|
+
for (let i = 0; i < argv.original.length; i++) {
|
|
196
|
+
const arg = argv.original[i];
|
|
117
197
|
if (!arg.startsWith('-'))
|
|
118
|
-
|
|
119
|
-
if (arg
|
|
120
|
-
|
|
198
|
+
continue;
|
|
199
|
+
if (isAlwaysInjected(arg))
|
|
200
|
+
continue;
|
|
121
201
|
if (arg.startsWith('--config.'))
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
202
|
+
continue;
|
|
203
|
+
if (arg.startsWith('--reporter='))
|
|
204
|
+
continue;
|
|
205
|
+
if (arg === '--reporter') {
|
|
206
|
+
i++;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
result.push(arg);
|
|
210
|
+
}
|
|
211
|
+
return result;
|
|
125
212
|
}
|
|
126
213
|
//# sourceMappingURL=runPacquet.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/installing.commands",
|
|
3
|
-
"version": "1100.4.
|
|
3
|
+
"version": "1100.4.2",
|
|
4
4
|
"description": "Commands for installation",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pnpm",
|
|
@@ -44,46 +44,46 @@
|
|
|
44
44
|
"ramda": "npm:@pnpm/ramda@0.28.1",
|
|
45
45
|
"render-help": "^2.0.0",
|
|
46
46
|
"version-selector-type": "^3.0.0",
|
|
47
|
-
"@pnpm/building.after-install": "1101.0.
|
|
47
|
+
"@pnpm/building.after-install": "1101.0.15",
|
|
48
48
|
"@pnpm/catalogs.types": "1100.0.0",
|
|
49
49
|
"@pnpm/cli.common-cli-options-help": "1100.0.1",
|
|
50
50
|
"@pnpm/cli.utils": "1101.0.6",
|
|
51
|
-
"@pnpm/config.pick-registry-for-package": "1100.0.
|
|
52
|
-
"@pnpm/config.matcher": "1100.0.1",
|
|
53
|
-
"@pnpm/config.reader": "1101.3.3",
|
|
54
|
-
"@pnpm/cli.command": "1100.0.1",
|
|
51
|
+
"@pnpm/config.pick-registry-for-package": "1100.0.5",
|
|
55
52
|
"@pnpm/config.writer": "1100.0.9",
|
|
56
|
-
"@pnpm/
|
|
57
|
-
"@pnpm/deps.inspection.outdated": "1100.1.0",
|
|
53
|
+
"@pnpm/config.matcher": "1100.0.1",
|
|
58
54
|
"@pnpm/deps.path": "1100.0.4",
|
|
55
|
+
"@pnpm/constants": "1100.0.0",
|
|
59
56
|
"@pnpm/deps.status": "1100.0.17",
|
|
57
|
+
"@pnpm/deps.inspection.outdated": "1100.1.1",
|
|
60
58
|
"@pnpm/error": "1100.0.0",
|
|
61
59
|
"@pnpm/fs.graceful-fs": "1100.1.0",
|
|
62
|
-
"@pnpm/
|
|
63
|
-
"@pnpm/global.commands": "1100.0.19",
|
|
60
|
+
"@pnpm/global.commands": "1100.0.20",
|
|
64
61
|
"@pnpm/hooks.pnpmfile": "1100.0.10",
|
|
65
62
|
"@pnpm/installing.context": "1100.0.12",
|
|
66
63
|
"@pnpm/installing.dedupe.check": "1100.0.7",
|
|
67
|
-
"@pnpm/
|
|
68
|
-
"@pnpm/installing.deps-installer": "1101.3.0",
|
|
64
|
+
"@pnpm/fs.read-modules-dir": "1100.0.1",
|
|
69
65
|
"@pnpm/lockfile.types": "1100.0.7",
|
|
70
|
-
"@pnpm/pkg-manifest.utils": "1100.2.0",
|
|
71
66
|
"@pnpm/pkg-manifest.reader": "1100.0.4",
|
|
67
|
+
"@pnpm/installing.deps-installer": "1101.3.1",
|
|
68
|
+
"@pnpm/cli.command": "1100.0.1",
|
|
72
69
|
"@pnpm/resolving.parse-wanted-dependency": "1100.0.1",
|
|
73
|
-
"@pnpm/resolving.resolver
|
|
74
|
-
"@pnpm/
|
|
75
|
-
"@pnpm/
|
|
70
|
+
"@pnpm/resolving.npm-resolver": "1101.3.1",
|
|
71
|
+
"@pnpm/pkg-manifest.utils": "1100.2.0",
|
|
72
|
+
"@pnpm/store.connection-manager": "1100.2.2",
|
|
73
|
+
"@pnpm/config.reader": "1101.3.3",
|
|
76
74
|
"@pnpm/store.controller": "1101.0.8",
|
|
77
75
|
"@pnpm/types": "1101.1.1",
|
|
78
|
-
"@pnpm/workspace.
|
|
79
|
-
"@pnpm/
|
|
76
|
+
"@pnpm/workspace.project-manifest-writer": "1100.0.4",
|
|
77
|
+
"@pnpm/resolving.resolver-base": "1100.3.0",
|
|
80
78
|
"@pnpm/workspace.project-manifest-reader": "1100.0.7",
|
|
81
|
-
"@pnpm/workspace.projects-sorter": "1100.0.3",
|
|
82
79
|
"@pnpm/workspace.projects-reader": "1101.0.6",
|
|
83
|
-
"@pnpm/workspace.
|
|
84
|
-
"@pnpm/workspace.
|
|
80
|
+
"@pnpm/workspace.projects-sorter": "1100.0.3",
|
|
81
|
+
"@pnpm/workspace.projects-graph": "1100.0.11",
|
|
85
82
|
"@pnpm/workspace.state": "1100.0.14",
|
|
86
|
-
"@pnpm/workspace.
|
|
83
|
+
"@pnpm/workspace.root-finder": "1100.0.1",
|
|
84
|
+
"@pnpm/workspace.workspace-manifest-writer": "1100.0.9",
|
|
85
|
+
"@pnpm/installing.env-installer": "1101.1.1",
|
|
86
|
+
"@pnpm/workspace.projects-filter": "1100.0.14"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
89
|
"@pnpm/logger": ">=1001.0.0 <1002.0.0"
|
|
@@ -106,18 +106,18 @@
|
|
|
106
106
|
"write-json-file": "^7.0.0",
|
|
107
107
|
"write-package": "7.2.0",
|
|
108
108
|
"write-yaml-file": "^6.0.0",
|
|
109
|
-
"@pnpm/assert-project": "1100.0.10",
|
|
110
|
-
"@pnpm/installing.commands": "1100.4.0",
|
|
111
109
|
"@pnpm/installing.modules-yaml": "1100.0.5",
|
|
110
|
+
"@pnpm/assert-project": "1100.0.10",
|
|
111
|
+
"@pnpm/installing.commands": "1100.4.2",
|
|
112
|
+
"@pnpm/store.index": "1100.1.0",
|
|
112
113
|
"@pnpm/prepare": "1100.0.10",
|
|
113
|
-
"@pnpm/logger": "1100.0.0",
|
|
114
114
|
"@pnpm/test-fixtures": "1100.0.0",
|
|
115
|
-
"@pnpm/store.index": "1100.1.0",
|
|
116
|
-
"@pnpm/test-ipc-server": "1100.0.0",
|
|
117
|
-
"@pnpm/testing.mock-agent": "1100.0.6",
|
|
118
115
|
"@pnpm/testing.command-defaults": "1100.0.1",
|
|
116
|
+
"@pnpm/testing.mock-agent": "1100.0.6",
|
|
119
117
|
"@pnpm/worker": "1100.1.7",
|
|
120
|
-
"@pnpm/
|
|
118
|
+
"@pnpm/test-ipc-server": "1100.0.0",
|
|
119
|
+
"@pnpm/logger": "1100.0.0",
|
|
120
|
+
"@pnpm/workspace.projects-filter": "1100.0.14"
|
|
121
121
|
},
|
|
122
122
|
"engines": {
|
|
123
123
|
"node": ">=22.13"
|