@pnpm/global.commands 1000.0.0-0 → 1100.0.0

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.
@@ -1,5 +1,10 @@
1
1
  import { type GlobalPackageInfo } from '@pnpm/global.packages';
2
- import { type DependencyManifest } from '@pnpm/types';
2
+ import type { DependencyManifest } from '@pnpm/types';
3
+ /**
4
+ * Checks for bin name conflicts between new packages and existing global
5
+ * packages. Returns a set of bin names that should be skipped during linking
6
+ * because they are legitimately owned by an already-installed package.
7
+ */
3
8
  export declare function checkGlobalBinConflicts(opts: {
4
9
  globalDir: string;
5
10
  globalBinDir: string;
@@ -8,4 +13,4 @@ export declare function checkGlobalBinConflicts(opts: {
8
13
  location: string;
9
14
  }>;
10
15
  shouldSkip: (pkg: GlobalPackageInfo) => boolean;
11
- }): Promise<void>;
16
+ }): Promise<Set<string>>;
@@ -1,23 +1,36 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { scanGlobalPackages, } from '@pnpm/global.packages';
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { getBinsFromPackageManifest, pkgOwnsBin } from '@pnpm/bins.resolver';
4
4
  import { PnpmError } from '@pnpm/error';
5
- import { getBinsFromPackageManifest } from '@pnpm/package-bins';
6
- import { safeReadPackageJsonFromDir } from '@pnpm/read-package-json';
5
+ import { scanGlobalPackages, } from '@pnpm/global.packages';
6
+ import { safeReadPackageJsonFromDir } from '@pnpm/pkg-manifest.reader';
7
+ /**
8
+ * Checks for bin name conflicts between new packages and existing global
9
+ * packages. Returns a set of bin names that should be skipped during linking
10
+ * because they are legitimately owned by an already-installed package.
11
+ */
7
12
  export async function checkGlobalBinConflicts(opts) {
8
- const newBinNames = new Set();
13
+ const binsToSkip = new Set();
14
+ // Map each new bin name to all packages that provide it
15
+ const newBinOwners = new Map();
9
16
  await Promise.all(opts.newPkgs.map(async (pkg) => {
10
17
  const bins = await getBinsFromPackageManifest(pkg.manifest, pkg.location);
11
18
  for (const bin of bins) {
12
- newBinNames.add(bin.name);
19
+ const owners = newBinOwners.get(bin.name);
20
+ if (owners) {
21
+ owners.push(pkg.manifest.name);
22
+ }
23
+ else {
24
+ newBinOwners.set(bin.name, [pkg.manifest.name]);
25
+ }
13
26
  }
14
27
  }));
15
- if (newBinNames.size === 0)
16
- return;
28
+ if (newBinOwners.size === 0)
29
+ return binsToSkip;
17
30
  // Quick check: only investigate if a bin with the same name already exists
18
- const conflicting = [...newBinNames].filter((name) => fs.existsSync(path.join(opts.globalBinDir, name)));
19
- if (conflicting.length === 0)
20
- return;
31
+ const conflicting = new Set([...newBinOwners.keys()].filter((name) => fs.existsSync(path.join(opts.globalBinDir, name))));
32
+ if (conflicting.size === 0)
33
+ return binsToSkip;
21
34
  // Some bins already exist — find out if they belong to packages being replaced
22
35
  // (in which case it's fine) or to other packages (conflict).
23
36
  const existingPackages = scanGlobalPackages(opts.globalDir);
@@ -32,13 +45,31 @@ export async function checkGlobalBinConflicts(opts) {
32
45
  continue;
33
46
  const bins = await getBinsFromPackageManifest(manifest, depDir); // eslint-disable-line no-await-in-loop
34
47
  for (const bin of bins) {
35
- if (conflicting.includes(bin.name)) {
36
- throw new PnpmError('GLOBAL_BIN_CONFLICT', `Cannot install: binary "${bin.name}" would conflict with package "${alias}" that is already installed globally`, {
37
- hint: `Remove the conflicting package first: pnpm remove -g ${alias}`,
38
- });
48
+ if (!conflicting.has(bin.name))
49
+ continue;
50
+ const newOwns = newBinOwners.get(bin.name).some((owner) => pkgOwnsBin(bin.name, owner));
51
+ const existingOwns = pkgOwnsBin(bin.name, manifest.name);
52
+ // If only the new package owns this bin, it gets priority and is
53
+ // allowed to override the existing bin.
54
+ if (newOwns && !existingOwns)
55
+ continue;
56
+ // If only the existing package owns this bin, the new package
57
+ // should skip linking it rather than failing the entire install.
58
+ if (existingOwns && !newOwns) {
59
+ binsToSkip.add(bin.name);
60
+ continue;
39
61
  }
62
+ // If both own it (e.g. "pnpm" vs "@pnpm/exe"), or neither owns
63
+ // it, fall through to the conflict error below.
64
+ const conflictDisplay = alias === manifest.name
65
+ ? `"${alias}"`
66
+ : `"${alias}" (package "${manifest.name}")`;
67
+ throw new PnpmError('GLOBAL_BIN_CONFLICT', `Cannot install: binary "${bin.name}" would conflict with ${conflictDisplay} that is already installed globally`, {
68
+ hint: `Remove the conflicting package first: pnpm remove -g ${alias}`,
69
+ });
40
70
  }
41
71
  }
42
72
  }
73
+ return binsToSkip;
43
74
  }
