@pnpm/core 1.3.1 → 2.1.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.
Files changed (35) hide show
  1. package/lib/api.d.ts +2 -0
  2. package/lib/api.js +4 -1
  3. package/lib/api.js.map +1 -1
  4. package/lib/getPeerDependencyIssues.d.ts +5 -0
  5. package/lib/getPeerDependencyIssues.js +65 -0
  6. package/lib/getPeerDependencyIssues.js.map +1 -0
  7. package/lib/install/createVersionsOverrider.js +16 -32
  8. package/lib/install/createVersionsOverrider.js.map +1 -1
  9. package/lib/install/extendInstallOptions.d.ts +4 -1
  10. package/lib/install/extendInstallOptions.js +3 -0
  11. package/lib/install/extendInstallOptions.js.map +1 -1
  12. package/lib/install/getPreferredVersions.d.ts +1 -2
  13. package/lib/install/getPreferredVersions.js +0 -32
  14. package/lib/install/getPreferredVersions.js.map +1 -1
  15. package/lib/install/index.d.ts +10 -4
  16. package/lib/install/index.js +29 -127
  17. package/lib/install/index.js.map +1 -1
  18. package/lib/install/link.d.ts +3 -3
  19. package/lib/install/link.js.map +1 -1
  20. package/lib/install/reportPeerDependencyIssues.d.ts +10 -0
  21. package/lib/install/reportPeerDependencyIssues.js +29 -0
  22. package/lib/install/reportPeerDependencyIssues.js.map +1 -0
  23. package/lib/parseWantedDependencies.d.ts +1 -1
  24. package/lib/parseWantedDependencies.js +2 -2
  25. package/lib/parseWantedDependencies.js.map +1 -1
  26. package/package.json +37 -37
  27. package/lib/guessPinnedVersionFromExistingSpec.d.ts +0 -1
  28. package/lib/guessPinnedVersionFromExistingSpec.js +0 -25
  29. package/lib/guessPinnedVersionFromExistingSpec.js.map +0 -1
  30. package/lib/install/getWantedDependencies.d.ts +0 -15
  31. package/lib/install/getWantedDependencies.js +0 -54
  32. package/lib/install/getWantedDependencies.js.map +0 -1
  33. package/lib/safeIsInnerLink.d.ts +0 -6
  34. package/lib/safeIsInnerLink.js +0 -36
  35. package/lib/safeIsInnerLink.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pnpm/core",
3
3
  "description": "Fast, disk space efficient installation engine",
4
- "version": "1.3.1",
4
+ "version": "2.1.0",
5
5
  "bugs": {
6
6
  "url": "https://github.com/pnpm/pnpm/issues"
7
7
  },
@@ -15,42 +15,43 @@
15
15
  "@pnpm/logger": "^4.0.0"
16
16
  },
