@pnpm/assert-project 1100.0.32 → 1100.0.34
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/CHANGELOG.md +18 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +80 -89
- package/lib/index.js.map +1 -1
- package/lib/isExecutable.d.ts +1 -2
- package/lib/isExecutable.js +2 -3
- package/lib/isExecutable.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @pnpm/assert-project
|
|
2
2
|
|
|
3
|
+
## 1100.0.34
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies:
|
|
8
|
+
- @pnpm/assert-store@1100.0.34
|
|
9
|
+
- @pnpm/testing.registry-mock@1100.0.13
|
|
10
|
+
|
|
11
|
+
## 1100.0.33
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies:
|
|
16
|
+
- @pnpm/assert-store@1100.0.33
|
|
17
|
+
- @pnpm/installing.modules-yaml@1101.0.5
|
|
18
|
+
- @pnpm/lockfile.types@1100.1.4
|
|
19
|
+
- @pnpm/testing.registry-mock@1100.0.12
|
|
20
|
+
|
|
3
21
|
## 1100.0.32
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Modules } from '@pnpm/installing.modules-yaml';
|
|
2
2
|
import type { LockfileFile } from '@pnpm/lockfile.types';
|
|
3
|
-
import isExecutable from './isExecutable.js';
|
|
3
|
+
import { isExecutable } from './isExecutable.js';
|
|
4
4
|
export { isExecutable, type Modules };
|
|
5
5
|
export interface Project {
|
|
6
6
|
requireModule: (moduleName: string) => any;
|
package/lib/index.js
CHANGED
|
@@ -9,40 +9,13 @@ import { REGISTRY_MOCK_PORT } from '@pnpm/testing.registry-mock';
|
|
|
9
9
|
import yaml from 'js-yaml';
|
|
10
10
|
import { readYamlFileSync } from 'read-yaml-file';
|
|
11
11
|
import { writePackageSync } from 'write-package';
|
|
12
|
-
import isExecutable from './isExecutable.js';
|
|
12
|
+
import { isExecutable } from './isExecutable.js';
|
|
13
13
|
const require = createRequire(import.meta.url);
|
|
14
14
|
export { isExecutable };
|
|
15
15
|
export function assertProject(projectPath, encodedRegistryName) {
|
|
16
|
-
const ern = encodedRegistryName ?? `localhost+${REGISTRY_MOCK_PORT}`;
|
|
17
16
|
const modules = path.join(projectPath, 'node_modules');
|
|
18
|
-
|
|
19
|
-
function getStoreInstance() {
|
|
20
|
-
if (!cachedStore) {
|
|
21
|
-
const modulesYaml = readModulesManifest(modules);
|
|
22
|
-
if (modulesYaml == null) {
|
|
23
|
-
throw new Error(`Cannot find module store. No .modules.yaml found at "${modules}"`);
|
|
24
|
-
}
|
|
25
|
-
const storePath = modulesYaml.storeDir;
|
|
26
|
-
cachedStore = {
|
|
27
|
-
storePath,
|
|
28
|
-
...assertStore(storePath, ern),
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
return cachedStore;
|
|
32
|
-
}
|
|
33
|
-
function getVirtualStoreDir() {
|
|
34
|
-
const modulesYaml = readModulesManifest(modules);
|
|
35
|
-
if (modulesYaml == null) {
|
|
36
|
-
return path.join(modules, '.pnpm');
|
|
37
|
-
}
|
|
38
|
-
if (path.isAbsolute(modulesYaml.virtualStoreDir)) {
|
|
39
|
-
return modulesYaml.virtualStoreDir;
|
|
40
|
-
}
|
|
41
|
-
return path.join(modules, modulesYaml.virtualStoreDir);
|
|
42
|
-
}
|
|
43
|
-
// eslint-disable-next-line
|
|
17
|
+
const getStoreInstance = createStoreInstanceGetter(modules, encodedRegistryName ?? `localhost+${REGISTRY_MOCK_PORT}`);
|
|
44
18
|
const ok = (value) => expect(value).toBeTruthy();
|
|
45
|
-
// eslint-disable-next-line
|
|
46
19
|
const notOk = (value) => expect(value).toBeFalsy();
|
|
47
20
|
return {
|
|
48
21
|
dir: () => projectPath,
|
|
@@ -57,81 +30,99 @@ export function assertProject(projectPath, encodedRegistryName) {
|
|
|
57
30
|
const md = _modulesDir ? path.join(projectPath, _modulesDir) : modules;
|
|
58
31
|
notOk(fs.existsSync(path.join(md, pkgName)));
|
|
59
32
|
},
|
|
60
|
-
getStorePath()
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
},
|
|
64
|
-
resolve(pkgName, version, relativePath) {
|
|
65
|
-
const store = getStoreInstance();
|
|
66
|
-
return store.resolve(pkgName, version, relativePath);
|
|
67
|
-
},
|
|
68
|
-
getPkgIndexFilePath(pkgName, version) {
|
|
69
|
-
const store = getStoreInstance();
|
|
70
|
-
return store.getPkgIndexFilePath(pkgName, version);
|
|
71
|
-
},
|
|
33
|
+
getStorePath: () => getStoreInstance().storePath,
|
|
34
|
+
resolve: (pkgName, version, relativePath) => getStoreInstance().resolve(pkgName, version, relativePath),
|
|
35
|
+
getPkgIndexFilePath: (pkgName, version) => getStoreInstance().getPkgIndexFilePath(pkgName, version),
|
|
72
36
|
cafsHas(pkgName, version) {
|
|
73
|
-
|
|
74
|
-
store.cafsHas(pkgName, version);
|
|
37
|
+
getStoreInstance().cafsHas(pkgName, version);
|
|
75
38
|
},
|
|
76
39
|
cafsHasNot(pkgName, version) {
|
|
77
|
-
|
|
78
|
-
store.cafsHasNot(pkgName, version);
|
|
79
|
-
},
|
|
80
|
-
storeHas(pkgName, version) {
|
|
81
|
-
const store = getStoreInstance();
|
|
82
|
-
return store.resolve(pkgName, version);
|
|
40
|
+
getStoreInstance().cafsHasNot(pkgName, version);
|
|
83
41
|
},
|
|
42
|
+
storeHas: (pkgName, version) => getStoreInstance().resolve(pkgName, version),
|
|
84
43
|
storeHasNot(pkgName, version) {
|
|
85
|
-
|
|
86
|
-
const store = getStoreInstance();
|
|
87
|
-
store.storeHasNot(pkgName, version);
|
|
88
|
-
}
|
|
89
|
-
catch (err) {
|
|
90
|
-
if (util.types.isNativeError(err) && err.message.startsWith('Cannot find module store')) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
throw err;
|
|
94
|
-
}
|
|
44
|
+
assertStoreHasNot(getStoreInstance, pkgName, version);
|
|
95
45
|
},
|
|
96
46
|
isExecutable(pathToExe) {
|
|
97
47
|
isExecutable(ok, path.join(modules, pathToExe));
|
|
98
48
|
},
|
|
99
|
-
readCurrentLockfile()
|
|
100
|
-
try {
|
|
101
|
-
return readYamlFileSync(path.join(getVirtualStoreDir(), 'lock.yaml'));
|
|
102
|
-
}
|
|
103
|
-
catch (err) {
|
|
104
|
-
if (util.types.isNativeError(err) && 'code' in err && err.code === 'ENOENT')
|
|
105
|
-
return null;
|
|
106
|
-
throw err;
|
|
107
|
-
}
|
|
108
|
-
},
|
|
49
|
+
readCurrentLockfile: () => readCurrentLockfile(modules),
|
|
109
50
|
readModulesManifest: () => readModulesManifest(modules),
|
|
110
|
-
readLockfile(lockfileName = WANTED_LOCKFILE)
|
|
111
|
-
try {
|
|
112
|
-
const raw = fs.readFileSync(path.join(projectPath, lockfileName), 'utf8');
|
|
113
|
-
// Skip the env lockfile document if present (first document in combined format).
|
|
114
|
-
// Cannot import from @pnpm/lockfile.fs here due to circular dependency.
|
|
115
|
-
let content = raw;
|
|
116
|
-
if (raw.startsWith('---\n')) {
|
|
117
|
-
const sep = raw.indexOf('\n---\n');
|
|
118
|
-
content = sep !== -1 ? raw.slice(sep + '\n---\n'.length) : '';
|
|
119
|
-
}
|
|
120
|
-
if (!content.trim())
|
|
121
|
-
return null;
|
|
122
|
-
return yaml.load(content);
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
if (util.types.isNativeError(err) && 'code' in err && err.code === 'ENOENT')
|
|
126
|
-
return null;
|
|
127
|
-
throw err;
|
|
128
|
-
}
|
|
129
|
-
},
|
|
51
|
+
readLockfile: (lockfileName = WANTED_LOCKFILE) => readLockfile(path.join(projectPath, lockfileName)),
|
|
130
52
|
writePackageJson(pkgJson) {
|
|
131
53
|
writePackageSync(projectPath, pkgJson); // eslint-disable-line
|
|
132
54
|
},
|
|
133
55
|
};
|
|
134
56
|
}
|
|
57
|
+
function createStoreInstanceGetter(modules, encodedRegistryName) {
|
|
58
|
+
let cachedStore;
|
|
59
|
+
return () => {
|
|
60
|
+
if (!cachedStore) {
|
|
61
|
+
const modulesYaml = readModulesManifest(modules);
|
|
62
|
+
if (modulesYaml == null) {
|
|
63
|
+
throw new Error(`Cannot find module store. No .modules.yaml found at "${modules}"`);
|
|
64
|
+
}
|
|
65
|
+
const storePath = modulesYaml.storeDir;
|
|
66
|
+
cachedStore = {
|
|
67
|
+
storePath,
|
|
68
|
+
...assertStore(storePath, encodedRegistryName),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return cachedStore;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function assertStoreHasNot(getStoreInstance, pkgName, version) {
|
|
75
|
+
try {
|
|
76
|
+
const store = getStoreInstance();
|
|
77
|
+
store.storeHasNot(pkgName, version);
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
if (util.types.isNativeError(err) && err.message.startsWith('Cannot find module store')) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
throw err;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function getVirtualStoreDir(modules) {
|
|
87
|
+
const modulesYaml = readModulesManifest(modules);
|
|
88
|
+
if (modulesYaml == null) {
|
|
89
|
+
return path.join(modules, '.pnpm');
|
|
90
|
+
}
|
|
91
|
+
if (path.isAbsolute(modulesYaml.virtualStoreDir)) {
|
|
92
|
+
return modulesYaml.virtualStoreDir;
|
|
93
|
+
}
|
|
94
|
+
return path.join(modules, modulesYaml.virtualStoreDir);
|
|
95
|
+
}
|
|
96
|
+
function readCurrentLockfile(modules) {
|
|
97
|
+
try {
|
|
98
|
+
return readYamlFileSync(path.join(getVirtualStoreDir(modules), 'lock.yaml'));
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
if (util.types.isNativeError(err) && 'code' in err && err.code === 'ENOENT')
|
|
102
|
+
return null;
|
|
103
|
+
throw err;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function readLockfile(lockfilePath) {
|
|
107
|
+
try {
|
|
108
|
+
const raw = fs.readFileSync(lockfilePath, 'utf8');
|
|
109
|
+
// Skip the env lockfile document if present (first document in combined format).
|
|
110
|
+
// Cannot import from @pnpm/lockfile.fs here due to circular dependency.
|
|
111
|
+
let content = raw;
|
|
112
|
+
if (raw.startsWith('---\n')) {
|
|
113
|
+
const sep = raw.indexOf('\n---\n');
|
|
114
|
+
content = sep !== -1 ? raw.slice(sep + '\n---\n'.length) : '';
|
|
115
|
+
}
|
|
116
|
+
if (!content.trim())
|
|
117
|
+
return null;
|
|
118
|
+
return yaml.load(content);
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
if (util.types.isNativeError(err) && 'code' in err && err.code === 'ENOENT')
|
|
122
|
+
return null;
|
|
123
|
+
throw err;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
135
126
|
function readModulesManifest(modulesDir) {
|
|
136
127
|
try {
|
|
137
128
|
return readYamlFileSync(path.join(modulesDir, '.modules.yaml'));
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,YAAY,MAAM,mBAAmB,CAAA;
|
|
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 @@
|
|
|
1
|
-
declare
|
|
2
|
-
export default _default;
|
|
1
|
+
export declare function isExecutable(ok: (value: boolean, comment: string) => void, filePath: string): void;
|
package/lib/isExecutable.js
CHANGED
|
@@ -2,8 +2,7 @@ import fs from 'node:fs';
|
|
|
2
2
|
import isWindows from 'is-windows';
|
|
3
3
|
import { sync as isExeSync } from 'isexe';
|
|
4
4
|
const IS_WINDOWS = isWindows();
|
|
5
|
-
|
|
6
|
-
export default (ok, filePath) => {
|
|
5
|
+
export function isExecutable(ok, filePath) {
|
|
7
6
|
if (IS_WINDOWS) {
|
|
8
7
|
if (fs.existsSync(`${filePath}.cmd`)) {
|
|
9
8
|
ok(isExeSync(`${filePath}.cmd`), `${filePath}.cmd is executable`);
|
|
@@ -16,5 +15,5 @@ export default (ok, filePath) => {
|
|
|
16
15
|
const stat = fs.statSync(filePath);
|
|
17
16
|
ok((stat.mode & 0o111) === 0o111, `${filePath} is executable`);
|
|
18
17
|
ok(stat.isFile(), `${filePath} refers to a file`);
|
|
19
|
-
}
|
|
18
|
+
}
|
|
20
19
|
//# sourceMappingURL=isExecutable.js.map
|
package/lib/isExecutable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isExecutable.js","sourceRoot":"","sources":["../src/isExecutable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,OAAO,CAAA;AAEzC,MAAM,UAAU,GAAG,SAAS,EAAE,CAAA;AAE9B,
|
|
1
|
+
{"version":3,"file":"isExecutable.js","sourceRoot":"","sources":["../src/isExecutable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,OAAO,CAAA;AAEzC,MAAM,UAAU,GAAG,SAAS,EAAE,CAAA;AAE9B,MAAM,UAAU,YAAY,CAAE,EAA6C,EAAE,QAAgB;IAC3F,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,MAAM,CAAC,EAAE,CAAC;YACrC,EAAE,CAAC,SAAS,CAAC,GAAG,QAAQ,MAAM,CAAC,EAAE,GAAG,QAAQ,oBAAoB,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,SAAS,CAAC,GAAG,QAAQ,MAAM,CAAC,EAAE,GAAG,QAAQ,oBAAoB,CAAC,CAAA;QACnE,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,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"}
|
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": "1100.0.
|
|
4
|
+
"version": "1100.0.34",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Zoltan Kochan",
|
|
7
7
|
"email": "z@kochan.io",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"lib/"
|
|
18
18
|
],
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@pnpm/assert-project": "1100.0.
|
|
20
|
+
"@pnpm/assert-project": "1100.0.34",
|
|
21
21
|
"@types/is-windows": "^1.0.2",
|
|
22
22
|
"@types/isexe": "2.0.4",
|
|
23
23
|
"@types/js-yaml": "^4.0.9",
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@jest/globals": "30.4.1",
|
|
44
|
-
"@pnpm/assert-store": "1100.0.
|
|
44
|
+
"@pnpm/assert-store": "1100.0.34",
|
|
45
45
|
"@pnpm/constants": "1102.0.0",
|
|
46
|
-
"@pnpm/installing.modules-yaml": "1101.0.
|
|
47
|
-
"@pnpm/lockfile.types": "1100.1.
|
|
48
|
-
"@pnpm/testing.registry-mock": "1100.0.
|
|
46
|
+
"@pnpm/installing.modules-yaml": "1101.0.5",
|
|
47
|
+
"@pnpm/lockfile.types": "1100.1.4",
|
|
48
|
+
"@pnpm/testing.registry-mock": "1100.0.13",
|
|
49
49
|
"@pnpm/types": "1102.1.1",
|
|
50
50
|
"is-windows": "^1.0.2",
|
|
51
51
|
"isexe": "4.0.0",
|