44
75
  //# sourceMappingURL=checkGlobalBinConflicts.js.map
@@ -1,4 +1,5 @@
1
- import { type CreateStoreControllerOptions } from '@pnpm/store-connection-manager';
1
+ import type { CommandHandlerMap } from '@pnpm/cli.command';
2
+ import type { CreateStoreControllerOptions } from '@pnpm/store.connection-manager';
2
3
  export type GlobalAddOptions = CreateStoreControllerOptions & {
3
4
  bin?: string;
4
5
  globalPkgDir?: string;
@@ -10,12 +11,6 @@ export type GlobalAddOptions = CreateStoreControllerOptions & {
10
11
  supportedArchitectures?: {
11
12
  libc?: string[];
12
13
  };
13
- rootProjectManifest?: {
14
- pnpm?: {
15
- supportedArchitectures?: {
16
- libc?: string[];
17
- };
18
- };
19
- };
14
+ rootProjectManifest?: unknown;
20
15
  };
21
- export declare function handleGlobalAdd(opts: GlobalAddOptions, params: string[]): Promise<void>;
16
+ export declare function handleGlobalAdd(opts: GlobalAddOptions, params: string[], commands: CommandHandlerMap): Promise<void>;
package/lib/globalAdd.js CHANGED
@@ -1,16 +1,19 @@
1
- import fs from 'fs';
2
- import path from 'path';
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { linkBinsOfPackages } from '@pnpm/bins.linker';
4
+ import { removeBin } from '@pnpm/bins.remover';
3
5
  import { cleanOrphanedInstallDirs, createGlobalCacheKey, createInstallDir, findGlobalPackage, getHashLink, getInstalledBinNames, } from '@pnpm/global.packages';
4
- import { linkBinsOfPackages } from '@pnpm/link-bins';
5
- import { removeBin } from '@pnpm/remove-bins';
6
- import { readPackageJsonFromDirRawSync } from '@pnpm/read-package-json';
7
- import isSubdir from 'is-subdir';
8
- import symlinkDir from 'symlink-dir';
9
- import { approveBuilds } from '@pnpm/exec.build-commands';
10
- import { installGlobalPackages } from './installGlobalPackages.js';
6
+ import { readPackageJsonFromDirRawSync } from '@pnpm/pkg-manifest.reader';
7
+ import { isSubdir } from 'is-subdir';
8
+ import { symlinkDir } from 'symlink-dir';
11
9
  import { checkGlobalBinConflicts } from './checkGlobalBinConflicts.js';
10
+ import { installGlobalPackages } from './installGlobalPackages.js';
12
11
  import { readInstalledPackages } from './readInstalledPackages.js';
13
- export async function handleGlobalAdd(opts, params) {
12
+ export async function handleGlobalAdd(opts, params, commands) {
13
+ // Resolve relative path selectors to absolute paths before the working
14
+ // directory is changed to the global install dir, otherwise "." or
15
+ // "./foo" would resolve against the temp install directory.
16
+ params = params.map((param) => resolveLocalParam(param, opts.dir));
14
17
  const globalDir = opts.globalPkgDir;
15
18
  const globalBinDir = opts.bin;
16
19
  cleanOrphanedInstallDirs(globalDir);
@@ -31,7 +34,7 @@ export async function handleGlobalAdd(opts, params) {
31
34
  devDependencies: false,
32
35
  optionalDependencies: true,
33
36
  };
34
- const fetchFullMetadata = (opts.supportedArchitectures?.libc ?? opts.rootProjectManifest?.pnpm?.supportedArchitectures?.libc) && true;
37
+ const fetchFullMetadata = opts.supportedArchitectures?.libc != null && true;
35
38
  const makeInstallOpts = (dir, builds) => ({
36
39
  ...opts,
37
40
  global: false,
@@ -56,7 +59,7 @@ export async function handleGlobalAdd(opts, params) {
56
59
  // If any packages had their builds skipped, prompt the user to approve them
57
60
  // (reuses the same interactive flow as `pnpm approve-builds`)
58
61
  if (ignoredBuilds?.size && process.stdin.isTTY) {
59
- await approveBuilds.handler({
62
+ await commands['approve-builds']({
60
63
  ...opts,
61
64
  modulesDir: path.join(installDir, 'node_modules'),
62
65
  dir: installDir,
@@ -67,7 +70,7 @@ export async function handleGlobalAdd(opts, params) {
67
70
  global: false,
68
71
  pending: false,
69
72
  allowBuilds,
70
- });
73
+ }, [], commands);
71
74
  }
72
75
  // Read resolved aliases from the installed package.json
73
76
  const pkgJson = readPackageJsonFromDirRawSync(installDir);
@@ -75,8 +78,9 @@ export async function handleGlobalAdd(opts, params) {
75
78
  // Check for bin name conflicts with other global packages
76
79
  // (must happen before removeExistingGlobalInstalls so we don't lose existing packages on failure)
77
80
  const pkgs = await readInstalledPackages(installDir);
81
+ let binsToSkip;
78
82
  try {
79
- await checkGlobalBinConflicts({
83
+ binsToSkip = await checkGlobalBinConflicts({
80
84
  globalDir,
81
85
  globalBinDir,
82
86
  newPkgs: pkgs,
@@ -97,7 +101,22 @@ export async function handleGlobalAdd(opts, params) {
97
101
  const hashLink = getHashLink(globalDir, cacheHash);
98
102
  await symlinkDir(installDir, hashLink, { overwrite: true });
99
103
  // Link bins from installed packages into global bin dir
100
- await linkBinsOfPackages(pkgs, globalBinDir);
104
+ await linkBinsOfPackages(pkgs, globalBinDir, { excludeBins: binsToSkip });
105
+ }
106
+ function resolveLocalParam(param, baseDir) {
107
+ for (const prefix of ['file:', 'link:']) {
108
+ if (param.startsWith(prefix)) {
109
+ const rest = param.slice(prefix.length);
110
+ if (rest.startsWith('.')) {
111
+ return prefix + path.resolve(baseDir, rest);
112
+ }
113
+ return param;
114
+ }
115
+ }
116
+ if (param.startsWith('.')) {
117
+ return path.resolve(baseDir, param);
118
+ }
119
+ return param;
101
120
  }
102
121
  async function removeExistingGlobalInstalls(globalDir, globalBinDir, aliases) {
103
122
  // Collect unique groups to remove (dedup by hash)
@@ -1,9 +1,9 @@
1
- import fs from 'fs';
2
- import path from 'path';
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { removeBin } from '@pnpm/bins.remover';
3
4
  import { PnpmError } from '@pnpm/error';
4
5
  import { findGlobalPackage, getHashLink, getInstalledBinNames, } from '@pnpm/global.packages';
5
- import { removeBin } from '@pnpm/remove-bins';
6
- import isSubdir from 'is-subdir';
6
+ import { isSubdir } from 'is-subdir';
7
7
  export async function handleGlobalRemove(opts, params) {
8
8
  const globalDir = opts.globalPkgDir;
9
9
  const globalBinDir = opts.bin;
@@ -1,4 +1,5 @@
1
- import { type CreateStoreControllerOptions } from '@pnpm/store-connection-manager';
1
+ import type { CommandHandlerMap } from '@pnpm/cli.command';
2
+ import type { CreateStoreControllerOptions } from '@pnpm/store.connection-manager';
2
3
  export type GlobalUpdateOptions = CreateStoreControllerOptions & {
3
4
  bin?: string;
4
5
  globalPkgDir?: string;
@@ -9,12 +10,6 @@ export type GlobalUpdateOptions = CreateStoreControllerOptions & {
9
10
  supportedArchitectures?: {
10
11
  libc?: string[];
11
12
  };
12
- rootProjectManifest?: {
13
- pnpm?: {
14
- supportedArchitectures?: {
15
- libc?: string[];
16
- };
17
- };
18
- };
13
+ rootProjectManifest?: unknown;
19
14
  };
20
- export declare function handleGlobalUpdate(opts: GlobalUpdateOptions, params: string[]): Promise<string | undefined>;
15
+ export declare function handleGlobalUpdate(opts: GlobalUpdateOptions, params: string[], commands: CommandHandlerMap): Promise<string | undefined>;
@@ -1,15 +1,14 @@
1
- import fs from 'fs';
2
- import path from 'path';
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { linkBinsOfPackages } from '@pnpm/bins.linker';
4
+ import { removeBin } from '@pnpm/bins.remover';
3
5
  import { cleanOrphanedInstallDirs, createInstallDir, getHashLink, getInstalledBinNames, scanGlobalPackages, } from '@pnpm/global.packages';
4
- import { linkBinsOfPackages } from '@pnpm/link-bins';
5
- import { removeBin } from '@pnpm/remove-bins';
6
- import isSubdir from 'is-subdir';
7
- import symlinkDir from 'symlink-dir';
8
- import { approveBuilds } from '@pnpm/exec.build-commands';
9
- import { installGlobalPackages } from './installGlobalPackages.js';
6
+ import { isSubdir } from 'is-subdir';
7
+ import { symlinkDir } from 'symlink-dir';
10
8
  import { checkGlobalBinConflicts } from './checkGlobalBinConflicts.js';
9
+ import { installGlobalPackages } from './installGlobalPackages.js';
11
10
  import { readInstalledPackages } from './readInstalledPackages.js';
12
- export async function handleGlobalUpdate(opts, params) {
11
+ export async function handleGlobalUpdate(opts, params, commands) {
13
12
  const globalDir = opts.globalPkgDir;
14
13
  const globalBinDir = opts.bin;
15
14
  cleanOrphanedInstallDirs(globalDir);
@@ -30,11 +29,11 @@ export async function handleGlobalUpdate(opts, params) {
30
29
  }
31
30
  // Update each package group sequentially to avoid overwhelming the system
32
31
  for (const pkg of packagesToUpdate) {
33
- await updateGlobalPackageGroup(opts, globalDir, globalBinDir, pkg); // eslint-disable-line no-await-in-loop
32
+ await updateGlobalPackageGroup(opts, globalDir, globalBinDir, pkg, commands); // eslint-disable-line no-await-in-loop
34
33
  }
35
34
  return undefined;
36
35
  }
37
- async function updateGlobalPackageGroup(opts, globalDir, globalBinDir, pkg) {
36
+ async function updateGlobalPackageGroup(opts, globalDir, globalBinDir, pkg, commands) {
38
37
  const installDir = createInstallDir(globalDir);
39
38
  // When --latest, just pass alias names to get the latest version.
40
39
  // Otherwise, pass alias@spec to update within the existing range.
@@ -44,7 +43,7 @@ async function updateGlobalPackageGroup(opts, globalDir, globalBinDir, pkg) {
44
43
  devDependencies: false,
45
44
  optionalDependencies: true,
46
45
  };
47
- const fetchFullMetadata = (opts.supportedArchitectures?.libc ?? opts.rootProjectManifest?.pnpm?.supportedArchitectures?.libc) && true;
46
+ const fetchFullMetadata = opts.supportedArchitectures?.libc != null && true;
48
47
  const allowBuilds = opts.allowBuilds ?? {};
49
48
  const ignoredBuilds = await installGlobalPackages({
50
49
  ...opts,
@@ -69,7 +68,7 @@ async function updateGlobalPackageGroup(opts, globalDir, globalBinDir, pkg) {
69
68
  // If any packages had their builds skipped, prompt the user to approve them
70
69
  // (reuses the same interactive flow as `pnpm approve-builds`)
71
70
  if (ignoredBuilds?.size && process.stdin.isTTY) {
72
- await approveBuilds.handler({
71
+ await commands['approve-builds']({
73
72
  ...opts,
74
73
  modulesDir: path.join(installDir, 'node_modules'),
75
74
  dir: installDir,
@@ -80,12 +79,13 @@ async function updateGlobalPackageGroup(opts, globalDir, globalBinDir, pkg) {
80
79
  global: false,
81
80
  pending: false,
82
81
  allowBuilds,
83
- });
82
+ }, [], commands);
84
83
  }
85
84
  // Check for bin name conflicts with other global packages
86
85
  const pkgs = await readInstalledPackages(installDir);
86
+ let binsToSkip;
87
87
  try {
88
- await checkGlobalBinConflicts({
88
+ binsToSkip = await checkGlobalBinConflicts({
89
89
  globalDir,
90
90
  globalBinDir,
91
91
  newPkgs: pkgs,
@@ -107,6 +107,6 @@ async function updateGlobalPackageGroup(opts, globalDir, globalBinDir, pkg) {
107
107
  await fs.promises.rm(oldInstallDir, { recursive: true, force: true });
108
108
  }
109
109
  // Link bins from new installation
110
- await linkBinsOfPackages(pkgs, globalBinDir);
110
+ await linkBinsOfPackages(pkgs, globalBinDir, { excludeBins: binsToSkip });
111
111
  }
112
112
  //# sourceMappingURL=globalUpdate.js.map
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { handleGlobalAdd, type GlobalAddOptions } from './globalAdd.js';
2
- export { handleGlobalRemove } from './globalRemove.js';
3
- export { handleGlobalUpdate, type GlobalUpdateOptions } from './globalUpdate.js';
4
1
  export { checkGlobalBinConflicts } from './checkGlobalBinConflicts.js';
5
- export { listGlobalPackages } from './listGlobalPackages.js';
2
+ export { type GlobalAddOptions, handleGlobalAdd } from './globalAdd.js';
3
+ export { handleGlobalRemove } from './globalRemove.js';
4
+ export { type GlobalUpdateOptions, handleGlobalUpdate } from './globalUpdate.js';
6
5
  export { installGlobalPackages, type InstallGlobalPackagesOptions } from './installGlobalPackages.js';
6
+ export { listGlobalPackages } from './listGlobalPackages.js';
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
+ export { checkGlobalBinConflicts } from './checkGlobalBinConflicts.js';
1
2
  export { handleGlobalAdd } from './globalAdd.js';
2
3
  export { handleGlobalRemove } from './globalRemove.js';
3
4
  export { handleGlobalUpdate } from './globalUpdate.js';
4
- export { checkGlobalBinConflicts } from './checkGlobalBinConflicts.js';
5
- export { listGlobalPackages } from './listGlobalPackages.js';
6
5
  export { installGlobalPackages } from './installGlobalPackages.js';
6
+ export { listGlobalPackages } from './listGlobalPackages.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import { type CreateStoreControllerOptions } from '@pnpm/store-connection-manager';
2
- import { type IgnoredBuilds, type IncludedDependencies } from '@pnpm/types';
1
+ import { type CreateStoreControllerOptions } from '@pnpm/store.connection-manager';
2
+ import type { IgnoredBuilds, IncludedDependencies } from '@pnpm/types';
3
3
  export interface InstallGlobalPackagesOptions extends CreateStoreControllerOptions {
4
4
  bin: string;
5
5
  dir: string;
@@ -1,18 +1,15 @@
1
- import { tryReadProjectManifest } from '@pnpm/cli-utils';
2
- import { getOptionsFromRootManifest } from '@pnpm/config';
3
- import { mutateModulesInSingleProject } from '@pnpm/core';
4
- import { createStoreController } from '@pnpm/store-connection-manager';
1
+ import { tryReadProjectManifest } from '@pnpm/cli.utils';
2
+ import { mutateModulesInSingleProject } from '@pnpm/installing.deps-installer';
3
+ import { createStoreController } from '@pnpm/store.connection-manager';
5
4
  export async function installGlobalPackages(opts, params) {
6
5
  const store = await createStoreController(opts);
7
6
  let { manifest, writeProjectManifest } = await tryReadProjectManifest(opts.dir, opts);
8
7
  if (manifest == null) {
9
8
  manifest = {};
10
9
  }
11
- const rootManifestOpts = getOptionsFromRootManifest(opts.dir, manifest);
12
10
  const installOpts = {
13
11
  ...opts,
14
- ...rootManifestOpts,
15
- allowBuilds: { ...rootManifestOpts.allowBuilds, ...opts.allowBuilds },
12
+ allowBuilds: { ...opts.allowBuilds },
16
13
  storeController: store.ctrl,
17
14
  storeDir: store.dir,
18
15
  };
@@ -1,5 +1,5 @@
1
- import { scanGlobalPackages, getGlobalPackageDetails, } from '@pnpm/global.packages';
2
- import { createMatcher } from '@pnpm/matcher';
1
+ import { createMatcher } from '@pnpm/config.matcher';
2
+ import { getGlobalPackageDetails, scanGlobalPackages, } from '@pnpm/global.packages';
3
3
  import { lexCompare } from '@pnpm/util.lex-comparator';
4
4
  export async function listGlobalPackages(globalPkgDir, params) {
5
5
  const packages = scanGlobalPackages(globalPkgDir);
@@ -1,4 +1,4 @@
1
- import { type DependencyManifest } from '@pnpm/types';
1
+ import type { DependencyManifest } from '@pnpm/types';
2
2
  export declare function readInstalledPackages(installDir: string): Promise<Array<{
3
3
  manifest: DependencyManifest;
4
4
  location: string;
@@ -1,5 +1,5 @@
1
- import path from 'path';
2
- import { readPackageJsonFromDir, readPackageJsonFromDirRawSync } from '@pnpm/read-package-json';
1
+ import path from 'node:path';
2
+ import { readPackageJsonFromDir, readPackageJsonFromDirRawSync } from '@pnpm/pkg-manifest.reader';
3
3
  export async function readInstalledPackages(installDir) {
4
4
  const pkgJson = readPackageJsonFromDirRawSync(installDir);
5
5
  const depNames = Object.keys(pkgJson.dependencies ?? {});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/global.commands",
3
- "version": "1000.0.0-0",
3
+ "version": "1100.0.0",
4
4
  "description": "Global package command handlers for pnpm",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -26,24 +26,24 @@
26
26
  ],
27
27
  "dependencies": {
28
28
  "@pnpm/util.lex-comparator": "^3.0.2",
29
- "is-subdir": "^1.2.0",
30
- "symlink-dir": "^7.0.0",
31
- "@pnpm/cli-utils": "1001.2.8",
32
- "@pnpm/core": "1012.0.1",
33
- "@pnpm/error": "1000.0.5",
34
- "@pnpm/exec.build-commands": "1001.0.33",
35
- "@pnpm/global.packages": "1000.0.0-0",
36
- "@pnpm/config": "1004.4.2",
37
- "@pnpm/matcher": "1000.1.0",
38
- "@pnpm/package-bins": "1000.0.11",
39
- "@pnpm/read-package-json": "1000.1.2",
40
- "@pnpm/remove-bins": "1000.0.15",
41
- "@pnpm/store-connection-manager": "1002.2.4",
42
- "@pnpm/types": "1000.9.0",
43
- "@pnpm/link-bins": "1000.2.6"
29
+ "is-subdir": "^2.0.0",
30
+ "symlink-dir": "^10.0.1",
31
+ "@pnpm/bins.linker": "1100.0.0",
32
+ "@pnpm/bins.remover": "1100.0.0",
33
+ "@pnpm/bins.resolver": "1100.0.0",
34
+ "@pnpm/cli.command": "1100.0.0",
35
+ "@pnpm/cli.utils": "1100.0.0",
36
+ "@pnpm/config.matcher": "1100.0.0",
37
+ "@pnpm/global.packages": "1100.0.0",
38
+ "@pnpm/error": "1100.0.0",
39
+ "@pnpm/installing.deps-installer": "1100.0.0",
40
+ "@pnpm/pkg-manifest.reader": "1100.0.0",
41
+ "@pnpm/types": "1100.0.0",
42
+ "@pnpm/store.connection-manager": "1100.0.0",
43
+ "@pnpm/config.reader": "1100.0.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@pnpm/global.commands": "1000.0.0-0"
46
+ "@pnpm/global.commands": "1100.0.0"
47
47
  },
48
48
  "engines": {
49
49
  "node": ">=22.13"
@@ -52,8 +52,9 @@
52
52
  "preset": "@pnpm/jest-config"
53
53
  },
54
54
  "scripts": {
55
- "lint": "eslint \"src/**/*.ts\"",
56
- "compile": "tsgo --build && pnpm run lint --fix",
57
- "test": "pnpm run compile"
55
+ "lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\"",
56
+ "compile": "tsgo --build && pn lint --fix",
57
+ "test": "pn compile && pn .test",
58
+ ".test": "cross-env NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules --disable-warning=ExperimentalWarning --disable-warning=DEP0169\" jest"
58
59
  }
59
60
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkGlobalBinConflicts.js","sourceRoot":"","sources":["../src/checkGlobalBinConflicts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EACL,kBAAkB,GAEnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAGpE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAE,IAK9C,EAAiB;IAChB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IACrC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,0BAA0B,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;QACzE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;IAAA,CACF,CAAC,CACH,CAAA;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;QAAE,OAAM;IAElC,2EAA2E;IAC3E,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAC5D,CAAA;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAEpC,iFAA+E;IAC/E,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC3D,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,SAAQ;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;QACpE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YAC3C,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA,CAAC,uCAAuC;YACjG,IAAI,CAAC,QAAQ;gBAAE,SAAQ;YACvB,MAAM,IAAI,GAAG,MAAM,0BAA0B,CAAC,QAA8B,EAAE,MAAM,CAAC,CAAA,CAAC,uCAAuC;YAC7H,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,SAAS,CACjB,qBAAqB,EACrB,2BAA2B,GAAG,CAAC,IAAI,kCAAkC,KAAK,sCAAsC,EAChH;wBACE,IAAI,EAAE,wDAAwD,KAAK,EAAE;qBACtE,CACF,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AAAA,CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalAdd.js","sourceRoot":"","sources":["../src/globalAdd.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalRemove.js","sourceRoot":"","sources":["../src/globalRemove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,oBAAoB,GAErB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,QAAQ,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAGC,EACD,MAAgB,EACD;IACf,MAAM,SAAS,GAAG,IAAI,CAAC,YAAa,CAAA;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAI,CAAA;IAE9B,sEAAsE;IACtE,MAAM,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAA;IAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,SAAS,CAAC,sBAAsB,EAAE,kBAAkB,KAAK,iCAAiC,CAAC,CAAA;QACvG,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,mFAAmF;IACnF,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAA;QAChD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QACzF,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACnE,IAAI,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;IAAA,CACF,CAAC,CACH,CAAA;AAAA,CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalUpdate.js","sourceRoot":"","sources":["../src/globalUpdate.ts"],"names":[],"mappings":"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"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAyB,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAA4B,MAAM,mBAAmB,CAAA;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAqC,MAAM,4BAA4B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"installGlobalPackages.js","sourceRoot":"","sources":["../src/installGlobalPackages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAqC,MAAM,gCAAgC,CAAA;AAyBzG,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAkC,EAClC,MAAgB,EACoB;IACpC,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC/C,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACrF,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,QAAQ,GAAG,EAAE,CAAA;IACf,CAAC;IACD,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACvE,MAAM,WAAW,GAAG;QAClB,GAAG,IAAI;QACP,GAAG,gBAAgB;QACnB,WAAW,EAAE,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;QACrE,eAAe,EAAE,KAAK,CAAC,IAAI;QAC3B,QAAQ,EAAE,KAAK,CAAC,GAAG;KACpB,CAAA;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9F,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,MAAM,4BAA4B,CAC1E;QACE,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI,CAAC,GAAG;QACjB,mBAAmB,EAAE,MAAM;QAC3B,QAAQ;QACR,QAAQ,EAAE,aAAsB;QAChC,IAAI,EAAE,KAAK;QACX,aAAa;QACb,OAAO,EAAE,IAAI,CAAC,GAAqB;QACnC,uBAAuB,EAAE,cAAuB;KACjD,EACD,WAAW,CACZ,CAAA;IACD,MAAM,oBAAoB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IACnD,OAAO,aAAa,CAAA;AAAA,CACrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"listGlobalPackages.js","sourceRoot":"","sources":["../src/listGlobalPackages.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEtD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAE,YAAoB,EAAE,MAAgB,EAAmB;IACjG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACzF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAA;IACtE,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,SAAQ;QACvC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,0BAA0B,CAAA;IAChC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAAA,CACxB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"readInstalledPackages.js","sourceRoot":"","sources":["../src/readInstalledPackages.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAA;AAG/F,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAE,UAAkB,EAAsE;IACnI,MAAM,OAAO,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAClG,CAAA;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAuB;QAC5C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC;KACzD,CAAC,CAAC,CAAA;AAAA,CACJ"}