@pnpm/core 0.0.0-20230605-20230605142810

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.
Files changed (57) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +107 -0
  3. package/lib/api.d.ts +4 -0
  4. package/lib/api.js +23 -0
  5. package/lib/api.js.map +1 -0
  6. package/lib/fs/gracefulify.d.ts +0 -0
  7. package/lib/fs/gracefulify.js +2 -0
  8. package/lib/fs/gracefulify.js.map +1 -0
  9. package/lib/getPeerDependencyIssues.d.ts +5 -0
  10. package/lib/getPeerDependencyIssues.js +65 -0
  11. package/lib/getPeerDependencyIssues.js.map +1 -0
  12. package/lib/index.d.ts +7 -0
  13. package/lib/index.js +22 -0
  14. package/lib/index.js.map +1 -0
  15. package/lib/install/allProjectsAreUpToDate.d.ts +12 -0
  16. package/lib/install/allProjectsAreUpToDate.js +106 -0
  17. package/lib/install/allProjectsAreUpToDate.js.map +1 -0
  18. package/lib/install/extendInstallOptions.d.ts +116 -0
  19. package/lib/install/extendInstallOptions.js +134 -0
  20. package/lib/install/extendInstallOptions.js.map +1 -0
  21. package/lib/install/getPreferredVersions.d.ts +5 -0
  22. package/lib/install/getPreferredVersions.js +62 -0
  23. package/lib/install/getPreferredVersions.js.map +1 -0
  24. package/lib/install/getPreferredVersions.test.d.ts +1 -0
  25. package/lib/install/getPreferredVersions.test.js +30 -0
  26. package/lib/install/getPreferredVersions.test.js.map +1 -0
  27. package/lib/install/hooks.d.ts +16 -0
  28. package/lib/install/hooks.js +3 -0
  29. package/lib/install/hooks.js.map +1 -0
  30. package/lib/install/index.d.ts +92 -0
  31. package/lib/install/index.js +1092 -0
  32. package/lib/install/index.js.map +1 -0
  33. package/lib/install/link.d.ts +43 -0
  34. package/lib/install/link.js +359 -0
  35. package/lib/install/link.js.map +1 -0
  36. package/lib/install/reportPeerDependencyIssues.d.ts +10 -0
  37. package/lib/install/reportPeerDependencyIssues.js +29 -0
  38. package/lib/install/reportPeerDependencyIssues.js.map +1 -0
  39. package/lib/link/index.d.ts +11 -0
  40. package/lib/link/index.js +145 -0
  41. package/lib/link/index.js.map +1 -0
  42. package/lib/link/options.d.ts +31 -0
  43. package/lib/link/options.js +39 -0
  44. package/lib/link/options.js.map +1 -0
  45. package/lib/parseWantedDependencies.d.ts +14 -0
  46. package/lib/parseWantedDependencies.js +60 -0
  47. package/lib/parseWantedDependencies.js.map +1 -0
  48. package/lib/pnpmPkgJson.d.ts +3 -0
  49. package/lib/pnpmPkgJson.js +19 -0
  50. package/lib/pnpmPkgJson.js.map +1 -0
  51. package/lib/types.d.ts +2 -0
  52. package/lib/types.js +3 -0
  53. package/lib/types.js.map +1 -0
  54. package/lib/uninstall/removeDeps.d.ts +5 -0
  55. package/lib/uninstall/removeDeps.js +40 -0
  56. package/lib/uninstall/removeDeps.js.map +1 -0
  57. package/package.json +156 -0
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extendOptions = void 0;
4
+ const constants_1 = require("@pnpm/constants");
5
+ const error_1 = require("@pnpm/error");
6
+ const hooks_read_package_hook_1 = require("@pnpm/hooks.read-package-hook");
7
+ const normalize_registries_1 = require("@pnpm/normalize-registries");
8
+ const pnpmPkgJson_1 = require("../pnpmPkgJson");
9
+ const defaults = async (opts) => {
10
+ const packageManager = opts.packageManager ?? {
11
+ name: pnpmPkgJson_1.pnpmPkgJson.name,
12
+ version: pnpmPkgJson_1.pnpmPkgJson.version,
13
+ };
14
+ return {
15
+ allowedDeprecatedVersions: {},
16
+ allowNonAppliedPatches: false,
17
+ autoInstallPeers: true,
18
+ childConcurrency: 5,
19
+ confirmModulesPurge: !opts.force,
20
+ depth: 0,
21
+ enablePnp: false,
22
+ engineStrict: false,
23
+ force: false,
24
+ forceFullResolution: false,
25
+ forceSharedLockfile: false,
26
+ frozenLockfile: false,
27
+ hoistPattern: undefined,
28
+ publicHoistPattern: undefined,
29
+ hooks: {},
30
+ ignoreCurrentPrefs: false,
31
+ ignoreDepScripts: false,
32
+ ignoreScripts: false,
33
+ include: {
34
+ dependencies: true,
35
+ devDependencies: true,
36
+ optionalDependencies: true,
37
+ },
38
+ includeDirect: {
39
+ dependencies: true,
40
+ devDependencies: true,
41
+ optionalDependencies: true,
42
+ },
43
+ lockfileDir: opts.lockfileDir ?? opts.dir ?? process.cwd(),
44
+ lockfileOnly: false,
45
+ nodeVersion: process.version,
46
+ nodeLinker: 'isolated',
47
+ overrides: {},
48
+ ownLifecycleHooksStdio: 'inherit',
49
+ ignoreCompatibilityDb: false,
50
+ ignorePackageManifest: false,
51
+ packageExtensions: {},
52
+ packageManager,
53
+ preferFrozenLockfile: true,
54
+ preferWorkspacePackages: false,
55
+ preserveWorkspaceProtocol: true,
56
+ pruneLockfileImporters: false,
57
+ pruneStore: false,
58
+ rawConfig: {},
59
+ registries: normalize_registries_1.DEFAULT_REGISTRIES,
60
+ resolutionMode: 'lowest-direct',
61
+ saveWorkspaceProtocol: 'rolling',
62
+ lockfileIncludeTarballUrl: false,
63
+ scriptsPrependNodePath: false,
64
+ shamefullyHoist: false,
65
+ shellEmulator: false,
66
+ sideEffectsCacheRead: false,
67
+ sideEffectsCacheWrite: false,
68
+ symlink: true,
69
+ storeController: opts.storeController,
70
+ storeDir: opts.storeDir,
71
+ strictPeerDependencies: true,
72
+ tag: 'latest',
73
+ unsafePerm: process.platform === 'win32' ||
74
+ process.platform === 'cygwin' ||
75
+ !process.setgid ||
76
+ process.getuid() !== 0,
77
+ useLockfile: true,
78
+ saveLockfile: true,
79
+ useGitBranchLockfile: false,
80
+ mergeGitBranchLockfiles: false,
81
+ userAgent: `${packageManager.name}/${packageManager.version} npm/? node/${process.version} ${process.platform} ${process.arch}`,
82
+ verifyStoreIntegrity: true,
83
+ workspacePackages: {},
84
+ enableModulesDir: true,
85
+ modulesCacheMaxAge: 7 * 24 * 60,
86
+ resolveSymlinksInInjectedDirs: false,
87
+ dedupeDirectDeps: true,
88
+ dedupePeerDependents: true,
89
+ resolvePeersFromWorkspaceRoot: true,
90
+ extendNodePath: true,
91
+ ignoreWorkspaceCycles: false,
92
+ excludeLinksFromLockfile: false,
93
+ };
94
+ };
95
+ async function extendOptions(opts) {
96
+ if (opts) {
97
+ for (const key in opts) {
98
+ if (opts[key] === undefined) {
99
+ delete opts[key];
100
+ }
101
+ }
102
+ }
103
+ if (opts.onlyBuiltDependencies && opts.neverBuiltDependencies) {
104
+ throw new error_1.PnpmError('CONFIG_CONFLICT_BUILT_DEPENDENCIES', 'Cannot have both neverBuiltDependencies and onlyBuiltDependencies');
105
+ }
106
+ const defaultOpts = await defaults(opts);
107
+ const extendedOpts = {
108
+ ...defaultOpts,
109
+ ...opts,
110
+ storeDir: defaultOpts.storeDir,
111
+ };
112
+ extendedOpts.readPackageHook = (0, hooks_read_package_hook_1.createReadPackageHook)({
113
+ ignoreCompatibilityDb: extendedOpts.ignoreCompatibilityDb,
114
+ readPackageHook: extendedOpts.hooks?.readPackage,
115
+ overrides: extendedOpts.overrides,
116
+ lockfileDir: extendedOpts.lockfileDir,
117
+ packageExtensions: extendedOpts.packageExtensions,
118
+ peerDependencyRules: extendedOpts.peerDependencyRules,
119
+ });
120
+ if (extendedOpts.lockfileOnly) {
121
+ extendedOpts.ignoreScripts = true;
122
+ if (!extendedOpts.useLockfile) {
123
+ throw new error_1.PnpmError('CONFIG_CONFLICT_LOCKFILE_ONLY_WITH_NO_LOCKFILE', `Cannot generate a ${constants_1.WANTED_LOCKFILE} because lockfile is set to false`);
124
+ }
125
+ }
126
+ if (extendedOpts.userAgent.startsWith('npm/')) {
127
+ extendedOpts.userAgent = `${extendedOpts.packageManager.name}/${extendedOpts.packageManager.version} ${extendedOpts.userAgent}`;
128
+ }
129
+ extendedOpts.registries = (0, normalize_registries_1.normalizeRegistries)(extendedOpts.registries);
130
+ extendedOpts.rawConfig['registry'] = extendedOpts.registries.default;
131
+ return extendedOpts;
132
+ }
133
+ exports.extendOptions = extendOptions;
134
+ //# sourceMappingURL=extendInstallOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extendInstallOptions.js","sourceRoot":"","sources":["../../src/install/extendInstallOptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type PackageSnapshots } from '@pnpm/lockfile-utils';
2
+ import { type PreferredVersions } from '@pnpm/resolver-base';
3
+ import { type DependencyManifest, type ProjectManifest } from '@pnpm/types';
4
+ export declare function getAllUniqueSpecs(manifests: DependencyManifest[]): Record<string, string>;
5
+ export declare function getPreferredVersionsFromLockfileAndManifests(snapshots: PackageSnapshots | undefined, manifests: Array<DependencyManifest | ProjectManifest>): PreferredVersions;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPreferredVersionsFromLockfileAndManifests = exports.getAllUniqueSpecs = void 0;
7
+ const lockfile_utils_1 = require("@pnpm/lockfile-utils");
8
+ const manifest_utils_1 = require("@pnpm/manifest-utils");
9
+ const resolver_base_1 = require("@pnpm/resolver-base");
10
+ const version_selector_type_1 = __importDefault(require("version-selector-type"));
11
+ function getAllUniqueSpecs(manifests) {
12
+ const allSpecs = {};
13
+ const ignored = new Set();
14
+ for (const manifest of manifests) {
15
+ const specs = (0, manifest_utils_1.getAllDependenciesFromManifest)(manifest);
16
+ for (const [name, spec] of Object.entries(specs)) {
17
+ if (ignored.has(name))
18
+ continue;
19
+ if (allSpecs[name] != null && allSpecs[name] !== spec || spec.includes(':')) {
20
+ ignored.add(name);
21
+ delete allSpecs[name];
22
+ continue;
23
+ }
24
+ allSpecs[name] = spec;
25
+ }
26
+ }
27
+ return allSpecs;
28
+ }
29
+ exports.getAllUniqueSpecs = getAllUniqueSpecs;
30
+ function getPreferredVersionsFromLockfileAndManifests(snapshots, manifests) {
31
+ const preferredVersions = {};
32
+ for (const manifest of manifests) {
33
+ const specs = (0, manifest_utils_1.getAllDependenciesFromManifest)(manifest);
34
+ for (const [name, spec] of Object.entries(specs)) {
35
+ const selector = (0, version_selector_type_1.default)(spec);
36
+ if (!selector)
37
+ continue;
38
+ preferredVersions[name] = preferredVersions[name] ?? {};
39
+ preferredVersions[name][spec] = {
40
+ selectorType: selector.type,
41
+ weight: resolver_base_1.DIRECT_DEP_SELECTOR_WEIGHT,
42
+ };
43
+ }
44
+ }
45
+ if (!snapshots)
46
+ return preferredVersions;
47
+ addPreferredVersionsFromLockfile(snapshots, preferredVersions);
48
+ return preferredVersions;
49
+ }
50
+ exports.getPreferredVersionsFromLockfileAndManifests = getPreferredVersionsFromLockfileAndManifests;
51
+ function addPreferredVersionsFromLockfile(snapshots, preferredVersions) {
52
+ for (const [depPath, snapshot] of Object.entries(snapshots)) {
53
+ const { name, version } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, snapshot);
54
+ if (!preferredVersions[name]) {
55
+ preferredVersions[name] = { [version]: 'version' };
56
+ }
57
+ else if (!preferredVersions[name][version]) {
58
+ preferredVersions[name][version] = 'version';
59
+ }
60
+ }
61
+ }
62
+ //# sourceMappingURL=getPreferredVersions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPreferredVersions.js","sourceRoot":"","sources":["../../src/install/getPreferredVersions.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAoF;AACpF,yDAAqE;AACrE,uDAAwF;AAExF,kFAA0D;AAE1D,SAAgB,iBAAiB,CAAE,SAA+B;IAChE,MAAM,QAAQ,GAA2B,EAAE,CAAA;IAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,MAAM,KAAK,GAAG,IAAA,+CAA8B,EAAC,QAAQ,CAAC,CAAA;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAChD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC/B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC3E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACjB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACrB,SAAQ;aACT;YACD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;SACtB;KACF;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAhBD,8CAgBC;AAED,SAAgB,4CAA4C,CAC1D,SAAuC,EACvC,SAAsD;IAEtD,MAAM,iBAAiB,GAAsB,EAAE,CAAA;IAC/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,MAAM,KAAK,GAAG,IAAA,+CAA8B,EAAC,QAAQ,CAAC,CAAA;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAChD,MAAM,QAAQ,GAAG,IAAA,+BAAsB,EAAC,IAAI,CAAC,CAAA;YAC7C,IAAI,CAAC,QAAQ;gBAAE,SAAQ;YACvB,iBAAiB,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YACvD,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG;gBAC9B,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,MAAM,EAAE,0CAA0B;aACnC,CAAA;SACF;KACF;IACD,IAAI,CAAC,SAAS;QAAE,OAAO,iBAAiB,CAAA;IACxC,gCAAgC,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAC9D,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AApBD,oGAoBC;AAED,SAAS,gCAAgC,CAAE,SAA2B,EAAE,iBAAoC;IAC1G,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC3D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAA,uCAAsB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC5B,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;SACnD;aAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;YAC5C,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;SAC7C;KACF;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const getPreferredVersions_1 = require("./getPreferredVersions");
4
+ test('getAllUniqueSpecs()', () => {
5
+ expect((0, getPreferredVersions_1.getAllUniqueSpecs)([
6
+ {
7
+ name: '',
8
+ version: '',
9
+ dependencies: {
10
+ foo: '1.0.0',
11
+ bar: '1.0.0',
12
+ qar: '1.0.0',
13
+ zoo: 'link:../zoo',
14
+ alpha: 'npm:beta@2',
15
+ },
16
+ },
17
+ {
18
+ name: '',
19
+ version: '',
20
+ dependencies: {
21
+ bar: '1.0.0',
22
+ qar: '2.0.0',
23
+ },
24
+ },
25
+ ])).toStrictEqual({
26
+ foo: '1.0.0',
27
+ bar: '1.0.0',
28
+ });
29
+ });
30
+ //# sourceMappingURL=getPreferredVersions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPreferredVersions.test.js","sourceRoot":"","sources":["../../src/install/getPreferredVersions.test.ts"],"names":[],"mappings":";;AAAA,iEAA0D;AAE1D,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAC/B,MAAM,CAAC,IAAA,wCAAiB,EAAC;QACvB;YACE,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,YAAY,EAAE;gBACZ,GAAG,EAAE,OAAO;gBACZ,GAAG,EAAE,OAAO;gBACZ,GAAG,EAAE,OAAO;gBACZ,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,YAAY;aACpB;SACF;QACD;YACE,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,YAAY,EAAE;gBACZ,GAAG,EAAE,OAAO;gBACZ,GAAG,EAAE,OAAO;aACb;SACF;KACF,CAAC,CAAC,CAAC,aAAa,CAAC;QAChB,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,OAAO;KACb,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { Lockfile } from '@pnpm/lockfile-file';
2
+ import type { Registries } from '@pnpm/types';
3
+ export interface PreResolutionHookContext {
4
+ wantedLockfile: Lockfile;
5
+ currentLockfile: Lockfile;
6
+ existsCurrentLockfile: boolean;
7
+ existsWantedLockfile: boolean;
8
+ lockfileDir: string;
9
+ storeDir: string;
10
+ registries: Registries;
11
+ }
12
+ export interface PreResolutionHookLogger {
13
+ info: (message: string) => void;
14
+ warn: (message: string) => void;
15
+ }
16
+ export type PreResolutionHook = (ctx: PreResolutionHookContext, logger: PreResolutionHookLogger) => Promise<void>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/install/hooks.ts"],"names":[],"mappings":""}
@@ -0,0 +1,92 @@
1
+ import { type InstallationResultStats } from '@pnpm/headless';
2
+ import { type PinnedVersion, type UpdateMatchingFunction, type WantedDependency } from '@pnpm/resolve-dependencies';
3
+ import { type PreferredVersions } from '@pnpm/resolver-base';
4
+ import { type DependenciesField, type PeerDependencyIssues, type ProjectManifest, type ReadPackageHook } from '@pnpm/types';
5
+ import { type InstallOptions } from './extendInstallOptions';
6
+ interface InstallMutationOptions {
7
+ update?: boolean;
8
+ updateMatching?: UpdateMatchingFunction;
9
+ updatePackageManifest?: boolean;
10
+ }
11
+ export interface InstallDepsMutation extends InstallMutationOptions {
12
+ mutation: 'install';
13
+ pruneDirectDependencies?: boolean;
14
+ }
15
+ export interface InstallSomeDepsMutation extends InstallMutationOptions {
16
+ allowNew?: boolean;
17
+ dependencySelectors: string[];
18
+ mutation: 'installSome';
19
+ peer?: boolean;
20
+ pruneDirectDependencies?: boolean;
21
+ pinnedVersion?: PinnedVersion;
22
+ targetDependenciesField?: DependenciesField;
23
+ }
24
+ export interface UninstallSomeDepsMutation {
25
+ mutation: 'uninstallSome';
26
+ dependencyNames: string[];
27
+ targetDependenciesField?: DependenciesField;
28
+ }
29
+ export interface UnlinkDepsMutation {
30
+ mutation: 'unlink';
31
+ }
32
+ export interface UnlinkSomeDepsMutation {
33
+ mutation: 'unlinkSome';
34
+ dependencyNames: string[];
35
+ }
36
+ export type DependenciesMutation = InstallDepsMutation | InstallSomeDepsMutation | UninstallSomeDepsMutation | UnlinkDepsMutation | UnlinkSomeDepsMutation;
37
+ export declare function install(manifest: ProjectManifest, opts: Omit<InstallOptions, 'allProjects'> & {
38
+ preferredVersions?: PreferredVersions;
39
+ pruneDirectDependencies?: boolean;
40
+ } & InstallMutationOptions): Promise<ProjectManifest>;
41
+ export type MutatedProject = DependenciesMutation & {
42
+ rootDir: string;
43
+ };
44
+ export type MutateModulesOptions = InstallOptions & {
45
+ preferredVersions?: PreferredVersions;
46
+ hooks?: {
47
+ readPackage?: ReadPackageHook[] | ReadPackageHook;
48
+ } | InstallOptions['hooks'];
49
+ };
50
+ export declare function mutateModulesInSingleProject(project: MutatedProject & {
51
+ binsDir?: string;
52
+ manifest: ProjectManifest;
53
+ rootDir: string;
54
+ modulesDir?: string;
55
+ }, maybeOpts: Omit<MutateModulesOptions, 'allProjects'> & InstallMutationOptions): Promise<UpdatedProject>;
56
+ interface MutateModulesResult {
57
+ updatedProjects: UpdatedProject[];
58
+ stats: InstallationResultStats;
59
+ }
60
+ export declare function mutateModules(projects: MutatedProject[], maybeOpts: MutateModulesOptions): Promise<MutateModulesResult>;
61
+ export declare function createObjectChecksum(obj: unknown): string;
62
+ export declare function addDependenciesToPackage(manifest: ProjectManifest, dependencySelectors: string[], opts: Omit<InstallOptions, 'allProjects'> & {
63
+ bin?: string;
64
+ allowNew?: boolean;
65
+ peer?: boolean;
66
+ pinnedVersion?: 'major' | 'minor' | 'patch';
67
+ targetDependenciesField?: DependenciesField;
68
+ } & InstallMutationOptions): Promise<ProjectManifest>;
69
+ export type ImporterToUpdate = {
70
+ buildIndex: number;
71
+ binsDir: string;
72
+ id: string;
73
+ manifest: ProjectManifest;
74
+ originalManifest?: ProjectManifest;
75
+ modulesDir: string;
76
+ rootDir: string;
77
+ pruneDirectDependencies: boolean;
78
+ removePackages?: string[];
79
+ updatePackageManifest: boolean;
80
+ wantedDependencies: Array<WantedDependency & {
81
+ isNew?: boolean;
82
+ updateSpec?: boolean;
83
+ preserveNonSemverVersionSpec?: boolean;
84
+ }>;
85
+ } & DependenciesMutation;
86
+ export interface UpdatedProject {
87
+ originalManifest?: ProjectManifest;
88
+ manifest: ProjectManifest;
89
+ peerDependencyIssues?: PeerDependencyIssues;
90
+ rootDir: string;
91
+ }
92
+ export {};