@pnpm/assert-project 2.3.46 → 2.3.48
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/README.md +1 -1
- package/lib/index.d.ts +15 -16
- package/lib/index.js +57 -44
- package/lib/index.js.map +1 -1
- package/lib/isExecutable.d.ts +1 -1
- package/lib/isExecutable.js +5 -7
- package/lib/isExecutable.js.map +1 -1
- package/package.json +9 -10
package/README.md
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -1,34 +1,33 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type LockfileFileV9 } from '@pnpm/lockfile-types';
|
|
2
2
|
import { type Modules } from '@pnpm/modules-yaml';
|
|
3
3
|
import isExecutable from './isExecutable';
|
|
4
4
|
export { isExecutable, type Modules };
|
|
5
|
-
export type RawLockfile = Lockfile & Partial<ProjectSnapshot>;
|
|
6
5
|
export interface Project {
|
|
7
6
|
requireModule: (moduleName: string) => any;
|
|
8
7
|
dir: () => string;
|
|
9
|
-
has: (pkgName: string, modulesDir?: string) =>
|
|
10
|
-
hasNot: (pkgName: string, modulesDir?: string) =>
|
|
11
|
-
getStorePath: () =>
|
|
12
|
-
resolve: (pkgName: string, version?: string, relativePath?: string) =>
|
|
13
|
-
getPkgIndexFilePath: (pkgName: string, version?: string) =>
|
|
14
|
-
cafsHas: (pkgName: string, version?: string) =>
|
|
15
|
-
cafsHasNot: (pkgName: string, version?: string) =>
|
|
16
|
-
storeHas: (pkgName: string, version?: string) =>
|
|
17
|
-
storeHasNot: (pkgName: string, version?: string) =>
|
|
18
|
-
isExecutable: (pathToExe: string) =>
|
|
8
|
+
has: (pkgName: string, modulesDir?: string) => void;
|
|
9
|
+
hasNot: (pkgName: string, modulesDir?: string) => void;
|
|
10
|
+
getStorePath: () => string;
|
|
11
|
+
resolve: (pkgName: string, version?: string, relativePath?: string) => string;
|
|
12
|
+
getPkgIndexFilePath: (pkgName: string, version?: string) => string;
|
|
13
|
+
cafsHas: (pkgName: string, version?: string) => void;
|
|
14
|
+
cafsHasNot: (pkgName: string, version?: string) => void;
|
|
15
|
+
storeHas: (pkgName: string, version?: string) => string;
|
|
16
|
+
storeHasNot: (pkgName: string, version?: string) => void;
|
|
17
|
+
isExecutable: (pathToExe: string) => void;
|
|
19
18
|
/**
|
|
20
19
|
* TODO: Remove the `Required<T>` cast.
|
|
21
20
|
*
|
|
22
21
|
* https://github.com/microsoft/TypeScript/pull/32695 might help with this.
|
|
23
22
|
*/
|
|
24
|
-
readCurrentLockfile: () =>
|
|
25
|
-
readModulesManifest: () =>
|
|
23
|
+
readCurrentLockfile: () => Required<LockfileFileV9>;
|
|
24
|
+
readModulesManifest: () => Modules | null;
|
|
26
25
|
/**
|
|
27
26
|
* TODO: Remove the `Required<T>` cast.
|
|
28
27
|
*
|
|
29
28
|
* https://github.com/microsoft/TypeScript/pull/32695 might help with this.
|
|
30
29
|
*/
|
|
31
|
-
readLockfile: (lockfileName?: string) =>
|
|
32
|
-
writePackageJson: (pkgJson: object) =>
|
|
30
|
+
readLockfile: (lockfileName?: string) => Required<LockfileFileV9>;
|
|
31
|
+
writePackageJson: (pkgJson: object) => void;
|
|
33
32
|
}
|
|
34
33
|
export declare function assertProject(projectPath: string, encodedRegistryName?: string): Project;
|
package/lib/index.js
CHANGED
|
@@ -4,13 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.assertProject = exports.isExecutable = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const util_1 = __importDefault(require("util"));
|
|
8
10
|
const assert_store_1 = require("@pnpm/assert-store");
|
|
9
11
|
const constants_1 = require("@pnpm/constants");
|
|
10
|
-
const modules_yaml_1 = require("@pnpm/modules-yaml");
|
|
11
12
|
const registry_mock_1 = require("@pnpm/registry-mock");
|
|
12
|
-
const read_yaml_file_1 =
|
|
13
|
-
const path_exists_1 = __importDefault(require("path-exists"));
|
|
13
|
+
const read_yaml_file_1 = require("read-yaml-file");
|
|
14
14
|
const write_pkg_1 = __importDefault(require("write-pkg"));
|
|
15
15
|
const isExecutable_1 = __importDefault(require("./isExecutable"));
|
|
16
16
|
exports.isExecutable = isExecutable_1.default;
|
|
@@ -18,9 +18,9 @@ function assertProject(projectPath, encodedRegistryName) {
|
|
|
18
18
|
const ern = encodedRegistryName ?? `localhost+${registry_mock_1.REGISTRY_MOCK_PORT}`;
|
|
19
19
|
const modules = path_1.default.join(projectPath, 'node_modules');
|
|
20
20
|
let cachedStore;
|
|
21
|
-
|
|
21
|
+
function getStoreInstance() {
|
|
22
22
|
if (!cachedStore) {
|
|
23
|
-
const modulesYaml =
|
|
23
|
+
const modulesYaml = readModulesManifest(modules);
|
|
24
24
|
if (modulesYaml == null) {
|
|
25
25
|
throw new Error(`Cannot find module store. No .modules.yaml found at "${modules}"`);
|
|
26
26
|
}
|
|
@@ -32,12 +32,15 @@ function assertProject(projectPath, encodedRegistryName) {
|
|
|
32
32
|
}
|
|
33
33
|
return cachedStore;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
const modulesYaml =
|
|
35
|
+
function getVirtualStoreDir() {
|
|
36
|
+
const modulesYaml = readModulesManifest(modules);
|
|
37
37
|
if (modulesYaml == null) {
|
|
38
38
|
return path_1.default.join(modules, '.pnpm');
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
if (path_1.default.isAbsolute(modulesYaml.virtualStoreDir)) {
|
|
41
|
+
return modulesYaml.virtualStoreDir;
|
|
42
|
+
}
|
|
43
|
+
return path_1.default.join(modules, modulesYaml.virtualStoreDir);
|
|
41
44
|
}
|
|
42
45
|
// eslint-disable-next-line
|
|
43
46
|
const ok = (value) => expect(value).toBeTruthy();
|
|
@@ -49,78 +52,88 @@ function assertProject(projectPath, encodedRegistryName) {
|
|
|
49
52
|
// eslint-disable-next-line
|
|
50
53
|
return require(path_1.default.join(modules, pkgName));
|
|
51
54
|
},
|
|
52
|
-
|
|
55
|
+
has(pkgName, _modulesDir) {
|
|
53
56
|
const md = _modulesDir ? path_1.default.join(projectPath, _modulesDir) : modules;
|
|
54
|
-
ok(
|
|
57
|
+
ok(fs_1.default.existsSync(path_1.default.join(md, pkgName)));
|
|
55
58
|
},
|
|
56
|
-
|
|
59
|
+
hasNot(pkgName, _modulesDir) {
|
|
57
60
|
const md = _modulesDir ? path_1.default.join(projectPath, _modulesDir) : modules;
|
|
58
|
-
notOk(
|
|
61
|
+
notOk(fs_1.default.existsSync(path_1.default.join(md, pkgName)));
|
|
59
62
|
},
|
|
60
|
-
|
|
61
|
-
const store =
|
|
63
|
+
getStorePath() {
|
|
64
|
+
const store = getStoreInstance();
|
|
62
65
|
return store.storePath;
|
|
63
66
|
},
|
|
64
|
-
|
|
65
|
-
const store =
|
|
67
|
+
resolve(pkgName, version, relativePath) {
|
|
68
|
+
const store = getStoreInstance();
|
|
66
69
|
return store.resolve(pkgName, version, relativePath);
|
|
67
70
|
},
|
|
68
|
-
|
|
69
|
-
const store =
|
|
71
|
+
getPkgIndexFilePath(pkgName, version) {
|
|
72
|
+
const store = getStoreInstance();
|
|
70
73
|
return store.getPkgIndexFilePath(pkgName, version);
|
|
71
74
|
},
|
|
72
|
-
|
|
73
|
-
const store =
|
|
74
|
-
|
|
75
|
+
cafsHas(pkgName, version) {
|
|
76
|
+
const store = getStoreInstance();
|
|
77
|
+
store.cafsHas(pkgName, version);
|
|
75
78
|
},
|
|
76
|
-
|
|
77
|
-
const store =
|
|
78
|
-
|
|
79
|
+
cafsHasNot(pkgName, version) {
|
|
80
|
+
const store = getStoreInstance();
|
|
81
|
+
store.cafsHasNot(pkgName, version);
|
|
79
82
|
},
|
|
80
|
-
|
|
81
|
-
const store =
|
|
83
|
+
storeHas(pkgName, version) {
|
|
84
|
+
const store = getStoreInstance();
|
|
82
85
|
return store.resolve(pkgName, version);
|
|
83
86
|
},
|
|
84
|
-
|
|
87
|
+
storeHasNot(pkgName, version) {
|
|
85
88
|
try {
|
|
86
|
-
const store =
|
|
87
|
-
|
|
89
|
+
const store = getStoreInstance();
|
|
90
|
+
store.storeHasNot(pkgName, version);
|
|
88
91
|
}
|
|
89
|
-
catch (err) {
|
|
90
|
-
if (err.message.startsWith('Cannot find module store')) {
|
|
92
|
+
catch (err) {
|
|
93
|
+
if (util_1.default.types.isNativeError(err) && err.message.startsWith('Cannot find module store')) {
|
|
91
94
|
return;
|
|
92
95
|
}
|
|
93
96
|
throw err;
|
|
94
97
|
}
|
|
95
98
|
},
|
|
96
|
-
|
|
97
|
-
|
|
99
|
+
isExecutable(pathToExe) {
|
|
100
|
+
(0, isExecutable_1.default)(ok, path_1.default.join(modules, pathToExe));
|
|
98
101
|
},
|
|
99
|
-
|
|
102
|
+
readCurrentLockfile() {
|
|
100
103
|
try {
|
|
101
|
-
return
|
|
104
|
+
return (0, read_yaml_file_1.sync)(path_1.default.join(getVirtualStoreDir(), 'lock.yaml'));
|
|
102
105
|
}
|
|
103
|
-
catch (err) {
|
|
104
|
-
if (err.code === 'ENOENT')
|
|
106
|
+
catch (err) {
|
|
107
|
+
if (util_1.default.types.isNativeError(err) && 'code' in err && err.code === 'ENOENT')
|
|
105
108
|
return null;
|
|
106
109
|
throw err;
|
|
107
110
|
}
|
|
108
111
|
},
|
|
109
|
-
readModulesManifest:
|
|
110
|
-
|
|
112
|
+
readModulesManifest: () => readModulesManifest(modules),
|
|
113
|
+
readLockfile(lockfileName = constants_1.WANTED_LOCKFILE) {
|
|
111
114
|
try {
|
|
112
|
-
return
|
|
115
|
+
return (0, read_yaml_file_1.sync)(path_1.default.join(projectPath, lockfileName));
|
|
113
116
|
}
|
|
114
|
-
catch (err) {
|
|
115
|
-
if (err.code === 'ENOENT')
|
|
117
|
+
catch (err) {
|
|
118
|
+
if (util_1.default.types.isNativeError(err) && 'code' in err && err.code === 'ENOENT')
|
|
116
119
|
return null;
|
|
117
120
|
throw err;
|
|
118
121
|
}
|
|
119
122
|
},
|
|
120
|
-
|
|
121
|
-
|
|
123
|
+
writePackageJson(pkgJson) {
|
|
124
|
+
write_pkg_1.default.sync(projectPath, pkgJson); // eslint-disable-line
|
|
122
125
|
},
|
|
123
126
|
};
|
|
124
127
|
}
|
|
125
128
|
exports.assertProject = assertProject;
|
|
129
|
+
function readModulesManifest(modulesDir) {
|
|
130
|
+
try {
|
|
131
|
+
return (0, read_yaml_file_1.sync)(path_1.default.join(modulesDir, '.modules.yaml'));
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
if (util_1.default.types.isNativeError(err) && 'code' in err && err.code === 'ENOENT')
|
|
135
|
+
return null;
|
|
136
|
+
throw err;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
126
139
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,qDAAgD;AAChD,+CAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/isExecutable.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (ok: (value: any, comment: string) => void, filePath: string) =>
|
|
1
|
+
declare const _default: (ok: (value: any, comment: string) => void, filePath: string) => void;
|
|
2
2
|
export default _default;
|
package/lib/isExecutable.js
CHANGED
|
@@ -3,19 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const fs_1 = require("fs");
|
|
7
|
-
const util_1 = require("util");
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
7
|
const is_windows_1 = __importDefault(require("is-windows"));
|
|
9
|
-
const isexe_1 =
|
|
8
|
+
const isexe_1 = require("isexe");
|
|
10
9
|
const IS_WINDOWS = (0, is_windows_1.default)();
|
|
11
|
-
const isexe = (0, util_1.promisify)(isexe_1.default);
|
|
12
10
|
// eslint-disable-next-line
|
|
13
|
-
exports.default =
|
|
11
|
+
exports.default = (ok, filePath) => {
|
|
14
12
|
if (IS_WINDOWS) {
|
|
15
|
-
ok(
|
|
13
|
+
ok((0, isexe_1.sync)(`${filePath}.cmd`), `${filePath}.cmd is executable`);
|
|
16
14
|
return;
|
|
17
15
|
}
|
|
18
|
-
const stat =
|
|
16
|
+
const stat = fs_1.default.statSync(filePath);
|
|
19
17
|
ok((stat.mode & 0o111) === 0o111, `${filePath} is executable`);
|
|
20
18
|
ok(stat.isFile(), `${filePath} refers to a file`);
|
|
21
19
|
};
|
package/lib/isExecutable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isExecutable.js","sourceRoot":"","sources":["../src/isExecutable.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"isExecutable.js","sourceRoot":"","sources":["../src/isExecutable.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,4DAAkC;AAClC,iCAAqC;AAErC,MAAM,UAAU,GAAG,IAAA,oBAAS,GAAE,CAAA;AAE9B,2BAA2B;AAC3B,kBAAe,CAAC,EAAyC,EAAE,QAAgB,EAAQ,EAAE;IACnF,IAAI,UAAU,EAAE,CAAC;QACf,EAAE,CAAC,IAAA,YAAK,EAAC,GAAG,QAAQ,MAAM,CAAC,EAAE,GAAG,QAAQ,oBAAoB,CAAC,CAAA;QAC7D,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,KAAK,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAA;IAC9D,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,QAAQ,mBAAmB,CAAC,CAAA;AACnD,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/assert-project",
|
|
3
3
|
"description": "Utils for testing projects that use pnpm",
|
|
4
|
-
"version": "2.3.
|
|
4
|
+
"version": "2.3.48",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Zoltan Kochan",
|
|
7
7
|
"email": "z@kochan.io",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/is-windows": "^1.0.2",
|
|
20
20
|
"@types/isexe": "2.0.2",
|
|
21
|
-
"@types/node": "^18.
|
|
22
|
-
"@pnpm/assert-project": "2.3.
|
|
21
|
+
"@types/node": "^18.19.31",
|
|
22
|
+
"@pnpm/assert-project": "2.3.48"
|
|
23
23
|
},
|
|
24
24
|
"directories": {
|
|
25
25
|
"test": "test"
|
|
@@ -32,17 +32,16 @@
|
|
|
32
32
|
},
|
|
33
33
|
"repository": "https://github.com/pnpm/pnpm/blob/master/privatePackages/assert-project",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@pnpm/registry-mock": "3.
|
|
35
|
+
"@pnpm/registry-mock": "3.30.0",
|
|
36
36
|
"is-windows": "^1.0.2",
|
|
37
37
|
"isexe": "2.0.0",
|
|
38
|
-
"path-exists": "^4.0.0",
|
|
39
38
|
"read-yaml-file": "^2.1.0",
|
|
40
39
|
"write-pkg": "4.0.0",
|
|
41
|
-
"@pnpm/
|
|
42
|
-
"@pnpm/
|
|
43
|
-
"@pnpm/
|
|
44
|
-
"@pnpm/modules-yaml": "
|
|
45
|
-
"@pnpm/types": "
|
|
40
|
+
"@pnpm/assert-store": "1.0.81",
|
|
41
|
+
"@pnpm/lockfile-types": "6.0.0",
|
|
42
|
+
"@pnpm/constants": "8.0.0",
|
|
43
|
+
"@pnpm/modules-yaml": "13.1.0",
|
|
44
|
+
"@pnpm/types": "10.0.0"
|
|
46
45
|
},
|
|
47
46
|
"scripts": {
|
|
48
47
|
"lint": "eslint src/**/*.ts test/**/*.ts",
|