17
17
  "dependencies": {
18
- "@pnpm/build-modules": "7.2.0",
18
+ "@pnpm/build-modules": "7.2.1",
19
19
  "@pnpm/constants": "5.0.0",
20
- "@pnpm/core-loggers": "6.0.6",
20
+ "@pnpm/core-loggers": "6.1.0",
21
21
  "@pnpm/error": "2.0.0",
22
- "@pnpm/filter-lockfile": "5.0.11",
23
- "@pnpm/get-context": "5.2.0",
24
- "@pnpm/headless": "16.3.1",
25
- "@pnpm/hoist": "5.2.6",
26
- "@pnpm/lifecycle": "12.1.0",
27
- "@pnpm/link-bins": "6.2.5",
28
- "@pnpm/lockfile-file": "4.2.1",
29
- "@pnpm/lockfile-to-pnp": "0.4.31",
30
- "@pnpm/lockfile-utils": "3.1.1",
31
- "@pnpm/lockfile-walker": "4.0.10",
32
- "@pnpm/manifest-utils": "2.1.2",
33
- "@pnpm/modules-cleaner": "11.0.15",
34
- "@pnpm/modules-yaml": "9.0.6",
35
- "@pnpm/normalize-registries": "2.0.6",
36
- "@pnpm/package-requester": "15.2.2",
22
+ "@pnpm/filter-lockfile": "5.0.13",
23
+ "@pnpm/get-context": "5.3.0",
24
+ "@pnpm/headless": "16.3.5",
25
+ "@pnpm/hoist": "5.2.8",
26
+ "@pnpm/lifecycle": "12.1.1",
27
+ "@pnpm/link-bins": "6.2.6",
28
+ "@pnpm/lockfile-file": "4.2.2",
29
+ "@pnpm/lockfile-to-pnp": "0.4.35",
30
+ "@pnpm/lockfile-utils": "3.1.3",
31
+ "@pnpm/lockfile-walker": "4.0.11",
32
+ "@pnpm/manifest-utils": "2.1.3",
33
+ "@pnpm/modules-cleaner": "11.0.17",
34
+ "@pnpm/modules-yaml": "9.0.7",
35
+ "@pnpm/normalize-registries": "2.0.9",
36
+ "@pnpm/package-requester": "15.2.4",
37
+ "@pnpm/parse-overrides": "1.0.0",
37
38
  "@pnpm/parse-wanted-dependency": "2.0.0",
38
- "@pnpm/prune-lockfile": "3.0.10",
39
+ "@pnpm/prune-lockfile": "3.0.11",
39
40
  "@pnpm/read-modules-dir": "3.0.1",
40
- "@pnpm/read-package-json": "5.0.6",
41
- "@pnpm/read-project-manifest": "2.0.7",
42
- "@pnpm/remove-bins": "2.0.8",
43
- "@pnpm/resolve-dependencies": "21.2.2",
44
- "@pnpm/resolver-base": "8.1.1",
45
- "@pnpm/store-controller-types": "11.0.7",
46
- "@pnpm/symlink-dependency": "4.0.8",
47
- "@pnpm/types": "7.6.0",
41
+ "@pnpm/read-package-json": "5.0.7",
42
+ "@pnpm/read-project-manifest": "2.0.8",
43
+ "@pnpm/remove-bins": "2.0.9",
44
+ "@pnpm/resolve-dependencies": "22.0.0",
45
+ "@pnpm/resolver-base": "8.1.2",
46
+ "@pnpm/store-controller-types": "11.0.8",
47
+ "@pnpm/symlink-dependency": "4.0.9",
48
+ "@pnpm/types": "7.7.0",
49
+ "@pnpm/which-version-is-pinned": "1.0.0",
48
50
  "@zkochan/npm-package-arg": "^2.0.1",
49
51
  "@zkochan/rimraf": "^2.1.1",
50
- "dependency-path": "8.0.6",
52
+ "dependency-path": "8.0.7",
51
53
  "graph-sequencer": "2.0.0",
52
54
  "is-inner-link": "^4.0.0",
53
- "is-subdir": "^1.1.1",
54
55
  "load-json-file": "^6.2.0",
55
56
  "normalize-path": "^3.0.0",
56
57
  "p-every": "^2.0.0",
@@ -61,17 +62,16 @@
61
62
  "ramda": "^0.27.1",
62
63
  "run-groups": "^3.0.1",
63
64
  "semver": "^7.3.4",
64
- "semver-utils": "^1.1.4",
65
65
  "version-selector-type": "^3.0.0"
66
66
  },
67
67
  "devDependencies": {
68
- "@pnpm/assert-project": "2.2.9",
69
- "@pnpm/assert-store": "1.0.26",
70
- "@pnpm/cafs": "3.0.9",
71
- "@pnpm/client": "6.0.5",
68
+ "@pnpm/assert-project": "2.2.10",
69
+ "@pnpm/assert-store": "1.0.27",
70
+ "@pnpm/cafs": "3.0.10",
71
+ "@pnpm/client": "6.0.9",
72
72
  "@pnpm/logger": "^4.0.0",
73
- "@pnpm/package-store": "12.1.2",
74
- "@pnpm/prepare": "0.0.28",
73
+ "@pnpm/package-store": "12.1.4",
74
+ "@pnpm/prepare": "0.0.29",
75
75
  "@pnpm/store-path": "^5.0.0",
76
76
  "@pnpm/test-fixtures": "0.0.0",
77
77
  "@types/fs-extra": "^9.0.5",
@@ -132,7 +132,7 @@
132
132
  "repository": "https://github.com/pnpm/pnpm/blob/master/packages/core",
133
133
  "funding": "https://opencollective.com/pnpm",
134
134
  "scripts": {
135
- "start": "pnpm run tsc -- --watch",
135
+ "start": "pnpm tsc --watch",
136
136
  "?commit": "echo 'Run Git commit wizard'",
137
137
  "commit": "commit",
138
138
  "commitmsg": "commitlint -e",
@@ -1 +0,0 @@
1
- export default function guessPinnedVersionFromExistingSpec(spec: string): "major" | "minor" | "patch" | "none" | undefined;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const semver_utils_1 = require("semver-utils");
4
- function guessPinnedVersionFromExistingSpec(spec) {
5
- if (spec.startsWith('workspace:'))
6
- spec = spec.substr('workspace:'.length);
7
- if (spec === '*')
8
- return 'none';
9
- const parsedRange = (0, semver_utils_1.parseRange)(spec);
10
- if (parsedRange.length !== 1)
11
- return undefined;
12
- const versionObject = parsedRange[0];
13
- switch (versionObject.operator) {
14
- case '~': return 'minor';
15
- case '^': return 'major';
16
- case undefined:
17
- if (versionObject.patch)
18
- return 'patch';
19
- if (versionObject.minor)
20
- return 'minor';
21
- }
22
- return undefined;
23
- }
24
- exports.default = guessPinnedVersionFromExistingSpec;
25
- //# sourceMappingURL=guessPinnedVersionFromExistingSpec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guessPinnedVersionFromExistingSpec.js","sourceRoot":"","sources":["../src/guessPinnedVersionFromExistingSpec.ts"],"names":[],"mappings":";;AAAA,+CAAyC;AAEzC,SAAwB,kCAAkC,CAAE,IAAY;IACtE,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAC1E,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,MAAM,CAAA;IAC/B,MAAM,WAAW,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAA;IACpC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IACpC,QAAQ,aAAa,CAAC,QAAQ,EAAE;QAChC,KAAK,GAAG,CAAC,CAAC,OAAO,OAAO,CAAA;QACxB,KAAK,GAAG,CAAC,CAAC,OAAO,OAAO,CAAA;QACxB,KAAK,SAAS;YACZ,IAAI,aAAa,CAAC,KAAK;gBAAE,OAAO,OAAO,CAAA;YACvC,IAAI,aAAa,CAAC,KAAK;gBAAE,OAAO,OAAO,CAAA;KACxC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAdD,qDAcC"}
@@ -1,15 +0,0 @@
1
- import { IncludedDependencies, ProjectManifest } from '@pnpm/types';
2
- export declare type PinnedVersion = 'major' | 'minor' | 'patch' | 'none';
3
- export interface WantedDependency {
4
- alias: string;
5
- pref: string;
6
- dev: boolean;
7
- optional: boolean;
8
- raw: string;
9
- pinnedVersion?: PinnedVersion;
10
- }
11
- export default function getWantedDependencies(pkg: Pick<ProjectManifest, 'devDependencies' | 'dependencies' | 'optionalDependencies' | 'dependenciesMeta'>, opts?: {
12
- includeDirect?: IncludedDependencies;
13
- nodeExecPath?: string;
14
- updateWorkspaceDependencies?: boolean;
15
- }): WantedDependency[];
@@ -1,54 +0,0 @@
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
- const manifest_utils_1 = require("@pnpm/manifest-utils");
7
- const guessPinnedVersionFromExistingSpec_1 = __importDefault(require("../guessPinnedVersionFromExistingSpec"));
8
- function getWantedDependencies(pkg, opts) {
9
- var _a, _b, _c, _d, _e;
10
- const depsToInstall = (0, manifest_utils_1.filterDependenciesByType)(pkg, (_a = opts === null || opts === void 0 ? void 0 : opts.includeDirect) !== null && _a !== void 0 ? _a : {
11
- dependencies: true,
12
- devDependencies: true,
13
- optionalDependencies: true,
14
- });
15
- return getWantedDependenciesFromGivenSet(depsToInstall, {
16
- dependencies: (_b = pkg.dependencies) !== null && _b !== void 0 ? _b : {},
17
- devDependencies: (_c = pkg.devDependencies) !== null && _c !== void 0 ? _c : {},
18
- optionalDependencies: (_d = pkg.optionalDependencies) !== null && _d !== void 0 ? _d : {},
19
- dependenciesMeta: (_e = pkg.dependenciesMeta) !== null && _e !== void 0 ? _e : {},
20
- updatePref: (opts === null || opts === void 0 ? void 0 : opts.updateWorkspaceDependencies) === true
21
- ? updateWorkspacePref
22
- : (pref) => pref,
23
- });
24
- }
25
- exports.default = getWantedDependencies;
26
- function updateWorkspacePref(pref) {
27
- return pref.startsWith('workspace:') ? 'workspace:*' : pref;
28
- }
29
- function getWantedDependenciesFromGivenSet(deps, opts) {
30
- if (!deps)
31
- return [];
32
- return Object.keys(deps).map((alias) => {
33
- var _a, _b, _c;
34
- const pref = opts.updatePref(deps[alias]);
35
- let depType;
36
- if (opts.optionalDependencies[alias] != null)
37
- depType = 'optional';
38
- else if (opts.dependencies[alias] != null)
39
- depType = 'prod';
40
- else if (opts.devDependencies[alias] != null)
41
- depType = 'dev';
42
- return {
43
- alias,
44
- dev: depType === 'dev',
45
- injected: (_a = opts.dependenciesMeta[alias]) === null || _a === void 0 ? void 0 : _a.injected,
46
- optional: depType === 'optional',
47
- nodeExecPath: (_b = opts.nodeExecPath) !== null && _b !== void 0 ? _b : (_c = opts.dependenciesMeta[alias]) === null || _c === void 0 ? void 0 : _c.node,
48
- pinnedVersion: (0, guessPinnedVersionFromExistingSpec_1.default)(deps[alias]),
49
- pref,
50
- raw: `${alias}@${pref}`,
51
- };
52
- });
53
- }
54
- //# sourceMappingURL=getWantedDependencies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getWantedDependencies.js","sourceRoot":"","sources":["../../src/install/getWantedDependencies.ts"],"names":[],"mappings":";;;;;AAAA,yDAA+D;AAO/D,+GAAsF;AAatF,SAAwB,qBAAqB,CAC3C,GAA4G,EAC5G,IAIC;;IAED,MAAM,aAAa,GAAG,IAAA,yCAAwB,EAAC,GAAG,EAChD,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,mCAAI;QACrB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,IAAI;QACrB,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAA;IACJ,OAAO,iCAAiC,CAAC,aAAa,EAAE;QACtD,YAAY,EAAE,MAAA,GAAG,CAAC,YAAY,mCAAI,EAAE;QACpC,eAAe,EAAE,MAAA,GAAG,CAAC,eAAe,mCAAI,EAAE;QAC1C,oBAAoB,EAAE,MAAA,GAAG,CAAC,oBAAoB,mCAAI,EAAE;QACpD,gBAAgB,EAAE,MAAA,GAAG,CAAC,gBAAgB,mCAAI,EAAE;QAC5C,UAAU,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,2BAA2B,MAAK,IAAI;YACpD,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;KACnB,CAAC,CAAA;AACJ,CAAC;AAvBD,wCAuBC;AAED,SAAS,mBAAmB,CAAE,IAAY;IACxC,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAA;AAC7D,CAAC;AAED,SAAS,iCAAiC,CACxC,IAAkB,EAClB,IAOC;IAED,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACzC,IAAI,OAAO,CAAA;QACX,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,IAAI;YAAE,OAAO,GAAG,UAAU,CAAA;aAC7D,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI;YAAE,OAAO,GAAG,MAAM,CAAA;aACtD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,IAAI;YAAE,OAAO,GAAG,KAAK,CAAA;QAC7D,OAAO;YACL,KAAK;YACL,GAAG,EAAE,OAAO,KAAK,KAAK;YACtB,QAAQ,EAAE,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,0CAAE,QAAQ;YAChD,QAAQ,EAAE,OAAO,KAAK,UAAU;YAChC,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,0CAAE,IAAI;YACrE,aAAa,EAAE,IAAA,4CAAkC,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI;YACJ,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI,EAAE;SACxB,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,6 +0,0 @@
1
- export default function safeIsInnerLink(projectModulesDir: string, depName: string, opts: {
2
- hideAlienModules: boolean;
3
- projectDir: string;
4
- storeDir: string;
5
- virtualStoreDir: string;
6
- }): Promise<true | string>;
@@ -1,36 +0,0 @@
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
- const fs_1 = require("fs");
7
- const path_1 = __importDefault(require("path"));
8
- const logger_1 = __importDefault(require("@pnpm/logger"));
9
- const is_inner_link_1 = __importDefault(require("is-inner-link"));
10
- const is_subdir_1 = __importDefault(require("is-subdir"));
11
- async function safeIsInnerLink(projectModulesDir, depName, opts) {
12
- try {
13
- const link = await (0, is_inner_link_1.default)(projectModulesDir, depName);
14
- if (link.isInner)
15
- return true;
16
- if ((0, is_subdir_1.default)(opts.virtualStoreDir, link.target) || (0, is_subdir_1.default)(opts.storeDir, link.target))
17
- return true;
18
- return link.target;
19
- }
20
- catch (err) { // eslint-disable-line
21
- if (err.code === 'ENOENT')
22
- return true;
23
- if (opts.hideAlienModules) {
24
- logger_1.default.warn({
25
- message: `Moving ${depName} that was installed by a different package manager to "node_modules/.ignored`,
26
- prefix: opts.projectDir,
27
- });
28
- const ignoredDir = path_1.default.join(projectModulesDir, '.ignored', depName);
29
- await fs_1.promises.mkdir(path_1.default.dirname(ignoredDir), { recursive: true });
30
- await fs_1.promises.rename(path_1.default.join(projectModulesDir, depName), ignoredDir);
31
- }
32
- return true;
33
- }
34
- }
35
- exports.default = safeIsInnerLink;
36
- //# sourceMappingURL=safeIsInnerLink.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safeIsInnerLink.js","sourceRoot":"","sources":["../src/safeIsInnerLink.ts"],"names":[],"mappings":";;;;;AAAA,2BAAmC;AACnC,gDAAuB;AACvB,0DAAiC;AACjC,kEAAuC;AACvC,0DAAgC;AAEjB,KAAK,UAAU,eAAe,CAC3C,iBAAyB,EACzB,OAAe,EACf,IAKC;IAED,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAW,EAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAE1D,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAE7B,IAAI,IAAA,mBAAQ,EAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAA,mBAAQ,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QAEpG,OAAO,IAAI,CAAC,MAAgB,CAAA;KAC7B;IAAC,OAAO,GAAQ,EAAE,EAAE,sBAAsB;QACzC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAEtC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,gBAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,UAAU,OAAO,8EAA8E;gBACxG,MAAM,EAAE,IAAI,CAAC,UAAU;aACxB,CAAC,CAAA;YACF,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;YACpE,MAAM,aAAE,CAAC,KAAK,CAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7D,MAAM,aAAE,CAAC,MAAM,CACb,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EACrC,UAAU,CACX,CAAA;SACF;QACD,OAAO,IAAI,CAAA;KACZ;AACH,CAAC;AAnCD,kCAmCC"}